Tải bản đầy đủ (.doc) (26 trang)

Đồ án môn học vi điều khiển đo và khống chế nhiệt độ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (377.44 KB, 26 trang )

ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

LỜI NÓI ĐẦU
Kỹ thuật vi điều khiển hiện nay rất phát triển, nó được ứng dụng vào rất
nhiều lĩnh vực sản xuất công nghiệp, tự động hóa, trong đời sống và còn nhiều
lĩnh vực khác nữa. So với kỹ thuật số thì kỹ thuật vi điểu khiển nhỏ gọn hơn rất
nhiều do nó được tích hợp lại và có khả năng lập trình được để điều khiển. Nên
rất tiện dụng và cơ động. Với tính ưu việt của vi điều khiển thì trong phạm vi đồ
án nhỏ này, em chỉ dùng vdk để đo và khống chế nhiệt độ, đồng thời cho hiển
thị lên Led 7 thanh.
Mục đích của đề tài hướng đến: tạo ra bước đầu cho sinh viên thử
nghiệm những ứng dụng của vdk trong thực tiễn để rồi từ đó tìm tòi, phát triển
nhiều ứng dụng khác trong đời sống hằng ngày cần đến.
Việc thực hiện xong đồ án môn học bằng các kiến thức đã học, một số
sách tham khảo và một số nguồn tài liệu khác nên không tránh khỏi những thiếu
sót. Vì vậy em rất mong được sự góp ý của thầy cô và các bạn.
ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 1
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN














.


















ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 2
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12





MỤC LỤC
Lời nói đầu 1

Mục lục 3
Phần I:Giới thiệu chung
1.Giới thiệu chung 4
2.Đặc điểm chung 4
3.Sơ đồ chân 89S52 5
4.Chip ADC0804 7
5.IC Cảm biến nhiệt LM35 10
6. Các linh kiện khác 14

Phần II: Thiết kế và thi công
1. Mục đích, yêu cầu đề tài 15
2. Sơ đồ nguyên lý 15
3. Sơ đồ mạch in 16
4. Chương trình phần mềm 16
5. Giải thích chương trình 22
Phần III: Kết Luận
ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 3
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

Phần I: Giới thiệu chung
1. Giới thiệu chung
Bộ vi điều khiển viết tắt là Micro-contronller, là mạch tích hợp trên một chíp
có thể lập trình được, dùng để điều khiển hoạt động của hệ thống. Theo các tập
lệnh của người lập trình, bộ vi điều khiển tiến hành đọc, lưu trữ thông tin, xử lý
thông tin, đo lường thời gian và tiến hành đọc mở một cơ cấu nào đó.
Trong các thiết bị điện và điện tử dân dụng, các bộ vi điều khiển, điều khiển
hoạt động của tivi, máy giặt, đầu đọc laser, điện thoại Trong hệ thống sản xuất
tự động, bộ vi điều khiển được sử dụng trong robot, dây chuyền tự động. Các hệ
thống càng thông minh thì vai trò của vi điều khiển càng quan trọng.
2. Đặc điểm chung

ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 4
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

IC vi điều khiển 8052 thuộc họ MCS51 có các đặc điểm sau :
-8 kbyte ROM (được lập trình bởi nhà sản xuất chỉ có ở 8052 )
-256 byte RAM
-4 Port I/0 8 bit
-3 bộ định thời 16 bit
-Giao tiếp nối tiếp
-64 KB không gian bộ nhớ chương trình mở rộng
-64 KB không gian bộ nhớ dữ liệu mở rộng
- Một bộ vi xử lí(thao tác trên các bit đơn)
-210 bit được địa chỉ hoá
-Bộ nhân/chia 4us
3. Sơ đồ chân 89S52.
Sơ đồ trên là sơ đồ bố trí chân của 8052. Ta thấy rằng trong 40 chân thì
có 32 chân dành cho các cổng P0, P1, P2 và P3 với mỗi cổng có 8 chân. Các
chân còn lại được dành cho nguồn V
CC
, đất GND, các chân dao động XTAL1 và
XTAL2, tái lập RST, cho phép chốt địa chỉ ALE, truy cập được địa chỉ ngoài
EA
, cho phép cất chương trình
PSEN
. Trong 8 chân này thì 6 chân V
CC
, GND,
XTAL1, XTAL2, RST và
EA
được các họ 8031 và 8051 sử dụng. Hay nói cách

ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 5
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

khác là chúng phải được nối để cho hệ thống làm việc mà không cần biết bộ vi
điều khiển thuộc họ 8051 hay 8031. Còn hai chân khác là
PSEN
và ALE được
sử dụng chủ yếu trong các hệ thống dựa trên 8031. Chức năng các chân như
sau:
-Port 0 (P0.0-P0.7).
Port 0 bao gồm 8 chân , ngoài chức năng xuất nhập ra thi Port 0 còn là
Bus đa hợp địa chỉ và dữ liệu, chức năng địa chỉ sẽ được sử dụng khi AT89S52
giao tiếp với các thiết bị ngoài có kiến trúc Bus (8255).
-Port 1 (P1.0-P1.7).
Chức năng duy nhất của Port 1 là chức năng xuất nhập, Port 1 có thể xuất
nhập theo byte hoặc theo bit giống như là các Port khác của 89S52.
Ngoài ra các chân P1.5, P1.6, P1.7 được dùng để nạp ROM theo tiêu
chuẩn ISP, 2 chân P1.0 và P1.1 được dùng cho bộ Timer 2.
-Port 2 (P2.0-P2.7).
Port 2 cũng là Port đa hợp địa chỉ và dữ liệu .
-Port 3 (P3.0-P3.7).
Mỗi chân trên Port 3 ngoài chức năng xuất nhập ra còn có một chức năng
đặc biệt khác.
Bit Tên Chức năng
P3.0 RXD Dữ liệu nhận cho Port nối tiếp
P3.1 TXD Dữ liệu phát cho Port nối tiếp
P3.2 INT0 Ngắt ngoài 0
P3.3 INT1 Ngắt ngoài 1
P3.4 T0 Ngõ vào của Timer/counter 0
P3.5 T1 Ngõ vào của Timer/counter 1

P3.6 WR Xung nghi bộ nhớ dữ liệu
ngoài
P3.7 RD Xung đọc bộ nhớ dữ liệu
ngoài
ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 6
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

-PSEN ( Program store enable).
PSEN là chân điều khiển cho phép bộ nhớ chương trình mở rộng, được
nối đến chân OE của một EPROM để cho phép đọc các bytes mã lệnh.
- ALE (Addres latch enable).
ALE là tín hiệu để chốt địa chỉ vào một thanh nghi bên ngoài trong nửa
đầu của một chu kỳ bộ nhớ. Sau đó các đường Port 0 dùng để xuất hoặc
nhập trong nửa sau của chu kỳ bộ nhớ. Các xung tín hiệu ALE có tốc độ
bằng 1/6 lần tần số đao động thạch anh và có thể được sử dụng là nguồn
xung nhịp cho các hệ thống.
-EA (External access).
EA thường được mắc lên mức cao (+5V) hoặc mức thấp (GND). Nếu ở
mức cao, bộ vi điều khiển thi hành chương trình từ ROM nội. Nếu ở mức
thấp chương trình chỉ được thi hành từ bộ nhớ mở rộng.
- RST (Reset).
Ngõ vào RST trên chân 9 là ngõ reset của 89S52. Khi tín hiệu này được
đưa lên mức cao trong ít nhất 2 chu kỳ máy thì các thanh nghi trong vi
điều khiển được tải những giá trị thích hợp để khởi động hệ thống.
-XTAL1,XTAL2.
AT89S52 có một bộ dao động trên chip, nó thường được nối với bộ dao
động thạch anh có tần số lớn nhất là 33MHz, thông thường là 12MHz.
-VCC,GND.
AT89S52 dùng nguồn 1 chiều có dải điện áp từ 4V đến 5.5V.
4.Chip ADC0804

ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 7
+5
V
1
1
1
4
1
2
1
0
9
1
9
10k
150p
F
11
1
2
1
3
1
4
1
5
1
6
1
7

1
8
3
5
đến
đèn
LEDs
Thườn
g mở
START
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7
W
R
INT
R

D
GN
D
R
D
C
S
CLK
in
CLK
R
A
GN
D
Vref
/2
Vin(
-)
Vin(
+)
20
Vc
c
10
k
PO
T
ADC0804
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12


ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 8
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

Chip ADC0804 là bộ chuyển đổi tương tự sang số. Chip có điện áp nuôi
+5V và độ phân giải 8 bit. Ngoài độ phân giải thì thời gian chuyển đổi cũng là
một tham số quan trọng khi đánh giá bộ ADC. Thời gian chuyển đổi được định
nghĩa là thời gian mà bộ ADC cần để chuyển một đầu vào tương tự thành một số
nhị phân. Đối với ADC0804 thời gian chuyển đổi phụ thuộc vào tần số đồng hồ
được cấp tới chân CLKR và CLK IN và không bé hơn 110µs. Các chân của
ADC0804 có chức năng như sau:
a)CS (Chip Select) - chọn chip
Là chân chọn chip, đầu vào tích cực mức thấp được sử dụng để kích hoạt
chip ADC804. Để truy cập ADC0804 thì chân này phải ở mức thấp.
b)RD (Read) - đọc
Đây là một tín hiệu vào, “tích cực mức thấp”. Các bộ ADC chuyển đổi
đầu vào tương tự thành số nhị phân và giữ nó ở một thanh ghi trong. RD
được sử dụng để có dữ liệu được đã chuyển đổi tới đầu ra của ADC0804.
Khi CS = 0 nếu có một xung cao-xuống-thấp áp đến chân RD thì dữ liệu
ra dạng số 8 bit được đưa tới các chân dữ liệu D0 - D7. Chân RD còn
được coi là cho phép đọc.
c)WR (Write) - ghi
Thực ra, tên chính xác là “Bắt đầu chuyển đổi”. Đây là chân vào “tích cực
mức thấp” được dùng để báo cho ADC0804 bắt đầu quá trình chuyển đổi.
Nếu CS = 0 khi WR tạo ra xung cao-xuống-thấp thì bộ ADC0804 bắt đầu
tiến hành chuyển đổi giá trị đầu vào tương tự V
in
về số nhị phân 8 bit.
Lượng thời gian cần thiết để chuyển đổi thay đổi phụ thuộc vào tần số
đưa đến chân CLK IN và CLK R. Khi việc chuyển đổi dữ liệu được hoàn
tất thì chân INTR được ADC0804 hạ xuống thấp.

d)CLK IN và CLK R
ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 9
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

CLK IN là chân vào, được nối tới một nguồn đồng hồ ngoài khi đồng hồ
ngoài được sử dụng để tạo thời gian. Tuy nhiên 0804 cũng có một bộ tạo
xung đồng hồ trên chip. Để dùng đồng hồ trong (cũng còn được gọi là
đồng hồ riêng) của 804 thì các chân CLK IN và CLK R được nối tới một
tụ điện và một điện trở như chỉ ra ở hình 12.5. Trong trường hợp này tần
số đồng hồ được xác định bằng biểuthức:
RC
f
1,1
1
=
Giá trị thông thường của các đại lượng trên là R = 10kΩ, C= 150pF và tần
số nhận được là f = 606kHz, còn thời gian chuyển đổi sẽ là 110µs.
e) INTR (Interrupt)
Ngắt hay còn gọi là “kết thúc việc chuyển đổi’. Đây là chân ra tích cực
mức thấp. Bình thường, chân này ở trạng thái cao và khi việc chuyển đổi hoàn
tất thì nó xuống thấp để báo cho CPU biết là dữ liệu được chuyển đổi đã sẵn
sàng để lấy đi. Sau khi INTR xuống thấp, cần đặt CS = 0 và gửi một xung cao-
xuống-thấp tới chân RD để đưa dữ liệu ra.
f) V
in
(+) và V
in
(-)
Đây là hai đầu vào tương tự vi sai, trong đó V
in

= V
in
(+) - V
in
(-). Thông
thường V
in
(-) được nối xuống đất và V
in
(+) được dùng làm đầu vào tương tự
và sẽ được chuyển đổi về dạng số.
g)V
CC
Là chân nguồn nuôi +5v. Chân này còn được dùng làm điện áp tham chiếu
khi đầu vào V
ref/2
(chân 9) để hở.
h) V
ref/2
Chân 9 là điện áp đầu vào được dùng làm điện áp tham chiếu. Nếu chân
này hở (không được nối) thì điện áp đầu vào tương tự cho ADC804 nằm trong
dải 0 đến +5v (giống như chân V
CC
). Tuy nhiên, có nhiều ứng dụng mà đầu vào
tương tự áp đến V
in
khác với dải 0 đến 5v. Chân V
ref/2
được dùng để thực hiện
các điện áp đầu vào có dải khác với 0 - 5V. Ví dụ, nếu dải đầu vào tương tự cần

ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 10
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

biến đổi từ 0 đến 4V thì V
ref/2
được nối với +2V.
Bảng 12.5 biểu diễn dải điện áp V
in
đối với các đầu vào V
ref/2
khác nhau.
i) D0 - D7
D0 - D7 là các chân ra dữ liệu số (D7 là bit cao nhất MSB và D0 là bit thấp
nhất LSB). Các chân này được đệm ba trạng thái và dữ liệu đã được chuyển đổi
chỉ được truy cập khi chân CS = 0 và chân RD đưa xuống mức thấp. Để tính
điện áp đầu ra ta có thể sử dụng công thức sau:
buocthuockich
V
D
in
out
=
(kích thước bước tham khảo phần giải thích)
ở đây D
out
là đầu ra dữ liệu số (dạng thập phân). V
in
là điện áp đầu vào tương tự
và kích thước bước (độ phân dải) là sự thay đổi nhỏ nhất được tính bằng
(2×V

ref
/2) chia cho 256 đối với ADC 8 bit.
Từ những trình bày trên, có thể tóm tắt các bước khi ADC0804 thực
hiện chuyển đổi dữ liệu là:
1. Bật CS = 0 và gửi một xung thấp lên cao tới chân WR để bắt đầu chuyển đổi.
2. Duy trì kiểm tra chân INTR. Nếu INTR xuống thấp thì việc chuyển đổi được
hoàn tất và có thể chuyển sang bước tiếp theo. Nếu INTR còn ở mức cao thì
tiếp tục thăm dò cho đến khi nó xuống thấp.
3. Sau khi chân INTR xuống thấp, bật CS = 0 và gửi một xung cao-xuống-thấp
đến chân RD để nhận dữ liệu từ chip ADC0804.
5.IC Cảm biến nhiệt LM35
LM35 là họ cảm biến nhiệt mạch tích hợp chính xác cao có điện áp đầu
ra tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius. Họ cảm biến này không
yêu cầu căn chỉnh ngoài vì vốn nó đã được căn chỉnh. Họ này cho ra điện áp
10mV ứng với thay đổi nhiệt độ là 1
0
C.
Một số thông số kỹ thuật chính của họ LM35.
Dòng làm việc 400µA – 5mA.
Dòng thuận : 10mA
ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 11
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

Dòng ngược: 15mA
Điện áp V
S
=4V-30V
Điện áp ra 10mV/
0
C

-Điện áp V
ref/2
liên hệ với dải V
in
Phối hợp tín hiệu và sơ đồ khối phối ghép LM35 với 8051
Xét trường hợp nối một LM35 tới một ADC 804 Sự thay đổi trở kháng phải
được chuyển thành điện áp để có thể được sử dụng cho các, ADC 804 có độ
phân dải 8 bít với tối đa 256 bước (2
8
) và LM35 (hoặc ML34) tạo điện áp 10mV
cho mỗi sự thay đổi nhiệt độ 1
0
C nên ta có thể tạo điều kiện V
in
của ADC 804
tạo ra một V
out
= 2560mV (2,56V) cho đầu ra đầu thang đo. do vậy, nhằm tạo ra
V
out
đầy thang 2,56V cho ADC 804 ta cần đặt điện áp V
ref
/2 = 1,28V. Điều này
làm cho V
out
của ADC 804 đáp ứng trực tiếp với nhiệt độ được hiển thị trên
LM35
Bảng: Nhiệt độ
Nhiệt độ (
0

C) V
in
(mV) V
out
(D7 – D0)
0 0 0000 0000
1 10 0000 0001
2 20 0000 0010
3 30 0000 0011
10 100 0000 1010
30 300 0001 1110
ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 12
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

Phối hợp tín hiệu và nối ghép LM35 với 8051
ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 13
Vi điều khiển
8051
Hiển thị led 7
đoạn
Điều khiển hệ
thống cảnh báo
ADC
0804
Cảm biến nhiệt
LM35
Môi trường cần
điều khiển nhiệt độ
805
1

ADC80
4
P2.
5
P2.
6
P1.
0
P1.
7
P2.
7
D0
D7
INTR
GN
D
A
GND
Vref/
2
CLK
IN
CLK
R
V
CC
Vin(+
)
Vin(-

)
5V
RD
WR
CS
D Q
Q
D Q
Q
Set to
1.28V
GN
D
LM35
or
LM34
L
M
3
3
6
2.5
k
10
k
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

Phối hợp tín hiệu là một thuật ngữ được sử dụng rộng rãi trong lĩnh vực thu
nhận dữ liệu. Hầu hết các bộ cảm biến đều đưa ra tín hiệu dạng điện áp, dòng
điện, dung kháng hoặc trở kháng. Tuy nhiên, chúng ta cần

chuyển đổi các tín hiệu này về điện áp để đưa đến đầu vào của bộ chuyển đổi
ADC. Sự chuyển đổi (biến đổi) này được gọi chung là phối hợp tín hiệu. Phối
hợp tín hiệu có thể là chuyển dòng điện thành điện áp hoặc khuyếch đại tín
hiệu. Ví dụ, bộ cảm biến nhiệt thay đổi trở kháng theo nhiệt độ. Sự thay đổi trở
kháng cần được chuyển thành điện áp để các bộ ADC có thể sử dụng được. Xét
trường hợp nối LM35 tới ADC0804. Vì ADC0804 có độ phân dải 8 bit với tối
đa có 256 mức (2
8
), và LM35 tạo ra điện áp 10mV ứng với sự thay đổi nhiệt độ
1
0
C, nên ta có điều chỉnh điện áp vào tại chân IN bằng cách thay đổi V
ref
/2 tại
chân 9
ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 14
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

* Sơ đồ thời gian hoạt động:
6. Các linh kiện khác:
- Các loại điện trở, tụ điện, LED, led 7 thanh
- Thạch anh 12Mhz để tạo dao động

Phần II: thiết kế và thi công
ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 15
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

1. Mục đích, yêu cầu của đề tài:
- Sơ đồ khối mạch đo nhiệt độ.
- Tìm hiểu nguyên tắc hoạt động của thiết bị cảm biến (cảm biến nhiệt) và

ứng dụng cảu nó trong thực tiễn.
2.Sơ đồ nguyên lý .
3.Sơ đồ mạch in
ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 16
Nhiệt độ
môi trường
MẠCH ĐIỆN
Khối
hiển thị
Khối
điều khiển
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

4.Chương trình phần mềm
#include<reg51.h>
int array[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
sbit rd=P3^7; //Read signal P3.7
sbit wr=P3^6; //Write signal P3.6
sbit intr= P3^5; //INTR signal P3.4 //cai dat de ADC0804 hoat
dong
sbit led0=P2^0;
sbit led1=P2^1;
sbit led2=P2^2; //dieu khien 4 led 7 doan
sbit led3=P2^3;
sbit d1=P2^4;
sbit d2=P2^5; //dieu khien led vang, xanh, do
ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 17
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

sbit d3=P2^6;

sbit tang=P3^0;
sbit giam=P3^1;
sbit chedo=P3^2;
sbit batdau=P3^3;
sbit ketthuc=P3^4;
unsigned int adc_avg,nhietdo,dc;
void delay()
{
unsigned int i;
for(i=1;i<=1000;i++); //ham tre
}
void read()
{
wr=0;
wr=1;
while(intr); //che do de cho ADC hoat dong
rd=0;
adc_avg=P1;
rd=1;
}
void chedo1()
{
int a,b;
a=nhietdo/10;
b=nhietdo%10;
led3=1;
P0=array[a];
ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 18
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12


delay();
led3=0;
led2=1;
P0=array[b];
delay();
led2=0;
led1=1;
P0=0x9c;
delay();
led1=0;
led0=1;
P0=0xc6;
delay();
led0=0;
}
void set_dc()
{
while (chedo==0){}//cho phim duoc nha
do
{
if (tang==0) //neu phim tang duoc an
{
while (tang==0) {}// cho phim duoc nha
dc++;
if (dc>100) dc=27;
}
if (giam==0) // neu phim giam duoc an
{
while (giam==0){}//cho phim nha
ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 19

ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

dc ;
if (dc<5) dc=27;
}
led3=1;
P0=array[dc/10];
delay();
led3=0;
led2=1;
P0=array[dc%10];
delay();
led2=0;
led1=1;
P0=0x9c;
delay();
led1=0;
led0=1;
P0=0xc6;
delay();
led0=0;
}
while (chedo==1);
}
void chedo2()
{
int i=0;
while (batdau==0){}
while (i<100)
{

ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 20
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12


led3=1;
P0=array[dc/10];
delay();
led3=0;
led2=1;
P0=array[dc%10];
delay();
led2=0;
led1=1;
P0=0x9c;
delay();
led1=0;
led0=1;
P0=0xc6;
delay();
led0=0;
i++;
}

}
void set()
{
set_dc();
while(chedo==0){}
}
void baoled()

{
if (nhietdo<dc)
ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 21
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

{
d1=0;
d2=1;
d3=1;
}
else if (nhietdo>dc)
{
d2=0;
d1=1;
d3=1;
}
else if (nhietdo==dc)
{d3=0;
d2=1;
d1=1;
}
}
void main()
{
int i;
led0=led1=led2=led3=0;
d1=d2=d3=1;
while(1)
{
read(); //cho ADC hoat dong

ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 22
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12

for(i=1;i<=100;i++)
{
nhietdo=adc_avg*1.953125; //gia tri can hien thi
chedo1();
if (batdau==0)
{
chedo2();
}
if (chedo==0) {set();}
baoled();
}
}
}
5.Giải thích chương trình:
Cảm biến LM35 biến đổi nhiệt độ môi trường thành giá trị điện áp xuất
ra tại chân 2 đưa vào ADC. Thao tác chuyển đổi nhiệt độ đo được thành điện áp
cấp vào chân IN của ADC, từ điện áp cấp vào ADC lại được chuyển qua các
chân BD để truyền sang cổng P1 của Vi diều khiển dưới dạng các bít 0 và 1
Điều khiển các chân WR, RD, INT0 của vi mạch biến đổi tương tự – số
ADC0804 để ADC biến đổi điện áp được lấy từ chân 2 của IC cảm biến nhiệt độ
LM35:
- WR=0: cho phép ADC biến đổi.
- WR=1:không cho phép ADC biến đổi.
- Chân RD và INT0 luôn = 0: luôn cho phép ADC xuất ra giá trị ra cổng và
VDK luôn nhận được.
ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 23
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12


- Điện áp tham chiếu tại chân 9 của ADC được hiệu chỉnh thành 1.28V như vậy
ta có kích thước bước là 10mV.Như vậy giá trị nhỏ nhất mà ADC có thể nhận
biết được là 10mV tương ứng với 1 độ C.
-Giá trị nhiệt độ khống chế được thay đổi bằng 2 phím và được đưa vào ngắt
ngoài INT0 và INT1 của VDK.
Đợi sau khi đã biến đổi xong thực hiện đọc dữ liệu từ ADC vào Port 1 của vi
điều khiển, gán giá trị đọc được cho biến temp. Qua chương trình chuyển đổi lại
chuyển đổi ngược lại từ dạng bít nhận được sang dạng điện áp và rồi chuyển từ
điện áp sang nhiệt độ rồi được hiển thị trên 2Led 7 thanh.(Q1 và Q2)
Ta có thể điều chỉnh nhiệt độ khống chế tăng lên hoặc giảm xuống bằng phím
nhấn. Thao tác khống chế ở đây được thực hiện mô phỏng qua 3 led là đỏ,
vàng, xanh. Để tiện cho việc thay đổi giá trị khống chế nhiệt độ,chúng em để
2LED 7 thanh (Q3 và Q4) để hiển thị giá trị nhiệt độ khống chế.
Phần III:Kết Luận
ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 24
ĐH.GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINH Lớp: DV12


ý nghĩa đề tài:
- Mạch đo nhiệt độ có dải đo nhiệt độ lớn từ 0 C đến 99 C
-Khả năng đáp ứng nhanh với sự thay đổi của môi trường
-Mạch đặt được nhiệt độ khống chế dể so sánh với nhiệt độ môi trường bên
ngoài
-Mạch có đèn báo tương ứng khi nhiệt độ môi trường thay đổi so với nhiệt độ
khống chế,có đèn báo để xác định đang tang nhiệt độ khống chế hay giảm nhiệt
độ khống chế.
-Mạch hiển thị led 7 đoạn nên dễ dàng cho người sử dụng
-Mạch được thiết kế nhỏ dọn , dễ sử dụng,tiện lợi
-Mạch có thể áp dụng, cải tiến thêm để sử dụng cho nhiều sản phẩm:

( vd:đo nhiệt độ điều khiển tự dộng tắt/mở điều hòa,đóng/mở cửa,kéo/mở rèm…
để nhiệt độ trong phòng phù hợp với người sử dụng hoặc đo nhiệt độ lò nhiệt
v.v… )
Kết thúc đồ án môn học 1 em đã vận dụng kiến thức đã học vào đồ án và
biết thêm được nguyên lý hoạt động của LM35 và bộ chuyển đổi tương tự sang
số ADC0804.
Em xin chân thành cảm ơn sự giúp đỡ của thầy !
Tài liệu tham khảo
1. Họ vi điều khiên 8051 – Ngyễn Tăng Cường.
2. Vi điều khiển với lập trình C_Ngô Diện Tập
3. Điều khiển logic lập trình PLC _Nguyễn Tiến Dũng
ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ 25

×