Upload
chauaspkt
View
28
Download
1
Embed Size (px)
DESCRIPTION
hi
Citation preview
Đại Học Sư Phạm Kỹ Thuật
Khoa Điện ndash Điện TửBộ Mocircn Điện Tử Viễn
Thocircng
CỘNG HOgraveA XAtilde HỘI CHỦ NGHĨA VIỆT NAMĐộc Lập - Tự Do ndash Hạnh Phuacutec
Ngagraveyhelliphellipthaacuteng hellip năm 201
PHIẾU CHẤM ĐỒ AacuteN MOcircN HỌC 1(Dagravenh cho người hướng dẫn)
1 Họ tecircn sinh viecircnMSSV2 Tecircn đề tagravei3 Người hướng dẫn4 Những ưu điểm của Đồ Aacuten
5 Những thiếu soacutet của Đồ Aacuten
6 Đề nghị Được bảo vệ Bổ sung để được bảo vệ Khocircng được bảo vệ 7 Caacutec cacircu hỏi sinh viecircn phải trả lời trước tổ chấm ĐAMH
a)b)c)
8 Đaacutenh giaacute Điểm ( Số vagrave chữ )
Chữ kyacute vagrave họ tecircn
LỜI CẢM ƠN
Trước tiecircn người thực hiện đề tagravei xin được gửi lời cảm ơn sacircu sắc nhất đến giảng viecircn hướng dẫn Đậu Trọng Hiển đatilde tận tigravenh hướng dẫn trong suốt quaacute trigravenh tigravem hiểu vagrave thực hiện đề tagravei
Người thực hiện đề tagravei củng xin được gửi lời cảm ơn đến toagraven thể quyacute Thầy Cocirc trường Đại Học Sư Phạm Kỹ Thuật TPHCM noacutei chung vagrave Quyacute Thầy Cocirc khoa Điện ndash Điện Tử noacutei riecircng đatilde tận tigravenh giuacutep đỡ vagrave truyền đạt những kiến thức thật lagrave quyacute baacuteu
Cuối cugraveng lagrave lời cảm ơn đến gia đigravenh bạn begrave đatilde tạo điều kiện giuacutep đỡ động viecircn để người thực hiện hoagraven thagravenh tốt đồ aacuten mocircn học 1
Dugrave đatilde cố gắng nhưng trong quaacute trigravenh thực hiện khocircng traacutenh khỏi sai xoacutet kiacutenh mong quyacute Thầy Cocirc goacutep yacute vagrave chỉ dẫn để coacute thể hoagraven thagravenh tốt hơn đồ aacuten mocircn học nagravey
Người thực hiện đề tagravei xin chacircn thagravenh cảm ơn
Sinh viecircn thực hiện
Chacircu Aacute
LỜI NOacuteI ĐẦU
Ngagravenh Điện tử viễn thocircng lagrave một trong những ngagravenh quan trọng vagrave mang tiacutenh quyết định cho sự phaacutet triển của một quốc gia Sự phaacutet triển nhanh choacuteng của Khoa học ndash Kỹ Thuật lagravem cho ngagravenh Điện tử viễn thocircng ngagravey cagraveng phaacutet triển vagrave đạt được nhiều thagravenh tựu mới Nhu cầu của con người ngagravey cagraveng cao lagrave điều kiện thuận lợi cho ngagravenh Điện tử viễn thocircng khocircng ngừng phaacutet minh ra caacutec sản phẩm mới coacute tiacutenh ứng dụng cao caacutec sản phẩm đa tiacutenh năng coacute độ bền vagrave độ ổn định ngagravey cagraveng caohellip Nhưng một điều cơ bản lagrave caacutec sản phẩm đoacute đều bắt nguồn từ những linh kiện rời R L C Diode BJT FEThellip
Vigrave vậy người thực hiện đề tagravei ldquo Thiết kế vagrave thi cocircng mạch đo vagrave điều khiển nhiệt độrdquo nagravey để ứng dụng những gigrave đatilde học vagraveo một mạch thực tế để hiểu thecircm nguyecircn lyacute lagravem việc caacutech thức hoạt động của mạch cũng như hiểu thecircm về chức năng của từng linh kiện điện tử trong mạch
MỤC LỤC
Trang
Trang bigravea loacutetLịch trigravenh thực hiện đồ aacutenLời cảm ơniLời noacutei đầu iiMục lụciiiLiệt kecirc bảng ivLiệt kecirc higravenhvChương 1 GIỚI THIỆU111Mục tiecircu của đề tagravei112Nội dung trigravenh bagravey1Chương 2 KIẾN THỨC BỔ TRỢ221 Tổng quan về vi điều khiển MCS-512211 Giới thiệuhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2
212 Vi điều khiển AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2
213 Sơ đồ khối AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip3
214Sơ đồ chacircn AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip4
215 Định kỳ chu kỳ maacuteyhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip7
216 Tổ chức bộ nhớhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip8
22 ADC 0809helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip9
23 LM35helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip12
24 LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip13241 Higravenh daacuteng vagrave kiacutech thướchelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip13242 Chức năng caacutec chacircnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip14243 Sơ đồ khối của HD44780helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip15244 Tập lệnh của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip19245 Giao tiếp giữa LCD vagrave MPUhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip24246 Khởi tạo LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip25
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNGhelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
31 Sơ đồ nguyecircn lyacutehelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2632 Sơ đồ mạch inhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2633 Khối cảm biếnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
34 Khối tạo điện aacutep chuẩnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
35 Sơ đồ nối chacircn cho ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip28
36 Sơ đồ mạch xử lyacute trung tacircm 89c51helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip29
37 Khối hiển thịhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
38 Khối nguồn 5Vhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
Chương 4 THIẾT KẾ PHẦN MỀMhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip31Tagravei liệu tham khảo37
LIỆT KEcirc BẢNG
Bảng 21 Chức năng caacutec chacircn của Port 3helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip5
Bảng 24 Chức năng caacutec chacircn của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip14
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụnghelliphelliphelliphelliphelliphelliphelliphelliphellip17
Bảng 26 Tập lệnh của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip20
Bảng 27 Maximun Ratinghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip24
Bảng 28 Miền lagravem việc bigravenh thườnghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip24
LIỆT KEcirc HIgraveNH
Higravenh 21 Sơ đồ khối của AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip3
Higravenh 22 Sơ đồ chacircn AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip4
Higravenh 23 Sơ đồ chacircn ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip9
Higravenh 24 Cảm biến nhiệthelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip12
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụnghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip13
Higravenh 26 Sơ đồ chacircn của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip14
Higravenh 27 Sơ đồ khối của HD44780 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip16
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCDhelliphelliphellip 18
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tựhelliphelliphelliphelliphelliphellip19
Higravenh 31 Sơ đồ nguyecircn lyacutehelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
Higravenh 32 Sơ đồ mạch inhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
Higravenh 33 Khối cảm biếnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
Higravenh 34 Khối tạo điện aacutep chuẩnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
Higravenh 35 Sơ đồ nối chacircn ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip28
Higravenh36 Sơ đồ xứ lyacute trung tacircmhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip29
Higravenh 37 Khối hiển thịhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
Higravenh 38 Khối nguồnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 1
CHƯƠNG 1 GIỚI THIỆU
11 Mục tiecircu của đề tagravei
Vận dụng được caacutec lyacute thuyết đatilde học vagraveo việc thiết kế một mạch thực tế Hệ thống lại caacutec kiến thức đatilde học Nacircng cao kỹ năng thiết kế vagrave thi cocircng mạch Giải thiacutech chức năng nhiệm vụ caacutec khối cũng như caacutec linh kiện trong mạch
12 Nội dung trigravenh bagravey
Caacutec lyacute thuyết liecircn quan về mạch nhiệt độ Giải thiacutech chức năng nhiệm vụ caacutec khối caacutec linh kiện trong mạch Tiacutenh toaacuten thiết kế vagrave thi cocircng mạch
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 2
CHƯƠNG 2 KIẾN THỨC BỔ TRỢ
21TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51
211GIỚI THIỆU
Họ vi điều khiển MCS-51 do Intel sản xuất đầu tiecircn vagraveo năm 1980 lagrave caacutec IC
thiết kế cho caacutec ứng dụng hướng điều khiển Caacutec IC nagravey chiacutenh lagrave một hệ thống vi xử
lyacute hoagraven chỉnh bao gồm caacutec caacutec thagravenh phần của hệ vi xử lyacute CPU bộ nhớ caacutec mạch
giao tiếp điều khiển ngắt
MCS-51 lagrave họ vi điều khiển sử dụng cơ chế CISC (Complex Instruction Set
Computer) coacute độ dagravei vagrave thời gian thực thi của caacutec lệnh khaacutec nhau Tập lệnh cung cấp
cho MCS-51 coacute caacutec lệnh dugraveng cho điều khiển xuất nhập taacutec động đến từng bit
212VI ĐIỀU KHIỂN AT89S52
AT89S52 lagrave vi điều khiển do Atmel sản xuất chế tạo theo cocircng nghệ CMOS
coacute caacutec đặc tiacutenh như sau
- 8 KB PEROM (Flash Programmable and Erasable Read Only Memory) coacute khả
năng tới 1000 chu kỳ ghi xoaacute
- Tần số hoạt động từ 0Hz đến 24 MHz
- 3 mức khoacutea bộ nhớ lập trigravenh
- 128 Byte RAM nội
- 4 Port xuất nhập IO 8 bit
- 2 bộ Timercounter 16 Bit
- 6 nguồn ngắt
- Giao tiếp nối tiếp điều khiển bằng phần cứng
- 64 KB vugraveng nhớ matilde ngoagravei
- 64 KB vugraveng nhớ dữ liệu ngoagravei
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 3
- Cho pheacutep xử lyacute bit
- 210 vị triacute nhớ coacute thể định vị bit
- 4 chu kỳ maacutey (4 μs đối với thạch anh 12MHz) cho hoạt động nhacircn hoặc chia
- Coacute caacutec chế độ nghỉ (Low-power Idle) vagrave chế độ nguồn giảm (Power-down)
Ngoải ra một số IC khaacutec của họ MCS-51 coacute thecircm bộ định thời thứ 3 vagrave 256
byte RAM nội
213 SƠ ĐỒ KHỐI AT89S52
Higravenh 21 ndash Sơ đồ khối của AT89S52
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 4
214 SƠ ĐỒ CHAcircN AT89S52
Higravenh 22 Sơ đồ chacircn AT89S52
bull Port 0
Port 0 lagrave port coacute 2 chức năng ở caacutec chacircn 32 ndash 39 của AT89C51
- Chức năng IO (xuất nhập) dugraveng cho caacutec thiết kế nhỏ Tuy nhiecircn khi dugraveng
chức năng nagravey thigrave Port 0 phải dugraveng thecircm caacutec điện trở keacuteo lecircn (pull-up) giaacute trị
của điện trở phụ thuộc vagraveo thagravenh phần kết nối với Port
Khi dugraveng lagravem ngotilde ra Port 0 coacute thể keacuteo được 8 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 0 phải được set mức logic 1 trước đoacute
- Chức năng địa chỉ dữ liệu đa hợp khi dugraveng caacutec thiết kế lớn đogravei hỏi phải sử
dụng bộ nhớ ngoagravei thigrave Port 0 vừa lagrave bus dữ liệu (8 bit) vừa lagrave bus địa chỉ (8 bit
thấp)
Ngoagravei ra khi lập trigravenh cho AT89C51 Port 0 cograven dugraveng để nhận matilde khi lập trigravenh
vagrave xuất magrave khi kiểm tra (quaacute trigravenh kiểm tra đogravei hỏi phải coacute điện trở keacuteo lecircn)
bull Port 1
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 5
Port1 (chacircn 1 ndash 8) chỉ coacute một chức năng lagrave IO khocircng dugraveng cho mục điacutech khaacutec
(chỉ trong 803280528952 thigrave dugraveng thecircm P10 vagrave P11 cho bộ định thời thứ 3) Tại
Port 1 đatilde coacute điện trở keacuteo lecircn necircn khocircng cần thecircm điện trở ngoagravei
Port 1 coacute khả năng keacuteo được 4 ngotilde TTL vagrave cograven dugraveng lagravem 8 bit địa chỉ thấp
trong quaacute trigravenh lập trigravenh hay kiểm tra
Khi dugraveng lagravem ngotilde vagraveo Port 1 phải được set mức logic 1 trước đoacute
bull Port 2
Port 2 (chacircn 21 ndash 28) lagrave port coacute 2 chức năng
- Chức năng IO (xuất nhập) coacute khả năng keacuteo được 4 ngotilde TTL
- Chức năng địa chỉ dugraveng lagravem 8 bit địa chỉ cao khi cần bộ nhớ ngoagravei coacute địa chỉ
16 bit Khi đoacute Port 2 khocircng được dugraveng cho mục điacutech IO
Khi dugraveng lagravem ngotilde vagraveo Port 2 phải được set mức logic 1 trước đoacute
Khi lập trigravenh Port 2 dugraveng lagravem 8 bit địa chỉ cao hay một số tiacuten hiệu điều khiển
bull Port 3
Port 3 (chacircn 10 ndash 17) lagrave port coacute 2 chức năng
- Chức năng IO coacute khả năng keacuteo được 4 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 3 phải được set mức logic 1 trước đoacute
- Chức năng khaacutec mocirc tả như bảng 11Bảng 21 Chức năng caacutec chacircn của Port 3
Bit Tecircn Chức năng
P30 RxD Ngotilde vagraveo port nối tiếp
P31 TxD Ngotilde ra port nối tiếp
P32 INT0 Ngắt ngoagravei 0
P33 INT1 Ngắt ngoagravei 1
P34 T0 Ngotilde vagraveo của bộ định thời 0
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 6
P35 T1 Ngotilde vagraveo của bộ định thời 1
P36 WR Tiacuten hiệu điều khiển ghi dữ liệu lecircn bộ nhớ ngoagravei
P37 RD Tiacuten hiệu điều khiển đọc từ bộ nhớ dữ liệu ngoagravei
bull NGUỒN
Chacircn 40 VCC = 5V plusmn 20
Chacircn 20 GND
bull PSEN (Program Store Enable)
PSEN (chacircn 29) cho pheacutep đọc bộ nhớ chương trigravenh mở rộng đối với caacutec ứng
dụng sử dụng ROM ngoagravei thường được nối đến chacircn OC (Output Control) của
ROM để đọc caacutec byte matilde lệnh PSEN sẽ ở mức logic 0 trong thời gian AT89C51 lấy
lệnhTrong quaacute trigravenh nagravey PSEN sẽ tiacutech cực 2 lần trong 1 chu kỳ maacutey
Matilde lệnh của chương trigravenh được đọc từ ROM thocircng qua bus dữ liệu (Port0) vagrave
bus địa chỉ (Port0 + Port2)
Khi 8951 thi hagravenh chương trigravenh trong ROM nội PSEN sẽ ở mức logic 1
bull ALEPROG (Address Latch Enable Program)
ALEPROG (chacircn 30) cho pheacutep taacutech caacutec đường địa chỉ vagrave dữ liệu tại Port 0
khi truy xuất bộ nhớ ngoagravei ALE thường nối với chacircn Clock của IC chốt (74373
74573)
Caacutec xung tiacuten hiệu ALE coacute tốc độ bằng 16 lần tần số dao động trecircn chip vagrave coacute
thể được dugraveng lagravem tiacuten hiệu clock cho caacutec phần khaacutec của hệ thống Xung nagravey coacute thể
cấm bằng caacutech set bit 0 của SFR tại địa chỉ 8Eh lecircn 1 Khi đoacute ALE chỉ coacute taacutec dụng
khi dugraveng lệnh MOVX hay MOVC Ngoagravei ra chacircn nagravey cograven được dugraveng lagravem ngotilde vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 7
xung lập trigravenh cho ROM nội (PROG)
bull EA VPP (External Access)
EA (chacircn 31) dugraveng để cho pheacutep thực thi chương trigravenh từ ROM ngoagravei Khi nối
chacircn 31 với Vcc AT89S52 sẽ thực thi chương trigravenh từ ROM nội (tối đa 8KB) ngược
lại thigrave thực thi từ ROM ngoagravei (tối đa 64KB)
Ngoagravei ra chacircn EA được lấy lagravem chacircn cấp nguồn 12V khi lập trigravenh cho ROM
bull RST (Reset)
RST (chacircn 9) cho pheacutep reset AT89C51 khi ngotilde vagraveo tiacuten hiệu đưa lecircn mức 1
trong iacutet nhất lagrave 2 chu kỳ maacutey
bull X1X2
Ngotilde vagraveo vagrave ngotilde ra bộ dao động khi sử dụng coacute thể chỉ cần kết nối thecircm thạch
anh vagrave caacutec tụ như higravenh vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho
AT89C51 lagrave 12Mhz
215 ĐỊNH KỲ CHU KỲ MAacuteY
Một chu kỳ maacutey bao gồm 6 trạng thaacutei (12 xung clock) Một trạng thaacutei bao gồm
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 8
2 phần ứng với 12 xung clock Phase 1 vagrave Phase 2 Như vậy một chu kỳ maacutey bao
gồm 12 xung clock được biểu diễn từ S1P1 đến S6P2 (State 1 Phase 1 1048774 State 6
Phase 2) Chu kỳ lấy lệnh vagrave thực thi lệnh mocirc tả như higravenh 14
Tiacuten hiệu chốt địa chỉ ALE tiacutech cực 2 lần trong một chu kỳ maacutey (trong khoảng
thời gian S1P2 đến S2P1 vagrave từ S4P2 đến S5P1) Từ đoacute tần số xung tại chacircn ALE bằng
16 tần số thạch anh
1048774 Đối với caacutec lệnh thực thi trong 1 chu kỳ
- Lệnh 1 byte được thực thi tại thời điểm S1P2 sau khi matilde lệnh được chốt vagraveo
thanh ghi lệnh tại S1P1
- Lệnh 2 byte byte thứ 2 được đọc tại thời điểm S4 vagrave sẽ được thực thi tại thời
điểm S4
1048774 Đối với caacutec lệnh thực thi trong 2 chu kỳ
Quaacute trigravenh lấy lệnh thực hiện tại thời điểm S1 của chu kỳ đầu tiecircn (byte magrave lệnh
216TỔ CHỨC BỘ NHỚ
Bộ nhớ của họ MCS-51 coacute thể chia thagravenh 2 phần bộ nhớ trong vagrave bộ nhớ
ngoagravei Bộ nhớ trong bao gồm 4 KB ROM vagrave 128 byte RAM (256 byte trong 8052)
Caacutec byte RAM coacute địa chỉ từ 00h ndash 7Fh vagrave caacutec thanh ghi chức năng đặc biệt (SFR) coacute
địa chỉ từ 80h ndash 0FFh coacute thể truy xuất trực tiếp Đối với 8052 128 byte RAM cao (địa
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 9
chỉ từ 80h ndash 0FFh) khocircng thể truy xuất trực tiếp magrave chỉ coacute thể truy xuất giaacuten tiếp (xem
thecircm trong phần tập lệnh)
Bộ nhớ ngoagravei bao gồm bộ nhớ chương trigravenh (điều khiển đọc bằng tiacuten hiệu
PSEN) vagrave bộ nhớ dữ liệu (điều khiển bằng tiacuten hiệu RD hay WR để cho pheacutep đọc
hay ghi dữ liệu) Do số đường địa chỉ của MCS-51 lagrave 16 bit (Port 0 chứa 8 bit thấp vagrave
Port 2 chứa 8 bit cao) necircn bộ nhớ ngoagravei coacute thể giải matilde tối đa lagrave 64KB
22 ADC 0809
Bộ ADC 0809 lagrave một thiết bị CMOS tiacutech hợp với một bộ chuyển đổi từ tương tự sang số 8 bit bộ chọn 8 kecircnh vagrave một bocirc logic điều khiển tương thiacutech Bộ chuyển đổi AD 8 bit nagravey dugraveng phương phaacutep chuyển đổi xấp xỉ tiếp Bộ chọn kecircnh coacute thể truy xuất bất kềnh nagraveo trong caacutec ngotilde vagraveo tương tự một caacutenh độc lậpThiết bị nagravey loại trừ khả năng cần thiết điều chỉnh điểm 0 becircn ngoagravei vagrave khả năng điều chỉnh tỉ số lagravem trograven ADC 0809 dễ dagraveng giao tiếp với caacutec bộ vi xử lyacute Sơ đồ chacircn ADC 0809
Higravenh 23-Sơ đồ chacircn ADC Yacute nghĩa caacutec chacircn IN0 đến IN7 8 ngotilde vagraveo tương tự A B C giải matilde chọn một trong 8 ngotilde vagraveo Z-1 đến Z-8 ngotilde ra song song 8 bit ALE cho pheacutep chốt địa chỉ START xung bắt đầu chuyển đổi CLK xung đồng hồ
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 10
REF (+) điện thế tham chiếu (+)
REF (-) điện thế tham chiếu (-)
VCC nguồn cung cấp
Caacutec đặc điểm củaADC 0809 Độ phacircn giải 8 bit Tổng sai số chưa chỉnh định +- frac12 LSB +- 1 LSB Thời gian chuyển đổi 100us ở tần số 640 kHz Nguồn cung cấp + 5V Điện aacutep ngotilde vagraveo 0 ndash 5V Tần số xung clock 10kHz ndash 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dagraveng giao tiếp với vi xử lyacute hoặc dugraveng riecircng Khocircng cần điều chỉnh zero hoặc đầy thang
Nguyecircn lyacute hoạt độngADC 0809 coacute 8 ngotilde vagraveo tương tự 8 ngotilde ra 8 bit coacute thể chọn 1 trong 8 ngotilde vagraveo tương tự để chuyển đổi sang số 8 bitCaacutec ngotilde vagraveo được chọn bằng caacutech giải matilde Chọn 1 trong 8 ngotilde vagraveo tương tự được thực hiện nhờ 3 chacircn ADDA ADDB ADDC như bảng trạng thaacutei sau
Sau khi kiacutech xung start thigrave bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start ngotilde ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tiacutenh từ cạnh xuống của xung start) Luacutec nagravey bit cơ trọng số lớn nhất (MSB) được đặt lecircn mức 1 tất cả caacutec bit cograven lại ở mức 0 đồng thời tạo ra điện thế coacute giaacute trị Vref2 điện thế nagravey được so saacutenh với điện thế vagraveo in+ Nếu Vin gt Vref2 thigrave bit MSB vẫn ở mức 1+ Nếu Vin lt Vref2 thigrave bit MSB vẫn ở mức 0Tương tự như vậy bit kế tiếp MSB được đặt lecircn 1 vagrave tạo ra điện thế coacute giaacute trị Vref4 vagrave
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
LỜI CẢM ƠN
Trước tiecircn người thực hiện đề tagravei xin được gửi lời cảm ơn sacircu sắc nhất đến giảng viecircn hướng dẫn Đậu Trọng Hiển đatilde tận tigravenh hướng dẫn trong suốt quaacute trigravenh tigravem hiểu vagrave thực hiện đề tagravei
Người thực hiện đề tagravei củng xin được gửi lời cảm ơn đến toagraven thể quyacute Thầy Cocirc trường Đại Học Sư Phạm Kỹ Thuật TPHCM noacutei chung vagrave Quyacute Thầy Cocirc khoa Điện ndash Điện Tử noacutei riecircng đatilde tận tigravenh giuacutep đỡ vagrave truyền đạt những kiến thức thật lagrave quyacute baacuteu
Cuối cugraveng lagrave lời cảm ơn đến gia đigravenh bạn begrave đatilde tạo điều kiện giuacutep đỡ động viecircn để người thực hiện hoagraven thagravenh tốt đồ aacuten mocircn học 1
Dugrave đatilde cố gắng nhưng trong quaacute trigravenh thực hiện khocircng traacutenh khỏi sai xoacutet kiacutenh mong quyacute Thầy Cocirc goacutep yacute vagrave chỉ dẫn để coacute thể hoagraven thagravenh tốt hơn đồ aacuten mocircn học nagravey
Người thực hiện đề tagravei xin chacircn thagravenh cảm ơn
Sinh viecircn thực hiện
Chacircu Aacute
LỜI NOacuteI ĐẦU
Ngagravenh Điện tử viễn thocircng lagrave một trong những ngagravenh quan trọng vagrave mang tiacutenh quyết định cho sự phaacutet triển của một quốc gia Sự phaacutet triển nhanh choacuteng của Khoa học ndash Kỹ Thuật lagravem cho ngagravenh Điện tử viễn thocircng ngagravey cagraveng phaacutet triển vagrave đạt được nhiều thagravenh tựu mới Nhu cầu của con người ngagravey cagraveng cao lagrave điều kiện thuận lợi cho ngagravenh Điện tử viễn thocircng khocircng ngừng phaacutet minh ra caacutec sản phẩm mới coacute tiacutenh ứng dụng cao caacutec sản phẩm đa tiacutenh năng coacute độ bền vagrave độ ổn định ngagravey cagraveng caohellip Nhưng một điều cơ bản lagrave caacutec sản phẩm đoacute đều bắt nguồn từ những linh kiện rời R L C Diode BJT FEThellip
Vigrave vậy người thực hiện đề tagravei ldquo Thiết kế vagrave thi cocircng mạch đo vagrave điều khiển nhiệt độrdquo nagravey để ứng dụng những gigrave đatilde học vagraveo một mạch thực tế để hiểu thecircm nguyecircn lyacute lagravem việc caacutech thức hoạt động của mạch cũng như hiểu thecircm về chức năng của từng linh kiện điện tử trong mạch
MỤC LỤC
Trang
Trang bigravea loacutetLịch trigravenh thực hiện đồ aacutenLời cảm ơniLời noacutei đầu iiMục lụciiiLiệt kecirc bảng ivLiệt kecirc higravenhvChương 1 GIỚI THIỆU111Mục tiecircu của đề tagravei112Nội dung trigravenh bagravey1Chương 2 KIẾN THỨC BỔ TRỢ221 Tổng quan về vi điều khiển MCS-512211 Giới thiệuhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2
212 Vi điều khiển AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2
213 Sơ đồ khối AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip3
214Sơ đồ chacircn AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip4
215 Định kỳ chu kỳ maacuteyhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip7
216 Tổ chức bộ nhớhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip8
22 ADC 0809helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip9
23 LM35helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip12
24 LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip13241 Higravenh daacuteng vagrave kiacutech thướchelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip13242 Chức năng caacutec chacircnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip14243 Sơ đồ khối của HD44780helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip15244 Tập lệnh của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip19245 Giao tiếp giữa LCD vagrave MPUhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip24246 Khởi tạo LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip25
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNGhelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
31 Sơ đồ nguyecircn lyacutehelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2632 Sơ đồ mạch inhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2633 Khối cảm biếnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
34 Khối tạo điện aacutep chuẩnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
35 Sơ đồ nối chacircn cho ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip28
36 Sơ đồ mạch xử lyacute trung tacircm 89c51helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip29
37 Khối hiển thịhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
38 Khối nguồn 5Vhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
Chương 4 THIẾT KẾ PHẦN MỀMhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip31Tagravei liệu tham khảo37
LIỆT KEcirc BẢNG
Bảng 21 Chức năng caacutec chacircn của Port 3helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip5
Bảng 24 Chức năng caacutec chacircn của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip14
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụnghelliphelliphelliphelliphelliphelliphelliphelliphellip17
Bảng 26 Tập lệnh của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip20
Bảng 27 Maximun Ratinghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip24
Bảng 28 Miền lagravem việc bigravenh thườnghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip24
LIỆT KEcirc HIgraveNH
Higravenh 21 Sơ đồ khối của AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip3
Higravenh 22 Sơ đồ chacircn AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip4
Higravenh 23 Sơ đồ chacircn ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip9
Higravenh 24 Cảm biến nhiệthelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip12
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụnghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip13
Higravenh 26 Sơ đồ chacircn của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip14
Higravenh 27 Sơ đồ khối của HD44780 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip16
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCDhelliphelliphellip 18
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tựhelliphelliphelliphelliphelliphellip19
Higravenh 31 Sơ đồ nguyecircn lyacutehelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
Higravenh 32 Sơ đồ mạch inhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
Higravenh 33 Khối cảm biếnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
Higravenh 34 Khối tạo điện aacutep chuẩnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
Higravenh 35 Sơ đồ nối chacircn ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip28
Higravenh36 Sơ đồ xứ lyacute trung tacircmhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip29
Higravenh 37 Khối hiển thịhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
Higravenh 38 Khối nguồnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 1
CHƯƠNG 1 GIỚI THIỆU
11 Mục tiecircu của đề tagravei
Vận dụng được caacutec lyacute thuyết đatilde học vagraveo việc thiết kế một mạch thực tế Hệ thống lại caacutec kiến thức đatilde học Nacircng cao kỹ năng thiết kế vagrave thi cocircng mạch Giải thiacutech chức năng nhiệm vụ caacutec khối cũng như caacutec linh kiện trong mạch
12 Nội dung trigravenh bagravey
Caacutec lyacute thuyết liecircn quan về mạch nhiệt độ Giải thiacutech chức năng nhiệm vụ caacutec khối caacutec linh kiện trong mạch Tiacutenh toaacuten thiết kế vagrave thi cocircng mạch
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 2
CHƯƠNG 2 KIẾN THỨC BỔ TRỢ
21TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51
211GIỚI THIỆU
Họ vi điều khiển MCS-51 do Intel sản xuất đầu tiecircn vagraveo năm 1980 lagrave caacutec IC
thiết kế cho caacutec ứng dụng hướng điều khiển Caacutec IC nagravey chiacutenh lagrave một hệ thống vi xử
lyacute hoagraven chỉnh bao gồm caacutec caacutec thagravenh phần của hệ vi xử lyacute CPU bộ nhớ caacutec mạch
giao tiếp điều khiển ngắt
MCS-51 lagrave họ vi điều khiển sử dụng cơ chế CISC (Complex Instruction Set
Computer) coacute độ dagravei vagrave thời gian thực thi của caacutec lệnh khaacutec nhau Tập lệnh cung cấp
cho MCS-51 coacute caacutec lệnh dugraveng cho điều khiển xuất nhập taacutec động đến từng bit
212VI ĐIỀU KHIỂN AT89S52
AT89S52 lagrave vi điều khiển do Atmel sản xuất chế tạo theo cocircng nghệ CMOS
coacute caacutec đặc tiacutenh như sau
- 8 KB PEROM (Flash Programmable and Erasable Read Only Memory) coacute khả
năng tới 1000 chu kỳ ghi xoaacute
- Tần số hoạt động từ 0Hz đến 24 MHz
- 3 mức khoacutea bộ nhớ lập trigravenh
- 128 Byte RAM nội
- 4 Port xuất nhập IO 8 bit
- 2 bộ Timercounter 16 Bit
- 6 nguồn ngắt
- Giao tiếp nối tiếp điều khiển bằng phần cứng
- 64 KB vugraveng nhớ matilde ngoagravei
- 64 KB vugraveng nhớ dữ liệu ngoagravei
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 3
- Cho pheacutep xử lyacute bit
- 210 vị triacute nhớ coacute thể định vị bit
- 4 chu kỳ maacutey (4 μs đối với thạch anh 12MHz) cho hoạt động nhacircn hoặc chia
- Coacute caacutec chế độ nghỉ (Low-power Idle) vagrave chế độ nguồn giảm (Power-down)
Ngoải ra một số IC khaacutec của họ MCS-51 coacute thecircm bộ định thời thứ 3 vagrave 256
byte RAM nội
213 SƠ ĐỒ KHỐI AT89S52
Higravenh 21 ndash Sơ đồ khối của AT89S52
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 4
214 SƠ ĐỒ CHAcircN AT89S52
Higravenh 22 Sơ đồ chacircn AT89S52
bull Port 0
Port 0 lagrave port coacute 2 chức năng ở caacutec chacircn 32 ndash 39 của AT89C51
- Chức năng IO (xuất nhập) dugraveng cho caacutec thiết kế nhỏ Tuy nhiecircn khi dugraveng
chức năng nagravey thigrave Port 0 phải dugraveng thecircm caacutec điện trở keacuteo lecircn (pull-up) giaacute trị
của điện trở phụ thuộc vagraveo thagravenh phần kết nối với Port
Khi dugraveng lagravem ngotilde ra Port 0 coacute thể keacuteo được 8 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 0 phải được set mức logic 1 trước đoacute
- Chức năng địa chỉ dữ liệu đa hợp khi dugraveng caacutec thiết kế lớn đogravei hỏi phải sử
dụng bộ nhớ ngoagravei thigrave Port 0 vừa lagrave bus dữ liệu (8 bit) vừa lagrave bus địa chỉ (8 bit
thấp)
Ngoagravei ra khi lập trigravenh cho AT89C51 Port 0 cograven dugraveng để nhận matilde khi lập trigravenh
vagrave xuất magrave khi kiểm tra (quaacute trigravenh kiểm tra đogravei hỏi phải coacute điện trở keacuteo lecircn)
bull Port 1
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 5
Port1 (chacircn 1 ndash 8) chỉ coacute một chức năng lagrave IO khocircng dugraveng cho mục điacutech khaacutec
(chỉ trong 803280528952 thigrave dugraveng thecircm P10 vagrave P11 cho bộ định thời thứ 3) Tại
Port 1 đatilde coacute điện trở keacuteo lecircn necircn khocircng cần thecircm điện trở ngoagravei
Port 1 coacute khả năng keacuteo được 4 ngotilde TTL vagrave cograven dugraveng lagravem 8 bit địa chỉ thấp
trong quaacute trigravenh lập trigravenh hay kiểm tra
Khi dugraveng lagravem ngotilde vagraveo Port 1 phải được set mức logic 1 trước đoacute
bull Port 2
Port 2 (chacircn 21 ndash 28) lagrave port coacute 2 chức năng
- Chức năng IO (xuất nhập) coacute khả năng keacuteo được 4 ngotilde TTL
- Chức năng địa chỉ dugraveng lagravem 8 bit địa chỉ cao khi cần bộ nhớ ngoagravei coacute địa chỉ
16 bit Khi đoacute Port 2 khocircng được dugraveng cho mục điacutech IO
Khi dugraveng lagravem ngotilde vagraveo Port 2 phải được set mức logic 1 trước đoacute
Khi lập trigravenh Port 2 dugraveng lagravem 8 bit địa chỉ cao hay một số tiacuten hiệu điều khiển
bull Port 3
Port 3 (chacircn 10 ndash 17) lagrave port coacute 2 chức năng
- Chức năng IO coacute khả năng keacuteo được 4 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 3 phải được set mức logic 1 trước đoacute
- Chức năng khaacutec mocirc tả như bảng 11Bảng 21 Chức năng caacutec chacircn của Port 3
Bit Tecircn Chức năng
P30 RxD Ngotilde vagraveo port nối tiếp
P31 TxD Ngotilde ra port nối tiếp
P32 INT0 Ngắt ngoagravei 0
P33 INT1 Ngắt ngoagravei 1
P34 T0 Ngotilde vagraveo của bộ định thời 0
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 6
P35 T1 Ngotilde vagraveo của bộ định thời 1
P36 WR Tiacuten hiệu điều khiển ghi dữ liệu lecircn bộ nhớ ngoagravei
P37 RD Tiacuten hiệu điều khiển đọc từ bộ nhớ dữ liệu ngoagravei
bull NGUỒN
Chacircn 40 VCC = 5V plusmn 20
Chacircn 20 GND
bull PSEN (Program Store Enable)
PSEN (chacircn 29) cho pheacutep đọc bộ nhớ chương trigravenh mở rộng đối với caacutec ứng
dụng sử dụng ROM ngoagravei thường được nối đến chacircn OC (Output Control) của
ROM để đọc caacutec byte matilde lệnh PSEN sẽ ở mức logic 0 trong thời gian AT89C51 lấy
lệnhTrong quaacute trigravenh nagravey PSEN sẽ tiacutech cực 2 lần trong 1 chu kỳ maacutey
Matilde lệnh của chương trigravenh được đọc từ ROM thocircng qua bus dữ liệu (Port0) vagrave
bus địa chỉ (Port0 + Port2)
Khi 8951 thi hagravenh chương trigravenh trong ROM nội PSEN sẽ ở mức logic 1
bull ALEPROG (Address Latch Enable Program)
ALEPROG (chacircn 30) cho pheacutep taacutech caacutec đường địa chỉ vagrave dữ liệu tại Port 0
khi truy xuất bộ nhớ ngoagravei ALE thường nối với chacircn Clock của IC chốt (74373
74573)
Caacutec xung tiacuten hiệu ALE coacute tốc độ bằng 16 lần tần số dao động trecircn chip vagrave coacute
thể được dugraveng lagravem tiacuten hiệu clock cho caacutec phần khaacutec của hệ thống Xung nagravey coacute thể
cấm bằng caacutech set bit 0 của SFR tại địa chỉ 8Eh lecircn 1 Khi đoacute ALE chỉ coacute taacutec dụng
khi dugraveng lệnh MOVX hay MOVC Ngoagravei ra chacircn nagravey cograven được dugraveng lagravem ngotilde vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 7
xung lập trigravenh cho ROM nội (PROG)
bull EA VPP (External Access)
EA (chacircn 31) dugraveng để cho pheacutep thực thi chương trigravenh từ ROM ngoagravei Khi nối
chacircn 31 với Vcc AT89S52 sẽ thực thi chương trigravenh từ ROM nội (tối đa 8KB) ngược
lại thigrave thực thi từ ROM ngoagravei (tối đa 64KB)
Ngoagravei ra chacircn EA được lấy lagravem chacircn cấp nguồn 12V khi lập trigravenh cho ROM
bull RST (Reset)
RST (chacircn 9) cho pheacutep reset AT89C51 khi ngotilde vagraveo tiacuten hiệu đưa lecircn mức 1
trong iacutet nhất lagrave 2 chu kỳ maacutey
bull X1X2
Ngotilde vagraveo vagrave ngotilde ra bộ dao động khi sử dụng coacute thể chỉ cần kết nối thecircm thạch
anh vagrave caacutec tụ như higravenh vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho
AT89C51 lagrave 12Mhz
215 ĐỊNH KỲ CHU KỲ MAacuteY
Một chu kỳ maacutey bao gồm 6 trạng thaacutei (12 xung clock) Một trạng thaacutei bao gồm
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 8
2 phần ứng với 12 xung clock Phase 1 vagrave Phase 2 Như vậy một chu kỳ maacutey bao
gồm 12 xung clock được biểu diễn từ S1P1 đến S6P2 (State 1 Phase 1 1048774 State 6
Phase 2) Chu kỳ lấy lệnh vagrave thực thi lệnh mocirc tả như higravenh 14
Tiacuten hiệu chốt địa chỉ ALE tiacutech cực 2 lần trong một chu kỳ maacutey (trong khoảng
thời gian S1P2 đến S2P1 vagrave từ S4P2 đến S5P1) Từ đoacute tần số xung tại chacircn ALE bằng
16 tần số thạch anh
1048774 Đối với caacutec lệnh thực thi trong 1 chu kỳ
- Lệnh 1 byte được thực thi tại thời điểm S1P2 sau khi matilde lệnh được chốt vagraveo
thanh ghi lệnh tại S1P1
- Lệnh 2 byte byte thứ 2 được đọc tại thời điểm S4 vagrave sẽ được thực thi tại thời
điểm S4
1048774 Đối với caacutec lệnh thực thi trong 2 chu kỳ
Quaacute trigravenh lấy lệnh thực hiện tại thời điểm S1 của chu kỳ đầu tiecircn (byte magrave lệnh
216TỔ CHỨC BỘ NHỚ
Bộ nhớ của họ MCS-51 coacute thể chia thagravenh 2 phần bộ nhớ trong vagrave bộ nhớ
ngoagravei Bộ nhớ trong bao gồm 4 KB ROM vagrave 128 byte RAM (256 byte trong 8052)
Caacutec byte RAM coacute địa chỉ từ 00h ndash 7Fh vagrave caacutec thanh ghi chức năng đặc biệt (SFR) coacute
địa chỉ từ 80h ndash 0FFh coacute thể truy xuất trực tiếp Đối với 8052 128 byte RAM cao (địa
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 9
chỉ từ 80h ndash 0FFh) khocircng thể truy xuất trực tiếp magrave chỉ coacute thể truy xuất giaacuten tiếp (xem
thecircm trong phần tập lệnh)
Bộ nhớ ngoagravei bao gồm bộ nhớ chương trigravenh (điều khiển đọc bằng tiacuten hiệu
PSEN) vagrave bộ nhớ dữ liệu (điều khiển bằng tiacuten hiệu RD hay WR để cho pheacutep đọc
hay ghi dữ liệu) Do số đường địa chỉ của MCS-51 lagrave 16 bit (Port 0 chứa 8 bit thấp vagrave
Port 2 chứa 8 bit cao) necircn bộ nhớ ngoagravei coacute thể giải matilde tối đa lagrave 64KB
22 ADC 0809
Bộ ADC 0809 lagrave một thiết bị CMOS tiacutech hợp với một bộ chuyển đổi từ tương tự sang số 8 bit bộ chọn 8 kecircnh vagrave một bocirc logic điều khiển tương thiacutech Bộ chuyển đổi AD 8 bit nagravey dugraveng phương phaacutep chuyển đổi xấp xỉ tiếp Bộ chọn kecircnh coacute thể truy xuất bất kềnh nagraveo trong caacutec ngotilde vagraveo tương tự một caacutenh độc lậpThiết bị nagravey loại trừ khả năng cần thiết điều chỉnh điểm 0 becircn ngoagravei vagrave khả năng điều chỉnh tỉ số lagravem trograven ADC 0809 dễ dagraveng giao tiếp với caacutec bộ vi xử lyacute Sơ đồ chacircn ADC 0809
Higravenh 23-Sơ đồ chacircn ADC Yacute nghĩa caacutec chacircn IN0 đến IN7 8 ngotilde vagraveo tương tự A B C giải matilde chọn một trong 8 ngotilde vagraveo Z-1 đến Z-8 ngotilde ra song song 8 bit ALE cho pheacutep chốt địa chỉ START xung bắt đầu chuyển đổi CLK xung đồng hồ
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 10
REF (+) điện thế tham chiếu (+)
REF (-) điện thế tham chiếu (-)
VCC nguồn cung cấp
Caacutec đặc điểm củaADC 0809 Độ phacircn giải 8 bit Tổng sai số chưa chỉnh định +- frac12 LSB +- 1 LSB Thời gian chuyển đổi 100us ở tần số 640 kHz Nguồn cung cấp + 5V Điện aacutep ngotilde vagraveo 0 ndash 5V Tần số xung clock 10kHz ndash 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dagraveng giao tiếp với vi xử lyacute hoặc dugraveng riecircng Khocircng cần điều chỉnh zero hoặc đầy thang
Nguyecircn lyacute hoạt độngADC 0809 coacute 8 ngotilde vagraveo tương tự 8 ngotilde ra 8 bit coacute thể chọn 1 trong 8 ngotilde vagraveo tương tự để chuyển đổi sang số 8 bitCaacutec ngotilde vagraveo được chọn bằng caacutech giải matilde Chọn 1 trong 8 ngotilde vagraveo tương tự được thực hiện nhờ 3 chacircn ADDA ADDB ADDC như bảng trạng thaacutei sau
Sau khi kiacutech xung start thigrave bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start ngotilde ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tiacutenh từ cạnh xuống của xung start) Luacutec nagravey bit cơ trọng số lớn nhất (MSB) được đặt lecircn mức 1 tất cả caacutec bit cograven lại ở mức 0 đồng thời tạo ra điện thế coacute giaacute trị Vref2 điện thế nagravey được so saacutenh với điện thế vagraveo in+ Nếu Vin gt Vref2 thigrave bit MSB vẫn ở mức 1+ Nếu Vin lt Vref2 thigrave bit MSB vẫn ở mức 0Tương tự như vậy bit kế tiếp MSB được đặt lecircn 1 vagrave tạo ra điện thế coacute giaacute trị Vref4 vagrave
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
LỜI NOacuteI ĐẦU
Ngagravenh Điện tử viễn thocircng lagrave một trong những ngagravenh quan trọng vagrave mang tiacutenh quyết định cho sự phaacutet triển của một quốc gia Sự phaacutet triển nhanh choacuteng của Khoa học ndash Kỹ Thuật lagravem cho ngagravenh Điện tử viễn thocircng ngagravey cagraveng phaacutet triển vagrave đạt được nhiều thagravenh tựu mới Nhu cầu của con người ngagravey cagraveng cao lagrave điều kiện thuận lợi cho ngagravenh Điện tử viễn thocircng khocircng ngừng phaacutet minh ra caacutec sản phẩm mới coacute tiacutenh ứng dụng cao caacutec sản phẩm đa tiacutenh năng coacute độ bền vagrave độ ổn định ngagravey cagraveng caohellip Nhưng một điều cơ bản lagrave caacutec sản phẩm đoacute đều bắt nguồn từ những linh kiện rời R L C Diode BJT FEThellip
Vigrave vậy người thực hiện đề tagravei ldquo Thiết kế vagrave thi cocircng mạch đo vagrave điều khiển nhiệt độrdquo nagravey để ứng dụng những gigrave đatilde học vagraveo một mạch thực tế để hiểu thecircm nguyecircn lyacute lagravem việc caacutech thức hoạt động của mạch cũng như hiểu thecircm về chức năng của từng linh kiện điện tử trong mạch
MỤC LỤC
Trang
Trang bigravea loacutetLịch trigravenh thực hiện đồ aacutenLời cảm ơniLời noacutei đầu iiMục lụciiiLiệt kecirc bảng ivLiệt kecirc higravenhvChương 1 GIỚI THIỆU111Mục tiecircu của đề tagravei112Nội dung trigravenh bagravey1Chương 2 KIẾN THỨC BỔ TRỢ221 Tổng quan về vi điều khiển MCS-512211 Giới thiệuhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2
212 Vi điều khiển AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2
213 Sơ đồ khối AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip3
214Sơ đồ chacircn AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip4
215 Định kỳ chu kỳ maacuteyhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip7
216 Tổ chức bộ nhớhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip8
22 ADC 0809helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip9
23 LM35helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip12
24 LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip13241 Higravenh daacuteng vagrave kiacutech thướchelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip13242 Chức năng caacutec chacircnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip14243 Sơ đồ khối của HD44780helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip15244 Tập lệnh của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip19245 Giao tiếp giữa LCD vagrave MPUhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip24246 Khởi tạo LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip25
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNGhelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
31 Sơ đồ nguyecircn lyacutehelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2632 Sơ đồ mạch inhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2633 Khối cảm biếnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
34 Khối tạo điện aacutep chuẩnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
35 Sơ đồ nối chacircn cho ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip28
36 Sơ đồ mạch xử lyacute trung tacircm 89c51helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip29
37 Khối hiển thịhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
38 Khối nguồn 5Vhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
Chương 4 THIẾT KẾ PHẦN MỀMhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip31Tagravei liệu tham khảo37
LIỆT KEcirc BẢNG
Bảng 21 Chức năng caacutec chacircn của Port 3helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip5
Bảng 24 Chức năng caacutec chacircn của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip14
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụnghelliphelliphelliphelliphelliphelliphelliphelliphellip17
Bảng 26 Tập lệnh của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip20
Bảng 27 Maximun Ratinghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip24
Bảng 28 Miền lagravem việc bigravenh thườnghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip24
LIỆT KEcirc HIgraveNH
Higravenh 21 Sơ đồ khối của AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip3
Higravenh 22 Sơ đồ chacircn AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip4
Higravenh 23 Sơ đồ chacircn ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip9
Higravenh 24 Cảm biến nhiệthelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip12
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụnghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip13
Higravenh 26 Sơ đồ chacircn của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip14
Higravenh 27 Sơ đồ khối của HD44780 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip16
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCDhelliphelliphellip 18
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tựhelliphelliphelliphelliphelliphellip19
Higravenh 31 Sơ đồ nguyecircn lyacutehelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
Higravenh 32 Sơ đồ mạch inhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
Higravenh 33 Khối cảm biếnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
Higravenh 34 Khối tạo điện aacutep chuẩnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
Higravenh 35 Sơ đồ nối chacircn ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip28
Higravenh36 Sơ đồ xứ lyacute trung tacircmhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip29
Higravenh 37 Khối hiển thịhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
Higravenh 38 Khối nguồnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 1
CHƯƠNG 1 GIỚI THIỆU
11 Mục tiecircu của đề tagravei
Vận dụng được caacutec lyacute thuyết đatilde học vagraveo việc thiết kế một mạch thực tế Hệ thống lại caacutec kiến thức đatilde học Nacircng cao kỹ năng thiết kế vagrave thi cocircng mạch Giải thiacutech chức năng nhiệm vụ caacutec khối cũng như caacutec linh kiện trong mạch
12 Nội dung trigravenh bagravey
Caacutec lyacute thuyết liecircn quan về mạch nhiệt độ Giải thiacutech chức năng nhiệm vụ caacutec khối caacutec linh kiện trong mạch Tiacutenh toaacuten thiết kế vagrave thi cocircng mạch
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 2
CHƯƠNG 2 KIẾN THỨC BỔ TRỢ
21TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51
211GIỚI THIỆU
Họ vi điều khiển MCS-51 do Intel sản xuất đầu tiecircn vagraveo năm 1980 lagrave caacutec IC
thiết kế cho caacutec ứng dụng hướng điều khiển Caacutec IC nagravey chiacutenh lagrave một hệ thống vi xử
lyacute hoagraven chỉnh bao gồm caacutec caacutec thagravenh phần của hệ vi xử lyacute CPU bộ nhớ caacutec mạch
giao tiếp điều khiển ngắt
MCS-51 lagrave họ vi điều khiển sử dụng cơ chế CISC (Complex Instruction Set
Computer) coacute độ dagravei vagrave thời gian thực thi của caacutec lệnh khaacutec nhau Tập lệnh cung cấp
cho MCS-51 coacute caacutec lệnh dugraveng cho điều khiển xuất nhập taacutec động đến từng bit
212VI ĐIỀU KHIỂN AT89S52
AT89S52 lagrave vi điều khiển do Atmel sản xuất chế tạo theo cocircng nghệ CMOS
coacute caacutec đặc tiacutenh như sau
- 8 KB PEROM (Flash Programmable and Erasable Read Only Memory) coacute khả
năng tới 1000 chu kỳ ghi xoaacute
- Tần số hoạt động từ 0Hz đến 24 MHz
- 3 mức khoacutea bộ nhớ lập trigravenh
- 128 Byte RAM nội
- 4 Port xuất nhập IO 8 bit
- 2 bộ Timercounter 16 Bit
- 6 nguồn ngắt
- Giao tiếp nối tiếp điều khiển bằng phần cứng
- 64 KB vugraveng nhớ matilde ngoagravei
- 64 KB vugraveng nhớ dữ liệu ngoagravei
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 3
- Cho pheacutep xử lyacute bit
- 210 vị triacute nhớ coacute thể định vị bit
- 4 chu kỳ maacutey (4 μs đối với thạch anh 12MHz) cho hoạt động nhacircn hoặc chia
- Coacute caacutec chế độ nghỉ (Low-power Idle) vagrave chế độ nguồn giảm (Power-down)
Ngoải ra một số IC khaacutec của họ MCS-51 coacute thecircm bộ định thời thứ 3 vagrave 256
byte RAM nội
213 SƠ ĐỒ KHỐI AT89S52
Higravenh 21 ndash Sơ đồ khối của AT89S52
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 4
214 SƠ ĐỒ CHAcircN AT89S52
Higravenh 22 Sơ đồ chacircn AT89S52
bull Port 0
Port 0 lagrave port coacute 2 chức năng ở caacutec chacircn 32 ndash 39 của AT89C51
- Chức năng IO (xuất nhập) dugraveng cho caacutec thiết kế nhỏ Tuy nhiecircn khi dugraveng
chức năng nagravey thigrave Port 0 phải dugraveng thecircm caacutec điện trở keacuteo lecircn (pull-up) giaacute trị
của điện trở phụ thuộc vagraveo thagravenh phần kết nối với Port
Khi dugraveng lagravem ngotilde ra Port 0 coacute thể keacuteo được 8 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 0 phải được set mức logic 1 trước đoacute
- Chức năng địa chỉ dữ liệu đa hợp khi dugraveng caacutec thiết kế lớn đogravei hỏi phải sử
dụng bộ nhớ ngoagravei thigrave Port 0 vừa lagrave bus dữ liệu (8 bit) vừa lagrave bus địa chỉ (8 bit
thấp)
Ngoagravei ra khi lập trigravenh cho AT89C51 Port 0 cograven dugraveng để nhận matilde khi lập trigravenh
vagrave xuất magrave khi kiểm tra (quaacute trigravenh kiểm tra đogravei hỏi phải coacute điện trở keacuteo lecircn)
bull Port 1
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 5
Port1 (chacircn 1 ndash 8) chỉ coacute một chức năng lagrave IO khocircng dugraveng cho mục điacutech khaacutec
(chỉ trong 803280528952 thigrave dugraveng thecircm P10 vagrave P11 cho bộ định thời thứ 3) Tại
Port 1 đatilde coacute điện trở keacuteo lecircn necircn khocircng cần thecircm điện trở ngoagravei
Port 1 coacute khả năng keacuteo được 4 ngotilde TTL vagrave cograven dugraveng lagravem 8 bit địa chỉ thấp
trong quaacute trigravenh lập trigravenh hay kiểm tra
Khi dugraveng lagravem ngotilde vagraveo Port 1 phải được set mức logic 1 trước đoacute
bull Port 2
Port 2 (chacircn 21 ndash 28) lagrave port coacute 2 chức năng
- Chức năng IO (xuất nhập) coacute khả năng keacuteo được 4 ngotilde TTL
- Chức năng địa chỉ dugraveng lagravem 8 bit địa chỉ cao khi cần bộ nhớ ngoagravei coacute địa chỉ
16 bit Khi đoacute Port 2 khocircng được dugraveng cho mục điacutech IO
Khi dugraveng lagravem ngotilde vagraveo Port 2 phải được set mức logic 1 trước đoacute
Khi lập trigravenh Port 2 dugraveng lagravem 8 bit địa chỉ cao hay một số tiacuten hiệu điều khiển
bull Port 3
Port 3 (chacircn 10 ndash 17) lagrave port coacute 2 chức năng
- Chức năng IO coacute khả năng keacuteo được 4 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 3 phải được set mức logic 1 trước đoacute
- Chức năng khaacutec mocirc tả như bảng 11Bảng 21 Chức năng caacutec chacircn của Port 3
Bit Tecircn Chức năng
P30 RxD Ngotilde vagraveo port nối tiếp
P31 TxD Ngotilde ra port nối tiếp
P32 INT0 Ngắt ngoagravei 0
P33 INT1 Ngắt ngoagravei 1
P34 T0 Ngotilde vagraveo của bộ định thời 0
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 6
P35 T1 Ngotilde vagraveo của bộ định thời 1
P36 WR Tiacuten hiệu điều khiển ghi dữ liệu lecircn bộ nhớ ngoagravei
P37 RD Tiacuten hiệu điều khiển đọc từ bộ nhớ dữ liệu ngoagravei
bull NGUỒN
Chacircn 40 VCC = 5V plusmn 20
Chacircn 20 GND
bull PSEN (Program Store Enable)
PSEN (chacircn 29) cho pheacutep đọc bộ nhớ chương trigravenh mở rộng đối với caacutec ứng
dụng sử dụng ROM ngoagravei thường được nối đến chacircn OC (Output Control) của
ROM để đọc caacutec byte matilde lệnh PSEN sẽ ở mức logic 0 trong thời gian AT89C51 lấy
lệnhTrong quaacute trigravenh nagravey PSEN sẽ tiacutech cực 2 lần trong 1 chu kỳ maacutey
Matilde lệnh của chương trigravenh được đọc từ ROM thocircng qua bus dữ liệu (Port0) vagrave
bus địa chỉ (Port0 + Port2)
Khi 8951 thi hagravenh chương trigravenh trong ROM nội PSEN sẽ ở mức logic 1
bull ALEPROG (Address Latch Enable Program)
ALEPROG (chacircn 30) cho pheacutep taacutech caacutec đường địa chỉ vagrave dữ liệu tại Port 0
khi truy xuất bộ nhớ ngoagravei ALE thường nối với chacircn Clock của IC chốt (74373
74573)
Caacutec xung tiacuten hiệu ALE coacute tốc độ bằng 16 lần tần số dao động trecircn chip vagrave coacute
thể được dugraveng lagravem tiacuten hiệu clock cho caacutec phần khaacutec của hệ thống Xung nagravey coacute thể
cấm bằng caacutech set bit 0 của SFR tại địa chỉ 8Eh lecircn 1 Khi đoacute ALE chỉ coacute taacutec dụng
khi dugraveng lệnh MOVX hay MOVC Ngoagravei ra chacircn nagravey cograven được dugraveng lagravem ngotilde vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 7
xung lập trigravenh cho ROM nội (PROG)
bull EA VPP (External Access)
EA (chacircn 31) dugraveng để cho pheacutep thực thi chương trigravenh từ ROM ngoagravei Khi nối
chacircn 31 với Vcc AT89S52 sẽ thực thi chương trigravenh từ ROM nội (tối đa 8KB) ngược
lại thigrave thực thi từ ROM ngoagravei (tối đa 64KB)
Ngoagravei ra chacircn EA được lấy lagravem chacircn cấp nguồn 12V khi lập trigravenh cho ROM
bull RST (Reset)
RST (chacircn 9) cho pheacutep reset AT89C51 khi ngotilde vagraveo tiacuten hiệu đưa lecircn mức 1
trong iacutet nhất lagrave 2 chu kỳ maacutey
bull X1X2
Ngotilde vagraveo vagrave ngotilde ra bộ dao động khi sử dụng coacute thể chỉ cần kết nối thecircm thạch
anh vagrave caacutec tụ như higravenh vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho
AT89C51 lagrave 12Mhz
215 ĐỊNH KỲ CHU KỲ MAacuteY
Một chu kỳ maacutey bao gồm 6 trạng thaacutei (12 xung clock) Một trạng thaacutei bao gồm
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 8
2 phần ứng với 12 xung clock Phase 1 vagrave Phase 2 Như vậy một chu kỳ maacutey bao
gồm 12 xung clock được biểu diễn từ S1P1 đến S6P2 (State 1 Phase 1 1048774 State 6
Phase 2) Chu kỳ lấy lệnh vagrave thực thi lệnh mocirc tả như higravenh 14
Tiacuten hiệu chốt địa chỉ ALE tiacutech cực 2 lần trong một chu kỳ maacutey (trong khoảng
thời gian S1P2 đến S2P1 vagrave từ S4P2 đến S5P1) Từ đoacute tần số xung tại chacircn ALE bằng
16 tần số thạch anh
1048774 Đối với caacutec lệnh thực thi trong 1 chu kỳ
- Lệnh 1 byte được thực thi tại thời điểm S1P2 sau khi matilde lệnh được chốt vagraveo
thanh ghi lệnh tại S1P1
- Lệnh 2 byte byte thứ 2 được đọc tại thời điểm S4 vagrave sẽ được thực thi tại thời
điểm S4
1048774 Đối với caacutec lệnh thực thi trong 2 chu kỳ
Quaacute trigravenh lấy lệnh thực hiện tại thời điểm S1 của chu kỳ đầu tiecircn (byte magrave lệnh
216TỔ CHỨC BỘ NHỚ
Bộ nhớ của họ MCS-51 coacute thể chia thagravenh 2 phần bộ nhớ trong vagrave bộ nhớ
ngoagravei Bộ nhớ trong bao gồm 4 KB ROM vagrave 128 byte RAM (256 byte trong 8052)
Caacutec byte RAM coacute địa chỉ từ 00h ndash 7Fh vagrave caacutec thanh ghi chức năng đặc biệt (SFR) coacute
địa chỉ từ 80h ndash 0FFh coacute thể truy xuất trực tiếp Đối với 8052 128 byte RAM cao (địa
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 9
chỉ từ 80h ndash 0FFh) khocircng thể truy xuất trực tiếp magrave chỉ coacute thể truy xuất giaacuten tiếp (xem
thecircm trong phần tập lệnh)
Bộ nhớ ngoagravei bao gồm bộ nhớ chương trigravenh (điều khiển đọc bằng tiacuten hiệu
PSEN) vagrave bộ nhớ dữ liệu (điều khiển bằng tiacuten hiệu RD hay WR để cho pheacutep đọc
hay ghi dữ liệu) Do số đường địa chỉ của MCS-51 lagrave 16 bit (Port 0 chứa 8 bit thấp vagrave
Port 2 chứa 8 bit cao) necircn bộ nhớ ngoagravei coacute thể giải matilde tối đa lagrave 64KB
22 ADC 0809
Bộ ADC 0809 lagrave một thiết bị CMOS tiacutech hợp với một bộ chuyển đổi từ tương tự sang số 8 bit bộ chọn 8 kecircnh vagrave một bocirc logic điều khiển tương thiacutech Bộ chuyển đổi AD 8 bit nagravey dugraveng phương phaacutep chuyển đổi xấp xỉ tiếp Bộ chọn kecircnh coacute thể truy xuất bất kềnh nagraveo trong caacutec ngotilde vagraveo tương tự một caacutenh độc lậpThiết bị nagravey loại trừ khả năng cần thiết điều chỉnh điểm 0 becircn ngoagravei vagrave khả năng điều chỉnh tỉ số lagravem trograven ADC 0809 dễ dagraveng giao tiếp với caacutec bộ vi xử lyacute Sơ đồ chacircn ADC 0809
Higravenh 23-Sơ đồ chacircn ADC Yacute nghĩa caacutec chacircn IN0 đến IN7 8 ngotilde vagraveo tương tự A B C giải matilde chọn một trong 8 ngotilde vagraveo Z-1 đến Z-8 ngotilde ra song song 8 bit ALE cho pheacutep chốt địa chỉ START xung bắt đầu chuyển đổi CLK xung đồng hồ
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 10
REF (+) điện thế tham chiếu (+)
REF (-) điện thế tham chiếu (-)
VCC nguồn cung cấp
Caacutec đặc điểm củaADC 0809 Độ phacircn giải 8 bit Tổng sai số chưa chỉnh định +- frac12 LSB +- 1 LSB Thời gian chuyển đổi 100us ở tần số 640 kHz Nguồn cung cấp + 5V Điện aacutep ngotilde vagraveo 0 ndash 5V Tần số xung clock 10kHz ndash 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dagraveng giao tiếp với vi xử lyacute hoặc dugraveng riecircng Khocircng cần điều chỉnh zero hoặc đầy thang
Nguyecircn lyacute hoạt độngADC 0809 coacute 8 ngotilde vagraveo tương tự 8 ngotilde ra 8 bit coacute thể chọn 1 trong 8 ngotilde vagraveo tương tự để chuyển đổi sang số 8 bitCaacutec ngotilde vagraveo được chọn bằng caacutech giải matilde Chọn 1 trong 8 ngotilde vagraveo tương tự được thực hiện nhờ 3 chacircn ADDA ADDB ADDC như bảng trạng thaacutei sau
Sau khi kiacutech xung start thigrave bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start ngotilde ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tiacutenh từ cạnh xuống của xung start) Luacutec nagravey bit cơ trọng số lớn nhất (MSB) được đặt lecircn mức 1 tất cả caacutec bit cograven lại ở mức 0 đồng thời tạo ra điện thế coacute giaacute trị Vref2 điện thế nagravey được so saacutenh với điện thế vagraveo in+ Nếu Vin gt Vref2 thigrave bit MSB vẫn ở mức 1+ Nếu Vin lt Vref2 thigrave bit MSB vẫn ở mức 0Tương tự như vậy bit kế tiếp MSB được đặt lecircn 1 vagrave tạo ra điện thế coacute giaacute trị Vref4 vagrave
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MỤC LỤC
Trang
Trang bigravea loacutetLịch trigravenh thực hiện đồ aacutenLời cảm ơniLời noacutei đầu iiMục lụciiiLiệt kecirc bảng ivLiệt kecirc higravenhvChương 1 GIỚI THIỆU111Mục tiecircu của đề tagravei112Nội dung trigravenh bagravey1Chương 2 KIẾN THỨC BỔ TRỢ221 Tổng quan về vi điều khiển MCS-512211 Giới thiệuhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2
212 Vi điều khiển AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2
213 Sơ đồ khối AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip3
214Sơ đồ chacircn AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip4
215 Định kỳ chu kỳ maacuteyhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip7
216 Tổ chức bộ nhớhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip8
22 ADC 0809helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip9
23 LM35helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip12
24 LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip13241 Higravenh daacuteng vagrave kiacutech thướchelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip13242 Chức năng caacutec chacircnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip14243 Sơ đồ khối của HD44780helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip15244 Tập lệnh của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip19245 Giao tiếp giữa LCD vagrave MPUhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip24246 Khởi tạo LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip25
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNGhelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
31 Sơ đồ nguyecircn lyacutehelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2632 Sơ đồ mạch inhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2633 Khối cảm biếnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
34 Khối tạo điện aacutep chuẩnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
35 Sơ đồ nối chacircn cho ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip28
36 Sơ đồ mạch xử lyacute trung tacircm 89c51helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip29
37 Khối hiển thịhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
38 Khối nguồn 5Vhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
Chương 4 THIẾT KẾ PHẦN MỀMhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip31Tagravei liệu tham khảo37
LIỆT KEcirc BẢNG
Bảng 21 Chức năng caacutec chacircn của Port 3helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip5
Bảng 24 Chức năng caacutec chacircn của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip14
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụnghelliphelliphelliphelliphelliphelliphelliphelliphellip17
Bảng 26 Tập lệnh của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip20
Bảng 27 Maximun Ratinghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip24
Bảng 28 Miền lagravem việc bigravenh thườnghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip24
LIỆT KEcirc HIgraveNH
Higravenh 21 Sơ đồ khối của AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip3
Higravenh 22 Sơ đồ chacircn AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip4
Higravenh 23 Sơ đồ chacircn ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip9
Higravenh 24 Cảm biến nhiệthelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip12
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụnghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip13
Higravenh 26 Sơ đồ chacircn của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip14
Higravenh 27 Sơ đồ khối của HD44780 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip16
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCDhelliphelliphellip 18
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tựhelliphelliphelliphelliphelliphellip19
Higravenh 31 Sơ đồ nguyecircn lyacutehelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
Higravenh 32 Sơ đồ mạch inhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
Higravenh 33 Khối cảm biếnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
Higravenh 34 Khối tạo điện aacutep chuẩnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
Higravenh 35 Sơ đồ nối chacircn ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip28
Higravenh36 Sơ đồ xứ lyacute trung tacircmhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip29
Higravenh 37 Khối hiển thịhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
Higravenh 38 Khối nguồnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 1
CHƯƠNG 1 GIỚI THIỆU
11 Mục tiecircu của đề tagravei
Vận dụng được caacutec lyacute thuyết đatilde học vagraveo việc thiết kế một mạch thực tế Hệ thống lại caacutec kiến thức đatilde học Nacircng cao kỹ năng thiết kế vagrave thi cocircng mạch Giải thiacutech chức năng nhiệm vụ caacutec khối cũng như caacutec linh kiện trong mạch
12 Nội dung trigravenh bagravey
Caacutec lyacute thuyết liecircn quan về mạch nhiệt độ Giải thiacutech chức năng nhiệm vụ caacutec khối caacutec linh kiện trong mạch Tiacutenh toaacuten thiết kế vagrave thi cocircng mạch
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 2
CHƯƠNG 2 KIẾN THỨC BỔ TRỢ
21TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51
211GIỚI THIỆU
Họ vi điều khiển MCS-51 do Intel sản xuất đầu tiecircn vagraveo năm 1980 lagrave caacutec IC
thiết kế cho caacutec ứng dụng hướng điều khiển Caacutec IC nagravey chiacutenh lagrave một hệ thống vi xử
lyacute hoagraven chỉnh bao gồm caacutec caacutec thagravenh phần của hệ vi xử lyacute CPU bộ nhớ caacutec mạch
giao tiếp điều khiển ngắt
MCS-51 lagrave họ vi điều khiển sử dụng cơ chế CISC (Complex Instruction Set
Computer) coacute độ dagravei vagrave thời gian thực thi của caacutec lệnh khaacutec nhau Tập lệnh cung cấp
cho MCS-51 coacute caacutec lệnh dugraveng cho điều khiển xuất nhập taacutec động đến từng bit
212VI ĐIỀU KHIỂN AT89S52
AT89S52 lagrave vi điều khiển do Atmel sản xuất chế tạo theo cocircng nghệ CMOS
coacute caacutec đặc tiacutenh như sau
- 8 KB PEROM (Flash Programmable and Erasable Read Only Memory) coacute khả
năng tới 1000 chu kỳ ghi xoaacute
- Tần số hoạt động từ 0Hz đến 24 MHz
- 3 mức khoacutea bộ nhớ lập trigravenh
- 128 Byte RAM nội
- 4 Port xuất nhập IO 8 bit
- 2 bộ Timercounter 16 Bit
- 6 nguồn ngắt
- Giao tiếp nối tiếp điều khiển bằng phần cứng
- 64 KB vugraveng nhớ matilde ngoagravei
- 64 KB vugraveng nhớ dữ liệu ngoagravei
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 3
- Cho pheacutep xử lyacute bit
- 210 vị triacute nhớ coacute thể định vị bit
- 4 chu kỳ maacutey (4 μs đối với thạch anh 12MHz) cho hoạt động nhacircn hoặc chia
- Coacute caacutec chế độ nghỉ (Low-power Idle) vagrave chế độ nguồn giảm (Power-down)
Ngoải ra một số IC khaacutec của họ MCS-51 coacute thecircm bộ định thời thứ 3 vagrave 256
byte RAM nội
213 SƠ ĐỒ KHỐI AT89S52
Higravenh 21 ndash Sơ đồ khối của AT89S52
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 4
214 SƠ ĐỒ CHAcircN AT89S52
Higravenh 22 Sơ đồ chacircn AT89S52
bull Port 0
Port 0 lagrave port coacute 2 chức năng ở caacutec chacircn 32 ndash 39 của AT89C51
- Chức năng IO (xuất nhập) dugraveng cho caacutec thiết kế nhỏ Tuy nhiecircn khi dugraveng
chức năng nagravey thigrave Port 0 phải dugraveng thecircm caacutec điện trở keacuteo lecircn (pull-up) giaacute trị
của điện trở phụ thuộc vagraveo thagravenh phần kết nối với Port
Khi dugraveng lagravem ngotilde ra Port 0 coacute thể keacuteo được 8 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 0 phải được set mức logic 1 trước đoacute
- Chức năng địa chỉ dữ liệu đa hợp khi dugraveng caacutec thiết kế lớn đogravei hỏi phải sử
dụng bộ nhớ ngoagravei thigrave Port 0 vừa lagrave bus dữ liệu (8 bit) vừa lagrave bus địa chỉ (8 bit
thấp)
Ngoagravei ra khi lập trigravenh cho AT89C51 Port 0 cograven dugraveng để nhận matilde khi lập trigravenh
vagrave xuất magrave khi kiểm tra (quaacute trigravenh kiểm tra đogravei hỏi phải coacute điện trở keacuteo lecircn)
bull Port 1
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 5
Port1 (chacircn 1 ndash 8) chỉ coacute một chức năng lagrave IO khocircng dugraveng cho mục điacutech khaacutec
(chỉ trong 803280528952 thigrave dugraveng thecircm P10 vagrave P11 cho bộ định thời thứ 3) Tại
Port 1 đatilde coacute điện trở keacuteo lecircn necircn khocircng cần thecircm điện trở ngoagravei
Port 1 coacute khả năng keacuteo được 4 ngotilde TTL vagrave cograven dugraveng lagravem 8 bit địa chỉ thấp
trong quaacute trigravenh lập trigravenh hay kiểm tra
Khi dugraveng lagravem ngotilde vagraveo Port 1 phải được set mức logic 1 trước đoacute
bull Port 2
Port 2 (chacircn 21 ndash 28) lagrave port coacute 2 chức năng
- Chức năng IO (xuất nhập) coacute khả năng keacuteo được 4 ngotilde TTL
- Chức năng địa chỉ dugraveng lagravem 8 bit địa chỉ cao khi cần bộ nhớ ngoagravei coacute địa chỉ
16 bit Khi đoacute Port 2 khocircng được dugraveng cho mục điacutech IO
Khi dugraveng lagravem ngotilde vagraveo Port 2 phải được set mức logic 1 trước đoacute
Khi lập trigravenh Port 2 dugraveng lagravem 8 bit địa chỉ cao hay một số tiacuten hiệu điều khiển
bull Port 3
Port 3 (chacircn 10 ndash 17) lagrave port coacute 2 chức năng
- Chức năng IO coacute khả năng keacuteo được 4 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 3 phải được set mức logic 1 trước đoacute
- Chức năng khaacutec mocirc tả như bảng 11Bảng 21 Chức năng caacutec chacircn của Port 3
Bit Tecircn Chức năng
P30 RxD Ngotilde vagraveo port nối tiếp
P31 TxD Ngotilde ra port nối tiếp
P32 INT0 Ngắt ngoagravei 0
P33 INT1 Ngắt ngoagravei 1
P34 T0 Ngotilde vagraveo của bộ định thời 0
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 6
P35 T1 Ngotilde vagraveo của bộ định thời 1
P36 WR Tiacuten hiệu điều khiển ghi dữ liệu lecircn bộ nhớ ngoagravei
P37 RD Tiacuten hiệu điều khiển đọc từ bộ nhớ dữ liệu ngoagravei
bull NGUỒN
Chacircn 40 VCC = 5V plusmn 20
Chacircn 20 GND
bull PSEN (Program Store Enable)
PSEN (chacircn 29) cho pheacutep đọc bộ nhớ chương trigravenh mở rộng đối với caacutec ứng
dụng sử dụng ROM ngoagravei thường được nối đến chacircn OC (Output Control) của
ROM để đọc caacutec byte matilde lệnh PSEN sẽ ở mức logic 0 trong thời gian AT89C51 lấy
lệnhTrong quaacute trigravenh nagravey PSEN sẽ tiacutech cực 2 lần trong 1 chu kỳ maacutey
Matilde lệnh của chương trigravenh được đọc từ ROM thocircng qua bus dữ liệu (Port0) vagrave
bus địa chỉ (Port0 + Port2)
Khi 8951 thi hagravenh chương trigravenh trong ROM nội PSEN sẽ ở mức logic 1
bull ALEPROG (Address Latch Enable Program)
ALEPROG (chacircn 30) cho pheacutep taacutech caacutec đường địa chỉ vagrave dữ liệu tại Port 0
khi truy xuất bộ nhớ ngoagravei ALE thường nối với chacircn Clock của IC chốt (74373
74573)
Caacutec xung tiacuten hiệu ALE coacute tốc độ bằng 16 lần tần số dao động trecircn chip vagrave coacute
thể được dugraveng lagravem tiacuten hiệu clock cho caacutec phần khaacutec của hệ thống Xung nagravey coacute thể
cấm bằng caacutech set bit 0 của SFR tại địa chỉ 8Eh lecircn 1 Khi đoacute ALE chỉ coacute taacutec dụng
khi dugraveng lệnh MOVX hay MOVC Ngoagravei ra chacircn nagravey cograven được dugraveng lagravem ngotilde vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 7
xung lập trigravenh cho ROM nội (PROG)
bull EA VPP (External Access)
EA (chacircn 31) dugraveng để cho pheacutep thực thi chương trigravenh từ ROM ngoagravei Khi nối
chacircn 31 với Vcc AT89S52 sẽ thực thi chương trigravenh từ ROM nội (tối đa 8KB) ngược
lại thigrave thực thi từ ROM ngoagravei (tối đa 64KB)
Ngoagravei ra chacircn EA được lấy lagravem chacircn cấp nguồn 12V khi lập trigravenh cho ROM
bull RST (Reset)
RST (chacircn 9) cho pheacutep reset AT89C51 khi ngotilde vagraveo tiacuten hiệu đưa lecircn mức 1
trong iacutet nhất lagrave 2 chu kỳ maacutey
bull X1X2
Ngotilde vagraveo vagrave ngotilde ra bộ dao động khi sử dụng coacute thể chỉ cần kết nối thecircm thạch
anh vagrave caacutec tụ như higravenh vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho
AT89C51 lagrave 12Mhz
215 ĐỊNH KỲ CHU KỲ MAacuteY
Một chu kỳ maacutey bao gồm 6 trạng thaacutei (12 xung clock) Một trạng thaacutei bao gồm
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 8
2 phần ứng với 12 xung clock Phase 1 vagrave Phase 2 Như vậy một chu kỳ maacutey bao
gồm 12 xung clock được biểu diễn từ S1P1 đến S6P2 (State 1 Phase 1 1048774 State 6
Phase 2) Chu kỳ lấy lệnh vagrave thực thi lệnh mocirc tả như higravenh 14
Tiacuten hiệu chốt địa chỉ ALE tiacutech cực 2 lần trong một chu kỳ maacutey (trong khoảng
thời gian S1P2 đến S2P1 vagrave từ S4P2 đến S5P1) Từ đoacute tần số xung tại chacircn ALE bằng
16 tần số thạch anh
1048774 Đối với caacutec lệnh thực thi trong 1 chu kỳ
- Lệnh 1 byte được thực thi tại thời điểm S1P2 sau khi matilde lệnh được chốt vagraveo
thanh ghi lệnh tại S1P1
- Lệnh 2 byte byte thứ 2 được đọc tại thời điểm S4 vagrave sẽ được thực thi tại thời
điểm S4
1048774 Đối với caacutec lệnh thực thi trong 2 chu kỳ
Quaacute trigravenh lấy lệnh thực hiện tại thời điểm S1 của chu kỳ đầu tiecircn (byte magrave lệnh
216TỔ CHỨC BỘ NHỚ
Bộ nhớ của họ MCS-51 coacute thể chia thagravenh 2 phần bộ nhớ trong vagrave bộ nhớ
ngoagravei Bộ nhớ trong bao gồm 4 KB ROM vagrave 128 byte RAM (256 byte trong 8052)
Caacutec byte RAM coacute địa chỉ từ 00h ndash 7Fh vagrave caacutec thanh ghi chức năng đặc biệt (SFR) coacute
địa chỉ từ 80h ndash 0FFh coacute thể truy xuất trực tiếp Đối với 8052 128 byte RAM cao (địa
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 9
chỉ từ 80h ndash 0FFh) khocircng thể truy xuất trực tiếp magrave chỉ coacute thể truy xuất giaacuten tiếp (xem
thecircm trong phần tập lệnh)
Bộ nhớ ngoagravei bao gồm bộ nhớ chương trigravenh (điều khiển đọc bằng tiacuten hiệu
PSEN) vagrave bộ nhớ dữ liệu (điều khiển bằng tiacuten hiệu RD hay WR để cho pheacutep đọc
hay ghi dữ liệu) Do số đường địa chỉ của MCS-51 lagrave 16 bit (Port 0 chứa 8 bit thấp vagrave
Port 2 chứa 8 bit cao) necircn bộ nhớ ngoagravei coacute thể giải matilde tối đa lagrave 64KB
22 ADC 0809
Bộ ADC 0809 lagrave một thiết bị CMOS tiacutech hợp với một bộ chuyển đổi từ tương tự sang số 8 bit bộ chọn 8 kecircnh vagrave một bocirc logic điều khiển tương thiacutech Bộ chuyển đổi AD 8 bit nagravey dugraveng phương phaacutep chuyển đổi xấp xỉ tiếp Bộ chọn kecircnh coacute thể truy xuất bất kềnh nagraveo trong caacutec ngotilde vagraveo tương tự một caacutenh độc lậpThiết bị nagravey loại trừ khả năng cần thiết điều chỉnh điểm 0 becircn ngoagravei vagrave khả năng điều chỉnh tỉ số lagravem trograven ADC 0809 dễ dagraveng giao tiếp với caacutec bộ vi xử lyacute Sơ đồ chacircn ADC 0809
Higravenh 23-Sơ đồ chacircn ADC Yacute nghĩa caacutec chacircn IN0 đến IN7 8 ngotilde vagraveo tương tự A B C giải matilde chọn một trong 8 ngotilde vagraveo Z-1 đến Z-8 ngotilde ra song song 8 bit ALE cho pheacutep chốt địa chỉ START xung bắt đầu chuyển đổi CLK xung đồng hồ
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 10
REF (+) điện thế tham chiếu (+)
REF (-) điện thế tham chiếu (-)
VCC nguồn cung cấp
Caacutec đặc điểm củaADC 0809 Độ phacircn giải 8 bit Tổng sai số chưa chỉnh định +- frac12 LSB +- 1 LSB Thời gian chuyển đổi 100us ở tần số 640 kHz Nguồn cung cấp + 5V Điện aacutep ngotilde vagraveo 0 ndash 5V Tần số xung clock 10kHz ndash 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dagraveng giao tiếp với vi xử lyacute hoặc dugraveng riecircng Khocircng cần điều chỉnh zero hoặc đầy thang
Nguyecircn lyacute hoạt độngADC 0809 coacute 8 ngotilde vagraveo tương tự 8 ngotilde ra 8 bit coacute thể chọn 1 trong 8 ngotilde vagraveo tương tự để chuyển đổi sang số 8 bitCaacutec ngotilde vagraveo được chọn bằng caacutech giải matilde Chọn 1 trong 8 ngotilde vagraveo tương tự được thực hiện nhờ 3 chacircn ADDA ADDB ADDC như bảng trạng thaacutei sau
Sau khi kiacutech xung start thigrave bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start ngotilde ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tiacutenh từ cạnh xuống của xung start) Luacutec nagravey bit cơ trọng số lớn nhất (MSB) được đặt lecircn mức 1 tất cả caacutec bit cograven lại ở mức 0 đồng thời tạo ra điện thế coacute giaacute trị Vref2 điện thế nagravey được so saacutenh với điện thế vagraveo in+ Nếu Vin gt Vref2 thigrave bit MSB vẫn ở mức 1+ Nếu Vin lt Vref2 thigrave bit MSB vẫn ở mức 0Tương tự như vậy bit kế tiếp MSB được đặt lecircn 1 vagrave tạo ra điện thế coacute giaacute trị Vref4 vagrave
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
31 Sơ đồ nguyecircn lyacutehelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2632 Sơ đồ mạch inhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip2633 Khối cảm biếnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
34 Khối tạo điện aacutep chuẩnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
35 Sơ đồ nối chacircn cho ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip28
36 Sơ đồ mạch xử lyacute trung tacircm 89c51helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip29
37 Khối hiển thịhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
38 Khối nguồn 5Vhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
Chương 4 THIẾT KẾ PHẦN MỀMhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip31Tagravei liệu tham khảo37
LIỆT KEcirc BẢNG
Bảng 21 Chức năng caacutec chacircn của Port 3helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip5
Bảng 24 Chức năng caacutec chacircn của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip14
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụnghelliphelliphelliphelliphelliphelliphelliphelliphellip17
Bảng 26 Tập lệnh của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip20
Bảng 27 Maximun Ratinghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip24
Bảng 28 Miền lagravem việc bigravenh thườnghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip24
LIỆT KEcirc HIgraveNH
Higravenh 21 Sơ đồ khối của AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip3
Higravenh 22 Sơ đồ chacircn AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip4
Higravenh 23 Sơ đồ chacircn ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip9
Higravenh 24 Cảm biến nhiệthelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip12
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụnghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip13
Higravenh 26 Sơ đồ chacircn của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip14
Higravenh 27 Sơ đồ khối của HD44780 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip16
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCDhelliphelliphellip 18
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tựhelliphelliphelliphelliphelliphellip19
Higravenh 31 Sơ đồ nguyecircn lyacutehelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
Higravenh 32 Sơ đồ mạch inhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
Higravenh 33 Khối cảm biếnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
Higravenh 34 Khối tạo điện aacutep chuẩnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
Higravenh 35 Sơ đồ nối chacircn ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip28
Higravenh36 Sơ đồ xứ lyacute trung tacircmhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip29
Higravenh 37 Khối hiển thịhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
Higravenh 38 Khối nguồnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 1
CHƯƠNG 1 GIỚI THIỆU
11 Mục tiecircu của đề tagravei
Vận dụng được caacutec lyacute thuyết đatilde học vagraveo việc thiết kế một mạch thực tế Hệ thống lại caacutec kiến thức đatilde học Nacircng cao kỹ năng thiết kế vagrave thi cocircng mạch Giải thiacutech chức năng nhiệm vụ caacutec khối cũng như caacutec linh kiện trong mạch
12 Nội dung trigravenh bagravey
Caacutec lyacute thuyết liecircn quan về mạch nhiệt độ Giải thiacutech chức năng nhiệm vụ caacutec khối caacutec linh kiện trong mạch Tiacutenh toaacuten thiết kế vagrave thi cocircng mạch
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 2
CHƯƠNG 2 KIẾN THỨC BỔ TRỢ
21TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51
211GIỚI THIỆU
Họ vi điều khiển MCS-51 do Intel sản xuất đầu tiecircn vagraveo năm 1980 lagrave caacutec IC
thiết kế cho caacutec ứng dụng hướng điều khiển Caacutec IC nagravey chiacutenh lagrave một hệ thống vi xử
lyacute hoagraven chỉnh bao gồm caacutec caacutec thagravenh phần của hệ vi xử lyacute CPU bộ nhớ caacutec mạch
giao tiếp điều khiển ngắt
MCS-51 lagrave họ vi điều khiển sử dụng cơ chế CISC (Complex Instruction Set
Computer) coacute độ dagravei vagrave thời gian thực thi của caacutec lệnh khaacutec nhau Tập lệnh cung cấp
cho MCS-51 coacute caacutec lệnh dugraveng cho điều khiển xuất nhập taacutec động đến từng bit
212VI ĐIỀU KHIỂN AT89S52
AT89S52 lagrave vi điều khiển do Atmel sản xuất chế tạo theo cocircng nghệ CMOS
coacute caacutec đặc tiacutenh như sau
- 8 KB PEROM (Flash Programmable and Erasable Read Only Memory) coacute khả
năng tới 1000 chu kỳ ghi xoaacute
- Tần số hoạt động từ 0Hz đến 24 MHz
- 3 mức khoacutea bộ nhớ lập trigravenh
- 128 Byte RAM nội
- 4 Port xuất nhập IO 8 bit
- 2 bộ Timercounter 16 Bit
- 6 nguồn ngắt
- Giao tiếp nối tiếp điều khiển bằng phần cứng
- 64 KB vugraveng nhớ matilde ngoagravei
- 64 KB vugraveng nhớ dữ liệu ngoagravei
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 3
- Cho pheacutep xử lyacute bit
- 210 vị triacute nhớ coacute thể định vị bit
- 4 chu kỳ maacutey (4 μs đối với thạch anh 12MHz) cho hoạt động nhacircn hoặc chia
- Coacute caacutec chế độ nghỉ (Low-power Idle) vagrave chế độ nguồn giảm (Power-down)
Ngoải ra một số IC khaacutec của họ MCS-51 coacute thecircm bộ định thời thứ 3 vagrave 256
byte RAM nội
213 SƠ ĐỒ KHỐI AT89S52
Higravenh 21 ndash Sơ đồ khối của AT89S52
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 4
214 SƠ ĐỒ CHAcircN AT89S52
Higravenh 22 Sơ đồ chacircn AT89S52
bull Port 0
Port 0 lagrave port coacute 2 chức năng ở caacutec chacircn 32 ndash 39 của AT89C51
- Chức năng IO (xuất nhập) dugraveng cho caacutec thiết kế nhỏ Tuy nhiecircn khi dugraveng
chức năng nagravey thigrave Port 0 phải dugraveng thecircm caacutec điện trở keacuteo lecircn (pull-up) giaacute trị
của điện trở phụ thuộc vagraveo thagravenh phần kết nối với Port
Khi dugraveng lagravem ngotilde ra Port 0 coacute thể keacuteo được 8 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 0 phải được set mức logic 1 trước đoacute
- Chức năng địa chỉ dữ liệu đa hợp khi dugraveng caacutec thiết kế lớn đogravei hỏi phải sử
dụng bộ nhớ ngoagravei thigrave Port 0 vừa lagrave bus dữ liệu (8 bit) vừa lagrave bus địa chỉ (8 bit
thấp)
Ngoagravei ra khi lập trigravenh cho AT89C51 Port 0 cograven dugraveng để nhận matilde khi lập trigravenh
vagrave xuất magrave khi kiểm tra (quaacute trigravenh kiểm tra đogravei hỏi phải coacute điện trở keacuteo lecircn)
bull Port 1
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 5
Port1 (chacircn 1 ndash 8) chỉ coacute một chức năng lagrave IO khocircng dugraveng cho mục điacutech khaacutec
(chỉ trong 803280528952 thigrave dugraveng thecircm P10 vagrave P11 cho bộ định thời thứ 3) Tại
Port 1 đatilde coacute điện trở keacuteo lecircn necircn khocircng cần thecircm điện trở ngoagravei
Port 1 coacute khả năng keacuteo được 4 ngotilde TTL vagrave cograven dugraveng lagravem 8 bit địa chỉ thấp
trong quaacute trigravenh lập trigravenh hay kiểm tra
Khi dugraveng lagravem ngotilde vagraveo Port 1 phải được set mức logic 1 trước đoacute
bull Port 2
Port 2 (chacircn 21 ndash 28) lagrave port coacute 2 chức năng
- Chức năng IO (xuất nhập) coacute khả năng keacuteo được 4 ngotilde TTL
- Chức năng địa chỉ dugraveng lagravem 8 bit địa chỉ cao khi cần bộ nhớ ngoagravei coacute địa chỉ
16 bit Khi đoacute Port 2 khocircng được dugraveng cho mục điacutech IO
Khi dugraveng lagravem ngotilde vagraveo Port 2 phải được set mức logic 1 trước đoacute
Khi lập trigravenh Port 2 dugraveng lagravem 8 bit địa chỉ cao hay một số tiacuten hiệu điều khiển
bull Port 3
Port 3 (chacircn 10 ndash 17) lagrave port coacute 2 chức năng
- Chức năng IO coacute khả năng keacuteo được 4 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 3 phải được set mức logic 1 trước đoacute
- Chức năng khaacutec mocirc tả như bảng 11Bảng 21 Chức năng caacutec chacircn của Port 3
Bit Tecircn Chức năng
P30 RxD Ngotilde vagraveo port nối tiếp
P31 TxD Ngotilde ra port nối tiếp
P32 INT0 Ngắt ngoagravei 0
P33 INT1 Ngắt ngoagravei 1
P34 T0 Ngotilde vagraveo của bộ định thời 0
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 6
P35 T1 Ngotilde vagraveo của bộ định thời 1
P36 WR Tiacuten hiệu điều khiển ghi dữ liệu lecircn bộ nhớ ngoagravei
P37 RD Tiacuten hiệu điều khiển đọc từ bộ nhớ dữ liệu ngoagravei
bull NGUỒN
Chacircn 40 VCC = 5V plusmn 20
Chacircn 20 GND
bull PSEN (Program Store Enable)
PSEN (chacircn 29) cho pheacutep đọc bộ nhớ chương trigravenh mở rộng đối với caacutec ứng
dụng sử dụng ROM ngoagravei thường được nối đến chacircn OC (Output Control) của
ROM để đọc caacutec byte matilde lệnh PSEN sẽ ở mức logic 0 trong thời gian AT89C51 lấy
lệnhTrong quaacute trigravenh nagravey PSEN sẽ tiacutech cực 2 lần trong 1 chu kỳ maacutey
Matilde lệnh của chương trigravenh được đọc từ ROM thocircng qua bus dữ liệu (Port0) vagrave
bus địa chỉ (Port0 + Port2)
Khi 8951 thi hagravenh chương trigravenh trong ROM nội PSEN sẽ ở mức logic 1
bull ALEPROG (Address Latch Enable Program)
ALEPROG (chacircn 30) cho pheacutep taacutech caacutec đường địa chỉ vagrave dữ liệu tại Port 0
khi truy xuất bộ nhớ ngoagravei ALE thường nối với chacircn Clock của IC chốt (74373
74573)
Caacutec xung tiacuten hiệu ALE coacute tốc độ bằng 16 lần tần số dao động trecircn chip vagrave coacute
thể được dugraveng lagravem tiacuten hiệu clock cho caacutec phần khaacutec của hệ thống Xung nagravey coacute thể
cấm bằng caacutech set bit 0 của SFR tại địa chỉ 8Eh lecircn 1 Khi đoacute ALE chỉ coacute taacutec dụng
khi dugraveng lệnh MOVX hay MOVC Ngoagravei ra chacircn nagravey cograven được dugraveng lagravem ngotilde vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 7
xung lập trigravenh cho ROM nội (PROG)
bull EA VPP (External Access)
EA (chacircn 31) dugraveng để cho pheacutep thực thi chương trigravenh từ ROM ngoagravei Khi nối
chacircn 31 với Vcc AT89S52 sẽ thực thi chương trigravenh từ ROM nội (tối đa 8KB) ngược
lại thigrave thực thi từ ROM ngoagravei (tối đa 64KB)
Ngoagravei ra chacircn EA được lấy lagravem chacircn cấp nguồn 12V khi lập trigravenh cho ROM
bull RST (Reset)
RST (chacircn 9) cho pheacutep reset AT89C51 khi ngotilde vagraveo tiacuten hiệu đưa lecircn mức 1
trong iacutet nhất lagrave 2 chu kỳ maacutey
bull X1X2
Ngotilde vagraveo vagrave ngotilde ra bộ dao động khi sử dụng coacute thể chỉ cần kết nối thecircm thạch
anh vagrave caacutec tụ như higravenh vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho
AT89C51 lagrave 12Mhz
215 ĐỊNH KỲ CHU KỲ MAacuteY
Một chu kỳ maacutey bao gồm 6 trạng thaacutei (12 xung clock) Một trạng thaacutei bao gồm
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 8
2 phần ứng với 12 xung clock Phase 1 vagrave Phase 2 Như vậy một chu kỳ maacutey bao
gồm 12 xung clock được biểu diễn từ S1P1 đến S6P2 (State 1 Phase 1 1048774 State 6
Phase 2) Chu kỳ lấy lệnh vagrave thực thi lệnh mocirc tả như higravenh 14
Tiacuten hiệu chốt địa chỉ ALE tiacutech cực 2 lần trong một chu kỳ maacutey (trong khoảng
thời gian S1P2 đến S2P1 vagrave từ S4P2 đến S5P1) Từ đoacute tần số xung tại chacircn ALE bằng
16 tần số thạch anh
1048774 Đối với caacutec lệnh thực thi trong 1 chu kỳ
- Lệnh 1 byte được thực thi tại thời điểm S1P2 sau khi matilde lệnh được chốt vagraveo
thanh ghi lệnh tại S1P1
- Lệnh 2 byte byte thứ 2 được đọc tại thời điểm S4 vagrave sẽ được thực thi tại thời
điểm S4
1048774 Đối với caacutec lệnh thực thi trong 2 chu kỳ
Quaacute trigravenh lấy lệnh thực hiện tại thời điểm S1 của chu kỳ đầu tiecircn (byte magrave lệnh
216TỔ CHỨC BỘ NHỚ
Bộ nhớ của họ MCS-51 coacute thể chia thagravenh 2 phần bộ nhớ trong vagrave bộ nhớ
ngoagravei Bộ nhớ trong bao gồm 4 KB ROM vagrave 128 byte RAM (256 byte trong 8052)
Caacutec byte RAM coacute địa chỉ từ 00h ndash 7Fh vagrave caacutec thanh ghi chức năng đặc biệt (SFR) coacute
địa chỉ từ 80h ndash 0FFh coacute thể truy xuất trực tiếp Đối với 8052 128 byte RAM cao (địa
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 9
chỉ từ 80h ndash 0FFh) khocircng thể truy xuất trực tiếp magrave chỉ coacute thể truy xuất giaacuten tiếp (xem
thecircm trong phần tập lệnh)
Bộ nhớ ngoagravei bao gồm bộ nhớ chương trigravenh (điều khiển đọc bằng tiacuten hiệu
PSEN) vagrave bộ nhớ dữ liệu (điều khiển bằng tiacuten hiệu RD hay WR để cho pheacutep đọc
hay ghi dữ liệu) Do số đường địa chỉ của MCS-51 lagrave 16 bit (Port 0 chứa 8 bit thấp vagrave
Port 2 chứa 8 bit cao) necircn bộ nhớ ngoagravei coacute thể giải matilde tối đa lagrave 64KB
22 ADC 0809
Bộ ADC 0809 lagrave một thiết bị CMOS tiacutech hợp với một bộ chuyển đổi từ tương tự sang số 8 bit bộ chọn 8 kecircnh vagrave một bocirc logic điều khiển tương thiacutech Bộ chuyển đổi AD 8 bit nagravey dugraveng phương phaacutep chuyển đổi xấp xỉ tiếp Bộ chọn kecircnh coacute thể truy xuất bất kềnh nagraveo trong caacutec ngotilde vagraveo tương tự một caacutenh độc lậpThiết bị nagravey loại trừ khả năng cần thiết điều chỉnh điểm 0 becircn ngoagravei vagrave khả năng điều chỉnh tỉ số lagravem trograven ADC 0809 dễ dagraveng giao tiếp với caacutec bộ vi xử lyacute Sơ đồ chacircn ADC 0809
Higravenh 23-Sơ đồ chacircn ADC Yacute nghĩa caacutec chacircn IN0 đến IN7 8 ngotilde vagraveo tương tự A B C giải matilde chọn một trong 8 ngotilde vagraveo Z-1 đến Z-8 ngotilde ra song song 8 bit ALE cho pheacutep chốt địa chỉ START xung bắt đầu chuyển đổi CLK xung đồng hồ
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 10
REF (+) điện thế tham chiếu (+)
REF (-) điện thế tham chiếu (-)
VCC nguồn cung cấp
Caacutec đặc điểm củaADC 0809 Độ phacircn giải 8 bit Tổng sai số chưa chỉnh định +- frac12 LSB +- 1 LSB Thời gian chuyển đổi 100us ở tần số 640 kHz Nguồn cung cấp + 5V Điện aacutep ngotilde vagraveo 0 ndash 5V Tần số xung clock 10kHz ndash 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dagraveng giao tiếp với vi xử lyacute hoặc dugraveng riecircng Khocircng cần điều chỉnh zero hoặc đầy thang
Nguyecircn lyacute hoạt độngADC 0809 coacute 8 ngotilde vagraveo tương tự 8 ngotilde ra 8 bit coacute thể chọn 1 trong 8 ngotilde vagraveo tương tự để chuyển đổi sang số 8 bitCaacutec ngotilde vagraveo được chọn bằng caacutech giải matilde Chọn 1 trong 8 ngotilde vagraveo tương tự được thực hiện nhờ 3 chacircn ADDA ADDB ADDC như bảng trạng thaacutei sau
Sau khi kiacutech xung start thigrave bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start ngotilde ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tiacutenh từ cạnh xuống của xung start) Luacutec nagravey bit cơ trọng số lớn nhất (MSB) được đặt lecircn mức 1 tất cả caacutec bit cograven lại ở mức 0 đồng thời tạo ra điện thế coacute giaacute trị Vref2 điện thế nagravey được so saacutenh với điện thế vagraveo in+ Nếu Vin gt Vref2 thigrave bit MSB vẫn ở mức 1+ Nếu Vin lt Vref2 thigrave bit MSB vẫn ở mức 0Tương tự như vậy bit kế tiếp MSB được đặt lecircn 1 vagrave tạo ra điện thế coacute giaacute trị Vref4 vagrave
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
LIỆT KEcirc BẢNG
Bảng 21 Chức năng caacutec chacircn của Port 3helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip5
Bảng 24 Chức năng caacutec chacircn của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip14
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụnghelliphelliphelliphelliphelliphelliphelliphelliphellip17
Bảng 26 Tập lệnh của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip20
Bảng 27 Maximun Ratinghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip24
Bảng 28 Miền lagravem việc bigravenh thườnghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip24
LIỆT KEcirc HIgraveNH
Higravenh 21 Sơ đồ khối của AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip3
Higravenh 22 Sơ đồ chacircn AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip4
Higravenh 23 Sơ đồ chacircn ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip9
Higravenh 24 Cảm biến nhiệthelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip12
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụnghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip13
Higravenh 26 Sơ đồ chacircn của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip14
Higravenh 27 Sơ đồ khối của HD44780 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip16
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCDhelliphelliphellip 18
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tựhelliphelliphelliphelliphelliphellip19
Higravenh 31 Sơ đồ nguyecircn lyacutehelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
Higravenh 32 Sơ đồ mạch inhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
Higravenh 33 Khối cảm biếnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
Higravenh 34 Khối tạo điện aacutep chuẩnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
Higravenh 35 Sơ đồ nối chacircn ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip28
Higravenh36 Sơ đồ xứ lyacute trung tacircmhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip29
Higravenh 37 Khối hiển thịhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
Higravenh 38 Khối nguồnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 1
CHƯƠNG 1 GIỚI THIỆU
11 Mục tiecircu của đề tagravei
Vận dụng được caacutec lyacute thuyết đatilde học vagraveo việc thiết kế một mạch thực tế Hệ thống lại caacutec kiến thức đatilde học Nacircng cao kỹ năng thiết kế vagrave thi cocircng mạch Giải thiacutech chức năng nhiệm vụ caacutec khối cũng như caacutec linh kiện trong mạch
12 Nội dung trigravenh bagravey
Caacutec lyacute thuyết liecircn quan về mạch nhiệt độ Giải thiacutech chức năng nhiệm vụ caacutec khối caacutec linh kiện trong mạch Tiacutenh toaacuten thiết kế vagrave thi cocircng mạch
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 2
CHƯƠNG 2 KIẾN THỨC BỔ TRỢ
21TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51
211GIỚI THIỆU
Họ vi điều khiển MCS-51 do Intel sản xuất đầu tiecircn vagraveo năm 1980 lagrave caacutec IC
thiết kế cho caacutec ứng dụng hướng điều khiển Caacutec IC nagravey chiacutenh lagrave một hệ thống vi xử
lyacute hoagraven chỉnh bao gồm caacutec caacutec thagravenh phần của hệ vi xử lyacute CPU bộ nhớ caacutec mạch
giao tiếp điều khiển ngắt
MCS-51 lagrave họ vi điều khiển sử dụng cơ chế CISC (Complex Instruction Set
Computer) coacute độ dagravei vagrave thời gian thực thi của caacutec lệnh khaacutec nhau Tập lệnh cung cấp
cho MCS-51 coacute caacutec lệnh dugraveng cho điều khiển xuất nhập taacutec động đến từng bit
212VI ĐIỀU KHIỂN AT89S52
AT89S52 lagrave vi điều khiển do Atmel sản xuất chế tạo theo cocircng nghệ CMOS
coacute caacutec đặc tiacutenh như sau
- 8 KB PEROM (Flash Programmable and Erasable Read Only Memory) coacute khả
năng tới 1000 chu kỳ ghi xoaacute
- Tần số hoạt động từ 0Hz đến 24 MHz
- 3 mức khoacutea bộ nhớ lập trigravenh
- 128 Byte RAM nội
- 4 Port xuất nhập IO 8 bit
- 2 bộ Timercounter 16 Bit
- 6 nguồn ngắt
- Giao tiếp nối tiếp điều khiển bằng phần cứng
- 64 KB vugraveng nhớ matilde ngoagravei
- 64 KB vugraveng nhớ dữ liệu ngoagravei
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 3
- Cho pheacutep xử lyacute bit
- 210 vị triacute nhớ coacute thể định vị bit
- 4 chu kỳ maacutey (4 μs đối với thạch anh 12MHz) cho hoạt động nhacircn hoặc chia
- Coacute caacutec chế độ nghỉ (Low-power Idle) vagrave chế độ nguồn giảm (Power-down)
Ngoải ra một số IC khaacutec của họ MCS-51 coacute thecircm bộ định thời thứ 3 vagrave 256
byte RAM nội
213 SƠ ĐỒ KHỐI AT89S52
Higravenh 21 ndash Sơ đồ khối của AT89S52
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 4
214 SƠ ĐỒ CHAcircN AT89S52
Higravenh 22 Sơ đồ chacircn AT89S52
bull Port 0
Port 0 lagrave port coacute 2 chức năng ở caacutec chacircn 32 ndash 39 của AT89C51
- Chức năng IO (xuất nhập) dugraveng cho caacutec thiết kế nhỏ Tuy nhiecircn khi dugraveng
chức năng nagravey thigrave Port 0 phải dugraveng thecircm caacutec điện trở keacuteo lecircn (pull-up) giaacute trị
của điện trở phụ thuộc vagraveo thagravenh phần kết nối với Port
Khi dugraveng lagravem ngotilde ra Port 0 coacute thể keacuteo được 8 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 0 phải được set mức logic 1 trước đoacute
- Chức năng địa chỉ dữ liệu đa hợp khi dugraveng caacutec thiết kế lớn đogravei hỏi phải sử
dụng bộ nhớ ngoagravei thigrave Port 0 vừa lagrave bus dữ liệu (8 bit) vừa lagrave bus địa chỉ (8 bit
thấp)
Ngoagravei ra khi lập trigravenh cho AT89C51 Port 0 cograven dugraveng để nhận matilde khi lập trigravenh
vagrave xuất magrave khi kiểm tra (quaacute trigravenh kiểm tra đogravei hỏi phải coacute điện trở keacuteo lecircn)
bull Port 1
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 5
Port1 (chacircn 1 ndash 8) chỉ coacute một chức năng lagrave IO khocircng dugraveng cho mục điacutech khaacutec
(chỉ trong 803280528952 thigrave dugraveng thecircm P10 vagrave P11 cho bộ định thời thứ 3) Tại
Port 1 đatilde coacute điện trở keacuteo lecircn necircn khocircng cần thecircm điện trở ngoagravei
Port 1 coacute khả năng keacuteo được 4 ngotilde TTL vagrave cograven dugraveng lagravem 8 bit địa chỉ thấp
trong quaacute trigravenh lập trigravenh hay kiểm tra
Khi dugraveng lagravem ngotilde vagraveo Port 1 phải được set mức logic 1 trước đoacute
bull Port 2
Port 2 (chacircn 21 ndash 28) lagrave port coacute 2 chức năng
- Chức năng IO (xuất nhập) coacute khả năng keacuteo được 4 ngotilde TTL
- Chức năng địa chỉ dugraveng lagravem 8 bit địa chỉ cao khi cần bộ nhớ ngoagravei coacute địa chỉ
16 bit Khi đoacute Port 2 khocircng được dugraveng cho mục điacutech IO
Khi dugraveng lagravem ngotilde vagraveo Port 2 phải được set mức logic 1 trước đoacute
Khi lập trigravenh Port 2 dugraveng lagravem 8 bit địa chỉ cao hay một số tiacuten hiệu điều khiển
bull Port 3
Port 3 (chacircn 10 ndash 17) lagrave port coacute 2 chức năng
- Chức năng IO coacute khả năng keacuteo được 4 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 3 phải được set mức logic 1 trước đoacute
- Chức năng khaacutec mocirc tả như bảng 11Bảng 21 Chức năng caacutec chacircn của Port 3
Bit Tecircn Chức năng
P30 RxD Ngotilde vagraveo port nối tiếp
P31 TxD Ngotilde ra port nối tiếp
P32 INT0 Ngắt ngoagravei 0
P33 INT1 Ngắt ngoagravei 1
P34 T0 Ngotilde vagraveo của bộ định thời 0
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 6
P35 T1 Ngotilde vagraveo của bộ định thời 1
P36 WR Tiacuten hiệu điều khiển ghi dữ liệu lecircn bộ nhớ ngoagravei
P37 RD Tiacuten hiệu điều khiển đọc từ bộ nhớ dữ liệu ngoagravei
bull NGUỒN
Chacircn 40 VCC = 5V plusmn 20
Chacircn 20 GND
bull PSEN (Program Store Enable)
PSEN (chacircn 29) cho pheacutep đọc bộ nhớ chương trigravenh mở rộng đối với caacutec ứng
dụng sử dụng ROM ngoagravei thường được nối đến chacircn OC (Output Control) của
ROM để đọc caacutec byte matilde lệnh PSEN sẽ ở mức logic 0 trong thời gian AT89C51 lấy
lệnhTrong quaacute trigravenh nagravey PSEN sẽ tiacutech cực 2 lần trong 1 chu kỳ maacutey
Matilde lệnh của chương trigravenh được đọc từ ROM thocircng qua bus dữ liệu (Port0) vagrave
bus địa chỉ (Port0 + Port2)
Khi 8951 thi hagravenh chương trigravenh trong ROM nội PSEN sẽ ở mức logic 1
bull ALEPROG (Address Latch Enable Program)
ALEPROG (chacircn 30) cho pheacutep taacutech caacutec đường địa chỉ vagrave dữ liệu tại Port 0
khi truy xuất bộ nhớ ngoagravei ALE thường nối với chacircn Clock của IC chốt (74373
74573)
Caacutec xung tiacuten hiệu ALE coacute tốc độ bằng 16 lần tần số dao động trecircn chip vagrave coacute
thể được dugraveng lagravem tiacuten hiệu clock cho caacutec phần khaacutec của hệ thống Xung nagravey coacute thể
cấm bằng caacutech set bit 0 của SFR tại địa chỉ 8Eh lecircn 1 Khi đoacute ALE chỉ coacute taacutec dụng
khi dugraveng lệnh MOVX hay MOVC Ngoagravei ra chacircn nagravey cograven được dugraveng lagravem ngotilde vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 7
xung lập trigravenh cho ROM nội (PROG)
bull EA VPP (External Access)
EA (chacircn 31) dugraveng để cho pheacutep thực thi chương trigravenh từ ROM ngoagravei Khi nối
chacircn 31 với Vcc AT89S52 sẽ thực thi chương trigravenh từ ROM nội (tối đa 8KB) ngược
lại thigrave thực thi từ ROM ngoagravei (tối đa 64KB)
Ngoagravei ra chacircn EA được lấy lagravem chacircn cấp nguồn 12V khi lập trigravenh cho ROM
bull RST (Reset)
RST (chacircn 9) cho pheacutep reset AT89C51 khi ngotilde vagraveo tiacuten hiệu đưa lecircn mức 1
trong iacutet nhất lagrave 2 chu kỳ maacutey
bull X1X2
Ngotilde vagraveo vagrave ngotilde ra bộ dao động khi sử dụng coacute thể chỉ cần kết nối thecircm thạch
anh vagrave caacutec tụ như higravenh vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho
AT89C51 lagrave 12Mhz
215 ĐỊNH KỲ CHU KỲ MAacuteY
Một chu kỳ maacutey bao gồm 6 trạng thaacutei (12 xung clock) Một trạng thaacutei bao gồm
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 8
2 phần ứng với 12 xung clock Phase 1 vagrave Phase 2 Như vậy một chu kỳ maacutey bao
gồm 12 xung clock được biểu diễn từ S1P1 đến S6P2 (State 1 Phase 1 1048774 State 6
Phase 2) Chu kỳ lấy lệnh vagrave thực thi lệnh mocirc tả như higravenh 14
Tiacuten hiệu chốt địa chỉ ALE tiacutech cực 2 lần trong một chu kỳ maacutey (trong khoảng
thời gian S1P2 đến S2P1 vagrave từ S4P2 đến S5P1) Từ đoacute tần số xung tại chacircn ALE bằng
16 tần số thạch anh
1048774 Đối với caacutec lệnh thực thi trong 1 chu kỳ
- Lệnh 1 byte được thực thi tại thời điểm S1P2 sau khi matilde lệnh được chốt vagraveo
thanh ghi lệnh tại S1P1
- Lệnh 2 byte byte thứ 2 được đọc tại thời điểm S4 vagrave sẽ được thực thi tại thời
điểm S4
1048774 Đối với caacutec lệnh thực thi trong 2 chu kỳ
Quaacute trigravenh lấy lệnh thực hiện tại thời điểm S1 của chu kỳ đầu tiecircn (byte magrave lệnh
216TỔ CHỨC BỘ NHỚ
Bộ nhớ của họ MCS-51 coacute thể chia thagravenh 2 phần bộ nhớ trong vagrave bộ nhớ
ngoagravei Bộ nhớ trong bao gồm 4 KB ROM vagrave 128 byte RAM (256 byte trong 8052)
Caacutec byte RAM coacute địa chỉ từ 00h ndash 7Fh vagrave caacutec thanh ghi chức năng đặc biệt (SFR) coacute
địa chỉ từ 80h ndash 0FFh coacute thể truy xuất trực tiếp Đối với 8052 128 byte RAM cao (địa
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 9
chỉ từ 80h ndash 0FFh) khocircng thể truy xuất trực tiếp magrave chỉ coacute thể truy xuất giaacuten tiếp (xem
thecircm trong phần tập lệnh)
Bộ nhớ ngoagravei bao gồm bộ nhớ chương trigravenh (điều khiển đọc bằng tiacuten hiệu
PSEN) vagrave bộ nhớ dữ liệu (điều khiển bằng tiacuten hiệu RD hay WR để cho pheacutep đọc
hay ghi dữ liệu) Do số đường địa chỉ của MCS-51 lagrave 16 bit (Port 0 chứa 8 bit thấp vagrave
Port 2 chứa 8 bit cao) necircn bộ nhớ ngoagravei coacute thể giải matilde tối đa lagrave 64KB
22 ADC 0809
Bộ ADC 0809 lagrave một thiết bị CMOS tiacutech hợp với một bộ chuyển đổi từ tương tự sang số 8 bit bộ chọn 8 kecircnh vagrave một bocirc logic điều khiển tương thiacutech Bộ chuyển đổi AD 8 bit nagravey dugraveng phương phaacutep chuyển đổi xấp xỉ tiếp Bộ chọn kecircnh coacute thể truy xuất bất kềnh nagraveo trong caacutec ngotilde vagraveo tương tự một caacutenh độc lậpThiết bị nagravey loại trừ khả năng cần thiết điều chỉnh điểm 0 becircn ngoagravei vagrave khả năng điều chỉnh tỉ số lagravem trograven ADC 0809 dễ dagraveng giao tiếp với caacutec bộ vi xử lyacute Sơ đồ chacircn ADC 0809
Higravenh 23-Sơ đồ chacircn ADC Yacute nghĩa caacutec chacircn IN0 đến IN7 8 ngotilde vagraveo tương tự A B C giải matilde chọn một trong 8 ngotilde vagraveo Z-1 đến Z-8 ngotilde ra song song 8 bit ALE cho pheacutep chốt địa chỉ START xung bắt đầu chuyển đổi CLK xung đồng hồ
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 10
REF (+) điện thế tham chiếu (+)
REF (-) điện thế tham chiếu (-)
VCC nguồn cung cấp
Caacutec đặc điểm củaADC 0809 Độ phacircn giải 8 bit Tổng sai số chưa chỉnh định +- frac12 LSB +- 1 LSB Thời gian chuyển đổi 100us ở tần số 640 kHz Nguồn cung cấp + 5V Điện aacutep ngotilde vagraveo 0 ndash 5V Tần số xung clock 10kHz ndash 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dagraveng giao tiếp với vi xử lyacute hoặc dugraveng riecircng Khocircng cần điều chỉnh zero hoặc đầy thang
Nguyecircn lyacute hoạt độngADC 0809 coacute 8 ngotilde vagraveo tương tự 8 ngotilde ra 8 bit coacute thể chọn 1 trong 8 ngotilde vagraveo tương tự để chuyển đổi sang số 8 bitCaacutec ngotilde vagraveo được chọn bằng caacutech giải matilde Chọn 1 trong 8 ngotilde vagraveo tương tự được thực hiện nhờ 3 chacircn ADDA ADDB ADDC như bảng trạng thaacutei sau
Sau khi kiacutech xung start thigrave bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start ngotilde ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tiacutenh từ cạnh xuống của xung start) Luacutec nagravey bit cơ trọng số lớn nhất (MSB) được đặt lecircn mức 1 tất cả caacutec bit cograven lại ở mức 0 đồng thời tạo ra điện thế coacute giaacute trị Vref2 điện thế nagravey được so saacutenh với điện thế vagraveo in+ Nếu Vin gt Vref2 thigrave bit MSB vẫn ở mức 1+ Nếu Vin lt Vref2 thigrave bit MSB vẫn ở mức 0Tương tự như vậy bit kế tiếp MSB được đặt lecircn 1 vagrave tạo ra điện thế coacute giaacute trị Vref4 vagrave
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
LIỆT KEcirc HIgraveNH
Higravenh 21 Sơ đồ khối của AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip3
Higravenh 22 Sơ đồ chacircn AT89S52helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip4
Higravenh 23 Sơ đồ chacircn ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip9
Higravenh 24 Cảm biến nhiệthelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip12
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụnghelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip13
Higravenh 26 Sơ đồ chacircn của LCDhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip14
Higravenh 27 Sơ đồ khối của HD44780 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip16
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCDhelliphelliphellip 18
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tựhelliphelliphelliphelliphelliphellip19
Higravenh 31 Sơ đồ nguyecircn lyacutehelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
Higravenh 32 Sơ đồ mạch inhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip26
Higravenh 33 Khối cảm biếnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
Higravenh 34 Khối tạo điện aacutep chuẩnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip27
Higravenh 35 Sơ đồ nối chacircn ADChelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip28
Higravenh36 Sơ đồ xứ lyacute trung tacircmhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip29
Higravenh 37 Khối hiển thịhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
Higravenh 38 Khối nguồnhelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip30
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 1
CHƯƠNG 1 GIỚI THIỆU
11 Mục tiecircu của đề tagravei
Vận dụng được caacutec lyacute thuyết đatilde học vagraveo việc thiết kế một mạch thực tế Hệ thống lại caacutec kiến thức đatilde học Nacircng cao kỹ năng thiết kế vagrave thi cocircng mạch Giải thiacutech chức năng nhiệm vụ caacutec khối cũng như caacutec linh kiện trong mạch
12 Nội dung trigravenh bagravey
Caacutec lyacute thuyết liecircn quan về mạch nhiệt độ Giải thiacutech chức năng nhiệm vụ caacutec khối caacutec linh kiện trong mạch Tiacutenh toaacuten thiết kế vagrave thi cocircng mạch
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 2
CHƯƠNG 2 KIẾN THỨC BỔ TRỢ
21TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51
211GIỚI THIỆU
Họ vi điều khiển MCS-51 do Intel sản xuất đầu tiecircn vagraveo năm 1980 lagrave caacutec IC
thiết kế cho caacutec ứng dụng hướng điều khiển Caacutec IC nagravey chiacutenh lagrave một hệ thống vi xử
lyacute hoagraven chỉnh bao gồm caacutec caacutec thagravenh phần của hệ vi xử lyacute CPU bộ nhớ caacutec mạch
giao tiếp điều khiển ngắt
MCS-51 lagrave họ vi điều khiển sử dụng cơ chế CISC (Complex Instruction Set
Computer) coacute độ dagravei vagrave thời gian thực thi của caacutec lệnh khaacutec nhau Tập lệnh cung cấp
cho MCS-51 coacute caacutec lệnh dugraveng cho điều khiển xuất nhập taacutec động đến từng bit
212VI ĐIỀU KHIỂN AT89S52
AT89S52 lagrave vi điều khiển do Atmel sản xuất chế tạo theo cocircng nghệ CMOS
coacute caacutec đặc tiacutenh như sau
- 8 KB PEROM (Flash Programmable and Erasable Read Only Memory) coacute khả
năng tới 1000 chu kỳ ghi xoaacute
- Tần số hoạt động từ 0Hz đến 24 MHz
- 3 mức khoacutea bộ nhớ lập trigravenh
- 128 Byte RAM nội
- 4 Port xuất nhập IO 8 bit
- 2 bộ Timercounter 16 Bit
- 6 nguồn ngắt
- Giao tiếp nối tiếp điều khiển bằng phần cứng
- 64 KB vugraveng nhớ matilde ngoagravei
- 64 KB vugraveng nhớ dữ liệu ngoagravei
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 3
- Cho pheacutep xử lyacute bit
- 210 vị triacute nhớ coacute thể định vị bit
- 4 chu kỳ maacutey (4 μs đối với thạch anh 12MHz) cho hoạt động nhacircn hoặc chia
- Coacute caacutec chế độ nghỉ (Low-power Idle) vagrave chế độ nguồn giảm (Power-down)
Ngoải ra một số IC khaacutec của họ MCS-51 coacute thecircm bộ định thời thứ 3 vagrave 256
byte RAM nội
213 SƠ ĐỒ KHỐI AT89S52
Higravenh 21 ndash Sơ đồ khối của AT89S52
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 4
214 SƠ ĐỒ CHAcircN AT89S52
Higravenh 22 Sơ đồ chacircn AT89S52
bull Port 0
Port 0 lagrave port coacute 2 chức năng ở caacutec chacircn 32 ndash 39 của AT89C51
- Chức năng IO (xuất nhập) dugraveng cho caacutec thiết kế nhỏ Tuy nhiecircn khi dugraveng
chức năng nagravey thigrave Port 0 phải dugraveng thecircm caacutec điện trở keacuteo lecircn (pull-up) giaacute trị
của điện trở phụ thuộc vagraveo thagravenh phần kết nối với Port
Khi dugraveng lagravem ngotilde ra Port 0 coacute thể keacuteo được 8 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 0 phải được set mức logic 1 trước đoacute
- Chức năng địa chỉ dữ liệu đa hợp khi dugraveng caacutec thiết kế lớn đogravei hỏi phải sử
dụng bộ nhớ ngoagravei thigrave Port 0 vừa lagrave bus dữ liệu (8 bit) vừa lagrave bus địa chỉ (8 bit
thấp)
Ngoagravei ra khi lập trigravenh cho AT89C51 Port 0 cograven dugraveng để nhận matilde khi lập trigravenh
vagrave xuất magrave khi kiểm tra (quaacute trigravenh kiểm tra đogravei hỏi phải coacute điện trở keacuteo lecircn)
bull Port 1
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 5
Port1 (chacircn 1 ndash 8) chỉ coacute một chức năng lagrave IO khocircng dugraveng cho mục điacutech khaacutec
(chỉ trong 803280528952 thigrave dugraveng thecircm P10 vagrave P11 cho bộ định thời thứ 3) Tại
Port 1 đatilde coacute điện trở keacuteo lecircn necircn khocircng cần thecircm điện trở ngoagravei
Port 1 coacute khả năng keacuteo được 4 ngotilde TTL vagrave cograven dugraveng lagravem 8 bit địa chỉ thấp
trong quaacute trigravenh lập trigravenh hay kiểm tra
Khi dugraveng lagravem ngotilde vagraveo Port 1 phải được set mức logic 1 trước đoacute
bull Port 2
Port 2 (chacircn 21 ndash 28) lagrave port coacute 2 chức năng
- Chức năng IO (xuất nhập) coacute khả năng keacuteo được 4 ngotilde TTL
- Chức năng địa chỉ dugraveng lagravem 8 bit địa chỉ cao khi cần bộ nhớ ngoagravei coacute địa chỉ
16 bit Khi đoacute Port 2 khocircng được dugraveng cho mục điacutech IO
Khi dugraveng lagravem ngotilde vagraveo Port 2 phải được set mức logic 1 trước đoacute
Khi lập trigravenh Port 2 dugraveng lagravem 8 bit địa chỉ cao hay một số tiacuten hiệu điều khiển
bull Port 3
Port 3 (chacircn 10 ndash 17) lagrave port coacute 2 chức năng
- Chức năng IO coacute khả năng keacuteo được 4 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 3 phải được set mức logic 1 trước đoacute
- Chức năng khaacutec mocirc tả như bảng 11Bảng 21 Chức năng caacutec chacircn của Port 3
Bit Tecircn Chức năng
P30 RxD Ngotilde vagraveo port nối tiếp
P31 TxD Ngotilde ra port nối tiếp
P32 INT0 Ngắt ngoagravei 0
P33 INT1 Ngắt ngoagravei 1
P34 T0 Ngotilde vagraveo của bộ định thời 0
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 6
P35 T1 Ngotilde vagraveo của bộ định thời 1
P36 WR Tiacuten hiệu điều khiển ghi dữ liệu lecircn bộ nhớ ngoagravei
P37 RD Tiacuten hiệu điều khiển đọc từ bộ nhớ dữ liệu ngoagravei
bull NGUỒN
Chacircn 40 VCC = 5V plusmn 20
Chacircn 20 GND
bull PSEN (Program Store Enable)
PSEN (chacircn 29) cho pheacutep đọc bộ nhớ chương trigravenh mở rộng đối với caacutec ứng
dụng sử dụng ROM ngoagravei thường được nối đến chacircn OC (Output Control) của
ROM để đọc caacutec byte matilde lệnh PSEN sẽ ở mức logic 0 trong thời gian AT89C51 lấy
lệnhTrong quaacute trigravenh nagravey PSEN sẽ tiacutech cực 2 lần trong 1 chu kỳ maacutey
Matilde lệnh của chương trigravenh được đọc từ ROM thocircng qua bus dữ liệu (Port0) vagrave
bus địa chỉ (Port0 + Port2)
Khi 8951 thi hagravenh chương trigravenh trong ROM nội PSEN sẽ ở mức logic 1
bull ALEPROG (Address Latch Enable Program)
ALEPROG (chacircn 30) cho pheacutep taacutech caacutec đường địa chỉ vagrave dữ liệu tại Port 0
khi truy xuất bộ nhớ ngoagravei ALE thường nối với chacircn Clock của IC chốt (74373
74573)
Caacutec xung tiacuten hiệu ALE coacute tốc độ bằng 16 lần tần số dao động trecircn chip vagrave coacute
thể được dugraveng lagravem tiacuten hiệu clock cho caacutec phần khaacutec của hệ thống Xung nagravey coacute thể
cấm bằng caacutech set bit 0 của SFR tại địa chỉ 8Eh lecircn 1 Khi đoacute ALE chỉ coacute taacutec dụng
khi dugraveng lệnh MOVX hay MOVC Ngoagravei ra chacircn nagravey cograven được dugraveng lagravem ngotilde vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 7
xung lập trigravenh cho ROM nội (PROG)
bull EA VPP (External Access)
EA (chacircn 31) dugraveng để cho pheacutep thực thi chương trigravenh từ ROM ngoagravei Khi nối
chacircn 31 với Vcc AT89S52 sẽ thực thi chương trigravenh từ ROM nội (tối đa 8KB) ngược
lại thigrave thực thi từ ROM ngoagravei (tối đa 64KB)
Ngoagravei ra chacircn EA được lấy lagravem chacircn cấp nguồn 12V khi lập trigravenh cho ROM
bull RST (Reset)
RST (chacircn 9) cho pheacutep reset AT89C51 khi ngotilde vagraveo tiacuten hiệu đưa lecircn mức 1
trong iacutet nhất lagrave 2 chu kỳ maacutey
bull X1X2
Ngotilde vagraveo vagrave ngotilde ra bộ dao động khi sử dụng coacute thể chỉ cần kết nối thecircm thạch
anh vagrave caacutec tụ như higravenh vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho
AT89C51 lagrave 12Mhz
215 ĐỊNH KỲ CHU KỲ MAacuteY
Một chu kỳ maacutey bao gồm 6 trạng thaacutei (12 xung clock) Một trạng thaacutei bao gồm
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 8
2 phần ứng với 12 xung clock Phase 1 vagrave Phase 2 Như vậy một chu kỳ maacutey bao
gồm 12 xung clock được biểu diễn từ S1P1 đến S6P2 (State 1 Phase 1 1048774 State 6
Phase 2) Chu kỳ lấy lệnh vagrave thực thi lệnh mocirc tả như higravenh 14
Tiacuten hiệu chốt địa chỉ ALE tiacutech cực 2 lần trong một chu kỳ maacutey (trong khoảng
thời gian S1P2 đến S2P1 vagrave từ S4P2 đến S5P1) Từ đoacute tần số xung tại chacircn ALE bằng
16 tần số thạch anh
1048774 Đối với caacutec lệnh thực thi trong 1 chu kỳ
- Lệnh 1 byte được thực thi tại thời điểm S1P2 sau khi matilde lệnh được chốt vagraveo
thanh ghi lệnh tại S1P1
- Lệnh 2 byte byte thứ 2 được đọc tại thời điểm S4 vagrave sẽ được thực thi tại thời
điểm S4
1048774 Đối với caacutec lệnh thực thi trong 2 chu kỳ
Quaacute trigravenh lấy lệnh thực hiện tại thời điểm S1 của chu kỳ đầu tiecircn (byte magrave lệnh
216TỔ CHỨC BỘ NHỚ
Bộ nhớ của họ MCS-51 coacute thể chia thagravenh 2 phần bộ nhớ trong vagrave bộ nhớ
ngoagravei Bộ nhớ trong bao gồm 4 KB ROM vagrave 128 byte RAM (256 byte trong 8052)
Caacutec byte RAM coacute địa chỉ từ 00h ndash 7Fh vagrave caacutec thanh ghi chức năng đặc biệt (SFR) coacute
địa chỉ từ 80h ndash 0FFh coacute thể truy xuất trực tiếp Đối với 8052 128 byte RAM cao (địa
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 9
chỉ từ 80h ndash 0FFh) khocircng thể truy xuất trực tiếp magrave chỉ coacute thể truy xuất giaacuten tiếp (xem
thecircm trong phần tập lệnh)
Bộ nhớ ngoagravei bao gồm bộ nhớ chương trigravenh (điều khiển đọc bằng tiacuten hiệu
PSEN) vagrave bộ nhớ dữ liệu (điều khiển bằng tiacuten hiệu RD hay WR để cho pheacutep đọc
hay ghi dữ liệu) Do số đường địa chỉ của MCS-51 lagrave 16 bit (Port 0 chứa 8 bit thấp vagrave
Port 2 chứa 8 bit cao) necircn bộ nhớ ngoagravei coacute thể giải matilde tối đa lagrave 64KB
22 ADC 0809
Bộ ADC 0809 lagrave một thiết bị CMOS tiacutech hợp với một bộ chuyển đổi từ tương tự sang số 8 bit bộ chọn 8 kecircnh vagrave một bocirc logic điều khiển tương thiacutech Bộ chuyển đổi AD 8 bit nagravey dugraveng phương phaacutep chuyển đổi xấp xỉ tiếp Bộ chọn kecircnh coacute thể truy xuất bất kềnh nagraveo trong caacutec ngotilde vagraveo tương tự một caacutenh độc lậpThiết bị nagravey loại trừ khả năng cần thiết điều chỉnh điểm 0 becircn ngoagravei vagrave khả năng điều chỉnh tỉ số lagravem trograven ADC 0809 dễ dagraveng giao tiếp với caacutec bộ vi xử lyacute Sơ đồ chacircn ADC 0809
Higravenh 23-Sơ đồ chacircn ADC Yacute nghĩa caacutec chacircn IN0 đến IN7 8 ngotilde vagraveo tương tự A B C giải matilde chọn một trong 8 ngotilde vagraveo Z-1 đến Z-8 ngotilde ra song song 8 bit ALE cho pheacutep chốt địa chỉ START xung bắt đầu chuyển đổi CLK xung đồng hồ
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 10
REF (+) điện thế tham chiếu (+)
REF (-) điện thế tham chiếu (-)
VCC nguồn cung cấp
Caacutec đặc điểm củaADC 0809 Độ phacircn giải 8 bit Tổng sai số chưa chỉnh định +- frac12 LSB +- 1 LSB Thời gian chuyển đổi 100us ở tần số 640 kHz Nguồn cung cấp + 5V Điện aacutep ngotilde vagraveo 0 ndash 5V Tần số xung clock 10kHz ndash 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dagraveng giao tiếp với vi xử lyacute hoặc dugraveng riecircng Khocircng cần điều chỉnh zero hoặc đầy thang
Nguyecircn lyacute hoạt độngADC 0809 coacute 8 ngotilde vagraveo tương tự 8 ngotilde ra 8 bit coacute thể chọn 1 trong 8 ngotilde vagraveo tương tự để chuyển đổi sang số 8 bitCaacutec ngotilde vagraveo được chọn bằng caacutech giải matilde Chọn 1 trong 8 ngotilde vagraveo tương tự được thực hiện nhờ 3 chacircn ADDA ADDB ADDC như bảng trạng thaacutei sau
Sau khi kiacutech xung start thigrave bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start ngotilde ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tiacutenh từ cạnh xuống của xung start) Luacutec nagravey bit cơ trọng số lớn nhất (MSB) được đặt lecircn mức 1 tất cả caacutec bit cograven lại ở mức 0 đồng thời tạo ra điện thế coacute giaacute trị Vref2 điện thế nagravey được so saacutenh với điện thế vagraveo in+ Nếu Vin gt Vref2 thigrave bit MSB vẫn ở mức 1+ Nếu Vin lt Vref2 thigrave bit MSB vẫn ở mức 0Tương tự như vậy bit kế tiếp MSB được đặt lecircn 1 vagrave tạo ra điện thế coacute giaacute trị Vref4 vagrave
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 1
CHƯƠNG 1 GIỚI THIỆU
11 Mục tiecircu của đề tagravei
Vận dụng được caacutec lyacute thuyết đatilde học vagraveo việc thiết kế một mạch thực tế Hệ thống lại caacutec kiến thức đatilde học Nacircng cao kỹ năng thiết kế vagrave thi cocircng mạch Giải thiacutech chức năng nhiệm vụ caacutec khối cũng như caacutec linh kiện trong mạch
12 Nội dung trigravenh bagravey
Caacutec lyacute thuyết liecircn quan về mạch nhiệt độ Giải thiacutech chức năng nhiệm vụ caacutec khối caacutec linh kiện trong mạch Tiacutenh toaacuten thiết kế vagrave thi cocircng mạch
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 2
CHƯƠNG 2 KIẾN THỨC BỔ TRỢ
21TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51
211GIỚI THIỆU
Họ vi điều khiển MCS-51 do Intel sản xuất đầu tiecircn vagraveo năm 1980 lagrave caacutec IC
thiết kế cho caacutec ứng dụng hướng điều khiển Caacutec IC nagravey chiacutenh lagrave một hệ thống vi xử
lyacute hoagraven chỉnh bao gồm caacutec caacutec thagravenh phần của hệ vi xử lyacute CPU bộ nhớ caacutec mạch
giao tiếp điều khiển ngắt
MCS-51 lagrave họ vi điều khiển sử dụng cơ chế CISC (Complex Instruction Set
Computer) coacute độ dagravei vagrave thời gian thực thi của caacutec lệnh khaacutec nhau Tập lệnh cung cấp
cho MCS-51 coacute caacutec lệnh dugraveng cho điều khiển xuất nhập taacutec động đến từng bit
212VI ĐIỀU KHIỂN AT89S52
AT89S52 lagrave vi điều khiển do Atmel sản xuất chế tạo theo cocircng nghệ CMOS
coacute caacutec đặc tiacutenh như sau
- 8 KB PEROM (Flash Programmable and Erasable Read Only Memory) coacute khả
năng tới 1000 chu kỳ ghi xoaacute
- Tần số hoạt động từ 0Hz đến 24 MHz
- 3 mức khoacutea bộ nhớ lập trigravenh
- 128 Byte RAM nội
- 4 Port xuất nhập IO 8 bit
- 2 bộ Timercounter 16 Bit
- 6 nguồn ngắt
- Giao tiếp nối tiếp điều khiển bằng phần cứng
- 64 KB vugraveng nhớ matilde ngoagravei
- 64 KB vugraveng nhớ dữ liệu ngoagravei
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 3
- Cho pheacutep xử lyacute bit
- 210 vị triacute nhớ coacute thể định vị bit
- 4 chu kỳ maacutey (4 μs đối với thạch anh 12MHz) cho hoạt động nhacircn hoặc chia
- Coacute caacutec chế độ nghỉ (Low-power Idle) vagrave chế độ nguồn giảm (Power-down)
Ngoải ra một số IC khaacutec của họ MCS-51 coacute thecircm bộ định thời thứ 3 vagrave 256
byte RAM nội
213 SƠ ĐỒ KHỐI AT89S52
Higravenh 21 ndash Sơ đồ khối của AT89S52
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 4
214 SƠ ĐỒ CHAcircN AT89S52
Higravenh 22 Sơ đồ chacircn AT89S52
bull Port 0
Port 0 lagrave port coacute 2 chức năng ở caacutec chacircn 32 ndash 39 của AT89C51
- Chức năng IO (xuất nhập) dugraveng cho caacutec thiết kế nhỏ Tuy nhiecircn khi dugraveng
chức năng nagravey thigrave Port 0 phải dugraveng thecircm caacutec điện trở keacuteo lecircn (pull-up) giaacute trị
của điện trở phụ thuộc vagraveo thagravenh phần kết nối với Port
Khi dugraveng lagravem ngotilde ra Port 0 coacute thể keacuteo được 8 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 0 phải được set mức logic 1 trước đoacute
- Chức năng địa chỉ dữ liệu đa hợp khi dugraveng caacutec thiết kế lớn đogravei hỏi phải sử
dụng bộ nhớ ngoagravei thigrave Port 0 vừa lagrave bus dữ liệu (8 bit) vừa lagrave bus địa chỉ (8 bit
thấp)
Ngoagravei ra khi lập trigravenh cho AT89C51 Port 0 cograven dugraveng để nhận matilde khi lập trigravenh
vagrave xuất magrave khi kiểm tra (quaacute trigravenh kiểm tra đogravei hỏi phải coacute điện trở keacuteo lecircn)
bull Port 1
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 5
Port1 (chacircn 1 ndash 8) chỉ coacute một chức năng lagrave IO khocircng dugraveng cho mục điacutech khaacutec
(chỉ trong 803280528952 thigrave dugraveng thecircm P10 vagrave P11 cho bộ định thời thứ 3) Tại
Port 1 đatilde coacute điện trở keacuteo lecircn necircn khocircng cần thecircm điện trở ngoagravei
Port 1 coacute khả năng keacuteo được 4 ngotilde TTL vagrave cograven dugraveng lagravem 8 bit địa chỉ thấp
trong quaacute trigravenh lập trigravenh hay kiểm tra
Khi dugraveng lagravem ngotilde vagraveo Port 1 phải được set mức logic 1 trước đoacute
bull Port 2
Port 2 (chacircn 21 ndash 28) lagrave port coacute 2 chức năng
- Chức năng IO (xuất nhập) coacute khả năng keacuteo được 4 ngotilde TTL
- Chức năng địa chỉ dugraveng lagravem 8 bit địa chỉ cao khi cần bộ nhớ ngoagravei coacute địa chỉ
16 bit Khi đoacute Port 2 khocircng được dugraveng cho mục điacutech IO
Khi dugraveng lagravem ngotilde vagraveo Port 2 phải được set mức logic 1 trước đoacute
Khi lập trigravenh Port 2 dugraveng lagravem 8 bit địa chỉ cao hay một số tiacuten hiệu điều khiển
bull Port 3
Port 3 (chacircn 10 ndash 17) lagrave port coacute 2 chức năng
- Chức năng IO coacute khả năng keacuteo được 4 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 3 phải được set mức logic 1 trước đoacute
- Chức năng khaacutec mocirc tả như bảng 11Bảng 21 Chức năng caacutec chacircn của Port 3
Bit Tecircn Chức năng
P30 RxD Ngotilde vagraveo port nối tiếp
P31 TxD Ngotilde ra port nối tiếp
P32 INT0 Ngắt ngoagravei 0
P33 INT1 Ngắt ngoagravei 1
P34 T0 Ngotilde vagraveo của bộ định thời 0
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 6
P35 T1 Ngotilde vagraveo của bộ định thời 1
P36 WR Tiacuten hiệu điều khiển ghi dữ liệu lecircn bộ nhớ ngoagravei
P37 RD Tiacuten hiệu điều khiển đọc từ bộ nhớ dữ liệu ngoagravei
bull NGUỒN
Chacircn 40 VCC = 5V plusmn 20
Chacircn 20 GND
bull PSEN (Program Store Enable)
PSEN (chacircn 29) cho pheacutep đọc bộ nhớ chương trigravenh mở rộng đối với caacutec ứng
dụng sử dụng ROM ngoagravei thường được nối đến chacircn OC (Output Control) của
ROM để đọc caacutec byte matilde lệnh PSEN sẽ ở mức logic 0 trong thời gian AT89C51 lấy
lệnhTrong quaacute trigravenh nagravey PSEN sẽ tiacutech cực 2 lần trong 1 chu kỳ maacutey
Matilde lệnh của chương trigravenh được đọc từ ROM thocircng qua bus dữ liệu (Port0) vagrave
bus địa chỉ (Port0 + Port2)
Khi 8951 thi hagravenh chương trigravenh trong ROM nội PSEN sẽ ở mức logic 1
bull ALEPROG (Address Latch Enable Program)
ALEPROG (chacircn 30) cho pheacutep taacutech caacutec đường địa chỉ vagrave dữ liệu tại Port 0
khi truy xuất bộ nhớ ngoagravei ALE thường nối với chacircn Clock của IC chốt (74373
74573)
Caacutec xung tiacuten hiệu ALE coacute tốc độ bằng 16 lần tần số dao động trecircn chip vagrave coacute
thể được dugraveng lagravem tiacuten hiệu clock cho caacutec phần khaacutec của hệ thống Xung nagravey coacute thể
cấm bằng caacutech set bit 0 của SFR tại địa chỉ 8Eh lecircn 1 Khi đoacute ALE chỉ coacute taacutec dụng
khi dugraveng lệnh MOVX hay MOVC Ngoagravei ra chacircn nagravey cograven được dugraveng lagravem ngotilde vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 7
xung lập trigravenh cho ROM nội (PROG)
bull EA VPP (External Access)
EA (chacircn 31) dugraveng để cho pheacutep thực thi chương trigravenh từ ROM ngoagravei Khi nối
chacircn 31 với Vcc AT89S52 sẽ thực thi chương trigravenh từ ROM nội (tối đa 8KB) ngược
lại thigrave thực thi từ ROM ngoagravei (tối đa 64KB)
Ngoagravei ra chacircn EA được lấy lagravem chacircn cấp nguồn 12V khi lập trigravenh cho ROM
bull RST (Reset)
RST (chacircn 9) cho pheacutep reset AT89C51 khi ngotilde vagraveo tiacuten hiệu đưa lecircn mức 1
trong iacutet nhất lagrave 2 chu kỳ maacutey
bull X1X2
Ngotilde vagraveo vagrave ngotilde ra bộ dao động khi sử dụng coacute thể chỉ cần kết nối thecircm thạch
anh vagrave caacutec tụ như higravenh vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho
AT89C51 lagrave 12Mhz
215 ĐỊNH KỲ CHU KỲ MAacuteY
Một chu kỳ maacutey bao gồm 6 trạng thaacutei (12 xung clock) Một trạng thaacutei bao gồm
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 8
2 phần ứng với 12 xung clock Phase 1 vagrave Phase 2 Như vậy một chu kỳ maacutey bao
gồm 12 xung clock được biểu diễn từ S1P1 đến S6P2 (State 1 Phase 1 1048774 State 6
Phase 2) Chu kỳ lấy lệnh vagrave thực thi lệnh mocirc tả như higravenh 14
Tiacuten hiệu chốt địa chỉ ALE tiacutech cực 2 lần trong một chu kỳ maacutey (trong khoảng
thời gian S1P2 đến S2P1 vagrave từ S4P2 đến S5P1) Từ đoacute tần số xung tại chacircn ALE bằng
16 tần số thạch anh
1048774 Đối với caacutec lệnh thực thi trong 1 chu kỳ
- Lệnh 1 byte được thực thi tại thời điểm S1P2 sau khi matilde lệnh được chốt vagraveo
thanh ghi lệnh tại S1P1
- Lệnh 2 byte byte thứ 2 được đọc tại thời điểm S4 vagrave sẽ được thực thi tại thời
điểm S4
1048774 Đối với caacutec lệnh thực thi trong 2 chu kỳ
Quaacute trigravenh lấy lệnh thực hiện tại thời điểm S1 của chu kỳ đầu tiecircn (byte magrave lệnh
216TỔ CHỨC BỘ NHỚ
Bộ nhớ của họ MCS-51 coacute thể chia thagravenh 2 phần bộ nhớ trong vagrave bộ nhớ
ngoagravei Bộ nhớ trong bao gồm 4 KB ROM vagrave 128 byte RAM (256 byte trong 8052)
Caacutec byte RAM coacute địa chỉ từ 00h ndash 7Fh vagrave caacutec thanh ghi chức năng đặc biệt (SFR) coacute
địa chỉ từ 80h ndash 0FFh coacute thể truy xuất trực tiếp Đối với 8052 128 byte RAM cao (địa
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 9
chỉ từ 80h ndash 0FFh) khocircng thể truy xuất trực tiếp magrave chỉ coacute thể truy xuất giaacuten tiếp (xem
thecircm trong phần tập lệnh)
Bộ nhớ ngoagravei bao gồm bộ nhớ chương trigravenh (điều khiển đọc bằng tiacuten hiệu
PSEN) vagrave bộ nhớ dữ liệu (điều khiển bằng tiacuten hiệu RD hay WR để cho pheacutep đọc
hay ghi dữ liệu) Do số đường địa chỉ của MCS-51 lagrave 16 bit (Port 0 chứa 8 bit thấp vagrave
Port 2 chứa 8 bit cao) necircn bộ nhớ ngoagravei coacute thể giải matilde tối đa lagrave 64KB
22 ADC 0809
Bộ ADC 0809 lagrave một thiết bị CMOS tiacutech hợp với một bộ chuyển đổi từ tương tự sang số 8 bit bộ chọn 8 kecircnh vagrave một bocirc logic điều khiển tương thiacutech Bộ chuyển đổi AD 8 bit nagravey dugraveng phương phaacutep chuyển đổi xấp xỉ tiếp Bộ chọn kecircnh coacute thể truy xuất bất kềnh nagraveo trong caacutec ngotilde vagraveo tương tự một caacutenh độc lậpThiết bị nagravey loại trừ khả năng cần thiết điều chỉnh điểm 0 becircn ngoagravei vagrave khả năng điều chỉnh tỉ số lagravem trograven ADC 0809 dễ dagraveng giao tiếp với caacutec bộ vi xử lyacute Sơ đồ chacircn ADC 0809
Higravenh 23-Sơ đồ chacircn ADC Yacute nghĩa caacutec chacircn IN0 đến IN7 8 ngotilde vagraveo tương tự A B C giải matilde chọn một trong 8 ngotilde vagraveo Z-1 đến Z-8 ngotilde ra song song 8 bit ALE cho pheacutep chốt địa chỉ START xung bắt đầu chuyển đổi CLK xung đồng hồ
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 10
REF (+) điện thế tham chiếu (+)
REF (-) điện thế tham chiếu (-)
VCC nguồn cung cấp
Caacutec đặc điểm củaADC 0809 Độ phacircn giải 8 bit Tổng sai số chưa chỉnh định +- frac12 LSB +- 1 LSB Thời gian chuyển đổi 100us ở tần số 640 kHz Nguồn cung cấp + 5V Điện aacutep ngotilde vagraveo 0 ndash 5V Tần số xung clock 10kHz ndash 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dagraveng giao tiếp với vi xử lyacute hoặc dugraveng riecircng Khocircng cần điều chỉnh zero hoặc đầy thang
Nguyecircn lyacute hoạt độngADC 0809 coacute 8 ngotilde vagraveo tương tự 8 ngotilde ra 8 bit coacute thể chọn 1 trong 8 ngotilde vagraveo tương tự để chuyển đổi sang số 8 bitCaacutec ngotilde vagraveo được chọn bằng caacutech giải matilde Chọn 1 trong 8 ngotilde vagraveo tương tự được thực hiện nhờ 3 chacircn ADDA ADDB ADDC như bảng trạng thaacutei sau
Sau khi kiacutech xung start thigrave bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start ngotilde ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tiacutenh từ cạnh xuống của xung start) Luacutec nagravey bit cơ trọng số lớn nhất (MSB) được đặt lecircn mức 1 tất cả caacutec bit cograven lại ở mức 0 đồng thời tạo ra điện thế coacute giaacute trị Vref2 điện thế nagravey được so saacutenh với điện thế vagraveo in+ Nếu Vin gt Vref2 thigrave bit MSB vẫn ở mức 1+ Nếu Vin lt Vref2 thigrave bit MSB vẫn ở mức 0Tương tự như vậy bit kế tiếp MSB được đặt lecircn 1 vagrave tạo ra điện thế coacute giaacute trị Vref4 vagrave
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 2
CHƯƠNG 2 KIẾN THỨC BỔ TRỢ
21TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51
211GIỚI THIỆU
Họ vi điều khiển MCS-51 do Intel sản xuất đầu tiecircn vagraveo năm 1980 lagrave caacutec IC
thiết kế cho caacutec ứng dụng hướng điều khiển Caacutec IC nagravey chiacutenh lagrave một hệ thống vi xử
lyacute hoagraven chỉnh bao gồm caacutec caacutec thagravenh phần của hệ vi xử lyacute CPU bộ nhớ caacutec mạch
giao tiếp điều khiển ngắt
MCS-51 lagrave họ vi điều khiển sử dụng cơ chế CISC (Complex Instruction Set
Computer) coacute độ dagravei vagrave thời gian thực thi của caacutec lệnh khaacutec nhau Tập lệnh cung cấp
cho MCS-51 coacute caacutec lệnh dugraveng cho điều khiển xuất nhập taacutec động đến từng bit
212VI ĐIỀU KHIỂN AT89S52
AT89S52 lagrave vi điều khiển do Atmel sản xuất chế tạo theo cocircng nghệ CMOS
coacute caacutec đặc tiacutenh như sau
- 8 KB PEROM (Flash Programmable and Erasable Read Only Memory) coacute khả
năng tới 1000 chu kỳ ghi xoaacute
- Tần số hoạt động từ 0Hz đến 24 MHz
- 3 mức khoacutea bộ nhớ lập trigravenh
- 128 Byte RAM nội
- 4 Port xuất nhập IO 8 bit
- 2 bộ Timercounter 16 Bit
- 6 nguồn ngắt
- Giao tiếp nối tiếp điều khiển bằng phần cứng
- 64 KB vugraveng nhớ matilde ngoagravei
- 64 KB vugraveng nhớ dữ liệu ngoagravei
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 3
- Cho pheacutep xử lyacute bit
- 210 vị triacute nhớ coacute thể định vị bit
- 4 chu kỳ maacutey (4 μs đối với thạch anh 12MHz) cho hoạt động nhacircn hoặc chia
- Coacute caacutec chế độ nghỉ (Low-power Idle) vagrave chế độ nguồn giảm (Power-down)
Ngoải ra một số IC khaacutec của họ MCS-51 coacute thecircm bộ định thời thứ 3 vagrave 256
byte RAM nội
213 SƠ ĐỒ KHỐI AT89S52
Higravenh 21 ndash Sơ đồ khối của AT89S52
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 4
214 SƠ ĐỒ CHAcircN AT89S52
Higravenh 22 Sơ đồ chacircn AT89S52
bull Port 0
Port 0 lagrave port coacute 2 chức năng ở caacutec chacircn 32 ndash 39 của AT89C51
- Chức năng IO (xuất nhập) dugraveng cho caacutec thiết kế nhỏ Tuy nhiecircn khi dugraveng
chức năng nagravey thigrave Port 0 phải dugraveng thecircm caacutec điện trở keacuteo lecircn (pull-up) giaacute trị
của điện trở phụ thuộc vagraveo thagravenh phần kết nối với Port
Khi dugraveng lagravem ngotilde ra Port 0 coacute thể keacuteo được 8 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 0 phải được set mức logic 1 trước đoacute
- Chức năng địa chỉ dữ liệu đa hợp khi dugraveng caacutec thiết kế lớn đogravei hỏi phải sử
dụng bộ nhớ ngoagravei thigrave Port 0 vừa lagrave bus dữ liệu (8 bit) vừa lagrave bus địa chỉ (8 bit
thấp)
Ngoagravei ra khi lập trigravenh cho AT89C51 Port 0 cograven dugraveng để nhận matilde khi lập trigravenh
vagrave xuất magrave khi kiểm tra (quaacute trigravenh kiểm tra đogravei hỏi phải coacute điện trở keacuteo lecircn)
bull Port 1
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 5
Port1 (chacircn 1 ndash 8) chỉ coacute một chức năng lagrave IO khocircng dugraveng cho mục điacutech khaacutec
(chỉ trong 803280528952 thigrave dugraveng thecircm P10 vagrave P11 cho bộ định thời thứ 3) Tại
Port 1 đatilde coacute điện trở keacuteo lecircn necircn khocircng cần thecircm điện trở ngoagravei
Port 1 coacute khả năng keacuteo được 4 ngotilde TTL vagrave cograven dugraveng lagravem 8 bit địa chỉ thấp
trong quaacute trigravenh lập trigravenh hay kiểm tra
Khi dugraveng lagravem ngotilde vagraveo Port 1 phải được set mức logic 1 trước đoacute
bull Port 2
Port 2 (chacircn 21 ndash 28) lagrave port coacute 2 chức năng
- Chức năng IO (xuất nhập) coacute khả năng keacuteo được 4 ngotilde TTL
- Chức năng địa chỉ dugraveng lagravem 8 bit địa chỉ cao khi cần bộ nhớ ngoagravei coacute địa chỉ
16 bit Khi đoacute Port 2 khocircng được dugraveng cho mục điacutech IO
Khi dugraveng lagravem ngotilde vagraveo Port 2 phải được set mức logic 1 trước đoacute
Khi lập trigravenh Port 2 dugraveng lagravem 8 bit địa chỉ cao hay một số tiacuten hiệu điều khiển
bull Port 3
Port 3 (chacircn 10 ndash 17) lagrave port coacute 2 chức năng
- Chức năng IO coacute khả năng keacuteo được 4 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 3 phải được set mức logic 1 trước đoacute
- Chức năng khaacutec mocirc tả như bảng 11Bảng 21 Chức năng caacutec chacircn của Port 3
Bit Tecircn Chức năng
P30 RxD Ngotilde vagraveo port nối tiếp
P31 TxD Ngotilde ra port nối tiếp
P32 INT0 Ngắt ngoagravei 0
P33 INT1 Ngắt ngoagravei 1
P34 T0 Ngotilde vagraveo của bộ định thời 0
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 6
P35 T1 Ngotilde vagraveo của bộ định thời 1
P36 WR Tiacuten hiệu điều khiển ghi dữ liệu lecircn bộ nhớ ngoagravei
P37 RD Tiacuten hiệu điều khiển đọc từ bộ nhớ dữ liệu ngoagravei
bull NGUỒN
Chacircn 40 VCC = 5V plusmn 20
Chacircn 20 GND
bull PSEN (Program Store Enable)
PSEN (chacircn 29) cho pheacutep đọc bộ nhớ chương trigravenh mở rộng đối với caacutec ứng
dụng sử dụng ROM ngoagravei thường được nối đến chacircn OC (Output Control) của
ROM để đọc caacutec byte matilde lệnh PSEN sẽ ở mức logic 0 trong thời gian AT89C51 lấy
lệnhTrong quaacute trigravenh nagravey PSEN sẽ tiacutech cực 2 lần trong 1 chu kỳ maacutey
Matilde lệnh của chương trigravenh được đọc từ ROM thocircng qua bus dữ liệu (Port0) vagrave
bus địa chỉ (Port0 + Port2)
Khi 8951 thi hagravenh chương trigravenh trong ROM nội PSEN sẽ ở mức logic 1
bull ALEPROG (Address Latch Enable Program)
ALEPROG (chacircn 30) cho pheacutep taacutech caacutec đường địa chỉ vagrave dữ liệu tại Port 0
khi truy xuất bộ nhớ ngoagravei ALE thường nối với chacircn Clock của IC chốt (74373
74573)
Caacutec xung tiacuten hiệu ALE coacute tốc độ bằng 16 lần tần số dao động trecircn chip vagrave coacute
thể được dugraveng lagravem tiacuten hiệu clock cho caacutec phần khaacutec của hệ thống Xung nagravey coacute thể
cấm bằng caacutech set bit 0 của SFR tại địa chỉ 8Eh lecircn 1 Khi đoacute ALE chỉ coacute taacutec dụng
khi dugraveng lệnh MOVX hay MOVC Ngoagravei ra chacircn nagravey cograven được dugraveng lagravem ngotilde vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 7
xung lập trigravenh cho ROM nội (PROG)
bull EA VPP (External Access)
EA (chacircn 31) dugraveng để cho pheacutep thực thi chương trigravenh từ ROM ngoagravei Khi nối
chacircn 31 với Vcc AT89S52 sẽ thực thi chương trigravenh từ ROM nội (tối đa 8KB) ngược
lại thigrave thực thi từ ROM ngoagravei (tối đa 64KB)
Ngoagravei ra chacircn EA được lấy lagravem chacircn cấp nguồn 12V khi lập trigravenh cho ROM
bull RST (Reset)
RST (chacircn 9) cho pheacutep reset AT89C51 khi ngotilde vagraveo tiacuten hiệu đưa lecircn mức 1
trong iacutet nhất lagrave 2 chu kỳ maacutey
bull X1X2
Ngotilde vagraveo vagrave ngotilde ra bộ dao động khi sử dụng coacute thể chỉ cần kết nối thecircm thạch
anh vagrave caacutec tụ như higravenh vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho
AT89C51 lagrave 12Mhz
215 ĐỊNH KỲ CHU KỲ MAacuteY
Một chu kỳ maacutey bao gồm 6 trạng thaacutei (12 xung clock) Một trạng thaacutei bao gồm
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 8
2 phần ứng với 12 xung clock Phase 1 vagrave Phase 2 Như vậy một chu kỳ maacutey bao
gồm 12 xung clock được biểu diễn từ S1P1 đến S6P2 (State 1 Phase 1 1048774 State 6
Phase 2) Chu kỳ lấy lệnh vagrave thực thi lệnh mocirc tả như higravenh 14
Tiacuten hiệu chốt địa chỉ ALE tiacutech cực 2 lần trong một chu kỳ maacutey (trong khoảng
thời gian S1P2 đến S2P1 vagrave từ S4P2 đến S5P1) Từ đoacute tần số xung tại chacircn ALE bằng
16 tần số thạch anh
1048774 Đối với caacutec lệnh thực thi trong 1 chu kỳ
- Lệnh 1 byte được thực thi tại thời điểm S1P2 sau khi matilde lệnh được chốt vagraveo
thanh ghi lệnh tại S1P1
- Lệnh 2 byte byte thứ 2 được đọc tại thời điểm S4 vagrave sẽ được thực thi tại thời
điểm S4
1048774 Đối với caacutec lệnh thực thi trong 2 chu kỳ
Quaacute trigravenh lấy lệnh thực hiện tại thời điểm S1 của chu kỳ đầu tiecircn (byte magrave lệnh
216TỔ CHỨC BỘ NHỚ
Bộ nhớ của họ MCS-51 coacute thể chia thagravenh 2 phần bộ nhớ trong vagrave bộ nhớ
ngoagravei Bộ nhớ trong bao gồm 4 KB ROM vagrave 128 byte RAM (256 byte trong 8052)
Caacutec byte RAM coacute địa chỉ từ 00h ndash 7Fh vagrave caacutec thanh ghi chức năng đặc biệt (SFR) coacute
địa chỉ từ 80h ndash 0FFh coacute thể truy xuất trực tiếp Đối với 8052 128 byte RAM cao (địa
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 9
chỉ từ 80h ndash 0FFh) khocircng thể truy xuất trực tiếp magrave chỉ coacute thể truy xuất giaacuten tiếp (xem
thecircm trong phần tập lệnh)
Bộ nhớ ngoagravei bao gồm bộ nhớ chương trigravenh (điều khiển đọc bằng tiacuten hiệu
PSEN) vagrave bộ nhớ dữ liệu (điều khiển bằng tiacuten hiệu RD hay WR để cho pheacutep đọc
hay ghi dữ liệu) Do số đường địa chỉ của MCS-51 lagrave 16 bit (Port 0 chứa 8 bit thấp vagrave
Port 2 chứa 8 bit cao) necircn bộ nhớ ngoagravei coacute thể giải matilde tối đa lagrave 64KB
22 ADC 0809
Bộ ADC 0809 lagrave một thiết bị CMOS tiacutech hợp với một bộ chuyển đổi từ tương tự sang số 8 bit bộ chọn 8 kecircnh vagrave một bocirc logic điều khiển tương thiacutech Bộ chuyển đổi AD 8 bit nagravey dugraveng phương phaacutep chuyển đổi xấp xỉ tiếp Bộ chọn kecircnh coacute thể truy xuất bất kềnh nagraveo trong caacutec ngotilde vagraveo tương tự một caacutenh độc lậpThiết bị nagravey loại trừ khả năng cần thiết điều chỉnh điểm 0 becircn ngoagravei vagrave khả năng điều chỉnh tỉ số lagravem trograven ADC 0809 dễ dagraveng giao tiếp với caacutec bộ vi xử lyacute Sơ đồ chacircn ADC 0809
Higravenh 23-Sơ đồ chacircn ADC Yacute nghĩa caacutec chacircn IN0 đến IN7 8 ngotilde vagraveo tương tự A B C giải matilde chọn một trong 8 ngotilde vagraveo Z-1 đến Z-8 ngotilde ra song song 8 bit ALE cho pheacutep chốt địa chỉ START xung bắt đầu chuyển đổi CLK xung đồng hồ
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 10
REF (+) điện thế tham chiếu (+)
REF (-) điện thế tham chiếu (-)
VCC nguồn cung cấp
Caacutec đặc điểm củaADC 0809 Độ phacircn giải 8 bit Tổng sai số chưa chỉnh định +- frac12 LSB +- 1 LSB Thời gian chuyển đổi 100us ở tần số 640 kHz Nguồn cung cấp + 5V Điện aacutep ngotilde vagraveo 0 ndash 5V Tần số xung clock 10kHz ndash 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dagraveng giao tiếp với vi xử lyacute hoặc dugraveng riecircng Khocircng cần điều chỉnh zero hoặc đầy thang
Nguyecircn lyacute hoạt độngADC 0809 coacute 8 ngotilde vagraveo tương tự 8 ngotilde ra 8 bit coacute thể chọn 1 trong 8 ngotilde vagraveo tương tự để chuyển đổi sang số 8 bitCaacutec ngotilde vagraveo được chọn bằng caacutech giải matilde Chọn 1 trong 8 ngotilde vagraveo tương tự được thực hiện nhờ 3 chacircn ADDA ADDB ADDC như bảng trạng thaacutei sau
Sau khi kiacutech xung start thigrave bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start ngotilde ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tiacutenh từ cạnh xuống của xung start) Luacutec nagravey bit cơ trọng số lớn nhất (MSB) được đặt lecircn mức 1 tất cả caacutec bit cograven lại ở mức 0 đồng thời tạo ra điện thế coacute giaacute trị Vref2 điện thế nagravey được so saacutenh với điện thế vagraveo in+ Nếu Vin gt Vref2 thigrave bit MSB vẫn ở mức 1+ Nếu Vin lt Vref2 thigrave bit MSB vẫn ở mức 0Tương tự như vậy bit kế tiếp MSB được đặt lecircn 1 vagrave tạo ra điện thế coacute giaacute trị Vref4 vagrave
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 3
- Cho pheacutep xử lyacute bit
- 210 vị triacute nhớ coacute thể định vị bit
- 4 chu kỳ maacutey (4 μs đối với thạch anh 12MHz) cho hoạt động nhacircn hoặc chia
- Coacute caacutec chế độ nghỉ (Low-power Idle) vagrave chế độ nguồn giảm (Power-down)
Ngoải ra một số IC khaacutec của họ MCS-51 coacute thecircm bộ định thời thứ 3 vagrave 256
byte RAM nội
213 SƠ ĐỒ KHỐI AT89S52
Higravenh 21 ndash Sơ đồ khối của AT89S52
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 4
214 SƠ ĐỒ CHAcircN AT89S52
Higravenh 22 Sơ đồ chacircn AT89S52
bull Port 0
Port 0 lagrave port coacute 2 chức năng ở caacutec chacircn 32 ndash 39 của AT89C51
- Chức năng IO (xuất nhập) dugraveng cho caacutec thiết kế nhỏ Tuy nhiecircn khi dugraveng
chức năng nagravey thigrave Port 0 phải dugraveng thecircm caacutec điện trở keacuteo lecircn (pull-up) giaacute trị
của điện trở phụ thuộc vagraveo thagravenh phần kết nối với Port
Khi dugraveng lagravem ngotilde ra Port 0 coacute thể keacuteo được 8 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 0 phải được set mức logic 1 trước đoacute
- Chức năng địa chỉ dữ liệu đa hợp khi dugraveng caacutec thiết kế lớn đogravei hỏi phải sử
dụng bộ nhớ ngoagravei thigrave Port 0 vừa lagrave bus dữ liệu (8 bit) vừa lagrave bus địa chỉ (8 bit
thấp)
Ngoagravei ra khi lập trigravenh cho AT89C51 Port 0 cograven dugraveng để nhận matilde khi lập trigravenh
vagrave xuất magrave khi kiểm tra (quaacute trigravenh kiểm tra đogravei hỏi phải coacute điện trở keacuteo lecircn)
bull Port 1
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 5
Port1 (chacircn 1 ndash 8) chỉ coacute một chức năng lagrave IO khocircng dugraveng cho mục điacutech khaacutec
(chỉ trong 803280528952 thigrave dugraveng thecircm P10 vagrave P11 cho bộ định thời thứ 3) Tại
Port 1 đatilde coacute điện trở keacuteo lecircn necircn khocircng cần thecircm điện trở ngoagravei
Port 1 coacute khả năng keacuteo được 4 ngotilde TTL vagrave cograven dugraveng lagravem 8 bit địa chỉ thấp
trong quaacute trigravenh lập trigravenh hay kiểm tra
Khi dugraveng lagravem ngotilde vagraveo Port 1 phải được set mức logic 1 trước đoacute
bull Port 2
Port 2 (chacircn 21 ndash 28) lagrave port coacute 2 chức năng
- Chức năng IO (xuất nhập) coacute khả năng keacuteo được 4 ngotilde TTL
- Chức năng địa chỉ dugraveng lagravem 8 bit địa chỉ cao khi cần bộ nhớ ngoagravei coacute địa chỉ
16 bit Khi đoacute Port 2 khocircng được dugraveng cho mục điacutech IO
Khi dugraveng lagravem ngotilde vagraveo Port 2 phải được set mức logic 1 trước đoacute
Khi lập trigravenh Port 2 dugraveng lagravem 8 bit địa chỉ cao hay một số tiacuten hiệu điều khiển
bull Port 3
Port 3 (chacircn 10 ndash 17) lagrave port coacute 2 chức năng
- Chức năng IO coacute khả năng keacuteo được 4 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 3 phải được set mức logic 1 trước đoacute
- Chức năng khaacutec mocirc tả như bảng 11Bảng 21 Chức năng caacutec chacircn của Port 3
Bit Tecircn Chức năng
P30 RxD Ngotilde vagraveo port nối tiếp
P31 TxD Ngotilde ra port nối tiếp
P32 INT0 Ngắt ngoagravei 0
P33 INT1 Ngắt ngoagravei 1
P34 T0 Ngotilde vagraveo của bộ định thời 0
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 6
P35 T1 Ngotilde vagraveo của bộ định thời 1
P36 WR Tiacuten hiệu điều khiển ghi dữ liệu lecircn bộ nhớ ngoagravei
P37 RD Tiacuten hiệu điều khiển đọc từ bộ nhớ dữ liệu ngoagravei
bull NGUỒN
Chacircn 40 VCC = 5V plusmn 20
Chacircn 20 GND
bull PSEN (Program Store Enable)
PSEN (chacircn 29) cho pheacutep đọc bộ nhớ chương trigravenh mở rộng đối với caacutec ứng
dụng sử dụng ROM ngoagravei thường được nối đến chacircn OC (Output Control) của
ROM để đọc caacutec byte matilde lệnh PSEN sẽ ở mức logic 0 trong thời gian AT89C51 lấy
lệnhTrong quaacute trigravenh nagravey PSEN sẽ tiacutech cực 2 lần trong 1 chu kỳ maacutey
Matilde lệnh của chương trigravenh được đọc từ ROM thocircng qua bus dữ liệu (Port0) vagrave
bus địa chỉ (Port0 + Port2)
Khi 8951 thi hagravenh chương trigravenh trong ROM nội PSEN sẽ ở mức logic 1
bull ALEPROG (Address Latch Enable Program)
ALEPROG (chacircn 30) cho pheacutep taacutech caacutec đường địa chỉ vagrave dữ liệu tại Port 0
khi truy xuất bộ nhớ ngoagravei ALE thường nối với chacircn Clock của IC chốt (74373
74573)
Caacutec xung tiacuten hiệu ALE coacute tốc độ bằng 16 lần tần số dao động trecircn chip vagrave coacute
thể được dugraveng lagravem tiacuten hiệu clock cho caacutec phần khaacutec của hệ thống Xung nagravey coacute thể
cấm bằng caacutech set bit 0 của SFR tại địa chỉ 8Eh lecircn 1 Khi đoacute ALE chỉ coacute taacutec dụng
khi dugraveng lệnh MOVX hay MOVC Ngoagravei ra chacircn nagravey cograven được dugraveng lagravem ngotilde vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 7
xung lập trigravenh cho ROM nội (PROG)
bull EA VPP (External Access)
EA (chacircn 31) dugraveng để cho pheacutep thực thi chương trigravenh từ ROM ngoagravei Khi nối
chacircn 31 với Vcc AT89S52 sẽ thực thi chương trigravenh từ ROM nội (tối đa 8KB) ngược
lại thigrave thực thi từ ROM ngoagravei (tối đa 64KB)
Ngoagravei ra chacircn EA được lấy lagravem chacircn cấp nguồn 12V khi lập trigravenh cho ROM
bull RST (Reset)
RST (chacircn 9) cho pheacutep reset AT89C51 khi ngotilde vagraveo tiacuten hiệu đưa lecircn mức 1
trong iacutet nhất lagrave 2 chu kỳ maacutey
bull X1X2
Ngotilde vagraveo vagrave ngotilde ra bộ dao động khi sử dụng coacute thể chỉ cần kết nối thecircm thạch
anh vagrave caacutec tụ như higravenh vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho
AT89C51 lagrave 12Mhz
215 ĐỊNH KỲ CHU KỲ MAacuteY
Một chu kỳ maacutey bao gồm 6 trạng thaacutei (12 xung clock) Một trạng thaacutei bao gồm
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 8
2 phần ứng với 12 xung clock Phase 1 vagrave Phase 2 Như vậy một chu kỳ maacutey bao
gồm 12 xung clock được biểu diễn từ S1P1 đến S6P2 (State 1 Phase 1 1048774 State 6
Phase 2) Chu kỳ lấy lệnh vagrave thực thi lệnh mocirc tả như higravenh 14
Tiacuten hiệu chốt địa chỉ ALE tiacutech cực 2 lần trong một chu kỳ maacutey (trong khoảng
thời gian S1P2 đến S2P1 vagrave từ S4P2 đến S5P1) Từ đoacute tần số xung tại chacircn ALE bằng
16 tần số thạch anh
1048774 Đối với caacutec lệnh thực thi trong 1 chu kỳ
- Lệnh 1 byte được thực thi tại thời điểm S1P2 sau khi matilde lệnh được chốt vagraveo
thanh ghi lệnh tại S1P1
- Lệnh 2 byte byte thứ 2 được đọc tại thời điểm S4 vagrave sẽ được thực thi tại thời
điểm S4
1048774 Đối với caacutec lệnh thực thi trong 2 chu kỳ
Quaacute trigravenh lấy lệnh thực hiện tại thời điểm S1 của chu kỳ đầu tiecircn (byte magrave lệnh
216TỔ CHỨC BỘ NHỚ
Bộ nhớ của họ MCS-51 coacute thể chia thagravenh 2 phần bộ nhớ trong vagrave bộ nhớ
ngoagravei Bộ nhớ trong bao gồm 4 KB ROM vagrave 128 byte RAM (256 byte trong 8052)
Caacutec byte RAM coacute địa chỉ từ 00h ndash 7Fh vagrave caacutec thanh ghi chức năng đặc biệt (SFR) coacute
địa chỉ từ 80h ndash 0FFh coacute thể truy xuất trực tiếp Đối với 8052 128 byte RAM cao (địa
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 9
chỉ từ 80h ndash 0FFh) khocircng thể truy xuất trực tiếp magrave chỉ coacute thể truy xuất giaacuten tiếp (xem
thecircm trong phần tập lệnh)
Bộ nhớ ngoagravei bao gồm bộ nhớ chương trigravenh (điều khiển đọc bằng tiacuten hiệu
PSEN) vagrave bộ nhớ dữ liệu (điều khiển bằng tiacuten hiệu RD hay WR để cho pheacutep đọc
hay ghi dữ liệu) Do số đường địa chỉ của MCS-51 lagrave 16 bit (Port 0 chứa 8 bit thấp vagrave
Port 2 chứa 8 bit cao) necircn bộ nhớ ngoagravei coacute thể giải matilde tối đa lagrave 64KB
22 ADC 0809
Bộ ADC 0809 lagrave một thiết bị CMOS tiacutech hợp với một bộ chuyển đổi từ tương tự sang số 8 bit bộ chọn 8 kecircnh vagrave một bocirc logic điều khiển tương thiacutech Bộ chuyển đổi AD 8 bit nagravey dugraveng phương phaacutep chuyển đổi xấp xỉ tiếp Bộ chọn kecircnh coacute thể truy xuất bất kềnh nagraveo trong caacutec ngotilde vagraveo tương tự một caacutenh độc lậpThiết bị nagravey loại trừ khả năng cần thiết điều chỉnh điểm 0 becircn ngoagravei vagrave khả năng điều chỉnh tỉ số lagravem trograven ADC 0809 dễ dagraveng giao tiếp với caacutec bộ vi xử lyacute Sơ đồ chacircn ADC 0809
Higravenh 23-Sơ đồ chacircn ADC Yacute nghĩa caacutec chacircn IN0 đến IN7 8 ngotilde vagraveo tương tự A B C giải matilde chọn một trong 8 ngotilde vagraveo Z-1 đến Z-8 ngotilde ra song song 8 bit ALE cho pheacutep chốt địa chỉ START xung bắt đầu chuyển đổi CLK xung đồng hồ
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 10
REF (+) điện thế tham chiếu (+)
REF (-) điện thế tham chiếu (-)
VCC nguồn cung cấp
Caacutec đặc điểm củaADC 0809 Độ phacircn giải 8 bit Tổng sai số chưa chỉnh định +- frac12 LSB +- 1 LSB Thời gian chuyển đổi 100us ở tần số 640 kHz Nguồn cung cấp + 5V Điện aacutep ngotilde vagraveo 0 ndash 5V Tần số xung clock 10kHz ndash 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dagraveng giao tiếp với vi xử lyacute hoặc dugraveng riecircng Khocircng cần điều chỉnh zero hoặc đầy thang
Nguyecircn lyacute hoạt độngADC 0809 coacute 8 ngotilde vagraveo tương tự 8 ngotilde ra 8 bit coacute thể chọn 1 trong 8 ngotilde vagraveo tương tự để chuyển đổi sang số 8 bitCaacutec ngotilde vagraveo được chọn bằng caacutech giải matilde Chọn 1 trong 8 ngotilde vagraveo tương tự được thực hiện nhờ 3 chacircn ADDA ADDB ADDC như bảng trạng thaacutei sau
Sau khi kiacutech xung start thigrave bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start ngotilde ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tiacutenh từ cạnh xuống của xung start) Luacutec nagravey bit cơ trọng số lớn nhất (MSB) được đặt lecircn mức 1 tất cả caacutec bit cograven lại ở mức 0 đồng thời tạo ra điện thế coacute giaacute trị Vref2 điện thế nagravey được so saacutenh với điện thế vagraveo in+ Nếu Vin gt Vref2 thigrave bit MSB vẫn ở mức 1+ Nếu Vin lt Vref2 thigrave bit MSB vẫn ở mức 0Tương tự như vậy bit kế tiếp MSB được đặt lecircn 1 vagrave tạo ra điện thế coacute giaacute trị Vref4 vagrave
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 4
214 SƠ ĐỒ CHAcircN AT89S52
Higravenh 22 Sơ đồ chacircn AT89S52
bull Port 0
Port 0 lagrave port coacute 2 chức năng ở caacutec chacircn 32 ndash 39 của AT89C51
- Chức năng IO (xuất nhập) dugraveng cho caacutec thiết kế nhỏ Tuy nhiecircn khi dugraveng
chức năng nagravey thigrave Port 0 phải dugraveng thecircm caacutec điện trở keacuteo lecircn (pull-up) giaacute trị
của điện trở phụ thuộc vagraveo thagravenh phần kết nối với Port
Khi dugraveng lagravem ngotilde ra Port 0 coacute thể keacuteo được 8 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 0 phải được set mức logic 1 trước đoacute
- Chức năng địa chỉ dữ liệu đa hợp khi dugraveng caacutec thiết kế lớn đogravei hỏi phải sử
dụng bộ nhớ ngoagravei thigrave Port 0 vừa lagrave bus dữ liệu (8 bit) vừa lagrave bus địa chỉ (8 bit
thấp)
Ngoagravei ra khi lập trigravenh cho AT89C51 Port 0 cograven dugraveng để nhận matilde khi lập trigravenh
vagrave xuất magrave khi kiểm tra (quaacute trigravenh kiểm tra đogravei hỏi phải coacute điện trở keacuteo lecircn)
bull Port 1
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 5
Port1 (chacircn 1 ndash 8) chỉ coacute một chức năng lagrave IO khocircng dugraveng cho mục điacutech khaacutec
(chỉ trong 803280528952 thigrave dugraveng thecircm P10 vagrave P11 cho bộ định thời thứ 3) Tại
Port 1 đatilde coacute điện trở keacuteo lecircn necircn khocircng cần thecircm điện trở ngoagravei
Port 1 coacute khả năng keacuteo được 4 ngotilde TTL vagrave cograven dugraveng lagravem 8 bit địa chỉ thấp
trong quaacute trigravenh lập trigravenh hay kiểm tra
Khi dugraveng lagravem ngotilde vagraveo Port 1 phải được set mức logic 1 trước đoacute
bull Port 2
Port 2 (chacircn 21 ndash 28) lagrave port coacute 2 chức năng
- Chức năng IO (xuất nhập) coacute khả năng keacuteo được 4 ngotilde TTL
- Chức năng địa chỉ dugraveng lagravem 8 bit địa chỉ cao khi cần bộ nhớ ngoagravei coacute địa chỉ
16 bit Khi đoacute Port 2 khocircng được dugraveng cho mục điacutech IO
Khi dugraveng lagravem ngotilde vagraveo Port 2 phải được set mức logic 1 trước đoacute
Khi lập trigravenh Port 2 dugraveng lagravem 8 bit địa chỉ cao hay một số tiacuten hiệu điều khiển
bull Port 3
Port 3 (chacircn 10 ndash 17) lagrave port coacute 2 chức năng
- Chức năng IO coacute khả năng keacuteo được 4 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 3 phải được set mức logic 1 trước đoacute
- Chức năng khaacutec mocirc tả như bảng 11Bảng 21 Chức năng caacutec chacircn của Port 3
Bit Tecircn Chức năng
P30 RxD Ngotilde vagraveo port nối tiếp
P31 TxD Ngotilde ra port nối tiếp
P32 INT0 Ngắt ngoagravei 0
P33 INT1 Ngắt ngoagravei 1
P34 T0 Ngotilde vagraveo của bộ định thời 0
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 6
P35 T1 Ngotilde vagraveo của bộ định thời 1
P36 WR Tiacuten hiệu điều khiển ghi dữ liệu lecircn bộ nhớ ngoagravei
P37 RD Tiacuten hiệu điều khiển đọc từ bộ nhớ dữ liệu ngoagravei
bull NGUỒN
Chacircn 40 VCC = 5V plusmn 20
Chacircn 20 GND
bull PSEN (Program Store Enable)
PSEN (chacircn 29) cho pheacutep đọc bộ nhớ chương trigravenh mở rộng đối với caacutec ứng
dụng sử dụng ROM ngoagravei thường được nối đến chacircn OC (Output Control) của
ROM để đọc caacutec byte matilde lệnh PSEN sẽ ở mức logic 0 trong thời gian AT89C51 lấy
lệnhTrong quaacute trigravenh nagravey PSEN sẽ tiacutech cực 2 lần trong 1 chu kỳ maacutey
Matilde lệnh của chương trigravenh được đọc từ ROM thocircng qua bus dữ liệu (Port0) vagrave
bus địa chỉ (Port0 + Port2)
Khi 8951 thi hagravenh chương trigravenh trong ROM nội PSEN sẽ ở mức logic 1
bull ALEPROG (Address Latch Enable Program)
ALEPROG (chacircn 30) cho pheacutep taacutech caacutec đường địa chỉ vagrave dữ liệu tại Port 0
khi truy xuất bộ nhớ ngoagravei ALE thường nối với chacircn Clock của IC chốt (74373
74573)
Caacutec xung tiacuten hiệu ALE coacute tốc độ bằng 16 lần tần số dao động trecircn chip vagrave coacute
thể được dugraveng lagravem tiacuten hiệu clock cho caacutec phần khaacutec của hệ thống Xung nagravey coacute thể
cấm bằng caacutech set bit 0 của SFR tại địa chỉ 8Eh lecircn 1 Khi đoacute ALE chỉ coacute taacutec dụng
khi dugraveng lệnh MOVX hay MOVC Ngoagravei ra chacircn nagravey cograven được dugraveng lagravem ngotilde vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 7
xung lập trigravenh cho ROM nội (PROG)
bull EA VPP (External Access)
EA (chacircn 31) dugraveng để cho pheacutep thực thi chương trigravenh từ ROM ngoagravei Khi nối
chacircn 31 với Vcc AT89S52 sẽ thực thi chương trigravenh từ ROM nội (tối đa 8KB) ngược
lại thigrave thực thi từ ROM ngoagravei (tối đa 64KB)
Ngoagravei ra chacircn EA được lấy lagravem chacircn cấp nguồn 12V khi lập trigravenh cho ROM
bull RST (Reset)
RST (chacircn 9) cho pheacutep reset AT89C51 khi ngotilde vagraveo tiacuten hiệu đưa lecircn mức 1
trong iacutet nhất lagrave 2 chu kỳ maacutey
bull X1X2
Ngotilde vagraveo vagrave ngotilde ra bộ dao động khi sử dụng coacute thể chỉ cần kết nối thecircm thạch
anh vagrave caacutec tụ như higravenh vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho
AT89C51 lagrave 12Mhz
215 ĐỊNH KỲ CHU KỲ MAacuteY
Một chu kỳ maacutey bao gồm 6 trạng thaacutei (12 xung clock) Một trạng thaacutei bao gồm
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 8
2 phần ứng với 12 xung clock Phase 1 vagrave Phase 2 Như vậy một chu kỳ maacutey bao
gồm 12 xung clock được biểu diễn từ S1P1 đến S6P2 (State 1 Phase 1 1048774 State 6
Phase 2) Chu kỳ lấy lệnh vagrave thực thi lệnh mocirc tả như higravenh 14
Tiacuten hiệu chốt địa chỉ ALE tiacutech cực 2 lần trong một chu kỳ maacutey (trong khoảng
thời gian S1P2 đến S2P1 vagrave từ S4P2 đến S5P1) Từ đoacute tần số xung tại chacircn ALE bằng
16 tần số thạch anh
1048774 Đối với caacutec lệnh thực thi trong 1 chu kỳ
- Lệnh 1 byte được thực thi tại thời điểm S1P2 sau khi matilde lệnh được chốt vagraveo
thanh ghi lệnh tại S1P1
- Lệnh 2 byte byte thứ 2 được đọc tại thời điểm S4 vagrave sẽ được thực thi tại thời
điểm S4
1048774 Đối với caacutec lệnh thực thi trong 2 chu kỳ
Quaacute trigravenh lấy lệnh thực hiện tại thời điểm S1 của chu kỳ đầu tiecircn (byte magrave lệnh
216TỔ CHỨC BỘ NHỚ
Bộ nhớ của họ MCS-51 coacute thể chia thagravenh 2 phần bộ nhớ trong vagrave bộ nhớ
ngoagravei Bộ nhớ trong bao gồm 4 KB ROM vagrave 128 byte RAM (256 byte trong 8052)
Caacutec byte RAM coacute địa chỉ từ 00h ndash 7Fh vagrave caacutec thanh ghi chức năng đặc biệt (SFR) coacute
địa chỉ từ 80h ndash 0FFh coacute thể truy xuất trực tiếp Đối với 8052 128 byte RAM cao (địa
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 9
chỉ từ 80h ndash 0FFh) khocircng thể truy xuất trực tiếp magrave chỉ coacute thể truy xuất giaacuten tiếp (xem
thecircm trong phần tập lệnh)
Bộ nhớ ngoagravei bao gồm bộ nhớ chương trigravenh (điều khiển đọc bằng tiacuten hiệu
PSEN) vagrave bộ nhớ dữ liệu (điều khiển bằng tiacuten hiệu RD hay WR để cho pheacutep đọc
hay ghi dữ liệu) Do số đường địa chỉ của MCS-51 lagrave 16 bit (Port 0 chứa 8 bit thấp vagrave
Port 2 chứa 8 bit cao) necircn bộ nhớ ngoagravei coacute thể giải matilde tối đa lagrave 64KB
22 ADC 0809
Bộ ADC 0809 lagrave một thiết bị CMOS tiacutech hợp với một bộ chuyển đổi từ tương tự sang số 8 bit bộ chọn 8 kecircnh vagrave một bocirc logic điều khiển tương thiacutech Bộ chuyển đổi AD 8 bit nagravey dugraveng phương phaacutep chuyển đổi xấp xỉ tiếp Bộ chọn kecircnh coacute thể truy xuất bất kềnh nagraveo trong caacutec ngotilde vagraveo tương tự một caacutenh độc lậpThiết bị nagravey loại trừ khả năng cần thiết điều chỉnh điểm 0 becircn ngoagravei vagrave khả năng điều chỉnh tỉ số lagravem trograven ADC 0809 dễ dagraveng giao tiếp với caacutec bộ vi xử lyacute Sơ đồ chacircn ADC 0809
Higravenh 23-Sơ đồ chacircn ADC Yacute nghĩa caacutec chacircn IN0 đến IN7 8 ngotilde vagraveo tương tự A B C giải matilde chọn một trong 8 ngotilde vagraveo Z-1 đến Z-8 ngotilde ra song song 8 bit ALE cho pheacutep chốt địa chỉ START xung bắt đầu chuyển đổi CLK xung đồng hồ
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 10
REF (+) điện thế tham chiếu (+)
REF (-) điện thế tham chiếu (-)
VCC nguồn cung cấp
Caacutec đặc điểm củaADC 0809 Độ phacircn giải 8 bit Tổng sai số chưa chỉnh định +- frac12 LSB +- 1 LSB Thời gian chuyển đổi 100us ở tần số 640 kHz Nguồn cung cấp + 5V Điện aacutep ngotilde vagraveo 0 ndash 5V Tần số xung clock 10kHz ndash 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dagraveng giao tiếp với vi xử lyacute hoặc dugraveng riecircng Khocircng cần điều chỉnh zero hoặc đầy thang
Nguyecircn lyacute hoạt độngADC 0809 coacute 8 ngotilde vagraveo tương tự 8 ngotilde ra 8 bit coacute thể chọn 1 trong 8 ngotilde vagraveo tương tự để chuyển đổi sang số 8 bitCaacutec ngotilde vagraveo được chọn bằng caacutech giải matilde Chọn 1 trong 8 ngotilde vagraveo tương tự được thực hiện nhờ 3 chacircn ADDA ADDB ADDC như bảng trạng thaacutei sau
Sau khi kiacutech xung start thigrave bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start ngotilde ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tiacutenh từ cạnh xuống của xung start) Luacutec nagravey bit cơ trọng số lớn nhất (MSB) được đặt lecircn mức 1 tất cả caacutec bit cograven lại ở mức 0 đồng thời tạo ra điện thế coacute giaacute trị Vref2 điện thế nagravey được so saacutenh với điện thế vagraveo in+ Nếu Vin gt Vref2 thigrave bit MSB vẫn ở mức 1+ Nếu Vin lt Vref2 thigrave bit MSB vẫn ở mức 0Tương tự như vậy bit kế tiếp MSB được đặt lecircn 1 vagrave tạo ra điện thế coacute giaacute trị Vref4 vagrave
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 5
Port1 (chacircn 1 ndash 8) chỉ coacute một chức năng lagrave IO khocircng dugraveng cho mục điacutech khaacutec
(chỉ trong 803280528952 thigrave dugraveng thecircm P10 vagrave P11 cho bộ định thời thứ 3) Tại
Port 1 đatilde coacute điện trở keacuteo lecircn necircn khocircng cần thecircm điện trở ngoagravei
Port 1 coacute khả năng keacuteo được 4 ngotilde TTL vagrave cograven dugraveng lagravem 8 bit địa chỉ thấp
trong quaacute trigravenh lập trigravenh hay kiểm tra
Khi dugraveng lagravem ngotilde vagraveo Port 1 phải được set mức logic 1 trước đoacute
bull Port 2
Port 2 (chacircn 21 ndash 28) lagrave port coacute 2 chức năng
- Chức năng IO (xuất nhập) coacute khả năng keacuteo được 4 ngotilde TTL
- Chức năng địa chỉ dugraveng lagravem 8 bit địa chỉ cao khi cần bộ nhớ ngoagravei coacute địa chỉ
16 bit Khi đoacute Port 2 khocircng được dugraveng cho mục điacutech IO
Khi dugraveng lagravem ngotilde vagraveo Port 2 phải được set mức logic 1 trước đoacute
Khi lập trigravenh Port 2 dugraveng lagravem 8 bit địa chỉ cao hay một số tiacuten hiệu điều khiển
bull Port 3
Port 3 (chacircn 10 ndash 17) lagrave port coacute 2 chức năng
- Chức năng IO coacute khả năng keacuteo được 4 ngotilde TTL
Khi dugraveng lagravem ngotilde vagraveo Port 3 phải được set mức logic 1 trước đoacute
- Chức năng khaacutec mocirc tả như bảng 11Bảng 21 Chức năng caacutec chacircn của Port 3
Bit Tecircn Chức năng
P30 RxD Ngotilde vagraveo port nối tiếp
P31 TxD Ngotilde ra port nối tiếp
P32 INT0 Ngắt ngoagravei 0
P33 INT1 Ngắt ngoagravei 1
P34 T0 Ngotilde vagraveo của bộ định thời 0
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 6
P35 T1 Ngotilde vagraveo của bộ định thời 1
P36 WR Tiacuten hiệu điều khiển ghi dữ liệu lecircn bộ nhớ ngoagravei
P37 RD Tiacuten hiệu điều khiển đọc từ bộ nhớ dữ liệu ngoagravei
bull NGUỒN
Chacircn 40 VCC = 5V plusmn 20
Chacircn 20 GND
bull PSEN (Program Store Enable)
PSEN (chacircn 29) cho pheacutep đọc bộ nhớ chương trigravenh mở rộng đối với caacutec ứng
dụng sử dụng ROM ngoagravei thường được nối đến chacircn OC (Output Control) của
ROM để đọc caacutec byte matilde lệnh PSEN sẽ ở mức logic 0 trong thời gian AT89C51 lấy
lệnhTrong quaacute trigravenh nagravey PSEN sẽ tiacutech cực 2 lần trong 1 chu kỳ maacutey
Matilde lệnh của chương trigravenh được đọc từ ROM thocircng qua bus dữ liệu (Port0) vagrave
bus địa chỉ (Port0 + Port2)
Khi 8951 thi hagravenh chương trigravenh trong ROM nội PSEN sẽ ở mức logic 1
bull ALEPROG (Address Latch Enable Program)
ALEPROG (chacircn 30) cho pheacutep taacutech caacutec đường địa chỉ vagrave dữ liệu tại Port 0
khi truy xuất bộ nhớ ngoagravei ALE thường nối với chacircn Clock của IC chốt (74373
74573)
Caacutec xung tiacuten hiệu ALE coacute tốc độ bằng 16 lần tần số dao động trecircn chip vagrave coacute
thể được dugraveng lagravem tiacuten hiệu clock cho caacutec phần khaacutec của hệ thống Xung nagravey coacute thể
cấm bằng caacutech set bit 0 của SFR tại địa chỉ 8Eh lecircn 1 Khi đoacute ALE chỉ coacute taacutec dụng
khi dugraveng lệnh MOVX hay MOVC Ngoagravei ra chacircn nagravey cograven được dugraveng lagravem ngotilde vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 7
xung lập trigravenh cho ROM nội (PROG)
bull EA VPP (External Access)
EA (chacircn 31) dugraveng để cho pheacutep thực thi chương trigravenh từ ROM ngoagravei Khi nối
chacircn 31 với Vcc AT89S52 sẽ thực thi chương trigravenh từ ROM nội (tối đa 8KB) ngược
lại thigrave thực thi từ ROM ngoagravei (tối đa 64KB)
Ngoagravei ra chacircn EA được lấy lagravem chacircn cấp nguồn 12V khi lập trigravenh cho ROM
bull RST (Reset)
RST (chacircn 9) cho pheacutep reset AT89C51 khi ngotilde vagraveo tiacuten hiệu đưa lecircn mức 1
trong iacutet nhất lagrave 2 chu kỳ maacutey
bull X1X2
Ngotilde vagraveo vagrave ngotilde ra bộ dao động khi sử dụng coacute thể chỉ cần kết nối thecircm thạch
anh vagrave caacutec tụ như higravenh vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho
AT89C51 lagrave 12Mhz
215 ĐỊNH KỲ CHU KỲ MAacuteY
Một chu kỳ maacutey bao gồm 6 trạng thaacutei (12 xung clock) Một trạng thaacutei bao gồm
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 8
2 phần ứng với 12 xung clock Phase 1 vagrave Phase 2 Như vậy một chu kỳ maacutey bao
gồm 12 xung clock được biểu diễn từ S1P1 đến S6P2 (State 1 Phase 1 1048774 State 6
Phase 2) Chu kỳ lấy lệnh vagrave thực thi lệnh mocirc tả như higravenh 14
Tiacuten hiệu chốt địa chỉ ALE tiacutech cực 2 lần trong một chu kỳ maacutey (trong khoảng
thời gian S1P2 đến S2P1 vagrave từ S4P2 đến S5P1) Từ đoacute tần số xung tại chacircn ALE bằng
16 tần số thạch anh
1048774 Đối với caacutec lệnh thực thi trong 1 chu kỳ
- Lệnh 1 byte được thực thi tại thời điểm S1P2 sau khi matilde lệnh được chốt vagraveo
thanh ghi lệnh tại S1P1
- Lệnh 2 byte byte thứ 2 được đọc tại thời điểm S4 vagrave sẽ được thực thi tại thời
điểm S4
1048774 Đối với caacutec lệnh thực thi trong 2 chu kỳ
Quaacute trigravenh lấy lệnh thực hiện tại thời điểm S1 của chu kỳ đầu tiecircn (byte magrave lệnh
216TỔ CHỨC BỘ NHỚ
Bộ nhớ của họ MCS-51 coacute thể chia thagravenh 2 phần bộ nhớ trong vagrave bộ nhớ
ngoagravei Bộ nhớ trong bao gồm 4 KB ROM vagrave 128 byte RAM (256 byte trong 8052)
Caacutec byte RAM coacute địa chỉ từ 00h ndash 7Fh vagrave caacutec thanh ghi chức năng đặc biệt (SFR) coacute
địa chỉ từ 80h ndash 0FFh coacute thể truy xuất trực tiếp Đối với 8052 128 byte RAM cao (địa
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 9
chỉ từ 80h ndash 0FFh) khocircng thể truy xuất trực tiếp magrave chỉ coacute thể truy xuất giaacuten tiếp (xem
thecircm trong phần tập lệnh)
Bộ nhớ ngoagravei bao gồm bộ nhớ chương trigravenh (điều khiển đọc bằng tiacuten hiệu
PSEN) vagrave bộ nhớ dữ liệu (điều khiển bằng tiacuten hiệu RD hay WR để cho pheacutep đọc
hay ghi dữ liệu) Do số đường địa chỉ của MCS-51 lagrave 16 bit (Port 0 chứa 8 bit thấp vagrave
Port 2 chứa 8 bit cao) necircn bộ nhớ ngoagravei coacute thể giải matilde tối đa lagrave 64KB
22 ADC 0809
Bộ ADC 0809 lagrave một thiết bị CMOS tiacutech hợp với một bộ chuyển đổi từ tương tự sang số 8 bit bộ chọn 8 kecircnh vagrave một bocirc logic điều khiển tương thiacutech Bộ chuyển đổi AD 8 bit nagravey dugraveng phương phaacutep chuyển đổi xấp xỉ tiếp Bộ chọn kecircnh coacute thể truy xuất bất kềnh nagraveo trong caacutec ngotilde vagraveo tương tự một caacutenh độc lậpThiết bị nagravey loại trừ khả năng cần thiết điều chỉnh điểm 0 becircn ngoagravei vagrave khả năng điều chỉnh tỉ số lagravem trograven ADC 0809 dễ dagraveng giao tiếp với caacutec bộ vi xử lyacute Sơ đồ chacircn ADC 0809
Higravenh 23-Sơ đồ chacircn ADC Yacute nghĩa caacutec chacircn IN0 đến IN7 8 ngotilde vagraveo tương tự A B C giải matilde chọn một trong 8 ngotilde vagraveo Z-1 đến Z-8 ngotilde ra song song 8 bit ALE cho pheacutep chốt địa chỉ START xung bắt đầu chuyển đổi CLK xung đồng hồ
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 10
REF (+) điện thế tham chiếu (+)
REF (-) điện thế tham chiếu (-)
VCC nguồn cung cấp
Caacutec đặc điểm củaADC 0809 Độ phacircn giải 8 bit Tổng sai số chưa chỉnh định +- frac12 LSB +- 1 LSB Thời gian chuyển đổi 100us ở tần số 640 kHz Nguồn cung cấp + 5V Điện aacutep ngotilde vagraveo 0 ndash 5V Tần số xung clock 10kHz ndash 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dagraveng giao tiếp với vi xử lyacute hoặc dugraveng riecircng Khocircng cần điều chỉnh zero hoặc đầy thang
Nguyecircn lyacute hoạt độngADC 0809 coacute 8 ngotilde vagraveo tương tự 8 ngotilde ra 8 bit coacute thể chọn 1 trong 8 ngotilde vagraveo tương tự để chuyển đổi sang số 8 bitCaacutec ngotilde vagraveo được chọn bằng caacutech giải matilde Chọn 1 trong 8 ngotilde vagraveo tương tự được thực hiện nhờ 3 chacircn ADDA ADDB ADDC như bảng trạng thaacutei sau
Sau khi kiacutech xung start thigrave bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start ngotilde ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tiacutenh từ cạnh xuống của xung start) Luacutec nagravey bit cơ trọng số lớn nhất (MSB) được đặt lecircn mức 1 tất cả caacutec bit cograven lại ở mức 0 đồng thời tạo ra điện thế coacute giaacute trị Vref2 điện thế nagravey được so saacutenh với điện thế vagraveo in+ Nếu Vin gt Vref2 thigrave bit MSB vẫn ở mức 1+ Nếu Vin lt Vref2 thigrave bit MSB vẫn ở mức 0Tương tự như vậy bit kế tiếp MSB được đặt lecircn 1 vagrave tạo ra điện thế coacute giaacute trị Vref4 vagrave
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 6
P35 T1 Ngotilde vagraveo của bộ định thời 1
P36 WR Tiacuten hiệu điều khiển ghi dữ liệu lecircn bộ nhớ ngoagravei
P37 RD Tiacuten hiệu điều khiển đọc từ bộ nhớ dữ liệu ngoagravei
bull NGUỒN
Chacircn 40 VCC = 5V plusmn 20
Chacircn 20 GND
bull PSEN (Program Store Enable)
PSEN (chacircn 29) cho pheacutep đọc bộ nhớ chương trigravenh mở rộng đối với caacutec ứng
dụng sử dụng ROM ngoagravei thường được nối đến chacircn OC (Output Control) của
ROM để đọc caacutec byte matilde lệnh PSEN sẽ ở mức logic 0 trong thời gian AT89C51 lấy
lệnhTrong quaacute trigravenh nagravey PSEN sẽ tiacutech cực 2 lần trong 1 chu kỳ maacutey
Matilde lệnh của chương trigravenh được đọc từ ROM thocircng qua bus dữ liệu (Port0) vagrave
bus địa chỉ (Port0 + Port2)
Khi 8951 thi hagravenh chương trigravenh trong ROM nội PSEN sẽ ở mức logic 1
bull ALEPROG (Address Latch Enable Program)
ALEPROG (chacircn 30) cho pheacutep taacutech caacutec đường địa chỉ vagrave dữ liệu tại Port 0
khi truy xuất bộ nhớ ngoagravei ALE thường nối với chacircn Clock của IC chốt (74373
74573)
Caacutec xung tiacuten hiệu ALE coacute tốc độ bằng 16 lần tần số dao động trecircn chip vagrave coacute
thể được dugraveng lagravem tiacuten hiệu clock cho caacutec phần khaacutec của hệ thống Xung nagravey coacute thể
cấm bằng caacutech set bit 0 của SFR tại địa chỉ 8Eh lecircn 1 Khi đoacute ALE chỉ coacute taacutec dụng
khi dugraveng lệnh MOVX hay MOVC Ngoagravei ra chacircn nagravey cograven được dugraveng lagravem ngotilde vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 7
xung lập trigravenh cho ROM nội (PROG)
bull EA VPP (External Access)
EA (chacircn 31) dugraveng để cho pheacutep thực thi chương trigravenh từ ROM ngoagravei Khi nối
chacircn 31 với Vcc AT89S52 sẽ thực thi chương trigravenh từ ROM nội (tối đa 8KB) ngược
lại thigrave thực thi từ ROM ngoagravei (tối đa 64KB)
Ngoagravei ra chacircn EA được lấy lagravem chacircn cấp nguồn 12V khi lập trigravenh cho ROM
bull RST (Reset)
RST (chacircn 9) cho pheacutep reset AT89C51 khi ngotilde vagraveo tiacuten hiệu đưa lecircn mức 1
trong iacutet nhất lagrave 2 chu kỳ maacutey
bull X1X2
Ngotilde vagraveo vagrave ngotilde ra bộ dao động khi sử dụng coacute thể chỉ cần kết nối thecircm thạch
anh vagrave caacutec tụ như higravenh vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho
AT89C51 lagrave 12Mhz
215 ĐỊNH KỲ CHU KỲ MAacuteY
Một chu kỳ maacutey bao gồm 6 trạng thaacutei (12 xung clock) Một trạng thaacutei bao gồm
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 8
2 phần ứng với 12 xung clock Phase 1 vagrave Phase 2 Như vậy một chu kỳ maacutey bao
gồm 12 xung clock được biểu diễn từ S1P1 đến S6P2 (State 1 Phase 1 1048774 State 6
Phase 2) Chu kỳ lấy lệnh vagrave thực thi lệnh mocirc tả như higravenh 14
Tiacuten hiệu chốt địa chỉ ALE tiacutech cực 2 lần trong một chu kỳ maacutey (trong khoảng
thời gian S1P2 đến S2P1 vagrave từ S4P2 đến S5P1) Từ đoacute tần số xung tại chacircn ALE bằng
16 tần số thạch anh
1048774 Đối với caacutec lệnh thực thi trong 1 chu kỳ
- Lệnh 1 byte được thực thi tại thời điểm S1P2 sau khi matilde lệnh được chốt vagraveo
thanh ghi lệnh tại S1P1
- Lệnh 2 byte byte thứ 2 được đọc tại thời điểm S4 vagrave sẽ được thực thi tại thời
điểm S4
1048774 Đối với caacutec lệnh thực thi trong 2 chu kỳ
Quaacute trigravenh lấy lệnh thực hiện tại thời điểm S1 của chu kỳ đầu tiecircn (byte magrave lệnh
216TỔ CHỨC BỘ NHỚ
Bộ nhớ của họ MCS-51 coacute thể chia thagravenh 2 phần bộ nhớ trong vagrave bộ nhớ
ngoagravei Bộ nhớ trong bao gồm 4 KB ROM vagrave 128 byte RAM (256 byte trong 8052)
Caacutec byte RAM coacute địa chỉ từ 00h ndash 7Fh vagrave caacutec thanh ghi chức năng đặc biệt (SFR) coacute
địa chỉ từ 80h ndash 0FFh coacute thể truy xuất trực tiếp Đối với 8052 128 byte RAM cao (địa
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 9
chỉ từ 80h ndash 0FFh) khocircng thể truy xuất trực tiếp magrave chỉ coacute thể truy xuất giaacuten tiếp (xem
thecircm trong phần tập lệnh)
Bộ nhớ ngoagravei bao gồm bộ nhớ chương trigravenh (điều khiển đọc bằng tiacuten hiệu
PSEN) vagrave bộ nhớ dữ liệu (điều khiển bằng tiacuten hiệu RD hay WR để cho pheacutep đọc
hay ghi dữ liệu) Do số đường địa chỉ của MCS-51 lagrave 16 bit (Port 0 chứa 8 bit thấp vagrave
Port 2 chứa 8 bit cao) necircn bộ nhớ ngoagravei coacute thể giải matilde tối đa lagrave 64KB
22 ADC 0809
Bộ ADC 0809 lagrave một thiết bị CMOS tiacutech hợp với một bộ chuyển đổi từ tương tự sang số 8 bit bộ chọn 8 kecircnh vagrave một bocirc logic điều khiển tương thiacutech Bộ chuyển đổi AD 8 bit nagravey dugraveng phương phaacutep chuyển đổi xấp xỉ tiếp Bộ chọn kecircnh coacute thể truy xuất bất kềnh nagraveo trong caacutec ngotilde vagraveo tương tự một caacutenh độc lậpThiết bị nagravey loại trừ khả năng cần thiết điều chỉnh điểm 0 becircn ngoagravei vagrave khả năng điều chỉnh tỉ số lagravem trograven ADC 0809 dễ dagraveng giao tiếp với caacutec bộ vi xử lyacute Sơ đồ chacircn ADC 0809
Higravenh 23-Sơ đồ chacircn ADC Yacute nghĩa caacutec chacircn IN0 đến IN7 8 ngotilde vagraveo tương tự A B C giải matilde chọn một trong 8 ngotilde vagraveo Z-1 đến Z-8 ngotilde ra song song 8 bit ALE cho pheacutep chốt địa chỉ START xung bắt đầu chuyển đổi CLK xung đồng hồ
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 10
REF (+) điện thế tham chiếu (+)
REF (-) điện thế tham chiếu (-)
VCC nguồn cung cấp
Caacutec đặc điểm củaADC 0809 Độ phacircn giải 8 bit Tổng sai số chưa chỉnh định +- frac12 LSB +- 1 LSB Thời gian chuyển đổi 100us ở tần số 640 kHz Nguồn cung cấp + 5V Điện aacutep ngotilde vagraveo 0 ndash 5V Tần số xung clock 10kHz ndash 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dagraveng giao tiếp với vi xử lyacute hoặc dugraveng riecircng Khocircng cần điều chỉnh zero hoặc đầy thang
Nguyecircn lyacute hoạt độngADC 0809 coacute 8 ngotilde vagraveo tương tự 8 ngotilde ra 8 bit coacute thể chọn 1 trong 8 ngotilde vagraveo tương tự để chuyển đổi sang số 8 bitCaacutec ngotilde vagraveo được chọn bằng caacutech giải matilde Chọn 1 trong 8 ngotilde vagraveo tương tự được thực hiện nhờ 3 chacircn ADDA ADDB ADDC như bảng trạng thaacutei sau
Sau khi kiacutech xung start thigrave bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start ngotilde ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tiacutenh từ cạnh xuống của xung start) Luacutec nagravey bit cơ trọng số lớn nhất (MSB) được đặt lecircn mức 1 tất cả caacutec bit cograven lại ở mức 0 đồng thời tạo ra điện thế coacute giaacute trị Vref2 điện thế nagravey được so saacutenh với điện thế vagraveo in+ Nếu Vin gt Vref2 thigrave bit MSB vẫn ở mức 1+ Nếu Vin lt Vref2 thigrave bit MSB vẫn ở mức 0Tương tự như vậy bit kế tiếp MSB được đặt lecircn 1 vagrave tạo ra điện thế coacute giaacute trị Vref4 vagrave
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 7
xung lập trigravenh cho ROM nội (PROG)
bull EA VPP (External Access)
EA (chacircn 31) dugraveng để cho pheacutep thực thi chương trigravenh từ ROM ngoagravei Khi nối
chacircn 31 với Vcc AT89S52 sẽ thực thi chương trigravenh từ ROM nội (tối đa 8KB) ngược
lại thigrave thực thi từ ROM ngoagravei (tối đa 64KB)
Ngoagravei ra chacircn EA được lấy lagravem chacircn cấp nguồn 12V khi lập trigravenh cho ROM
bull RST (Reset)
RST (chacircn 9) cho pheacutep reset AT89C51 khi ngotilde vagraveo tiacuten hiệu đưa lecircn mức 1
trong iacutet nhất lagrave 2 chu kỳ maacutey
bull X1X2
Ngotilde vagraveo vagrave ngotilde ra bộ dao động khi sử dụng coacute thể chỉ cần kết nối thecircm thạch
anh vagrave caacutec tụ như higravenh vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho
AT89C51 lagrave 12Mhz
215 ĐỊNH KỲ CHU KỲ MAacuteY
Một chu kỳ maacutey bao gồm 6 trạng thaacutei (12 xung clock) Một trạng thaacutei bao gồm
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 8
2 phần ứng với 12 xung clock Phase 1 vagrave Phase 2 Như vậy một chu kỳ maacutey bao
gồm 12 xung clock được biểu diễn từ S1P1 đến S6P2 (State 1 Phase 1 1048774 State 6
Phase 2) Chu kỳ lấy lệnh vagrave thực thi lệnh mocirc tả như higravenh 14
Tiacuten hiệu chốt địa chỉ ALE tiacutech cực 2 lần trong một chu kỳ maacutey (trong khoảng
thời gian S1P2 đến S2P1 vagrave từ S4P2 đến S5P1) Từ đoacute tần số xung tại chacircn ALE bằng
16 tần số thạch anh
1048774 Đối với caacutec lệnh thực thi trong 1 chu kỳ
- Lệnh 1 byte được thực thi tại thời điểm S1P2 sau khi matilde lệnh được chốt vagraveo
thanh ghi lệnh tại S1P1
- Lệnh 2 byte byte thứ 2 được đọc tại thời điểm S4 vagrave sẽ được thực thi tại thời
điểm S4
1048774 Đối với caacutec lệnh thực thi trong 2 chu kỳ
Quaacute trigravenh lấy lệnh thực hiện tại thời điểm S1 của chu kỳ đầu tiecircn (byte magrave lệnh
216TỔ CHỨC BỘ NHỚ
Bộ nhớ của họ MCS-51 coacute thể chia thagravenh 2 phần bộ nhớ trong vagrave bộ nhớ
ngoagravei Bộ nhớ trong bao gồm 4 KB ROM vagrave 128 byte RAM (256 byte trong 8052)
Caacutec byte RAM coacute địa chỉ từ 00h ndash 7Fh vagrave caacutec thanh ghi chức năng đặc biệt (SFR) coacute
địa chỉ từ 80h ndash 0FFh coacute thể truy xuất trực tiếp Đối với 8052 128 byte RAM cao (địa
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 9
chỉ từ 80h ndash 0FFh) khocircng thể truy xuất trực tiếp magrave chỉ coacute thể truy xuất giaacuten tiếp (xem
thecircm trong phần tập lệnh)
Bộ nhớ ngoagravei bao gồm bộ nhớ chương trigravenh (điều khiển đọc bằng tiacuten hiệu
PSEN) vagrave bộ nhớ dữ liệu (điều khiển bằng tiacuten hiệu RD hay WR để cho pheacutep đọc
hay ghi dữ liệu) Do số đường địa chỉ của MCS-51 lagrave 16 bit (Port 0 chứa 8 bit thấp vagrave
Port 2 chứa 8 bit cao) necircn bộ nhớ ngoagravei coacute thể giải matilde tối đa lagrave 64KB
22 ADC 0809
Bộ ADC 0809 lagrave một thiết bị CMOS tiacutech hợp với một bộ chuyển đổi từ tương tự sang số 8 bit bộ chọn 8 kecircnh vagrave một bocirc logic điều khiển tương thiacutech Bộ chuyển đổi AD 8 bit nagravey dugraveng phương phaacutep chuyển đổi xấp xỉ tiếp Bộ chọn kecircnh coacute thể truy xuất bất kềnh nagraveo trong caacutec ngotilde vagraveo tương tự một caacutenh độc lậpThiết bị nagravey loại trừ khả năng cần thiết điều chỉnh điểm 0 becircn ngoagravei vagrave khả năng điều chỉnh tỉ số lagravem trograven ADC 0809 dễ dagraveng giao tiếp với caacutec bộ vi xử lyacute Sơ đồ chacircn ADC 0809
Higravenh 23-Sơ đồ chacircn ADC Yacute nghĩa caacutec chacircn IN0 đến IN7 8 ngotilde vagraveo tương tự A B C giải matilde chọn một trong 8 ngotilde vagraveo Z-1 đến Z-8 ngotilde ra song song 8 bit ALE cho pheacutep chốt địa chỉ START xung bắt đầu chuyển đổi CLK xung đồng hồ
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 10
REF (+) điện thế tham chiếu (+)
REF (-) điện thế tham chiếu (-)
VCC nguồn cung cấp
Caacutec đặc điểm củaADC 0809 Độ phacircn giải 8 bit Tổng sai số chưa chỉnh định +- frac12 LSB +- 1 LSB Thời gian chuyển đổi 100us ở tần số 640 kHz Nguồn cung cấp + 5V Điện aacutep ngotilde vagraveo 0 ndash 5V Tần số xung clock 10kHz ndash 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dagraveng giao tiếp với vi xử lyacute hoặc dugraveng riecircng Khocircng cần điều chỉnh zero hoặc đầy thang
Nguyecircn lyacute hoạt độngADC 0809 coacute 8 ngotilde vagraveo tương tự 8 ngotilde ra 8 bit coacute thể chọn 1 trong 8 ngotilde vagraveo tương tự để chuyển đổi sang số 8 bitCaacutec ngotilde vagraveo được chọn bằng caacutech giải matilde Chọn 1 trong 8 ngotilde vagraveo tương tự được thực hiện nhờ 3 chacircn ADDA ADDB ADDC như bảng trạng thaacutei sau
Sau khi kiacutech xung start thigrave bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start ngotilde ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tiacutenh từ cạnh xuống của xung start) Luacutec nagravey bit cơ trọng số lớn nhất (MSB) được đặt lecircn mức 1 tất cả caacutec bit cograven lại ở mức 0 đồng thời tạo ra điện thế coacute giaacute trị Vref2 điện thế nagravey được so saacutenh với điện thế vagraveo in+ Nếu Vin gt Vref2 thigrave bit MSB vẫn ở mức 1+ Nếu Vin lt Vref2 thigrave bit MSB vẫn ở mức 0Tương tự như vậy bit kế tiếp MSB được đặt lecircn 1 vagrave tạo ra điện thế coacute giaacute trị Vref4 vagrave
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 8
2 phần ứng với 12 xung clock Phase 1 vagrave Phase 2 Như vậy một chu kỳ maacutey bao
gồm 12 xung clock được biểu diễn từ S1P1 đến S6P2 (State 1 Phase 1 1048774 State 6
Phase 2) Chu kỳ lấy lệnh vagrave thực thi lệnh mocirc tả như higravenh 14
Tiacuten hiệu chốt địa chỉ ALE tiacutech cực 2 lần trong một chu kỳ maacutey (trong khoảng
thời gian S1P2 đến S2P1 vagrave từ S4P2 đến S5P1) Từ đoacute tần số xung tại chacircn ALE bằng
16 tần số thạch anh
1048774 Đối với caacutec lệnh thực thi trong 1 chu kỳ
- Lệnh 1 byte được thực thi tại thời điểm S1P2 sau khi matilde lệnh được chốt vagraveo
thanh ghi lệnh tại S1P1
- Lệnh 2 byte byte thứ 2 được đọc tại thời điểm S4 vagrave sẽ được thực thi tại thời
điểm S4
1048774 Đối với caacutec lệnh thực thi trong 2 chu kỳ
Quaacute trigravenh lấy lệnh thực hiện tại thời điểm S1 của chu kỳ đầu tiecircn (byte magrave lệnh
216TỔ CHỨC BỘ NHỚ
Bộ nhớ của họ MCS-51 coacute thể chia thagravenh 2 phần bộ nhớ trong vagrave bộ nhớ
ngoagravei Bộ nhớ trong bao gồm 4 KB ROM vagrave 128 byte RAM (256 byte trong 8052)
Caacutec byte RAM coacute địa chỉ từ 00h ndash 7Fh vagrave caacutec thanh ghi chức năng đặc biệt (SFR) coacute
địa chỉ từ 80h ndash 0FFh coacute thể truy xuất trực tiếp Đối với 8052 128 byte RAM cao (địa
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 9
chỉ từ 80h ndash 0FFh) khocircng thể truy xuất trực tiếp magrave chỉ coacute thể truy xuất giaacuten tiếp (xem
thecircm trong phần tập lệnh)
Bộ nhớ ngoagravei bao gồm bộ nhớ chương trigravenh (điều khiển đọc bằng tiacuten hiệu
PSEN) vagrave bộ nhớ dữ liệu (điều khiển bằng tiacuten hiệu RD hay WR để cho pheacutep đọc
hay ghi dữ liệu) Do số đường địa chỉ của MCS-51 lagrave 16 bit (Port 0 chứa 8 bit thấp vagrave
Port 2 chứa 8 bit cao) necircn bộ nhớ ngoagravei coacute thể giải matilde tối đa lagrave 64KB
22 ADC 0809
Bộ ADC 0809 lagrave một thiết bị CMOS tiacutech hợp với một bộ chuyển đổi từ tương tự sang số 8 bit bộ chọn 8 kecircnh vagrave một bocirc logic điều khiển tương thiacutech Bộ chuyển đổi AD 8 bit nagravey dugraveng phương phaacutep chuyển đổi xấp xỉ tiếp Bộ chọn kecircnh coacute thể truy xuất bất kềnh nagraveo trong caacutec ngotilde vagraveo tương tự một caacutenh độc lậpThiết bị nagravey loại trừ khả năng cần thiết điều chỉnh điểm 0 becircn ngoagravei vagrave khả năng điều chỉnh tỉ số lagravem trograven ADC 0809 dễ dagraveng giao tiếp với caacutec bộ vi xử lyacute Sơ đồ chacircn ADC 0809
Higravenh 23-Sơ đồ chacircn ADC Yacute nghĩa caacutec chacircn IN0 đến IN7 8 ngotilde vagraveo tương tự A B C giải matilde chọn một trong 8 ngotilde vagraveo Z-1 đến Z-8 ngotilde ra song song 8 bit ALE cho pheacutep chốt địa chỉ START xung bắt đầu chuyển đổi CLK xung đồng hồ
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 10
REF (+) điện thế tham chiếu (+)
REF (-) điện thế tham chiếu (-)
VCC nguồn cung cấp
Caacutec đặc điểm củaADC 0809 Độ phacircn giải 8 bit Tổng sai số chưa chỉnh định +- frac12 LSB +- 1 LSB Thời gian chuyển đổi 100us ở tần số 640 kHz Nguồn cung cấp + 5V Điện aacutep ngotilde vagraveo 0 ndash 5V Tần số xung clock 10kHz ndash 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dagraveng giao tiếp với vi xử lyacute hoặc dugraveng riecircng Khocircng cần điều chỉnh zero hoặc đầy thang
Nguyecircn lyacute hoạt độngADC 0809 coacute 8 ngotilde vagraveo tương tự 8 ngotilde ra 8 bit coacute thể chọn 1 trong 8 ngotilde vagraveo tương tự để chuyển đổi sang số 8 bitCaacutec ngotilde vagraveo được chọn bằng caacutech giải matilde Chọn 1 trong 8 ngotilde vagraveo tương tự được thực hiện nhờ 3 chacircn ADDA ADDB ADDC như bảng trạng thaacutei sau
Sau khi kiacutech xung start thigrave bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start ngotilde ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tiacutenh từ cạnh xuống của xung start) Luacutec nagravey bit cơ trọng số lớn nhất (MSB) được đặt lecircn mức 1 tất cả caacutec bit cograven lại ở mức 0 đồng thời tạo ra điện thế coacute giaacute trị Vref2 điện thế nagravey được so saacutenh với điện thế vagraveo in+ Nếu Vin gt Vref2 thigrave bit MSB vẫn ở mức 1+ Nếu Vin lt Vref2 thigrave bit MSB vẫn ở mức 0Tương tự như vậy bit kế tiếp MSB được đặt lecircn 1 vagrave tạo ra điện thế coacute giaacute trị Vref4 vagrave
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 9
chỉ từ 80h ndash 0FFh) khocircng thể truy xuất trực tiếp magrave chỉ coacute thể truy xuất giaacuten tiếp (xem
thecircm trong phần tập lệnh)
Bộ nhớ ngoagravei bao gồm bộ nhớ chương trigravenh (điều khiển đọc bằng tiacuten hiệu
PSEN) vagrave bộ nhớ dữ liệu (điều khiển bằng tiacuten hiệu RD hay WR để cho pheacutep đọc
hay ghi dữ liệu) Do số đường địa chỉ của MCS-51 lagrave 16 bit (Port 0 chứa 8 bit thấp vagrave
Port 2 chứa 8 bit cao) necircn bộ nhớ ngoagravei coacute thể giải matilde tối đa lagrave 64KB
22 ADC 0809
Bộ ADC 0809 lagrave một thiết bị CMOS tiacutech hợp với một bộ chuyển đổi từ tương tự sang số 8 bit bộ chọn 8 kecircnh vagrave một bocirc logic điều khiển tương thiacutech Bộ chuyển đổi AD 8 bit nagravey dugraveng phương phaacutep chuyển đổi xấp xỉ tiếp Bộ chọn kecircnh coacute thể truy xuất bất kềnh nagraveo trong caacutec ngotilde vagraveo tương tự một caacutenh độc lậpThiết bị nagravey loại trừ khả năng cần thiết điều chỉnh điểm 0 becircn ngoagravei vagrave khả năng điều chỉnh tỉ số lagravem trograven ADC 0809 dễ dagraveng giao tiếp với caacutec bộ vi xử lyacute Sơ đồ chacircn ADC 0809
Higravenh 23-Sơ đồ chacircn ADC Yacute nghĩa caacutec chacircn IN0 đến IN7 8 ngotilde vagraveo tương tự A B C giải matilde chọn một trong 8 ngotilde vagraveo Z-1 đến Z-8 ngotilde ra song song 8 bit ALE cho pheacutep chốt địa chỉ START xung bắt đầu chuyển đổi CLK xung đồng hồ
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 10
REF (+) điện thế tham chiếu (+)
REF (-) điện thế tham chiếu (-)
VCC nguồn cung cấp
Caacutec đặc điểm củaADC 0809 Độ phacircn giải 8 bit Tổng sai số chưa chỉnh định +- frac12 LSB +- 1 LSB Thời gian chuyển đổi 100us ở tần số 640 kHz Nguồn cung cấp + 5V Điện aacutep ngotilde vagraveo 0 ndash 5V Tần số xung clock 10kHz ndash 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dagraveng giao tiếp với vi xử lyacute hoặc dugraveng riecircng Khocircng cần điều chỉnh zero hoặc đầy thang
Nguyecircn lyacute hoạt độngADC 0809 coacute 8 ngotilde vagraveo tương tự 8 ngotilde ra 8 bit coacute thể chọn 1 trong 8 ngotilde vagraveo tương tự để chuyển đổi sang số 8 bitCaacutec ngotilde vagraveo được chọn bằng caacutech giải matilde Chọn 1 trong 8 ngotilde vagraveo tương tự được thực hiện nhờ 3 chacircn ADDA ADDB ADDC như bảng trạng thaacutei sau
Sau khi kiacutech xung start thigrave bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start ngotilde ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tiacutenh từ cạnh xuống của xung start) Luacutec nagravey bit cơ trọng số lớn nhất (MSB) được đặt lecircn mức 1 tất cả caacutec bit cograven lại ở mức 0 đồng thời tạo ra điện thế coacute giaacute trị Vref2 điện thế nagravey được so saacutenh với điện thế vagraveo in+ Nếu Vin gt Vref2 thigrave bit MSB vẫn ở mức 1+ Nếu Vin lt Vref2 thigrave bit MSB vẫn ở mức 0Tương tự như vậy bit kế tiếp MSB được đặt lecircn 1 vagrave tạo ra điện thế coacute giaacute trị Vref4 vagrave
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 10
REF (+) điện thế tham chiếu (+)
REF (-) điện thế tham chiếu (-)
VCC nguồn cung cấp
Caacutec đặc điểm củaADC 0809 Độ phacircn giải 8 bit Tổng sai số chưa chỉnh định +- frac12 LSB +- 1 LSB Thời gian chuyển đổi 100us ở tần số 640 kHz Nguồn cung cấp + 5V Điện aacutep ngotilde vagraveo 0 ndash 5V Tần số xung clock 10kHz ndash 1280 kHz Nhiệt độ hoạt động - 40oC đến 85oC Dễ dagraveng giao tiếp với vi xử lyacute hoặc dugraveng riecircng Khocircng cần điều chỉnh zero hoặc đầy thang
Nguyecircn lyacute hoạt độngADC 0809 coacute 8 ngotilde vagraveo tương tự 8 ngotilde ra 8 bit coacute thể chọn 1 trong 8 ngotilde vagraveo tương tự để chuyển đổi sang số 8 bitCaacutec ngotilde vagraveo được chọn bằng caacutech giải matilde Chọn 1 trong 8 ngotilde vagraveo tương tự được thực hiện nhờ 3 chacircn ADDA ADDB ADDC như bảng trạng thaacutei sau
Sau khi kiacutech xung start thigrave bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống của xung start ngotilde ra EOC sẽ xuống mức thấp sau khoảng 8 xung clock (tiacutenh từ cạnh xuống của xung start) Luacutec nagravey bit cơ trọng số lớn nhất (MSB) được đặt lecircn mức 1 tất cả caacutec bit cograven lại ở mức 0 đồng thời tạo ra điện thế coacute giaacute trị Vref2 điện thế nagravey được so saacutenh với điện thế vagraveo in+ Nếu Vin gt Vref2 thigrave bit MSB vẫn ở mức 1+ Nếu Vin lt Vref2 thigrave bit MSB vẫn ở mức 0Tương tự như vậy bit kế tiếp MSB được đặt lecircn 1 vagrave tạo ra điện thế coacute giaacute trị Vref4 vagrave
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 11
cũng so saacutenh với điện aacutep ngotilde vagraveo Vin Quaacute trigravenh cứ tiếp tục như vậy cho đến khi xaacutec định được bit cuối cugraveng Khi đoacute chacircn EOC lecircn mức 1 baacuteo cho biết đatilde kết thuacutec chuyển đổiTrong suốt quaacute trigravenh chuyển đổi chacircn OE được đặt ở mức 1 muốn đọc dữ liệu ra chacircn OE xuống mức 0Trong suốt quaacute trigravenh chuyển đổi nếu coacute 1 xung start taacutec động thigrave ADC sẽ ngưng chuyển đổiMatilde ra N cho một ngotilde vagraveo tugravey yacute lagrave một số nguyecircn
Trong đoacute Vin điện aacutep ngotilde vagraveo hệ so saacutenhVref(+) điện aacutep tại chacircn REF(+)Vref(-) điện aacutep tại chacircn REF(-)
Vref(+) = Vcc = 5V thigrave đầy thang lagrave 256- Giaacute trị bước nhỏ nhất1 LSB =5(28 -1) = 00196 VbyteVậy với 256 bước Vin = 5VAacutep vagraveo lớn nhất của ADC 0809 lagrave 5V
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 12
bull Biểu đồ thời gian của ADC 0809
được dugraveng để thực hiện caacutec điện aacutep đầu ra khaacutec 0 - +5V
23 LM35
Higravenh 24 Cảm biến nhiệt
Để đo nhiệt độ được chiacutenh xaacutec tất nhiecircn cần coacute một đầu dograve thiacutech hợp Đầu dograve lagrave một cảm biến nhiệt độ coacute nhiệm vụ vận chuyển từ nhiệt độ qua tiacuten hiệu điện Coacute rất loại cảm biến nhưng dựa vagraveo lyacute thuyết vagrave thực tế của mạch cần thiết kế ta dugraveng phương phaacutep đo bằng IC
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 13
cảm biến nhiệt độ Caacutec IC cảm biến nhiệt độ coacute độ chiacutenh xaacutec cao dễ tigravem giaacute thanh rẻ Một trong số đoacute lagrave IC LM35 lagrave loại thocircng dụng trecircn thị trường hiện nay đồng thời noacute coacute những đặc tiacutenh lagravem phugrave hợp với thiết kế chi tiết của mạch
Một số tiacutenh chất cơ bản của LM35
- LM35 coacute độ biến thiecircn theo nhiệt độ10mV1oC- 0V tương ứng 0oC- Độ chiacutenh xaacutec cao tiacutenh năng cảm biến rất nhạy ở nhiệt độ 25oC noacute coacute sai số khocircng quaacute
05oC Với tầm đo từ -55oC đến 150oC tiacuten hiệu ra tuyến tiacutenh liecircn tục với những thay đổi của tiacuten hiệu ngotilde vagraveo
- Thocircng số kỹ thuậtTiecircu taacuten cocircng suất thấp
Điện aacutep lagravem việc từ 4V-30V
Đatilde được tiacutech hợp bộ định dograveng lagravem việc becircn trong
24 LCD
Giới thiệu Ngagravey nay thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều caacutec ứng dụng của VĐK LCD coacute rất nhiều ưu điểm so với caacutec dạng hiển thị khaacutec Noacute coacute khả năng hiển thị kiacute tự đa dạng trực quan (chữ số vagrave kiacute tự đồ họa) dễ dagraveng đưa vagraveo mạch ứng dụng theo nhiều giao thức giao tiếp khaacutec nhau tốn rất iacutet tagravei nguyecircn hệ thống vagrave giaacute thagravenh rẽ hellip Tổng Quaacutet Về LCD HD44780 241 Higravenh daacuteng vagrave kiacutech thước Coacute rất nhiều loại LCD với nhiều higravenh daacuteng vagrave kiacutech thước khaacutec nhau trecircn higravenh 1 lagrave loại LCD thocircng dụng
Higravenh 25 Higravenh daacuteng của loại LCD thocircng dụng
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 14
Khi sản xuất LCD nhagrave sản xuất đatilde tiacutech hợp chiacutep điều khiển (HD44780) becircn trong lớp vỏ vagrave chỉ đưa caacutec chacircn giao tiếp cần thiết Caacutec chacircn nagravey được đaacutenh số thứ tự vagrave đặt tecircn như higravenh 2
Higravenh 26 Sơ đồ chacircn của LCD
242 Chức năng caacutec chacircn
Bảng 24 Chức năng caacutec chacircn của LCD
Chacircn
Kyacute hiệu
Mocirc tả
1 Vss Chacircn nối đất cho LCD khi thiết kế mạch ta nối chacircn nagravey với GND của mạch điều khiển
2 VDD Chacircn cấp nguồn cho LCD khi thiết kế mạch ta nối chacircn nagravey với VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD
4 RS Chacircn chọn thanh ghi (Register select) Nối chacircn RS với logic ldquo0rdquo (GND) hoặc logic ldquo1rdquo (VCC) để chọn thanh ghi
+ Logic ldquo0rdquo Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ ldquoghirdquo - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ ldquođọcrdquo - read)
+ Logic ldquo1rdquo Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR becircn trong LCD
5 RW Chacircn chọn chế độ đọcghi (ReadWrite) Nối chacircn RW với logic ldquo0rdquo để LCD hoạt động ở chế độ ghi hoặc nối với logic ldquo1rdquo để
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 15
LCD ở chế độ đọc
6 E Chacircn cho pheacutep (Enable) Sau khi caacutec tiacuten hiệu được đặt lecircn bus DB0-DB7 caacutec lệnh chỉ được chấp nhận khi coacute 1 xung cho pheacutep của chacircn E
+ Ở chế độ ghi Dữ liệu ở bus sẽ được LCD chuyển vagraveo(chấp nhận) thanh ghi becircn trong noacute khi phaacutet hiện một xung (high-to-low transition) của tiacuten hiệu chacircn E
+ Ở chế độ đọc Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phaacutet hiện cạnh lecircn (low-to-high transition) ở chacircn E vagrave được LCD giữ ở bus đến khi nagraveo chacircn E xuống mức thấp
7 - 14
DB0 - DB7
Taacutem đường của bus dữ liệu dugraveng để trao đổi thocircng tin với MPU Coacute 2 chế độ sử dụng 8 đường bus nagravey
+ Chế độ 8 bit Dữ liệu được truyền trecircn cả 8 đường với bit MSB lagrave bit DB7
+ Chế độ 4 bit Dữ liệu được truyền trecircn 4 đường từ DB4 tới DB7 bit MSB lagrave DB7
15 - Nguồn dương cho đegraven nền
16 - GND cho đegraven nền
Ghi chuacute Ở chế độ ldquođọcrdquo nghĩa lagrave MPU sẽ đọc thocircng tin từ LCD thocircng qua caacutec chacircn DBx Cograven khi ở chế độ ldquoghirdquo nghĩa lagrave MPU xuất thocircng tin điều khiển cho LCD thocircng qua caacutec chacircn DBx 243 Sơ đồ khối của HD44780 Để hiểu rotilde hơn chức năng caacutec chacircn vagrave hoạt động của chuacuteng ta tigravem hiểu sơ qua chiacutep HD44780 thocircng qua caacutec khối cơ bản của noacute
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 16
Higravenh 27 Sơ đồ khối của HD44780
2431 Caacutec thanh ghi
Chiacutep HD44780 coacute 2 thanh ghi 8 bit quan trọng Thanh ghi lệnh IR (Instructor Register) vagrave thanh ghi dữ liệu DR (Data Register)
- Thanh ghi IR Để điều khiển LCD người dugraveng phải ldquora lệnhrdquo thocircng qua taacutem đường bus DB0-DB7 Mỗi lệnh được nhagrave sản xuất LCD đaacutenh địa chỉ rotilde ragraveng Người dugraveng chỉ việc cung cấp địa chỉ lệnh bằng caacutech nạp vagraveo thanh ghi IR Nghĩa lagrave khi ta nạp vagraveo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 17
thanh ghi IR một chuỗi 8 bit chiacutep HD44780 sẽ tra bảng matilde lệnh tại địa chỉ magrave IR cung cấp vagrave thực hiện lệnh đoacute
- Thanh ghi DR Thanh ghi DR dugraveng để chứa dữ liệu 8 bit để ghi vagraveo vugraveng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dugraveng để chứa dữ liệu từ 2 vugraveng RAM nagravey gởi ra cho MPU (ở chế độ đọc) Nghĩa lagrave khi MPU ghi thocircng tin vagraveo DR mạch nội becircn trong chiacutep sẽ tự động ghi thocircng tin nagravey vagraveo DDRAM hoặc CGRAM Hoặc khi thocircng tin về địa chỉ được ghi vagraveo IR dữ liệu ở địa chỉ nagravey trong vugraveng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU =gt Bằng caacutech điều khiển chacircn RS vagrave RW chuacuteng ta coacute thể chuyển qua lại giữ 2 thanh ghi nagravey khi giao tiếp với MPU Bảng sau đacircy toacutem tắt lại caacutec thiết lập đối với hai chacircn RS vagrave RW theo mục điacutech giao tiếp
Bảng 25 Chức năng chacircn RS vagrave RW theo mục điacutech sử dụng
RS RW Chức năng
0 0 Ghi vagraveo thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 vagrave giaacute trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vagraveo thanh ghi DR
1 1 Đọc dữ liệu từ DR
2432 Cờ baacuteo bận BF (Busy Flag)
Khi thực hiện caacutec hoạt động becircn trong chiacutep mạch nội becircn trong cần một khoảng thời gian để hoagraven tất Khi
đang thực thi caacutec hoạt động becircn trong chip như thế LCD bỏ qua mọi giao tiếp với becircn ngoagravei vagrave bật cờ BF (thocircng qua chacircn DB7 khi coacute thiết lập RS=0 RW=1) lecircn để baacuteo cho MPU biết noacute đang ldquobậnrdquo Dĩ nhiecircn khi xong việc noacute sẽ đặt cờ BF lại mức 0
2433 Bộ đếm địa chỉ AC (Address Counter)
Như trong sơ đồ khối thanh ghi IR khocircng trực tiếp kết nối với vugraveng RAM (DDRAM vagrave CGRAM) magrave thocircng qua bộ đếm địa chỉ AC Bộ đếm nagravey lại nối với 2 vugraveng RAM theo kiểu rẽ nhaacutenh Khi một địa chỉ lệnh được nạp vagraveo thanh ghi IR thocircng tin được nối
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 18
trực tiếp cho 2 vugraveng RAM nhưng việc chọn lựa vugraveng RAM tương taacutec đatilde được bao hagravem trong matilde lệnh
Sau khi ghi vagraveo (đọc từ) RAM bộ đếm AC tự động tăng lecircn (giảm đi) 1 đơn vị vagrave nội dung của AC được xuất ra cho MPU thocircng qua DB0-DB6 khi coacute thiết lập RS=0 vagrave RW=1 (xem bảng toacutem tắt RS - RW)
2434 Vugraveng RAM hiển thị DDRAM (Display Data RAM)
Đacircy lagrave vugraveng RAM dugraveng để hiển thị nghĩa lagrave ứng với một địa chỉ của RAM lagrave một ocirc kiacute tự trecircn magraven higravenh vagrave khi bạn ghi vagraveo vugraveng RAM nagravey một matilde 8 bit LCD sẽ hiển thị tại vị triacute tương ứng trecircn magraven higravenh một kiacute tự coacute matilde 8 bit magrave bạn đatilde cung cấp Higravenh sau đacircy sẽ trigravenh bagravey rotilde hơn mối liecircn hệ nagravey
Higravenh 28 Mối liecircn hệ giữa địa chỉ của DDRAM vagrave vị triacute hiển thị của LCD
Vugraveng RAM nagravey coacute 80x8 bit nhớ nghĩa lagrave chứa được 80 kiacute tự matilde 8 bit Những vugraveng RAM cograven lại khocircng dugraveng cho hiển thị coacute thể dugraveng như vugraveng RAM đa mục điacutech Lưu yacute lagrave để truy cập vagraveo DDRAM ta phải cung cấp địa chỉ cho AC theo matilde HEX
2435 Vugraveng ROM chứa kiacute tự CGROM Character Generator ROM
Vugraveng ROM nagravey dugraveng để chứa caacutec mẫu kiacute tự loại 5x8 hoặc 5x10 điểm ảnhkiacute tự vagrave định địa chỉ bằng 8 bit Tuy nhiecircn noacute chỉ coacute 208 mẫu kiacute tự 5x8 vagrave 32 mẫu kiacute tự kiểu 5x10 (tổng cộng lagrave 240 thay vigrave 2^8 = 256 mẫu kiacute tự) Người dugraveng khocircng thể thay đổi vugraveng ROM nagravey
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 19
Higravenh 29 Mối liecircn hệ giữa địa chỉ của ROM vagrave dữ liệu tạo mẫu kiacute tự
Như vậy để coacute thể ghi vagraveo vị triacute thứ x trecircn magraven higravenh một kiacute tự y nagraveo đoacute người dugraveng phải ghi vagraveo vugraveng DDRAM tại địa chỉ x (xem bảng mối liecircn hệ giữa DDRAM vagrave vị triacute hiển thị) một chuỗi matilde kiacute tự 8 bit trecircn CGROM Chuacute yacute lagrave trong bảng matilde kiacute tự trong CGROM ở higravenh becircn dưới coacute matilde ROM A00
2436 Vugraveng RAM chứa kiacute tự đồ họa CGRAM (Character Generator RAM)
Như trecircn bảng matilde kiacute tự nhagrave sản xuất dagravenh vugraveng coacute địa chỉ byte cao lagrave 0000 để người dugraveng coacute thể tạo caacutec mẫu kiacute tự đồ họa riecircng Tuy nhiecircn dung lượng vugraveng nagravey rất hạn chế Ta chỉ coacute thể tạo 8 kiacute tự loại 5x8 điểm ảnh hoặc 4 kiacute tự loại 5x10 điểm ảnh
244 Tập lệnh của LCD
Trước khi tigravem hiểu tập lệnh của LCD sau đacircy lagrave một vagravei chuacute yacute khi giao tiếp với LCD
Tuy trong sơ đồ khối của LCD coacute nhiều khối khaacutec nhau nhưng khi lập trigravenh điều khiển LCD ta chỉ coacute thể taacutec động trực tiếp được vagraveo 2 thanh ghi DR vagrave IR thocircng qua caacutec chacircn DBx vagrave ta phải thiết lập chacircn RS RW phugrave hợp để chuyển qua lại giữ 2 thanh ghi nagravey (xem bảng 2)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 20
Với mỗi lệnh LCD cần một khoảng thời gian để hoagraven tất thời gian nagravey coacute thể khaacute lacircu đối với tốc độ của MPU necircn ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hagravenh mới coacute thể ra lệnh tiếp theo
Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị mỗi khi coacute lệnh ghi vagraveo RAM (Điều nagravey giuacutep chương trigravenh gọn hơn)
Caacutec lệnh của LCD coacute thể chia thagravenh 4 nhoacutem như sau
bull Caacutec lệnh về kiểu hiển thị VD Kiểu hiển thị (1 hagraveng 2 hagraveng) chiều dagravei dữ liệu (8 bit 4 bit) hellip
bull Chỉ định địa chỉ RAM nội
bull Nhoacutem lệnh truyền dữ liệu trong RAM nội
bull Caacutec lệnh cograven lại
Bảng 26 Tập lệnh của LCD
Tecircn lệnh
Hoạt động
Clear
Display
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 0 1
Lệnh Clear Display (xoacutea hiển thị) sẽ ghi một khoảng trống-blank (matilde hiện kiacute tự 20H) vagraveo tất cả ocirc nhớ trong DDRAM sau đoacute trả bộ đếm địa AC=0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nghĩa lagrave Tắt hiển thị con trỏ dời về goacutec traacutei (hagraveng đầu tiecircn) chế độ tăng AC
Return
home
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 0 1
Lệnh Return home trả bộ đếm địa chỉ AC về 0 trả lại kiểu hiển thị gốc nếu noacute bị thay đổi Nội dung của DDRAM khocircng thay đổi
Entry
mode set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 0 1 [ID] [S]
ID Tăng (ID=1) hoặc giảm (ID=0) bộ đếm địa chỉ hiển thị AC 1 đơn
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 21
vị mỗi khi coacute hagravenh động ghi hoặc đọc vugraveng DDRAM Vị triacute con trỏ cũng di chuyển theo sự tăng giảm nagravey
S Khi S=1 toagraven bộ nội dung hiển thị bị dịch sang phải (ID=0) hoặc sang traacutei (ID=1) mỗi khi coacute hagravenh động ghi vugraveng DDRAM Khi S=0 khocircng dịch nội dung hiển thị Nội dung hiển thị khocircng dịch khi đọc DDRAM hoặc đọcghi vugraveng CGRAM
Display
onoff
control
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 0 1 [D] [C] [B]
D Hiển thị magraven higravenh khi D=1 vagrave ngược lại Khi tắt hiển thị nội dung DDRAM khocircng thay đổi
C Hiển thị con trỏ khi C=1 vagrave ngược lại
B Nhấp nhaacutey kiacute tự tại vị triacute con trỏ khi B=1 vagrave ngược lại
Chu kigrave nhấp nhaacutey khoảng 4096ms khi mạch dao động nội LCD lagrave 250kHz
Cursor
or
display
shift
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 0 1 [SC] [RL]
Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang traacutei magrave khocircng cần hagravenh động ghiđọc dữ liệu Khi hiển thị kiểu 2 dograveng con trỏ sẽ nhảy xuống dograveng dưới khi dịch qua vị triacute thứ 40 của hagraveng đầu tiecircn Dữ liệu hagraveng đầu vagrave hagraveng 2 dịch cugraveng một luacutec Chi tiết sử dụng xem bảng becircn dưới
SC RL Hoạt động
0 0 Dịch vị triacute con trỏ sang traacutei (Nghĩa lagrave giảm AC một đơn vị)
0 1 Dịch vị triacute con trỏ sang phải (Tăng AC lecircn 1 đơn vị)
1 0 Dịch toagraven bộ nội dung hiển thị sang traacutei con trỏ cũng dịch theo
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 22
1 1 Dịch toagraven bộ nội dung hiển thị sang phải con trỏ cũng dịch theo
Function
set
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 0 1 [DL] [N] [F]
DL Khi DL=1 LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Ngược lại giao thức giao tiếp lagrave 4 bit (từ bit DB7 đến bit DB0) Khi chọn giao thức 4 bit dữ liệu được truyềnnhận 2 lần liecircn tiếp với 4 bit cao gởinhận trước 4 bit thấp gởinhận sau
N Thiết lập số hagraveng hiển thị Khi N=0 hiển thị 1 hagraveng N=1 hiển thị 2 hagraveng
F Thiết lập kiểu kiacute tự Khi F=0 kiểu kiacute tự 5x8 điểm ảnh F=1 kiểu kiacute tự 5x10 điểm ảnh
Set
CGRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 0 1 [ACG][ACG][ACG][ACG][ACG][ACG]
Lệnh nagravey ghi vagraveo AC địa chỉ của CGRAM Kiacute hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ CGRAM tại địa chỉ đatilde được chỉ định
Set
DDRAM
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD]
Lệnh nagravey ghi vagraveo AC địa chỉ của DDRAM dugraveng khi cần thiết lập tọa độ hiển thị
mong muốn Ngay sau lệnh nagravey lagrave lệnh đọcghi dữ liệu từ DDRAM tại địa chỉ đatilde được chỉ định
Khi ở chế độ hiển thị 1 hagraveng địa chỉ coacute thể từ 00H đến 4FH Khi ở chế độ hiển thị 2 hagraveng địa chỉ từ 00h đến 27H cho hagraveng thứ nhất vagrave từ 40h đến 67h cho hagraveng thứ 2
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 23
Read BF
and
address
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0RW=1)
Như đatilde đề cập trước đacircy khi cờ BF bật LCD đang lagravem việc vagrave lệnh tiếp theo (nếu coacute) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp Cho necircn khi lập trigravenh điều khiển phải kiểm tra cờ BF trước khi ghi dữ liệu vagraveo LCD
Khi đọc cờ BF giaacute trị của AC cũng được xuất ra caacutec bit [AC] Noacute lagrave địa chỉ của
CG hay DDRAM lagrave tugravey thuộc vagraveo lệnh trước đoacute
Write
data to
CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Write data] (RS=1 RW=0)
Khi thiết lập RS=1 RW=0 dữ liệu cần ghi được đưa vagraveo caacutec chacircn DBx từ mạch
ngoagravei sẽ được LCD chuyển vagraveo trong LCD tại địa chỉ được xaacutec định từ lệnh ghi địa chỉ trước đoacute (lệnh ghi địa chỉ cũng xaacutec định luocircn vugraveng RAM cần ghi)
Sau khi ghi bộ đếm địa chỉ AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode
Read
data
from CG or
DDRAM
Matilde lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
DBx = [Read data] (RS=1 RW=1)
Khi thiết lập RS=1 RW=1dữ liệu từ CGDDRAM được chuyển ra MPU thocircng qua caacutec chacircn DBx (địa chỉ vagrave vugraveng RAM đatilde được xaacutec định bằng lệnh ghi địa chỉ trước đoacute)
Sau khi đọc AC tự động tănggiảm 1 tugravey theo thiết lập Entry mode tuy
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 24
nhiecircn nội dung hiển thị khocircng bị dịch bất chấp chế độ Entry mode
245 Giao tiếp giữa LCD vagrave MPU
- Đặc tiacutenh điện của caacutec chacircn giao tiếp
LCD sẽ bị hỏng nghiecircm trọng hoặc hoạt động sai lệch nếu bạn vi phạm khoảng đặc tiacutenh điện sau đacircy
Bảng 27 Maximun Rating
Chacircn cấp nguồn (Vcc-GND) Min-03V Max+7V
Caacutec chacircn ngotilde vagraveo (DBxEhellip) Min-03V Max(Vcc+03V)
Nhiệt độ hoạt động Min-30C Max+75C
Nhiệt độ bảo quản Min-55C Max+125C
Đặc tiacutenh điện lagravem việc điển higravenh (Đo trong điều kiện hoạt động Vcc = 45V đến 55V T = -30 đến +75C)
Bảng 28 Miền lagravem việc bigravenh thường
Chacircn cấp nguồn Vcc-GND 27V đến 55V
Điện aacutep vagraveo mức cao VIH 22V đến Vcc
Điện aacutep vagraveo mức thấp VIL -03V đến 06V
Điện aacutep ra mức cao (DB0-DB7) Min 24V (khi IOH = -0205mA)
Điện aacutep ra mức thấp (DB0-DB7) Max 04V (khi IOL = 12mA)
Dograveng điện ngotilde vagraveo (input leakage current) ILI
-1uA đến 1uA (khi VIN = 0 đến Vcc)
Dograveng điện cấp nguồn ICC 350uA(typ) đến 600uA
Tần số dao động nội fOSC190kHz đến 350kHz (điển higravenh lagrave 270kHz)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 25
246 Khởi tạo LCD
Khởi tạo lagrave việc thiết lập caacutec thocircng số lagravem việc ban đầu Đối với LCD khởi tạo giuacutep ta thiết lập caacutec giao thức lagravem việc giữa LCD vagrave MPU Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trigravenh điều khiển LCD vagrave bao gồm caacutec thiết lập sau
bull Display clear Xoacuteakhocircng xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set Kiểu giao tiếp 8bit4bit số hagraveng hiển thị 1hagraveng2hagraveng kiểu kiacute tự 5x85x10
bull Display onoff control Hiển thịtắt magraven higravenh hiển thịtắt con trỏ nhấp nhaacuteykhocircng nhấp nhaacutey
bull Entry mode set caacutec thiết lập kiểu nhập kiacute tự như Dịchkhocircng dịch tự tănggiảm (Increment)
2461 Mạch khởi tạo becircn trong chiacutep HD44780
Mỗi khi được cấp nguồn mạch khởi tạo becircn trong LCD sẽ tự động khởi tạo cho noacute Vagrave trong thời gian khởi tạo nagravey cờ BF bật lecircn 1 đến khi việc khởi tạo hoagraven tất cờ BF cograven giữ trong khoảng 10ms sau khi Vcc đạt đến 45V (vigrave 27V thigrave LCD đatilde hoạt động) Mạch khởi tạo nội sẽ thiết lập caacutec thocircng số lagravem việc của LCD như sau
bull Display clear Xoacutea toagraven bộ nội dung hiển thị trước đoacute
bull Function set DL=1 8bit N=0 1 hagraveng F=0 5x8
bull Display onoff control D=0 Display off C=0 Cursor off B=0 Blinking off
bull Entry mode set ID =1 Tăng S=0 Khocircng dịch
Như vậy sau khi mở nguồn bạn sẽ thấy magraven higravenh LCD giống như chưa mở nguồn do toagraven bộ hiển thị tắt Do đoacute ta phải khởi tạo LCD bằng lệnh
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
Chương 3 TIacuteNH TOAacuteN VAgrave THIẾT KẾ PHẦN CỨNG31 Sơ đồ nguyecircn lyacute
Higravenh 31 Sơ đồ nguyecircn lyacute
32 Sơ đồ mạch in
Higravenh 32 Sơ đồ mạch in
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 27
33 Khối cảm biến
U 3L M 3 5
31
2A
DJ
VIN
V O U T
0V
C 11 u F
V ou tR 17 5
5V
Higravenh 33 Khối cảm biến
Điện trở 75 ohm vagrave tụ 1uF dugraveng để chống nhiễu cho tiacuten hiệu đầu ra của LM35
34 Khối tạo điện aacutep chuẩn
1 2
147
U25A
74HC14
3 4
147
U25B
74HC14C19102
R751K
C2010MF
Higravenh 34-Khối tạo điện aacutep chuẩn
Để tạo điện aacutep chuẩn cho Vref ta sử dụng sơ đồ mạch trecircn
- Để điện aacutep đầu ra ổn định ta chọn tổng trở R = R2+R3+R4 lớn do đoacute ta chọn R=20k- Để dễ điều chỉnh ta chọn biến trở lagrave 10k- Ta coacute điện aacutep nguồn V=5v
IR==025 mAGọi Rdưới lagrave điện trở từ chacircn 2 của biến trở xuống mass
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 28
Rdưới==256 k =gt chọn R4=22k Chọn R2=18k
35 Sơ đồ nối chacircn cho ADC
2 -1MSB 21
ADD B 24ADD A 25
ADD C 23
VREF(+)12
VREF(-)16
IN31
IN42
IN53
IN64
IN75
START6 2 -5 8
EOC7
OUTPUT ENABLE9
CLOCK10
VCC11
2 -2 20
GND 13
2 -7 142 -6 15
2 -8LSB 17
2 -4 182 -3 19
IN228 IN127 IN026
ALE 22
U18
ADC0809
P24EOC
12
3
RV13
10K
P17P16P15P14P13P12P11P10
P20
Higravenh 35- Sơ đồ nối chacircn ADC
F=
Magrave tần số hoạt động của ADC lagrave 600 ndash 700 Khz
Chọn f= 660 Khz R =10K
=gtC=1
1110000660000=137 10minus12 F
Chọn C = 150 pF
Để coacute thể truy cập ADC thigrave chacircn CS phải ở mức thấp do đoacute ta noacutei chacircn CS xuống mass 36 Sơ đồ mạch xử lyacute trung tacircm 89c51
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 29
P00
P10P11P12P13P14P15P16P17
P01P02P03P04P05P06P07
P20P21P22P23P24P25P26P27
P30P31P32P33P34P35P36P37
P00P01P02P03P04P05P06P07
P30P31P32P33P34
P36P37
P35
KHOI VI XU LI
XTAL218
XTAL119
ALE30
EA31
PSEN29
RST9
P00AD0 39
P01AD1 38
P02AD2 37
P03AD3 36
P04AD4 35
P05AD5 34
P06AD6 33
P07AD7 32
P101
P112
P123
P134
P145
P156
P167
P178
P30RXD 10
P31TXD 11
P32INT0 12
P33INT1 13
P34T0 14
P37RD 17P36WR 16P35T1 15
VCC40
GND20
P27A15 28
P20A8 21
P21A9 22
P22A10 23
P23A11 24
P24A12 25
P25A13 26
P26A14 27
U4
AT89XX
12
XTAL110592
12
RESETKEY-TRON
R23
10K
C410MF
23456789
1
RP1
4K7
23456789
1
RP2
4K7
RESET
P21
23456789
1RP3
4K7
P17P16P15P14P13P12P11P10
23456789
1RP4
4K7
P27P26P25P24P23P22P21P20
Higravenh36-Sơ đồ xứ lyacute trung tacircm
Khối vi xử liacute đảm nhiệm thực thi mọi cocircng việc nhận dữ liệu từ bộ ADC giatildei matilde tiacuten hiệu vagrave xuất dữ liệu hiện thị ra magraven higravenh LCD đồng thời điều khiển thiết bị khi nhiệt độ đo quaacute ngưỡng cagravei đặt
37 Khối hiển thị
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 30
LCD 16X2
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW5
RS
4
GND 1VDD2
VEE
3A15 K 16
LCD1LCD16X2
12
3
10K
P0
5P
06
P0
7
P0
0
P0
4P
03
P0
2P
01
P2
6
P2
7
Higravenh 37-Khối hiển thị
Khối hiển thị LCD lagravem nhiệm vụ lấy thocircng tin dữ liệu từ vi xử lyacute để hiển thị thocircng tin cho người dugraveng biết
38 Khối nguồn 5V
C51mF
C61000mF
VI1 VO 3
GND
2
U167805
C71mF
KHOI NGUON
AK
D34LED-Nguon
R85
330
12V
12
J1
DOMINO2
A KD1
1N4007
Higravenh 38-Khối nguồn
Đối với tất cả caacutec mạch sử dụng vi xử liacute thigrave đều phải dugraveng nguồn điện chuẩn lagrave 5V khi dograveng điện được đưa qua diode vagrave sau đoacute qua caacutec tụ nguồn để lọc nguồn vagrave đi vagraveo chacircn số 1 của ic nguồn 7805 vagrave sau đoacute sẽ ic 7805 sẽ xuất ra 1 điện aacutep chuẩn 5V ở chacircn số 3hellip
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 31
Trong tất cả caacutec mạch nguồn thigrave đều coacute 1 con led baacuteo nguồn dugraveng để biểu thị trạng thaacutei hoạt động của ic nguồn vagrave trecircn led coacute 1 con điện trở dugraveng để hạn dograveng cho led để cho led hoạt động tốt magrave khocircng bị chaacutey bởi aacutep vagrave dograveng
Cocircng thức tiacutenh trở cho led Rled= (Vcc-Vled)Iled= (5V-2V)10mA=03 K = 300 ohm vigrave khocircng coacute điện trở 300 ohm necircn ta chọn trở cho led lagrave 330 ohm
Chương 4 THIẾT KẾ PHẦN MỀM
Chương trigravenh phần mềm
include ltAT89X51Hgt
include ltstdiohgt
includeltstringhgt
define RS P2_7
define RW P3_6RW=0 =gt ghi
define EN P2_6RW=1 =gt doc
RS=0 =gt code
RS=1 =gt data
define LCD_PORT P0
define ADC_PORT P1
define ALE P2_0
define START P2_4
define role P2_1
===========================
void delay_ms(int n)
int kj
for(k=0kltnk++)
for(j=0jlt500j++)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 32
==========================
void delay_5ms()
int ij
for(i=0ilt250i++)
for(j=0jlt4j++)
===========================
void delay_15ms()
int ij
for(i=0ilt250i++)
for(j=0jlt100j++)
============================
void LCDWriteCmd(unsigned char c) CT con ghi du lieu len LCD
RS=0
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 33
==============================
void LCDWriteData(unsigned char c) CT con doc du lieu tu LCD
RS=1
RW=0
LCD_PORT=c
EN=1
EN=0
delay_5ms()
=============================
void LCDcursorxy(int x int y)
if((xlt1||xgt2)ampamp(ylt1||ygt16))
x=1
y=1
if(x == 1)
LCDWriteCmd(0x7F+y)
else
LCDWriteCmd(0xBF+y)
===============================
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 34
void LCD_init() Khoi tao LCD
delay_15ms()
LCDWriteCmd(0x38)
LCDWriteCmd(0x0C)
LCDWriteCmd(0x06)
LCDWriteCmd(0x01) Xoa man hinh LCD
================================
void LCD_clear()
LCDWriteCmd(0x01)
===============================
void LCD_home()
LCDWriteCmd(0x80)
=============================
void LCD_putstr(unsigned char s)
while (s)
LCDWriteData(s)
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 35
s++
============================
void HienThi_ADC(unsigned char t)
unsigned char v
if(tlt10)
LCDWriteData(t+48)
else if(tlt100)
LCDWriteData(t10+48)
LCDWriteData(t10+48)
else
v=t10
LCDWriteData(v10+48)
LCDWriteData(v10+48)
LCDWriteData(t10+48)
==========================================
void main (void)
unsigned char gt=0 gt la bie^n cho gia tri 8bit ADC
LCD_init()
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 36
LCDWriteCmd(0x80)
LCD_putstr(NHIET DO DAT35C)
role = 0
while(1)
ALE = 1
START = 1 Bat dau chuyen doi gia tri tu ADC
delay_ms(1) Tao tre de cap nhat du lieu tu ADC
START = 0
ALE = 0
Nhan du lieu da duoc chuyen doi
gt=ADC_PORT
if(gtgt=35)role = 1
else role = 0
LCDWriteCmd(0xC0)
LCD_putstr(Nhiet do la)
HienThi_ADC(gt)
LCDWriteData(223)
LCD_putstr(C)
delay_ms(150)
TAgraveI LIỆU THAM KHẢO
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 37
[1] Ngyễn Tăng Cường Họ vi điều khiecircn 8051
[2] Ngocirc Diện Tập Vi điều khiển với lập trigravenh C [3] Giaacuteo trigravenh Linh Kiện Điện Tử vagrave Ứng Dụng NXB Giaacuteo Dục
CHƯƠNG 2KIẾN THỨC BỔ TRỢ
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO
MẠCH ĐO VAgrave ĐIỀU KHIỂN NHIỆT ĐỘ Trang 26
TAgraveI LIỆU THAM KHẢO