Nhiệt độ là một trong những đại lượng vật lý được quan tâm nhiều nhất. Bởi vì nhiệt độ có vai trò quyết định trong nhiều tính chất của vật chất. Một trong những đặc điểm tác động của nhiệt độ là làm thay đổi một cách liên tục các đại lượng chịu sự ảnh hưởng của nó,ví dụ như áp suất ,thể tích của một chất khí . Bởi vậy, trong các nghiên cứu khoa học , trong công nghiệp và đời sống hàng ngày việc đo nhiệt độ là điều rất cần thiết. Tuy nhiên, để đo được trị số chính xác của nhiệt độ lại là vấn đề không đơn giản.
Cùng với sự ra đời và phát triển mạnh mẽ của các hệ vi xử lý,việc đo nhiệt độ áp dụng vi xử lý,vi điều khiển đã mở ra nhiêu hướng,đưa đến nhiều phương pháp khác nhau,linh hoạt và chính xác hơn. Có nhiều cách để đo nhiệt độ , trong đó có thể liệt kê một số phương pháp sau đây:
- Phương pháp quang dùa trªn sù ph©n bè bøc x¹ nhiÖt do dao ®éng nhiÖt (do hiÖu øng Doppler).
-Ph¬ng ph¸p c¬ dùa trªn sù d•n në cña vËt r¾n , cña chÊt láng hoÆc khÝ (víi ¸p suÊt kh«ng ®æi ) , hoÆc dùa trªn tèc ®é ©m.
-Ph¬ng ph¸p dùa trªn sù phô thuéc cña ®IÖn trë vµo nhiÖt ®é , hiÖu øng Sªbeck , hoÆc dùa trªn sù thay ®æi tÇn sè dao ®éng cña th¹ch anh.
30 trang |
Chia sẻ: oanh_nt | Lượt xem: 1076 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Báo cáo Đo nhiệt độ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Mục lục
Giới thiệu
Đặt vấn đề
Các phương pháp đo nhiệt độ
Nhiệm vụ thiết kế
Tổng quan về phần cứng
Sơ đồ khối
Giới thiệu về các thiết bị.
LM335
ADC0809
Bộ vi xử lý 8051
Khối phím ấn
Hiển thị Led
RS 232
Nguồn
Phần mềm
Lưu đồ thuật toán
Lưu đò thuật toán đọc ADC
Lưu đồ thuạt toán phục vụ ngắt phím
Lưu đồ kiểm tra
Lưu đồ truyền tin
Phần mềm chương trình
Đánh giá sai số
Kết luận,tài liệu tham khảo
Giới thiệu
Đặt vấn đề
Nhiệt độ là một trong những đại lượng vật lý được quan tâm nhiều nhất. Bởi vì nhiệt độ có vai trò quyết định trong nhiều tính chất của vật chất. Một trong những đặc điểm tác động của nhiệt độ là làm thay đổi một cách liên tục các đại lượng chịu sự ảnh hưởng của nó,ví dụ như áp suất ,thể tích của một chất khí . Bởi vậy, trong các nghiên cứu khoa học , trong công nghiệp và đời sống hàng ngày việc đo nhiệt độ là điều rất cần thiết. Tuy nhiên, để đo được trị số chính xác của nhiệt độ lại là vấn đề không đơn giản.
Cùng với sự ra đời và phát triển mạnh mẽ của các hệ vi xử lý,việc đo nhiệt độ áp dụng vi xử lý,vi điều khiển đã mở ra nhiêu hướng,đưa đến nhiều phương pháp khác nhau,linh hoạt và chính xác hơn. Có nhiều cách để đo nhiệt độ , trong đó có thể liệt kê một số phương pháp sau đây:
- Phương pháp quang dùa trªn sù ph©n bè bøc x¹ nhiÖt do dao ®éng nhiÖt (do hiÖu øng Doppler).
-Ph¬ng ph¸p c¬ dùa trªn sù d·n në cña vËt r¾n , cña chÊt láng hoÆc khÝ (víi ¸p suÊt kh«ng ®æi ) , hoÆc dùa trªn tèc ®é ©m.
-Ph¬ng ph¸p dùa trªn sù phô thuéc cña ®IÖn trë vµo nhiÖt ®é , hiÖu øng Sªbeck , hoÆc dùa trªn sù thay ®æi tÇn sè dao ®éng cña th¹ch anh.
Các phương pháp đo nhiệt độ
Trước tiên nói về các cảm biÕn nhiÖt ®é,đó là các cảm biến được sử dông vào c¸c qu¸ tr×nh nhiÖt nh: ®èt nãng, lµm l¹nh, trao ®æi nhiÖt.v.v. .§¹i lîng vµo cña c¶m biÕn nhiÖt ®é lµ nhiÖt ®é vµ ®¹i lîng ra lµ tÝn hiÖu ®iÖn (dßng,¸p).Một số cảm biến thường sử dụng:
+NhiÖt ®iÖn trë : Nguyªn lý lµm viÖc lµ cã ®iÖn trë thay ®æi theo sù thay ®æi nhiÖt ®é cña nã.Tuú theo t¸c dông nhiÖt cña dßng ®iÖn cung cÊp ch¹y qua chuyÓn ®æi ngêi ta ph©n ra: NhiÖt ®iÖn trë ®èt nãng vµ nhiÖt ®iÖn trë kh«ng ®èt nãng
NhiÖt ®iÖn trë ®èt nãng ,dßng ®iÖn ch¹y qua rÊt lín lµm nhiÖt ®é cña nã t¨ng lªn cao h¬n nhiÖt ®é m«i trêng(100°C -800°C), nªn cã sù to¶ nhiÖt ra m«i trêng xung quanh, nh nhiÖt dÉn, ®èi lu, bøc x¹ .
NhiÖt ®iÖn trë kh«ng ®èt nãng, dßng ®iÖn ch¹y qua rÊt nhá kh«ng lµm t¨ng nhiÖt ®é cña ®iÖn trë vµ nhÖt ®é cña nã b»ng nhiÖt ®é m«i trêng. NhiÖt ®iÖn trë lo¹i nµy dïng ®Ó ®o nhiÖt ®é vµ c¸c ®¹i lîng c¬ häc nh ®o di chuyÓn.
NhiÖt ®iÖn trë ph©n lµm hai lo¹i: NhiÖt ®iÖn trë d©y(nhiÖt ®iÖn trë ®ång,nhiÖt ®iÖn trë Platin, nhiÖt ®iÖn trë Niken) vµ nhiÖt ®iÖn trë b¸n dÉn.
+CÆp nhiÖt ®iÖn:Nguyªn lý lµm viÖc dùa trªn 2 hiÖu øng:Thomson vµ Seebek
øng dông cña cÆp nhiÖt ®iÖn chñ yÕu ®ể ®o nhiÖt ®é, ngoµi ra nã cßn dîc dïng ®Ó ®o c¸c ®¹i lîng kh«ng ®iÖn vµ ®iÖn kh¸c nh: ®o dßng ®iÖn ë tÇn sè cao,®o híng chuyÓn ®éng vµ lu îng cña c¸c dßng ch¶y, ®o di chuyÓn , ®o ¸p suÊt nhỏ
+C¶m biÕn nhiÖt ®é dïng ®Æc tÝnh diode vµ tranzitor
§o nhiÖt ®é lµ nhiÖm vô thêng gÆp trong c¸c ngµnh nhiÖt häc, ho¸ häc ,luyÖn kim...Tuú theo nhiÖt ®é ®o mµ cã thÓ dïng c¸c ph¬ng ph¸p ®o kh¸c nhau.Th«ng thêng nhiÖt ®é ®o ®îc chia thµnh 3 gi¶i : NhiÖt ®é thÊp, nhiÖt ®é trung b×nh vµ nhiÖt ®é cao.ë nhiÖt ®é trung b×nh vµ thÊp, ph¬ng ph¸p ®o thêng lµ tiÕp xóc nghÜa lµ c¸c chuyÓn ®æi ®îc ®Æt trùc tiÕp ë ngay m«i trêng cÇn ®o. §èi víi nhiÖt ®é cao,®o b»ng ph¬ng ph¸p kh«ng tiÕp xóc, nghÜa lµ dông cô ®o ®Æt ngoµi m«i trêng ®o.
Một trong số những cách đó là đo nhiệt độ không tiép xúc sử dụng cảm biến LM335
Nhiệm vụ thiết kế
Thiết kế hệ bộ VXL đo nhiệt độ sử dụng VĐK89C51 và cảm biến LM335 giải quyết những vấn đề sau:
- Thiết kế mạch đo nhiệt độ trong dải từ 0oC-100oC và hiển thị.
- Cảnh báo khi nhiệt độ lớn hơn 80oC và khi nhỏ hơn 20oC
- Kết nối truyền thông tin đo được vào máy tính
- Viết chương trình phần mềm giải quyết những vấn đề trên
Tổng quan về phần cứng
Sơ đồ khối
Cảm biến LM335
Mạch khuếch đại
ADC
VĐK 8051
Khối bàn phím
Khối hiển thị
LED
PC
Giới thiệu về các khối
Khối cảm biến LM335
LM335 lµ c¶m biÕn nhiÖt ®é cã kho¶ng ®o tõ -400C ®Õn +1000C, ®é chÝnh x¸c cao, tÝnh n¨ng c¶m biÕn nhiÖt ®é rÊt nh¹y.TÝn hiÖu ngâ ra tuyÕn tÝn víi tÝn hiÖu ngâ vµo.
C«ng dông cña LM335:
+ LM335 cã ®é biÕn thiªn theo nhiÖt ®é lµ: 10mV/KO
+ Cã sù æn ®Þnh cao: ë 25OC chØ cã sai sè 1%.
+ ChØ tiªu kÜ thuËt:
Tiªu t¸n c«ng suÊt thÊp.
Dßng lµm viÖc tõ 4.10-4A – 5.10-3A
Dßng ngîc 15mA
Dßng thuËn 10mA
Sù biÕn thiªn cña ®iÖn thÕ theo nhiÖt ®é cã hµm
VOUT = 0.01xTOK
= 2.73 + 0.01xTOC
+ CÊu tróc cña bé c¶m biÕn LM335 lµ lo¹i c¶m biÕn cã 3 ch©n tÝn hiÖu ra
t¬ng tù
Vout
VR
+5V
LM335
Khối điều chỉnh điện áp hay mạch khuéch đại
§Çu ®o díi d¹ng vi m¹ch LM 335 lµ mét ®Çu ®o nhiÖt ®é ®¬n gi¶n vµ chÝnh x¸c ,cã ®iÖn ¸p lèi ra tû lÖ thuËn víi nhiÖt ®é cña ®Çu ®o. §Çu ®o nµy kh«ng cÇn ®Õn linh kiÖn ë ngoµi nªn kh«ng cÇn chuÈn l¹i ë nh÷ng nhiÖt ®é kh¸c nhau .Trong vïng nhiÖt ®é phßng , ®é chÝnh x¸c ®¹t cì 0,250C .Dßng ®iÖn tiªu thô cì 60uA nªn cã thÓ bá qua sù t¨ng nhiÖt ®é ®Çu ®o dßng ®iÖn nu«i t¹o ra .
T¬ng øng víi d¶i nhiÖt ®é ®o dải từ 0oC-100oC th× ®iÖn ¸p ra tuyÕn tÝnh lµ 2.73-3.73V.Ta ®iÒu chØnh biÕn trë R20 ®Ó ë 250C th× ®iÖn ¸p ra ë ch©n 2 cña c¶m biÕn lµ 2.98V.
- ĐiÖn ¸p ra cña c¶m biÕn lµ tõ 2.73-3.73V ,trong khi thang ®iÖn ¸p vµo lµm viÖc cña ADC0809 lµ 0-5V ,do vËy ta cÇn tiÕn hµnh chuÈn hãa tÝn hiÖu tríc khi ®a ®Õn ADC. .S¬ ®å m¹ch thùc hiÖn viÖc ®ã nh trªn .Nguyªn lý ho¹t ®éng cña m¹ch ®ã lµ:
+ Dïng mét ®i èt zener vµ mét nguån nu«i ®Ó t¹o ra ®iÖn ¸p æn ®Þnh 5V.
+ §iÖn ¸p nµy ®îc nèi víi mét biÕn trë R21 nèi ®Êt. Dïng biÕn trë nµy ®Ó ®iÒu chØnh ®iÖn ¸p vµo bé ®Öm lµ 2.73V. Bé ®Öm dïng ®Ó h¹n chÕ dßng ®iÖn trong m¹ch .
+ Qua bé ®Öm ®iÖn ¸p vÉn lµ 2.73V . §iÖn ¸p nµy ®îc ®a ®Õn mét m¹ch trõ.
+ Bé trõ ®îc nèi víi c¸c ®iÖn trë nh h×nh vÏ . Gi¸ trÞ cña c¸c ®iÖn trë ®îc cho nh trªn h×nh. Víi c¸ch m¾c nh vËy ®iÖn ¸p ra cña bé trõ lµ :
Vout = Vin(+) –Vin(-)
Ta cã :
Vin(+) = 2.73 - 3.73 V
Vin(-) = 2.73V
Do vËy :
Vout = 0 - 1V
Ta ®· ®¹t ®îc yªu cÇu vÒ ®iÖn ¸p. Vµ còng ®Ó h¹n chÕ dßng ®iÖn ta ph¶i ®a ®iÖn ¸p nµy vµo ADC qua mét bé ®Öm nh trªn h×nh vÏ.
Ta cÇn hiÓn thÞ kÕt qu¶ ra LED ,muèn vËy cÇn cã sù ®ång nhÊt :
NhiÖt ®é ®o( 0C ) M· nhÞ ph©n ë ®Çu ra cña ADC
+ §iÖn ¸p ë lèi ra cña LM335 lµ 10mV / 0C
+ Do vËy vÊn ®Ò nµy ®îc gi¶i quyÕt b»ng c¸ch ®Æt ®iÖn ¸p ë c¸c ch©n Vref cña ADC thÝch hîp.
Nh ta ®· biÕt ADC 0809 cã 8 bÝt ë ®Çu ra nªn cã:
28 - 1 = 255 ( bËc thang )
Ta sử dụng nguồn 5V,và 1 biến trở để tạo ra Vref(+) của ADC0809 là 2.55V,
Nên suy ra điện áp Ù(ref)=2.55V .
KÝch cì bËc thang lµ :
2.55/ 255 =0.01(V)
- §iÖn ¸p ®a tíi ch©n vµo cña ADC lµ 0 - 1 V t¬ng øng víi nhiÖt ®é ®Çu ®o cña cÈm biÕn lµ 0 - 100 0C
- TÝn hiÖu lèi ra cña c¶m biÕn 10mV / 0C.
- KÝch cì bËc thang 10mV
Khối chuyển đổi ADC - sử dụng ADC0809
Cã nhiÒu ph¬ng ph¸p ®Ó chuyÓn ®æi mét ®¹i lîng t¬ng tù sang gi¸ trÞ sè nh:
- ADC d¹ng sãng bËc thang :líp ADC ®¬n gi¶n nµy sö dông bé ®Õm nhÞ ph©n lµm thanh ghi vµ cho phÐp xung nhÞp ®Èy bé ®Õm t¨ng mçi lÇn mét bíc,cho ®Õn khi VAX # VA. ADC lo¹i nµy gäi lµ ADC sãng bËc thang v× d¹ng sãng t¹i VAX cã tõng bËc ®i lªn . ADC d¹ng sãng bËc thang bao gåm mét bé ®Õm ,mét DAC ,mét bé so s¸nh t¬ng tù ,vµ mét cæng AND ®iÒu khiÓn . §Çu ra bé so s¸nh dïng lµm tÝn hiÖu ®iÒu khiÓn kÕt thóc chuyÓn ®æi EOC-tích cực mức thấp
*¦u ®iÓm: +T¬ng ®èi ®¬n gi¶n
+Phï hîp víi c¸c øng dông tèc ®é chËm.
*Nhîc ®iÓm:NÕu t¨ng sè bit ®Ó t¨ng ®é ph©n gi¶i thi khi ®ã chØ cÇn thªm 1 bit ,thêi gian chuyÓn ®æi ®· t¨ng gÊp ®«i.Nh vËy t¨ng ®é ph©n gi¶i th× thêi gian chuyÓn ®æi kÐo dµi.V× thÕ ADC lo¹i nµy kh«ng phï hîp víi nh÷ng øng dông ®ßi hái ph¶i liªn tôc chuyÓn ®æi mét tÝn hiÖu t¬ng tù thay ®æi nhanh thµnh tÝn hiÖu sè.
- ADC liªn tiÕp-xÊp xØ(ADC0804,ADC0809...).
Đây là phương pháp được sử dụng rộng rãi , nhưng mạch điện có phức tạp nhưng thời gian chuyển đổi ngắn hơn . Phương pháp này có thời gian chuyển đổi không phụ thuộc vào điện áp ngõ vào .
Clock
Start
EOC
VA
V’A
+
_
DAC
Thanh ghi điều khiển
Logic điều khiển MSB LSB
Sơ đồ khối chuyển đổi ADC dùng phương pháp xấp xỉ liên tiếp
Hoạt động
Khi tác động cạnh xuống của xung Start thì ADC bắt đầu chuyển đổi
-Mạch logic điều khiển đặt bit có nghĩa lớn nhất của thanh ghi diều khiển lên mức cao và tất cả các bit còn lại ở mức thấp . Số nhị phân ra ở thanh ghi điều khiển được qua mạch DAC để tạo ra điện áp tham chiếu V’a .
Nếu V’a > Va thì ngõ ra bọ so sánh xuống mức thấp làm cho mạch logic diều khiển xóa bit MSB xuống mức thấp
Nếu V’a <Va thì ngõ ra bọ so sánh ở mức cao làm cho mạch logic điều khiển giữ bit MSB ở mức cao .
Tiếp theo mạch logic điều khiển đưa bit có nghĩa kế bit MSB lên mức cao và tạo ở ngõ ra khối DAC một điện áp tham chiếu V’a rồi đem so sánh tương tự như bit MSB như trên . Quá trình này cứ tiếp tục cho đến bit cuối cùng trong thanh ghi điều khiển . Lúc đó thì V’a gần bằng Va ngõ ra của mạch logic điều khiển báo kết thúc chuyển đổi .
Như vậy mạch đổi ra n bit chỉ mất n chu kì xung clock nên có thể đạt tốc độ rất cao . Tuy nhiên mạch ADC xấp xỉ liên tiếp lại không thể đáp ứng với tín hiệu tương tự vào biến đổi cực nhanh .
- ADC chuyÓn ®æi nhanh(MC10319,AD9010,... )
+Bé chuyÓn ®æi nhanh (fast converter)lµ lo¹i ADC cã tèc ®é cao nhÊt nhng s¬ ®å m¹ch phøc t¹p h¬n c¸c lo¹i kh¸c.Ch¼ng h¹n,ADC nhanh N bit cÇn 2N-1 bé so s¸nh,2N ®iÖn trë vµ logic m· ho¸ cÇn thiÕt.
+ Bé chuyÓn ®æi nhanh kh«ng cÇn tÝn hiÖu xung nhip v× tiÕn tr×nh chuyÓn ®æi x¶y ra liªn tôc.
+ Thêi gian chuyÓn ®æi lµ thêi gian cÇn thiÕt ®Ó xuÊt hiÖn mét ®Çu ra sè ®¸p l¹i mét thay ®æi ë ®Çu vµo t¬ng tù,chØ phô thuéc vµo kho¶ng trÔ do truyÒn cña bé so s¸nh vµ bé m· ho¸.Do ®ã ADC nhanh cã thêi gian chuyÓn ®æi v« cïng ng¾n ngñi:
VD:MC10319(Motorola)-8 bit: tc<20ns
AD9010(Analog Devices)-10 bit: tc<15ns.
Ngoµi ra cßn mét sè ph¬ng ph¸p kh¸c nh:ADC sãng bËc thanh lªn/xuèng;ADC tÝch hîp hai ®é dèc;ADC chuyÓn ®æi ®iÖn thÕ thµnh tÇn sè; ®iÒu biÕn sigma/delta.
TỔNG QUAN VÒ ADC 0809:
ADC0809 lµ bé chuyÓn ®æi t¬ng tù-sè 8 bit 8 ®Çu vµo t¬ng tù ®îc dån kªnh bëi 1 bé dån kªnh tÝch hîp s½n trªn chip ADC.Nh vËy mét mÆt nã kh«ng cÇn bé dån kªnh t¬ng tù ngoµi ,mÆt kh¸c l¹i cho phÐp cã nhiÌu ®Çu vµo h¬n, §iÒu nµy rÊt thuËn tiÖn cho viÖc ®o ,gi¸m s¸t c¸c ®¹i l¬ng vËt lý ë nhiÒu ®iÓm ®o kh¸c nhau.
ADC0809 cã 8 kªnh ®Çu vµo t¬ng tù .Nh vËy ADC0809 cho phÐp gi¸m s¸t ®ång thêi 8 bé c¶m biÕn,8 kªnh ®Çu vµo t¬ng tù ®îc dån kªnh vµ ®îc chän nhê nhê 3 ch©n ®Þa chØ A,B,C .
ADC0809 ho¹t ®éng theo ph¬ng ph¸p liªn tiÕp-xÊp xØ.
C¸c ®Æc tÝnh:
-DÔ dµng giao tiÕp víi c¸c bé vi xö lý
-Bé dån kªnh 8 ®Çu vµo víi logic ®Þa chØ
-D¶i ®iÖn ¸p ®Çu vµo 5V vµ nguån cÊp 5 V
Mét vµi th«ng sè kü thuËt chÝnh:
-§é ph©n gi¶i: 8 bit
-Sai sè : +/- 1LSB
-Nguån cung cÊp: 5V .
-C«ng suÊt: 15mW.
-Tèc ®é chuyÓn ®æi: <100us
S¬ ®å khèi cÊu tróc bªn trong ADC0809:
C¸c ch©n của ADC0809
Sơ đồ chân của ADC0809
-Vcc: Ch©n cÊp nguån.
§iÖn ¸p nguån:5V
-GND: Ch©n nèi ®Êt.
- Vref(+) và Vref(-)
Hai ch©n ®a ®iÖn ¸p tham chiÕu.
Thêng Vref (-) nèi ®Êt.Trong bài Vref(+) được nối với nguồn 5V và một biến trở 10k để lấy ra Vref(+)=2.55V
-IN0->IN7(Input):-8 kªnh ®Çu vµo t¬ng tù.
- ADDA,ADDB,ADDC là 3 ch©n chän kênh ®Çu vµo.
A,B,C la 3 bit chọn 1 trong 8 kªnh ®Çu vµo cña 1 Multiplexer t¬ng tù ®îc tÝch hîp trong bé ADC0809.
-ALE(Address Latch Enable):
Ch©n ®Ó chèt ®Þa chØ (kªnh vµo).
- Start: Ch©n göi tÝn hiÖu b¾t ®Çu chuyÓn ®æi.
- EOC(End off Convertion):Ch©n nay ®Ó göi tÝn hiÖu kÕt thóc chuyÓn ®æi.
- OE(Output Enable): Ch©n göi tÝn hiÖu cho phÐp lÊy sè liÖu sè ë ®Çu ra.
- 01->08: là 8 ch©n t¬ng øng 8 bit ®Çu ra cña sè liÖu 8 bit ®· ®îc chuyÓn ®æi.
- CLK: Ch©n tÝn hiÖu Clock , ®Ó göi tÝn hiÖu xung ®ång hå ®Ó ADC lµm viÖc .
CHỨC N¡NG & HOẠT §ỘNG CỦA ADC0809
* S¬ ®å khèi chøc n¨ng cña ADC0809:
*ADC0809 thÓ hiÖn trªn s¬ ®å trªn cã thÓ dîc chia theo chøc n¨ng thµnh 2 m¹ch con c¬ b¶n.Hai m¹ch con nµy lµ mét bé dån kªnh vµ mét bé chuyÓn ®æi A/D.
-Bé dån kªnh sö dông 8 kho¸ t¬ng tù c«ng nghÖ CMOS chuÈn ®Ó cung cÊp mét trong 8 ®Çu vµo t¬ng tù.C¸c kho¸ ®îc ®iÒu khiÓn chän,tuú thuéc vµo sè liÖu ®îc chèt ë thanh ghi ®Þa chØ bé dån kªnh (multiplexer address register) 3 bit.
- Khèi chøc n¨ng thø hai lµ bé chuyÓn ®æi A/D liªn tiÕp-xÊp xØ,chuyÓn tÝn hiÖu t¬ng tù ®Çu ra cña bé dån kªnh thµnh mét tõ sè 8 bit. §Çu ra bé dån kªnh sÏ ®i ®Õn mét trong hai ®Çu vµo cña bé so s¸nh. §Çu vµo kia nh©n ®îc tõ 1 thang ®iÖn trë 256R ®îc m¾c vµo mét c©y kho¸ dïng transistor MOSFET (MOSFET transistor switch tree).Logic ®iÒu khiÓn bé chuyÓn ®æi sÏ ®iÒu khiÓn switch tree, ®a ®iÖn ¸p t¬ng øng ch¶y ra(funneling a particular tap voltage) ®Õn bé so s¸nh. §Æt c¬ së cho kÕt qu¶ cña sù so s¸nh nµy,bé logic ®iÒu khiÓn vµ thanh ghi liªn tiÕp xÊp xØ(SAR)sÏ quyÕt ®Þnh ®iÖn ¸p ®îc chän ®Ó lÊy ra sÏ cao h¬n hay thÊp h¬n gi¸ trÞ hiÖn t¹i trªn thang ®iÖn trë.TiÕn tr×nh(algorithm)nµy ®îc thùc hiÖn 8 lÇn trong 1 chuyÓn ®æi,mçi chuyÓn ®æi cÇn 8 chu kú ®ång hå.Nh vËy tæng céng thêi gian chuyÓn ®æi lµ 64 chu kú ®ång hå.
-Khi mét chu kú chuyÓn ®æi hoµn thµnh,sè liÖu kÕt qu¶ ®îc ®a vµo bé chèt ®Çu ra 3 tr¹ng th¸i.Sè liÖu trong bé chèt ®Çu ra cã thÓ sau ®ã cã thÓ ®îc ®äc bëi mét hÖ thèng tiÕp nhËn sè liÖu(host system) bÊt cø lóc nµo tríc khi kÕt thóc chu kú chuyÓn ®æi tiÕp theo .Kh¶ n¨ng 3 tr¹ng thái cña bé chèt cho phÐp giao tiÕp dÔ dµng víi c¸c hÖ thống bus ®Þnh híng(bus oriented systems).
-Thùc hiÖn ho¹t ®éng cña c¸c bé chuyÓn ®æi nµy b»ng mét bé vi xö lý hoÆc mét sè logic ®iÒu khiÓn th× rÊt ®¬n gi¶n.ThiÕt bÞ ®iÒu khiÓn ®Çu tiªn sÏ chän kªnh vµo. §Ó lµm ®iÒu nµy ,mét ®Þa chØ kªnh 3 bit ®îc ¸p vµo c¸c ch©n A,B,C;vµ ch©n ALE (Address Latch Enable) ®îc ®a xung tÝch cùc ®Ó kho¸ ®Þa chØ vµo thanh ghi ®Þa chØ bé dån kªnh.
Kªnh ®îc chän
C
B
A
IN0
0
0
0
IN1
0
0
1
IN2
0
1
0
IN3
0
1
1
IN4
1
0
0
IN5
1
0
1
IN6
1
1
0
IN7
1
1
1
-
§Ó b¾t ®Çu chuyÓn ®æi,ch©n START ®îc ¸p xung tÝch cùc. ë sên lªn cña xung nµy,nh÷ng thanh ghi trong ®îc xo¸ vµ ë sên xuèng sù chuyÓn ®æi ®îc b¾t ®Çu.
CÇn 8 chu kú ®ång hå trong mçi lÇn xÊp xØ.Dï lµ kh«ng cã chuyÓn ®æi trong qu¸ tr×nh ®ã,ADC0809 vÉn quay vßng ë bªn trong(internally cycling) qua 8 chu kú ®ång hå.Mét xung start cã thÓ xuÊt hiÖn bÊt cø lóc nµo trong suèt qu¸ tr×nh nµy nhng sù chuyÓn ®æi sÏ kh«ng thËt sù b¾t ®Çu ®Õn khi bé chuyÓn ®æi quay vßng bªn trong ®Õn khi b¾t ®Çu chuçi 8 chu kú ®ång hå sau.ChØ cÇn ch©n START ®îc gi÷ ë møc cao th× sÏ kh«ng cã chuyÓn ®æi,nhng khi ch©n start ®ù¬c ®a xuèng thÊp sù chuyÓn ®æi sÏ b¾t ®Çu trong kho¶ng thêi gian 8 chu kú ®ó.
-§Çu ra EOC ®îc lËt ë sên lªn cña xung start.Nã còng ®îc ®iÒu khiÓn bëi chu tr×nh gåm 8 chu kú ®ång hå,nªn nã sÏ xuèng thÊp trong kho¶ng thêi gian 8 chu kú ®ång hå khi x¶y ra sên lªn cña xung start .
S¬ ®å thêi gian cña ADC0809:
Kết nối các chân của ADC0809 với VĐK8051
Vì chỉ dùng 1 đầu đo nên 3 chân ADDA,B,C ta đặt ở mức 0
01-08 là 8 bit đầu ra được nối với cổng P0 của 8051
EOC nối với ngắt ngoài INT0
ALE,START,EO được điều khiển bởi các tín hiệu READ/WRITE
Đầu đo nhiệt độ nối vào IN0.
Bộ vi xử lý 8051
Tæng quan cÊu tróc 8051:
MCS-51 lµ hä vi ®iÒu khiÓn cña INTEL. C¸c nhµ s¶n xuÊt IC kh¸c nh Siemens, Advanced Micro Divices, Fujitsu vµ Philips ®îc cÊp phÐp lµm c¸c nhµ cung cÊp thø hai cho c¸c chÝp cña hä MCS-51.Vi mach tæng qu¸t ca hä MCS-51 lµ chÝp 8051, linh kiÖn ®Çu tiªn cña hä nµy ®îc ®a ra thÞ trêng. ChÝp 8051 cã c¸c ®Æc trng ®îc tãm t¾t nh sau :
_4KB ROM.
_128 byte RAM.
_ 4 port xuÊt nhËp (I/O port ) 8- bit.
_ 2 bé ®Þnh thêi 16 bit.
_ M¹ch giao tiÕp nèi tiÕp.
_ Kh«ng gian nhí ch¬ng tr×nh (m·) ngoµi 64K.
_ Kh«ng gian nhí d÷ liÖu ngoµi 64K.
_ Bé xö lý bÝt(thao t¸c trªn c¸c bit riªng rÏ).
_ 210 vÞ trÝ ®îc ®Þnh ®Þa chØ, mçi vÞ trÝ 1 bit.
S¬ ®å khèi cña chÝp 8051.
Tæ chøc ch©n cña MCS51:
S¬ ®å ch©n cña 8051 d¹ng DIP.
Tæ chøc ch©n cña 8051 d¹ng PQFP/TQFP vµ PLCC
port 0 : chøc n¨ng ë trªn ch©n tõ 32 ®Õn 39 trong c¸c thiÕt kÕ cì nhá (kh«ng dïng bé nhí më réng ) cã hai chøc n¨ng nh c¸c ®êng IO. §èi víi c¸c thiÕt kÕ cì lín ( víi bé nhí më réng ) nã ®îc kÕt hîp kªnh gi÷a c¸c bus ).
port1 : lµ mét port I/O trªn c¸c ch©n 1-8. C¸c ch©n ®îc ký hiÖu P1.0, P1.1, P1.2 ... cã thÓ dïng cho c¸c thiÕt bÞ ngoµi nÕu cÇn. Port1 kh«ng cã chøc n¨ng kh¸c, v× vËy chóng ta cã thÓ dïng chóng trong giao tiÕp víi c¸c thiÕt bÞ ngoµi mét c¸ch tù do.
Port 2 : lµ mét port c«ng dông kÐp trªn c¸c ch©n 21 - 28 ®îc dïng nh c¸c ®êng xuÊt nhËp hoÆc lµ byte cao cña bus ®Þa chØ ®èi víi c¸c thiÕt kÕ dïng bé nhí më réng.
Port 3 : lµ mét port c«ng dông kÐp trªn c¸c ch©n 10 - 17. C¸c ch©n cña port nµy cã nhiÒu chøc n¨ng, c¸c c«ng dông chuyÓn ®æi cã liªn hÖ víi c¸c ®Æc tÝnh ®Æc biÖt cña 8051 / 8031 nh ë b¶ng sau :
Bit
Tªn
Chøc n¨ng chuyÓn ®æi
P3.0
RXD
D÷ liÖu nhËn cho port nèi tiÕp
P3.1
TXD
D÷ liÖu ph¸t cho port nèi tiÕp
P3.2
INTO
Ng¾t 0 bªn ngoµi
P3.3
INT1
Ng¾t 1 bªn ngoµi
P3.4
TO
Ngâ vµo cña timer/counter 0
P3.5
T1
Ngâ vµo cña timer/counter 1
P3.6
WR
Xung ghi bé nhí d÷ liÖu ngoµi
P3.7
RD
Xung ®äc bé nhí d÷ liÖu ngoµi
Chøc n¨ng cña c¸c ch©n trªn port3
PSEN (Program Store Enable ) : 8051 cã 4 tÝn hiÖu ®iÒu khiÓn
PSEN lµ tÝn hiÖu ra trªn ch©n 29. Nã lµ tÝn hiÖu ®iÒu khiÓn ®Ó cho phÐp bé nhí ch¬ng tr×nh më réng vµ thêng ®îc nèi ®Õn ch©n OE (Output Enable) cña mét EPROM ®Ó cho phÐp ®äc c¸c bytes m· lÖnh.
PSEN sÏ ë møc thÊp trong thêi gian lÊy lÖnh. C¸c m· nhÞ ph©n cña ch¬ng tr×nh ®îc ®äc tõ EPROM qua bus vµ ®îc chèt vµo thanh ghi lÖnh cña 8051 ®Ó gi¶i m· lÖnh. Khi thi hµnh ch¬ng tr×nh trong ROM néi (8051) PSEN sÏ ë møc thô ®éng (møc cao).
ALE (Address Latch Enable ) :TÝn hiÖu ra ALE trªn ch©n 30 t¬ng hîp víi c¸c thiÕt bÞ lµm viÖc víi c¸c xö lÝ 8585, 8088, 8086, 8051 dïng ALE mét c¸ch t¬ng tù cho lµm viÖc gi¶i c¸c kªnh c¸c bus ®Þa chØ vµ d÷ liÖu khi port 0 ®îc dïng trong chÕ ®é chuyÓn ®æi cña nã : võa lµ bus d÷ liÖu võa lµ byte thÊp cña ®Þa chØ, ALE lµ tÝn hiÖu ®Ó chèt ®Þa chØ vµo mét thanh ghi bªn ngoµi trong n÷a ®Çu cña chu kú bé nhí. Sau ®ã, c¸c ®êng port 0 dïng ®Ó xuÊt hoÆc nhËp d÷ liÖu trong n÷a sau chu kú cña bé nhí.
C¸c xung tÝn hiÖu ALE cã tèc ®é b»ng 1/6 lÇn tÇn sè dao ®éng trªn chip vµ cã thÓ ®îc dïng lµ nguån xung nhÞp cho c¸c hÖ thèng. NÕu xung trªn 8051 lµ 12MHz th× ALE cã tÇn sè 2MHz. ChØ ngo¹i trõ khi thi hµnh lÖnh MOVX, mét xung ALE sÏ bÞ mÊt. Ch©n nµy còng ®îc lµm ngâ vµo cho xung lËp tr×nh cho EPROM trong 8051.
EA (External Access) :TÝn hiÖu vµo EA trªn ch©n 31 thêng ®îc m¾c lªn møc cao (+5V) hoÆc møc thÊp (GND). NÕu ë møc cao, 8051 thi hµnh ch¬ng tr×nh tõ ROM néi trong kho¶ng ®Þa chØ thÊp (4K). NÕu ë møc thÊp, ch¬ng tr×nh chØ ®îc thi hµnh tõ bé nhí më réng. Khi dïng 8031, EA lu«n ®îc nèi møc thÊp v× kh«ng cã bé nhí ch¬ng tr×nh trªn chip. NÕu EA ®îc nèi møc thÊp bé nhí bªn trong ch¬ng tr×nh 8051 sÏ bÞ cÊm vµ ch¬ng tr×nh thi hµnh tõ EPROM më réng. Ngêi ta cßn dïng ch©n EA lµm ch©n cÊp ®iÖn ¸p 21V khi lËp tr×nh cho EPROM trong 8051.
RST (Reset) :Ngâ vµo RST trªn ch©n 9 lµ ngâ reset cña 8051. Khi tÝn hiÖu nµy ®îc ®a lªn móc cao (trong Ýt nhÊt 2 chu kú m¸y ), c¸c thanh ghi trong 8051 ®îc t¶i nh÷ng gi¸ trÞ thÝch hîp ®Ó khëi ®éng hÖ thèng.
CÊp clock cho 8051
Xtal1 & Xtal2 :Nh ®· thÊy trong c¸c h×nh trªn, 8051 cã mét bé dao ®éng trªn chip. Nã thêng ®îc nèi víi th¹ch anh gi÷a hai ch©n 18 vµ 19. C¸c tô gi÷a còng cÇn thiÕt nh ®· vÏ. TÇn sè th¹ch anh th«ng thêng lµ 12MHz.
Power: 8051 vËn hµnh víi nguån ®¬n +5V. Vcc ®îc nèi vµo ch©n 40 vµ Vss (GND) ®îc nèi vµo ch©n 20.
2. Tæ chøc bé nhí :
Bé nhí bªn trong bao gåm ROM (8051) vµ RAM trªn chip, RAM trªn chip bao gåm nhiÒu phÇn : phÇn lu tr÷ ®a dông, phÇn lu tr÷ ®Þa chØ hãa tõng bit, c¸c bank thanh ghi vµ c¸c thanh ghi chøc n¨ng ®Æc biÖt.
Tãm t¾t c¸c vïng bé nhí cña 8051
Nh ta ®· thÊy trªn h×nh, RAM bªn 8051 ®îc ph©n chia gi÷a c¸c bank thanh ghi (00H-1FH), RAM ®Þa chØ hãa tõng bit (20H-2FH) , RAM ®a dông (30H--7FH) vµ c¸c thanh ghi chøc n¨ng ®Æc biÖt (80H-FFH).
Bé nhí ROM cã 30 byte ®Çu tiªn ®îc dµnh cho b¶ng vector ng¾t :
RAM trªn chip bao gåm vïng RAM ®a chøc n¨ng, vïng RAM víi tõng bit ®ược ®Þnh ®Þa chØ, c¸c dãy thanh ghi (bank) vµ c¸c thanh ghi chøc n¨ng ®Æc biÖt.
Vïng RAM ®a môc ®Ých: Cã 80 byte, ®Þa chØ tõ 30H ®Õn 7FH
BÊt cø vÞ trÝ nµo trong vïng RAM ta ®Òu cã thÓ truy xuÊt tự do b»ng c¸ch sö dông ®Þnh ®Þa chØ trùc tiÕp hoÆc gi¸n tiÕp.
Vïng RAM ®Þnh ®Þa chØ:
Chip 8951 chøa 210 vi trÝ ®Þnh ®Þa chØ in ®ã cã 128 byte chøa trong c¸c byte ë ®Þa chØ 20H ®Õn 2FH (16 byte x 8 = 128 bits), phÇn cßn l¹i chøa trong c¸c thanh ghi chøc n¨ng ®Æc biÖt.
C«ng dông: + Truy xuÊt c¸c bit riªng rÏ th«ng qua c¸c phÇn mÒn.
+ C¸c port cã thÓ ®Þng ®Þa chØ tõng bit, lµm ®¬n gi¶n viÖc giao tiÕp b¨ng phÇn mÒn víi c¸c thiÕt bÞ xuÊt nhËp ®¬n bit.
C¸c d·y thanh ghi:
Cã ®Þa chØ tõ 00H ®Õn 1FH, 32 vÞ trÝ thÊp nhÊt cña bé nhí néi chøa c¸c d·y thanh ghi. C¸c lÖnh cña 8951 hç trî 8 thanh ghi tö R0 ®Õn R7 (mÆc ®Þnh thuéc bank 0 sau khi reset hÖ thèng)
C¸c thanh ghi chøc n¨ng ®Æc biÖt (SFR)
Kh«ng ph¶i tÊt c¶ 128 ®Þa chØ tõ 80H ®Õn FFH ®Òu ®ược ®Þnh nghÜa mµ chỉ cã 21 ®Þa chØ ®ược ®Þnh nghÜa.
C¸c thanh ghi chøc n¨ng ®Æc biÖt bao gåm:
+ PSW: cã ®Þa chØ lµ D0H
Bit
KÝ hiÖu
§Þa chØ
M« t¶
PSW.7
CY
D7H
Cê Nhí
PSW.6
AC
D6H
Cê nhí phô
PSW.5
F0
D5H
Cê 0
PSW.4
RS1
D4H
Chän d·y thanh ghi 1
PSW.3
RS0
D3H
Chänh d·y thanh ghi 0
00 = bank 0: ®Þa chØ tõ 00F ®Õn 07H
01 = bank 1: ®Þa chØ tõ 08F ®Õn 0FH
10 = bank 2: ®Þa chØ tõ 00F ®Õn 07H
11 = bank 3: ®Þa chØ tõ 00F ®Õn 07H
PSW.2
OV
D2H
Cê trµn
PSW.1
-
D1H
Dù tr÷
PSW.0
P
D0H
Cê kiÓm tra ch½n lÎ
+ Thanh ghi B: Cã ®Þa chØ F0H ®ược dïng chung víi thanh chøa A trong c¸c phép to¸n nh©n vµ chia.
+ Con trá Stack (SP) : lµ thanh ghi 8 bit ë ®Þa chØ 81H, nã chøa ®Þa chØ cña d÷ liÖu hiÖn ®ang ë ®Ønh cña stack.
+ Con trá d÷ liÖu DPTR: - Dïng ®Ó truy xuÊt bé nhí chư¬ng tr×nh ngoµi hoặc bé nhí d÷ liÖu ngoµi.
- DPTR lµ thanh ghi 16 bit cã ®Þa chØ 82H (byte thÊp ) vµ 83H (byte cao).
+ C¸c thanh ghi port:
- Port 0 : ®Þa chØ 80H
- Port 1 : ®Þa chØ 90H
- Port 2 : ®Þa chØ A0H
- Port 3 : ®Þa chØ B0H
+ C¸c thanh ghi ®Þnh thêi:
8951 cã 2 bé ®Þnh thêi/®Õm dïng ®Ó ®Þnh kho¶ng thêi gian hoÆc ®Õm c¸c sù kiÖn.
- Bé ®Þnh thêi 0: ®Þa chØ 8AH (TL0 ) va 8CH (TH0)
- Bé ®Þnh thêi 1: ®Þa chØ 8bH (TL1 ) va 8DH (TH1)
Ho¹t ®éng cña bé ®Þnh thêi ®ược thiÕt lËp bëi thanh ghi chÕ ®é ®Þnh thêi TMOD ë ®Þa chØ 89H vµ thanh ghi ®iều khiÓn bé ®Þnh thêi TCON ë ®Þa chØ 88H (chØ cã TCON ®ược ®Þnh ®Þa chØ tõng bit)
a. Thanh ghi chÕ ®é ®Þnh thêi TMOD:
GATE
C/T
M1
M0
GATE
C/T
M1
M0
TMOD chøa hai nhãm 4 bit dïng ®Ó thiÕt lËp chÕ ®é ®Þnh thêi cho bé ®Þnh thêi 0 vµ bé ®Þnh thêi 1.
TMOD kh«ng ®îc ®Þnh ®Þa chØ tõng bit mµ ®îc thiÕt lËp mét lÇn b»ng phÇn mÒm ë ®Çu ch¬ng tr×nh.
Bit Tªn Bé ®Þnh thêi M« t¶
7 GATE 1 -Bit ®iÒu khiÓn cæng. Bé ®Þnh thêi 1 ho¹t ®éng khi
GATE ®îc set b»ng 1 vµ /INT1 ë møc cao.
6 C/T 1 - Bit chän chÕ ®é ®Õm hoÆc ®Þnh thêi. Xo¸ b»ng 0 khi
®Õm sù kiÖn (tÝn hiÖu vµo tõ ®ång hå hÖ thèng trong
chip), set b»ng 1 khi ho¹t ®éng ®Þnh thêi
5 M1 1 - Bit chän chÕ ®é.
4 M0 1 - Bit chän chÕ ®é.
T¬ng tù nh vËy víi 4 bit cña bé ®Þnh thêi 0. Víi c¸c chÕ ®é ®Þnh thêi ®îc chän:
M1 M0 ChÕ ®é M« t¶
0 0 0 ChÕ ®é ®Þnh thêi 13 bit
0 1 1 ChÕ ®é ®Þnh thêi/ bé ®Õm 16 bit
1 0 2 ChÕ ®é ®Þnh thêi/ bé ®Õm 8 bit tù n¹p l¹i
1 1 3 Timer 0: TL0 lµ bé ®Þnh thêi/ ®Õm 8 bit ®iÒu khiÓn.
bëi c¸c bit chän cña Timer 0 chuÈn. TH0 lµ mét bé
timer 8 bit ®iÒu khiÓn bëi c¸c bit chän cña Timer 1.
Cßn Timer 1 dõng kh«ng ho¹t ®éng
b. Thanh ghi ®iÒu khiÓn ®Þnh thêi TCON:
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
Bit Tªn §Þa chØ bit M« t¶
TCON.7 TF1 8Fh Cê trµn cña bé ®Þnh thêi 1. §îc set bëi phÇn cøng khi cã trµn, ®îc xo¸ bëi phÇn mÒm hoÆc phÇn cøng khi bé vi xö lý trá ®Õn tr×nh phôc vô ng¾t.
TCON.6 TR1 8Eh Bit ®iÒu khiÓn Timer 1. Set hoÆc xo¸ bëi phÇn cøng ®Ó timer 1 ho¹t ®éng hoÆc ngõng.
TCON.5 TF0 8Dh Cê trµn cña Timer 1. Set/ xo¸ bëi phÇn cøng khi Timer/ Counter 0 trµn hoÆc bé vi xö lý trá ®Õn tr×nh phôc vô ng¾t.
TCON.4 TR0 8Ch Bit ®iÒu khiÓn ho¹t ®éng cña Timer 0.
TCON.3 IE1 8Bh Cê ng¾t bªn ngoµi 1 (kÝch khëi c¹nh). Ho¹t ®éng bëi phÇn cøng.
TCON.2 IT1 8Ah Cê ng¾t bªn ngoµi 1 (kÝch khëi c¹nh hoÆc møc). Ho¹t ®éng bëi phÇn mÒm.
TCON.1 IE0 89h Cê ng¾t bªn ngoµi 0 (kÝch khëi c¹nh). Ho¹t ®éng bëi phÇn cøng.
TCON.0 IT0 88h Cê ng¾t bªn ngoµi 0 (kÝch khëi c¹nh hoÆc møc). Ho¹t ®éng bëi phÇn mÒm.
+ C¸c thanh ghi cña port nèi tiÕp: Chip 8951 cã 1 port nèi tiÕp ®Ó truyÒn th«ng víi c¸c thiÕt bÞ như c¸c thiÕt bÞ ®Çu cuèi hoÆc modem...
+ C¸c thanh ghi ng¾t: cã mét cÊu tróc ng¾t víi 2 møc ưu tiªn vµ 5 nguyªn nh©n ng¾t. C¸c ng¾t bÞ v« hiÖu ho¸ sau khi Rese