You are on page 1of 17

GVGD: Trần Hữu Danh

Tiểu nhóm 20 (Sáng thứ 6):


1. VÕ MINH THÀ 1090971
2. NGUYỄN THÀNH CÔNG 1090914
3. TRẦN TRUNG TÍNH 1091075
ĐỀ TÀI

Thiết kế cảm biến nhiệt độ dùng DS18B20


và vi điều khiển MSP430 hiển thị LCD và
điều khiển động cơ phun sương
SƠ ĐỒ KHỐI

VI ĐIỀU HIỂN THỊ


DS18B20 KHIỂN LCD

ĐỘNG CƠ
Lưu đồ giải thuật
Begin

Đọc nhiệt độ từ DS18B20

Hiển thị ra LCD

so sánh nhiệt
độ NO

YES
Điều khiển động cơ

End
CHỌN LINH KiỆN

• MSP430G2452(8K flash).
• DS18B20.
• LCD.
GIỚI THIỆU VỀ VI ĐIỀU KHIỂN
MSP430G2452
Sơ đồ khối của
MSP430G2x52
•MSP430G2452 là họ vi điều khiển cấu trúc RISC
16-bit được sản xuất bởi công ty Texas
Instruments.
•MSP430G2452 có 16 I/O, 10 bit chuyển đổi A/D,
giao tiếp I2C, bộ nhớ flash 8KB.
•Điện thế nguồn nuôi từ 1.8-3.6v
•Dòng hoạt động ở 1MHz là 220uA, điện thế 2.2v.
•Chế độ chờ là 0.5uA.
GIỚI THIỆU VỀ CẢM BIẾN NHIỆT ĐỘ
DS18B20

Hình dạng

9
DS18B20
Đặc điểm của DS18B20:
Sử dụng giao diện một dây nên chỉ cần có một chân ra
để truyền dữ liệu.
Dải đo nhiệt độ -55oC đến 125oC.
Điện áp nguồn nuôi từ 3,0 V đến 5,5 V.
Dòng tiêu thụ tại chế độ nghỉ cực nhỏ.
Mỗi cảm biến có một mã định danh duy nhất 64 bit chứa
trong bộ nhớ ROM trên chip,giá trị nhị phân được khắc
bằng tia laze.
Để giao tiếp được với DS18B20 ta phải biết tập lệnh của
nó.
LCD 16x2
HƯỚNG GiẢI QUYẾT

– Dùng LCD 16x2 để hiển thị nhiệt độ từ


DS18B20.
– Sử dụng IAR để lập trình cho vi điều
khiển.
Code

• Code LCD
• Code DS18B20
SƠ ĐỒ NGUYÊN LÍ

LCD1
LM016L
VDD
VSS

VEE

RW
RS

D0
D1
D2
D3
D4
D5
D6
D7
E
1
2
3

4
5
6

7
8
9
10
11
12
13
14
U2
1
VCC GND
2 20
P1.0 XIN/P2.6
3 19
P1.1 XOUT/P2.7
4 18
P1.2 TEST
5 17
P1.3 RST
6
P1.4 P1.7
16 R1
7 15 5.6k
P1.5 P1.6
8 14
P2.0 P2.5
9 13
P2.1 P2.4
10 12
P2.2 P2.3
11 U4
MSP430G2452 3
VCC
2 32.0
DQ
1
GND
DS18B20
KẾT QuẢ VÀ KHÓ KHĂN

• Kết quả: mạch đã hoàn thành và chạy ổn định.


• Khó khăn: code giao tiếp với DS18B20 lúc đầu
thì gặp một ít khó khăn ở chổ đọc nhiệt độ từ
DS.
• Chú ý nếu như chúng ta dùng 2 chân thạch
anh thì cần khai báo: union reg* _P2_SEL =
(union reg*)0x2E ,và đưa 2 chân đó xuống mức
0: _P2_SEL->_BIT.b6=0;
_P2_SEL->_BIT.b7=0;
Cám ơn thầy và các bạn đã quan
tâm theo dõi!

You might also like