Tài liệu Luận văn Giới thiệu hệ thống điều khiển nhiệt độ: PHẦN 1:
GIỚI THIỆU LÝ THUYẾT
Chương I:
GIỚI THIỆU HỆ THỐNG ĐIỀU KHIỂN NHIỆT ĐỘ
I.Khái niệm về hệ thống điều khiển nhiệt độ:
Nhiệt độ là đại lượng vật lý hiện diện khắp mọi nơi và trong nhiều lĩnh vực, đặc biệt là trong công nghiệp vì mỗi sản phẩm , thiết bị hay điều kiện làm việc cần những nhiệt độ khác nhau .Muốn có được nhiệt độ phù hợp cần phải có một hệ thống điều khiển.Tùy theo tính chất ,yêu cầu của quá trình mà nó đòi hỏi các phương pháp điều khiển thích hợp
Hệ thống điều khiển nhiệt độ có thể phân làm hai loại :Hệ thống điều khiển hồi tiếp (feedback control system) và hệ thống điều khiển tuần tự (sequence control system)
Điều khiển hồi tiếp thường được xác định và giám sát kết quả điều khiển , so sánh nó với yêu cầu thực thi và tự động điều chỉnh đúng .
Điều khiển tuần tự thực hiện từng bước điều khiển tùy theo hoạt động đ...
59 trang |
Chia sẻ: hunglv | Lượt xem: 1061 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Luận văn Giới thiệu hệ thống điều khiển nhiệt độ, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
PHAÀN 1:
GIÔÙI THIEÄU LYÙ THUYEÁT
Chöông I:
GIÔÙI THIEÄU HEÄ THOÁNG ÑIEÀU KHIEÅN NHIEÄT ÑOÄ
I.Khaùi nieäm veà heä thoáng ñieàu khieån nhieät ñoä:
Nhieät ñoä laø ñaïi löôïng vaät lyù hieän dieän khaép moïi nôi vaø trong nhieàu lónh vöïc, ñaëc bieät laø trong coâng nghieäp vì moãi saûn phaåm , thieát bò hay ñieàu kieän laøm vieäc caàn nhöõng nhieät ñoä khaùc nhau .Muoán coù ñöôïc nhieät ñoä phuø hôïp caàn phaûi coù moät heä thoáng ñieàu khieån.Tuøy theo tính chaát ,yeâu caàu cuûa quaù trình maø noù ñoøi hoûi caùc phöông phaùp ñieàu khieån thích hôïp
Heä thoáng ñieàu khieån nhieät ñoä coù theå phaân laøm hai loaïi :Heä thoáng ñieàu khieån hoài tieáp (feedback control system) vaø heä thoáng ñieàu khieån tuaàn töï (sequence control system)
Ñieàu khieån hoài tieáp thöôøng ñöôïc xaùc ñònh vaø giaùm saùt keát quaû ñieàu khieån , so saùnh noù vôùi yeâu caàu thöïc thi vaø töï ñoäng ñieàu chænh ñuùng .
Ñieàu khieån tuaàn töï thöïc hieän töøng böôùc ñieàu khieån tuøy theo hoaït ñoäng ñieàu khieån tröôùc khi xaùc ñònh tuaàn töï.
II. Caùc nguyeân taéc ñieàu khieån :
1.Nguyeân taéc thoâng tin phaûn hoài:
Trong caùc quaù trình ñieàu khieån ,toàn taïi hai doøng thoâng tin moät töø cô quan chuû quaûn ñeán ñoái töôïng vaø moät töø ñoái töôïng ñi ngöôïc veà cô quan ñieàu khieån , ñöôïc goïi laø lieân keát ngöôïc hay hoài tieáp .
n
Ñieàu khieån
Ñoái töôïng
u
c
a) Quaù trình ñieàu khieån theo nguyeân taéc buø nhieãu:
Taùc ñoäng vaøo ñoái töôïng laø luaät ñieàu khieån u theo nguyeân taùc buønhieãu ñeå ñaït ñaàu ra c mong muoán,nhöng khoâng quan saùt tín hieäu ra c .
r
Ñieàu khieån
e
u
n
c
-
Ñoái töôïng
Veà nguyeân taéc ,ñoái vôùi heä phöùc taïp thì ñieàu khieån theo maïch hôû khoâng cho keát quaû toát .
b) Ñieàu khieån theo sai leäch:
Cô quan ñieàu khieån quan saùt c, so saùnh vôùi ñònh chuaån ñieàu mong muoán r ñeå choïn luaät ñieàu khieån u.
Nguyeân taéc ôû ñaây laø ñieàu chænh linh hoaït ,loaïi sai leäch ,thöû nghieäm vaø söûa.Ñaây laø nguyeân taéc cô baûn trong ñieàu khieån.
c) Ñieàu khieån phoái hôïp:
r
Ñieàu khieån
Ñoái töôïng
n
c
u
e
2.Nguyeân taéc ña dang töông xöùng:
Muoán quaù trình ñieàu khieån coù chaát löôïng thì söï ña daïng cuûa cô quan ñieàu khieån phaûi töông xöùng vôùi söï ña daïng cuûa ñoái töôïng .Tính ña daïng cuûa cô quan ñieàu khieån coù theå duøng ñeå cheá ngöï ñoái töôïng theå hieän ôû :khaû naêng thu thaäp thoâng tin , löu tröõ ,phaân tích xöû lyù ,choïn quyeát ñònh ,toå chöùc thöïc hieän.
3.Nguyeân taéc boå sung ngoaøi:
Moät heä thoáng luoân toàn taïi vaø hoaït ñoäng trong moâi tröôøng cuï theå vaø coù taùc ñoäng qua laïi chaët cheõ vôùi moâi tröôøng ñoù .Trong ñieàu kieän thöøa nhaän nguyeân taéc boå sung ngoaøi sau:thöøa nhaän coù moät ñoái töôïng chöa bieát (hoäp ñen)taùc ñoäng vaøo heä thoáng vaø ta phaûi ñieàu khieån caû heä thoáng laãn hoäp ñen.
4.Nguyeân taéc döï trö:õ
Vì nguyeân taéc 3 luoân coi thoâng tin chöa ñaày ñuû phaûi ñeà phoøng caùc baát traéc coù theå xaûy ra vaø khoâng ñöôïc duøng toaøn boä löïc löôïng trong ñieàu kieän bình thöôøng . Voán döï tröõ laø khoâng söû duïng ,nhöng caàn ñeå baûo ñaûm cho heä thoáng vaän haønh an toaøn .
5.Nguyeân taéc phaân caáp:
Ñoái vôùi moät heä thoáng phöùc taïp caàn xaây döïng nhieàu lôùp ñieàu khieån boå sung cho trung taâm ,ñeå khueách ñaïi khaû naêng ñieàu khieån .Phaûi traùnh khuynh höôùng hình thöùc vaø phaân caáp quaù ñaùng ,xöû lyù cho ñuùng nhieän vuï vaø quyeàn haïn ôû moãi caáp
6.Nguyeân taéc caân baèng noäi:
Moãi heä thoáng caàn ñöôïc xaây döïng vôùi cô cheá caân baèng noäi ñeå coù khaû naêng töï giaûi quyeát nhöõng bieán ñoäng xaûy ra.
III.Caùc loaïi ñieàu khieån:
Söï phaân loaïi ñieàu khieån coù tính chaát quy öôùc
1.Ñieàu khieån oån ñònh hoùa:
Muïc tieâu ñieàu khieån laø keát quaû ñaàu ra baèng ñaàu vaøo chuaån r(t) = const vôùi sai leäch cho pheùp exl (sai soá ôû cheá ñoä xaùc laäp)
e(t) = r(t) - c(t) £ exl
Ñaëc bieät khi ñaàu ra heä thoáng caàn giöõ laø haèng soá ,ta coù heä thoáng ñieàu chænh hay heä thoáng oån ñònh .
Ví duï: heä thoáng oån ñònh nhieät ñoä ,ñieän aùp ,aùp suaát ,noàng ñoä toác ñoä…
2.Ñieàu khieån theo chöông trình:
Neáu r(t) laø moät haøm ñònh tröôùc theo thôøi gian ,yeâu caàu ñaùp öùng ra cuûa heä thoáng sao cheùp laïi caùc giaù trò cuûa tín hieäu vaøo r(t) thì ta coù heä thoáng ñieàu khieån theo chöông trình .
Ví duï: heä thoáng ñieàu khieån maùy coâng cuï CNC ,ñieàu khieån töï ñoäng nhaø maùy xi maêng Hoaøng Thaïch ,heä thoáng thu thaäp vaø truyeàn soá lieäu heä thoáng ñieän, quaûn lyù vaät tö ôû nhaø maùy …
3.Ñieàu khieån theo doõi:
Neáu tín hieäu taùc ñoäng vaøo heä thoáng r(t) laø moät haøm khoâng beát tröôùc theo thôøi gian ,yeâu caàu ñieàu khieån ñaùp öùng ra c(t) luoân baùm saùt ñöôïc r(t) ,ta coù heä thoáng theo doõi.Ñieàu khieån theo doõi ñöôïc söû duïng roäng raõi trong caùc heä thoáng ñieàu khieån vuõ khí ,heä thoáng laùi taøu ,maùy bay…
u (t)
TC
ÑK
ÑT
r (t)
c (t)
n (t)
v (t)
4.Ñieàu khieån thích nghi:
Tín hieäu v(t) chænh ñònh laïi tham soá ñieàu khieån sao cho heä thích nghi vôùi moïi bieán ñoäng cuûa moâi tröôøng ngoaøi.
5.Ñieàu khieån toái öu haøm muïc tieâu ñaït cöïc trò:
Ví duï caùc baøi toaùn qui hoaïch ,vaän truø trong kinh teá ,kyõ thuaät ñeàu laø caùc phöông phaùp ñieàu khieån toái öu.
IV.Moâ hình toång quaùt vaø caùc phöông phaùp ño nhieät ñoä:
1.Moâ hình heä thoáng ñieàu khieån:
Heä thoáng ño vaø ñieàu khieån nhieät ñoä laø moät ñaïng cuûa heä thoáng thu thaäp döõ lieäu .Nhìn chung moät heä thoáng thu thaäp döõ lieäu ñaày ñuû coù nhöõng thaønh phaàn sau:
Phaàn thu thaäp döõ lieäu töø ñoái töôïng beân ngoaøi vaøo heä thoáng vi xöû lyù-maùy tính. Phaàn naøy goàm caùc caûm bieán ,maïch gia coâng tín hieäu ,boä chuyeån ñoåi tín hieäu töông ñoàng sang tín hieäu soá (ADC) vaø caùc thieát bò ngoaïi vi khaùc nhö nguoàn, ñöôøng daây truyeàn döõ lieäu …
Phaàn ñieàu khieån : bao goàm heä vi xöû lyù , maùy tính vaø heä thoáng taùc ñoäng vaøo ñoái töôïng .
Phaàn meàm: laø chöông trình cho kít xöû lyù taïi choå vaø chöông trình cho maùy tính nhaèm thu nhaän döõ lieäu vaø ñieàu khieån nhieät ñoä cuõng nhö giao tieáp vôùi ngöôøi söû duïng .Caùc thaønh phaàn treân lieân quan chaët cheõ vôùi nhau ,taïo thaønh moät heä thoáng hôïp nhaát .Töø phaân tích treân moät heä thoáng thu thaäp döõ lieäu (ADS)seõ coù nhöõng thaønh phaàn caáu truùc sau:
Keânh n
Keânh 1
DOÀN
KEÂNH
TÖÔNG
TÖÏ
KÍT
LÖU TRÖÕ
VAØ
ÑIEÀU KHIEÅN
ADC
Maïch ñoái töôïng 1
DAC
Maïch
Gia coâng n
BOÄ
PHAÂN
KEÂNH
Maùy
tính
chuû
Maïch ñoái töôïng n
Maïch
Gia coâng 1
2.Chöùc naêng caùc khoái trong heä thoáng ñieàu khieån:
2.1.Kít chuû vi xöû lyù:
Kit söû duïng moät chip vi xöû lyù ,laø ñôn vò master nhaän yeâu caàu töø ngöôøi söû duïng vaø truyeàn döõ lieäu cho caùc slave khaùc ,ôû ñaây söû duïng kyõ thuaät truyeàn thoâng ña xöû lyù ñeå giao tieáp kit chuû vaø caùc kit xöû lyù slave,giöõa kit chuû vaø maùy tính, chæ coù theå giao tieáp khi taùc ñoäng phím töø kit .
Kit chuû coù thieát keá phaàn cöùng nhö caùc kit slave, duy chæ coù theâm veà phaàn cöùng maïng truyeàn vaø phaàn chöông trình quaûn lyù caùc thoâng soá cuûa caùc ñôn vò slave.
2.2.Caùc kit xöû lyù taïm thôøi (slave):
Caùc kit xöû lyù taïm thôøi coù nhieäm vuï thu nhaän caùc giaù trò töø ADC vaø coù khaû naêng ñieàu khieån nhieät ñoä theo caùc phöông phaùp khaùc nhau.Chöùc naêng cuûa caùc thoâng soá töø coång noái tieáp .
2.3. Maïng truyeàn:
Duøng ñeå giao tieáp giöõa caùc kit ,giöõa caùc kit vôùi maùy tính .Maïng truyeàn söû duïng ôû ñaây laø theo khuyeán caùo cuûa nhaø saûn xuaát chip giao tieáp maõ 485.Chuaån truyeàn 485 ñöôïc söû duïng roäng raõi trong caùc thieát bò ñieàu khieån vi tính ñôn giaûn trong keát noái phaàn cöùng cuõng nhö giao thöùc truyeàn ñaây laø maïng Half Duplex . Trong moät thôøi gian söû duïng nhaát ñònh chæ coù theå nhieàu nhaát hai ñoái töôïng lieân laïc vôùi nhau.Caùc caùch thöùc giao tieáp laø moät vi xöû lyù chuû vaø caùc vi xöû lyù tôù ,caùc vi xöû lyù tôù khoâng theå lieân laïc vôùi nhau maø chæ coù theå lieân laïc thoâng qua vi xöû lyù chuû.
2.4. Chöông trình ñieàu khieån:
Thöïc hieän vieäc giao tieáp giöõa caùc vi xöû lyù vaø kit chuû ,giöõa kit chuû vaø maùy tính ,ñaët trò.
3.Caùc phaàn töû trong thieát bò ño vaø phöông phaùp ño nhieät ñoä:
3.1.Caùc phaàn töû trong thieát bò ño:
CAÛM BIEÁN
Phaàn töû bieán ñoåi caùc ñaïi löôïng khoâng ñieän sang ñaïi löôïng ñieän,boä phaän naøy thöôøng duøng thermocouple.
BOÄ CHEÁ BIEÁN TÍN HIEÄU
Bieán ñoåi tín hieäu ñieän thu ñöôïc töø thermocouple cho phuø hôïp vôùi möùc vaøo maïch bieán ñoåi tín hieäu A/D.
BOÄ HIEÅN THÒ KEÁT QUAÛ
Hieån thò keát quaû thu ñöôïc döôùi daïng hieån thò soá.
BOÄ ÑIEÀU KHIEÅN
Thöïc hieän ñieàu khieåntheo phöông phaùp PID hay ON/OFF.
MAÏCH KHUYEÁCH ÑAÏI COÂNG SUAÁT
Khueách ñaïi tín hieäu ñieàu khieån ñeå ñieàu chænh nhieät ñoä.
3.2.Caùc phöông phaùp ño:
Hieän nay coù raát nhieàu phöông phaùp ño khaùc nhau :töø ñôn giaûn ñeán phöùc taïp, töø loaïi coù ñoä chính xaùc vöøa ñeán loaïi chính xaùc cao.
Ño nhieät ñoä baèng coät thuûy ngaân.
Ño nhieät ñoä baèng ñieän trôû.
Ño nhieät ñoä baèng caëp nhieät ñieän.
Ño nhieät ñoä baèng diode vaø transistor .
Duïng cuï ño nhieät theo nhieät noùng chaûy cuûa caùc chaát.
Duïng cuï ño nhieät ñoä theo doøng ñieän böùc xaï.
Ño nhieät ñoä baèng IC caûm bieám nhieät.
Ño nhieät ñoä baèng caûm bieán thaïch anh.
Ño nhieät ñoä duøng caûm bieán thaïch anh coù öu ñieåm hôn so vôùi caùc phöông phaùp khaùc ,vì noù coù ñoä chính xaùc cao ,vieäc chuyeån ñoåi daïng soá raát deã daøng ñoái vôùi thoâng tin lieân quan ñeán taàn soá.
Ví duï: ñaëc tính ño löôøng cuûa tinh theå thaïch anh do haõng Heulett Packard cheá taïo coù:
Khoaûng ño -80oC ¸ 250oC.
Khoaûng tuyeán tính ± 0.05% khoaûng ño.
Ñoä nhaïy 1000HZ oC .
Khaû naêng ño 0.0001oC.
Tuy nhieân coù haïn cheá laø khoù cheá taïo ,caùc maïch dao ñoäng thaïch anh khoù tinh chænh.
a) Caùch laép ñaët boä caûm öùng nhieät:
Vò trí cuûa caûm öùng nhieät aûnh höôûng raát lôùn ñeán vieäc ño ñaïc vaø ñieàu khieån nhieät ñoä cuûa vaät theå .Caûm öùng nhieät caøng xa nguoàn nhieät thì caøng voït loá cao do ñoù tuøy theo yeâu caàu cuï theå maø ta laép ñaët vò trí thích hôïp
b) Quan heä giöõa caùc thang ño nhieät ñoä:
ToC =T(oK)-273.15
ToC ={T(oF)-32}´5/9
Chöông II:
CAÛM BIEÁN NHIEÄT ÑOÄ
Caûm bieán nhieät ñoä laø duïng cuï chuyeån ñoåi ñaïi löôïng nhieät thaønh caùc ñaïi löôïng vaät lyù khaùc chaúng haïn nhö ñieän, aùp suaát, ñoä giaõn nôû daøi, ñoä giaõn nôû khoái, ñieän trôû, … Caûm bieán nhieät ñoä laø phaàn töû khoâng theå thieáu trong baát kyø heä thoáng ñoâ löôøng ñieàu khieån nhieät ñoä naøo. Caûm bieán nhieät ñoä coù khaû naêng nhaän bieát ñöôïc tín hieäu nhieät ñoä moät caùch chính xaùc, trung thöïc vaø chuyeån ñoåi thaønh tín hieäu coù theå ño löôøng ñöôïc nhö ñieän aùp, doøng ñieän, ñieän trôû, theå tích aùp suaát…
I.CAÙC THOÂNG SOÁ CAÛM BIEÁN:
1.Thoâng soá caáu taïo: ñöôïc quyeát ñònh do nhaø saûn xuaát vaø phuï thuoäc vaøo töøng loaïi caûm bieán.
2.Thoâng soá söû duïng: bao goàm caùc yeáu toá sau:
Khoaûng laøm vieäc : laø khoaûng nhieät ñoä maø caûm bieán coù khaû naêng khi chöa bò baûo hoøa . Khoaûng laøm vieäc cao hay thaáp laø do tính chaát caáu taïo vaø tính lyù hoùa cuûa töøng loaïi caûm bieán qui ñònh.
ñoâä nhaïy: ñöôïc ñònh nghóa:
df: söï thay ñoåi ñaïi löôïng ño cuûa caûm bieán
dx : söï thay ñoåi ñaïi löôïng vaät lyù.
Ngöôõng ñoä nhaïy: laø möùc thaáp nhaát maø caûm bieán coù theå phaùt hieän ñöôïc.
Tính treã: coøn goïi laø quaùn tính cuûa caûm bieán. Tính treã cuûa caûm bieán taïo ra sai soá cuûa pheùp ño. Toác ñoä thay ñoåi cuaû ñaïi löôïng ño phaûi phuø hôïp vôùi tính treã cuûa caûm bieán. Neáu ñaïi löôïng ño thay ñoåi quaù nhanh maø quaùn tính cuûa caûm bieán lôùn thì khoâng theå ño chính xaùc ñöôïc. Moïi caûm bieán ñeàu coù tính treã do aûnh höôûng cuûa voû baûo veä.
II.CAÙC LOAÏI CAÛM BIEÁN THOÂNG DUÏNG:
1.Caëp nhieät ñieän :
Caëp nhieät ñieän laø duïng cuï ño nhieät ñoä thöôøng ñöôïc söû duïng roäng raõi trong coâng nghieäp.Cô sôû cheá taïo caëp nhieät ñieän döïa treân caùc nguyeân lyù sau:
Hieäu öùng Thomson: qua moät daây daån coù doøng ñieän I vaø hieäu nhieät treân daây laø T1-T2 thì seõ coù moät söï haáp thuï hay toûa nhieät.
Hieäu öùng Pentier: khi coù doøng ñieän ñi qua moät moái noái cuûa hai daây daãn thì taïi vò trí moái noái seõ coù söï haáp thuï hay toûa nhieät
Hieäu öùng Seebeck: trong moät daây daãn baát kyø , khi coù söï cheânh leäch nhieät ñoä taïi moät ñieåm thì ngay taïi ñieåm ñoù seõ xuaát hieän moät suaát ñieän ñoäng
Ñònh luaät Macmut: trong moät maïch ñieän kín cuûa daây daãn ñoàng nhaát baát kyø söï phaân boá nhieät ñoä ra sao, suaát ñieän ñoäng toång coäng cuûa maïch luoân baèng khoâng.
Nguyeân taéc:
Nguyeân taéc caáu taïo cuûa caëp nhieät ñieän döïa theo cô sôû thöïc nghieäm sau:
Khi nung noùng moät daây kim loaïi hay moät ñoaïn daây ,taïi ñoù taäp trung ñieän töû töï do vaø coù khuynh höôùng khueách taùn töø nôi taäp trung nhieàu ñeán nôi taäp trung ít . Coù nghóa laø ñaàu noùng (+)sang ñaàu nguoäi(-) (hieäu öùng seebeck). ÔÛ ñoaïn daây xuaát hieän moät suaát ñieän ñoäng Thomson phuï thuoäc vaøo baûn chaát cuûa daây kim loaïi.
Roû raøng ôû ñaây neáu ta duøng hai daây kim loaïi ñoàng chaát a ,noái vôùi nhau qua hai ñieåm T1 vaø T2 trong maïch seõ xuaát hieän hai suaát ñieän ñoäng baèng nhau nhöng ngöôïc chieàu nhau neân toång suaát ñieän ñoäng baèng khoâng.
Nhöng neáu maïch kín treân ñöôïc caáu taïo bôûi hai daây kim loaïi khaùc nhau a vaø b thì toång suaát ñieän ñoäng xuaát hieän trong maïch naøy baèng suaát ñieän ñoäng Thomson phuï thuoäc vaøo nhieät ñoä tuyeät ñoái T1,T2 ôû hai ñaàu moái gheùp cuûa daây daãn .Ngoaøi ra trong maïch coøn coù suaát ñieän ñoäng Seebeck ,ñieàu naøy ñöôïc giaûi thích laø do söï taäp trung khaùc nhau cuûa ñieän töû töï do ôû hai ñaàu moái gheùp . Maët khaùc ,do söï xuaát hieän theá naêng tieáp xuùc taïi khu vöïc moái gheùp bôûi hai daây daãn khoâng ñoàng chaát . lyù thuyeát treân ñöôïc theå hieän baèng coâng thöùc:
Eab(T1,T2)=Eab(T2)-Eab(T1)
Trong ñoù:
+ Eab(T1,T2) : toång suaát ñieän ñoäng trong maïch kín khi hai ñaàu moái gheùp coù nhieät ñoä T1,T2.
+Eab(T1) : suaát ñieän ñoäng Thomson xuaát hieän trong maïch taïi moái gheùp coù nhieät ñoä T1.
+Eab(T2) : suaát ñieän ñoäng Thomson xuaát hieän trong maïch taïi moái gheùp coù nhieät ñoä T2.
Coâng thöùc treân chính laø cô sôû cheá taïo caïêp nhieät ñieän .Neáu ñeå chuaån moät ñaàu coù nhieät ñoä T1=0oC thì suaát ñieän ñoängôû hai ñaàu caëp nhieät taïi moái gheùp khi T2=T laø:
A,B,C laø caùc haèng soá phuï thuoäc vaøo vaät lieäu cheá taïo. Nhö vaäy suaát ñieän ñoäng E0 laø haøm phi tuyeán ñoái vôùi nhieät ñoä .Noùi caùch khaùc ñoä nhaïy cuûa caëp nhieät thay ñoåi trong töøng khoaûng ño.Hoaëc veà maët toaùn hoïc haøm Eo ñöôïc xem laø tuyeán tính vôùi nhieät ñoä khi B,C£ A.
Toùm laïi: suaát ñieän ñoäng ñöôïc xem laø tuyeán tính vôùi nhieät ñoä trong khoaûng laøm vieäc naøo ñoù tuøy theo caáu taïo cuûa töøng loaïi kim loaïi ñeå laøm caëp nhieät.
Caáu taïo :
Caëp nhieät ñieän ñöôïc cheá taïo baèng hai sôïi kim loaïi khaùc nhau ,vaø coù ít nhaát laø hai moái noái.Moät ñaàu ñöôïc giöõ ôû nhieät ñoä chuaån goïi laø ñaàu ra ñaàu coøn laïi tieáp xuùc vôùi ñoái töôïng ño.
b
T2
a
b
Eab(T1,T2)
BOÄ HIEÅN THÒ
T1
Caëp nhieät ñieän coù cöïc döông vaø cöïc aâm,cöïc döông thöôøng ñaùnh daáu maøu ñoû
Tuøy theo vaät lieäu cheá taïo ,caëp nhieät ñieän ñöôïc phaân thaønh caùc loaïi sau:
20
40
30
50
10
1800
1400
1000
600
200
60
T (0C)
70
E(mV)
R
J
T
K
S
E
B
E
J
K
T
E: Chromel/constantan
J: Saét/constantan
T: Ñoàng/constantan
K: Chromel/Alumel
R: Platin-Rodi(13%)/Platin
S: Platin-Rodi(10%)/Platin
B: Platin-Rodi(30%)/Platin-Rodi(6%)
Vaät lieäu caáu taïo
Veà nguyeân taéc ,khi ñoát noùng moái haøn cuûa hai kim loaïi baát kyø ñeàu phaùt sinh moät suaát ñieän ñoäng nhieät .Nhöng khoâng phaûi taát caû caùc kim loaïi vaø hôïp kim naøo cuõng ñeàu duøng laøm caëp nhieät ñöôïc.Vaät lieäu laøm caëp nhieät ñieän ñoøi hoûi moät soá yeâu caàu sau:
ñoä tinh khieát cao
tính choáng aên moøn toát
ñoä noùng chaûy cao hôn nhieät moâi tröôøng caàn ño
moät soá tính chuû yeáu nhö daãn ñieän ,daãn nhieät toát
tính laëp laïi trong khoaûng moät thôøi gian daøi
Ngoaøi ra ñoä chính xaùc cuûa caëp nhieät ñieän coøn phuï thuoäc vaøo ñoä chính xaùc cheá taïo vaø lyù tính cuûa moâi tröôøng ño.
Caùch söû duïng:
Ñeå caëp nhieät ñoä coù theå laøm vieäc toát vaø laâu beàn ,khi söû duïng caàn löu yù:
+ Caëp nhieät ñieän caàn coù voû baûo veä ñeå choáng taùc ñoäng xaâm thöïc cuûa moâi tröôøng yeâu caàu ñoái vôùi voû boïc laø caùch ñieän nhöng khoâng caùch nhieät.
+ Phaûi ñaët caëp nhieät ôû nôi thích hôïp vì thöôøng laø nhieät khoâng phaân boá ñeàu.
+ Vò trí laép ñaët phaûi traùnh choå coù töø tröôøng ,ñieän tröôøng maïnh.
+Ñeå caëp nhieät thaúng ñöùng ñeà phoøng oáng baûo veä bò bieán daïng do nhieät cao.
+Neân laép ñaët daây buø vaøo oáng saét noái ñaát ñeå traùnh nhieãu .
2.Nhieät keá ñieän trôû:
Nguyeân lyù laøm vieäc cuûa nhieät keá laø döïa vaøo söï thay ñoåi ñieän trôû theo nhieät ñoä cuûa caùc vaät lieäu daãn ñieän.
2.1.Nhieät ñieän trôû kim loaïi:
Caáu taïo:
Vaät lieäu caáu taïo ñieän trôû kim loaïi ñoøi hoûi caùc yeâu caàu sau:
+ Heä soá nhieät lôùn
+ Ñieän trôû suaát lôùn
+ Tính oån ñònh lyù hoùa toát
+ Tính thuaàn khieát
Ñoä nhaïy:
Ñoä nhaïy S cuûa nhieät ñieän trôû kim loaïi coù daïng sau:
DR
S= = aRo
DTyû suaát
a : laø heä soá nhieät ñieän trôû.
Ro: laø ñieän trôû ôû 0oC.
Heä soá nhieät ñieän trôû:
Heä soá nhieät ñieän trôû cuûa kim loaïi seõ tính nhö sau:
1dR
a »
RdT
Heä soá nhieät a phuï thuoäc vaøo tính ñoàng nhaát cuûa kim loaïi .
2.2.Nhieät ñieän trôû baùn daãn:
Thay ñoåi nhieät ñoä ñöôïc cheá taïo baèng chaát baùn daãn thöôøng goïi laø Thermistor
Thaønh phaàn chính cuûa thermistor laø boät cuûa caùc oxyt kim loaïi nhö Maùy nghieàn bi,Fe,Ni…,hoaëc caùc hoån hôïp tinh cheá nhö MgAl2O4 ,Zn2TiO4 …
Phaân loaïi:
Nhieät ñieän trôû baùn daãn ñöôïc chia thaøn hai loaïi :
Nhieät ñieän trôû Pct :laø loaïi nhieät ñieän trôû coù heä soá nhieät döông ,nghóa laø nhieät ñoä taêng thì R giaûm.
Nhieät ñieän trôû Nct: thaønh phaàn chính laø boät kim loaïi nhö: MnAl2O4 vaø Zn2TiO4 .Ñoä tin caäy cuûa nhieät ñieän trôû baùn daãn phuï thuoäc vaøo ñoä tinh khieát cuûa vaät lieä cheá taïo .Nct thöôøng coù hình daïng nhö:daïng haït ,daïng dóa ,daïng khoen.
Heä soá thu nhieät ñoä:
Thermistor seõ bò ñoát noùng khi khi nhieät ñoä moâi tröôøng xung quanh taêng töø nhieät ñoä T0 ñeán T ,nhö vaäy laø nhieät ñieän trôû ñaõ tieâu thuï ñöôïc moät coâng suaát theo coâng thöùc nhö sau:
W= C(T-T0)
C : laø heä soá thu nhieät cuûa ñieän trôû :laø naêng löôïng caàn thieát ñeå laøm taêng nhieät ñoä cuûa Thermistor leân 1oC so vôùi nhieät ñoä xung quanh,coù ñôn vò laø wm/oC .
Caùch söû duïng:
Khi söû duïng nhieät keá khoâng neân duøng nhieät ñieän trôû ôû nhieät ñoä quaù cao hay quùa thaáp laøm cô caáu tinh theå kim loaïi thay ñoåi ,cuõng khoâng neân ñeå nôi quaù aåm seõ taïo ñieàu kieän cho ñieän trôû ræ khoâng kieåm soaùt ñöôïc .Khoâng neân ñaët ñieän trôû kim loaïi nôi coù chaán ñoäng rung hay va ñaäp .
Caùc öu ñieåm: coù ñoä chính xaùc cao,coù theå keát noái vôùi maùy tính…
3.IC caûm bieán nhieät ñoä:
Ñaây laø maïch tích hôïp nhaän tín hieäu nhieät ñoä chuyeån ñoåi thaønh ñieän ,cho pheùp ño ñöôïc ôû daïng bieán aùp hay doøng.
Moät soá loaïi IC caûm bieán thoâng duïng:LX5700, LX135, LM235, LM335, AD590, LM134,…
Chöông III:
GIÔÙI THIEÄU HOÏ MICROCONTROLLER
I.PHAÀN CÖÙNG:
Sô ñoà khoái:
Microcontroller 8051/8031 laø moät IC thuoäc hoï vi ñieàu khieån MCS_51 do haõng Intel phaùt minh vaø cheá taïo.Caùc IC tieâu bieåu cho hoï MC_51 laø 8051 vaø 8031.
Timer 1
RST
Ñieàu khieån
ngaét
128 bytes
RAM
Caùc Port
I/O
4K
ROM
CPU
Boä dao
ñoäng
Port noái
tieáp
Ñieàu khieån
bus
Caùc thanh
ghi khaùc
Timer 1
Timer 0
EA
ALE
P3
P1
P2
P0
PSEN
TXD
RXD
Timer 0
Port noái tieáp
T1
T0
INT0
INT1
Sô ñoà khoái 8051
Chuùng coù caùc ñaëc ñieåm chung sau:
+ 4K byte ROM (ñöôïc laäp trình bôûi nhaø saûn xuaát ,chæ coù ôû 8051).
+ 128 byte Ram.
+ 4 port I/O 8 bit.
+ 2 boä ñònh thì 16 bit .
+ Giao tieáp noái tieáp.
+ 64K khoâng gian boä nhôù chöông trình môû roäng.
+ 64K khoâng gian boä nhôù döõ lieäu môû roäng.
+ Moät boä xöû lyù luaän lyù (thao taùc treân caùc bit ñôn).
+ 210 bit coù khaû naêng ñònh vò rieâng bieät trong Ram noäi.
+ 5 nguoàn ngaét vôùi 2 möùc öu tieân.
2.Sô löôïc caùc chaân cuûa 8051:
VCC
32
P0.6
P0.5
P0.7
P0.4
P0.3
P0.2
P0.1
P0.0
39
33
34
35
36
37
38
P1.6
P1.5
P1.7
P1.4
P1.3
P1.2
P1.1
P1.0
1
7
6
5
4
3
2
8
P2.6
P2.5
P2.7
P2.4
P2.3
P2.2
P21
P2.0
21
27
26
25
24
23
22
28
P3.6
P3.5
P3.7
P3.4
P3.3
P3.2
P3.1
P3.0
10
16
15
14
13
12
11
17
/WR
T1
/RD
T0
/INT1
/INT0
TXD
RXD
19
29
30
31
9
ALE
RST
PSEN
EA
18
12MHz
30pF
30pF
20
VSS
40
8051
2.1.Port 0:
Port 0 goàm caùc chaân töø 32 ¸ 39 .Port 0 coù chöùc naêng I/O trong caùc thieát keá côû nhoû (khoâng duøng boä nhôù môû roäng) .Ñoái vôùi caùc thieát keá lôùn vôùi boä nhôù môû roäng ,noù ñöôïc hôïp keânh giöõa bus ñòa chæ vaø bus döõ lieäu.
2.2.Port 1:
Port 1 laø moät Port I/O treân caùc chaân 1-8 .Caùc chaân ñöôïc kyù hieäu P1.0,P1.1,…coù theå duøng giao tieáp vôùi caùc thieát bò ngoaøi neáu caàn .
2.3.Port 2:
Port 2 laø Port coâng duïng keùp treân caùc chaân 21-28 ñöôïc duøng nhö caùc ñöôøng xuaát nhaäp hoaëc laø byte cao cuûa bus ñòa chæ ñoái vôùi caùc thieát keá duøng boä nhôù môû roäng.
2.4.Port 3:
Port 3 laø moät Port coâng duïng keùp treân caùc chaân 10-17 .Caùc chaân cuûa Port naøy coù nhieàu chöùc naêng ,caùc coâng duïng chuyeån ñoåi coù lieân heä vôùi caùc ñaëc tính ñaëc bieät cuûa 8051/8031nhö ôû baûng sau:
Bit
Teân
Chöùc naêng chuyeån ñoåi
P3.0
RXD
Döõ lieäu nhaän cho Port noái tieáp
P3.1
TXD
Döõ lieäu phaùt cho Port noái tieáp
P3.2
/INT0
Ngaét ngoaøi 0
P3.3
/INT1
Ngaét ngoaøi 1
P3.4
T0
Ngoõ vaøo cuûa Timer/Counter 0
P3.5
T1
Ngoõ vaøo cuûa Timer/Counter 1
P3.6
/WR
Xung ghi boä nhôù döõ lieäu ngoaøi.
P3.7
/RD
Xung ñoïc boä nhôù döõ lieäu ngoaøi.
2.5.PSEN (Prorgam Store Enable):
8051/8031 coù 4 tín hieäu ñieàu khieån .
PSEN laø tín hieäu ra treân chaân 29 .noù laø tín hieäu ñieàu khieån ñeå cho pheùp boä nhôù chöông trình môû roäng vaø thöôøng ñöôïc noái ñeán chaân OE (Output Enable) cuûa moät EPROM ñeå cho pheùp ñoïc caùc byte maõ leänh.
PSEN seõ ôû möùc thaáp trong thôøi gian laáy leänh .Caùc maõ nhò phaân cuûa chöông trình ñöôïc ñoïc töø ERPOM qua bus döõ lieäu vaø ñöôïc choát vaøo thanh
ghi leänh cuûa 8051 ñeå giaûi maõ leänh .Khi thi haønh chöông trình trong ROM noäi (8051) PSEN seõ ôû möùc thuï ñoäng cao.
2.6.ALE(Address Latch Enable):
Tín hieäu ra ALE treân chaân 30 ,8051 duøng ALE cho vieäc giaûi keânh caùc bus ñòa chæ vaø döõ lieäu.Khi Port 0 ñöôïc duøng trong cheá ñoä chuyeån ñoåi cuûaê noù: vöøa laø bus döõ lieäu vöøa laø byte thaáp cuûa bus ñòa chæ ,AlE laø tín hieäu ñeå choát ñòa chæ vaøo moät thanh ghi beân ngoaøi ,trong nöõa ñaàu cuûa chu kyø boä nhôù .Sau ñoù caùc ñöôøng Port duøng ñeå xuaát hoaëc nhaäp döõ lieäu trong nöõa chu kyø sau cuûa boä nhôù .
2.7.EA (External Access):
Ñaây laø tín hieäu cho pheùp löïa choïn truy xuaát boä nhôù chöông trình trong hay ngoaøi. Khi EA ñöôïc maéc leân möùc cao (+5V) thì 8051 thi haønh chöông trình trong ROM noäi. Ngöôïc laïi, neáu Ea ñöôïc maéc xuoáng möùc thaáp (GND) thì 8051 chæ thöïc thi chöông trình töø boä nhôù môû roäng.
2.8.RST (Reset):
Ngoû vaøo RST treân chaân 9 laø ngoû reset cuûa 8051 .Khi tín hieäu naøy ñöôïc ñöa leân möùc cao (trong ít nhaát 2 chu kyø maùy),caùc thanh ghi beân trong 8051 ñöôïc taûi nhöõng giaù trò thích hôïp ñeå khôûi ñoäng heä thoáng.
2.10.Caùc ngoû vaøo boä dao ñoäng treân chip:
8051 coù moät boä dao ñoäng treân chip ,noù thöôøng ñöôïc noái vôùi moät thaïch anh giöõa hai chaân 18 vaø 19.
2.11.Caùc chaân nguoàn :
8051 vaän haønh vôùi nguoàn ñôn +5V .Vcc (+5V) ñöôïc noái vaøo chaân 40 vaø Vss (GND) ñöôïc noái vaøo chaân 20.
3.Toå chöùc boä nhôù:
8051/8031 coù boä nhôù theo caáu truùc Harvard : coù vuøng nhôù rieâng bieät cho chöông trình vaø döõ lieäu ,caû chöông trình vaø döõ lieäu coù theå ôû beân trong 8051 .Duø vaäy chuùng coù theå ñöôïc môû roäng baèng caùc thaønh phaàn ngoaøi leân ñeán toái ña 64K byte boä nhôù chöông trình vaø 64K byte boä nhôù döõ lieäu.
Boä nhôù beân trong bao goàm ROM (8051) vaø RAM treân chip , RAM treân chip bao goàm nhieàu phaàn : phaàn löu tröõ ña duïng , phaàn löu tröõ ñòa chæ hoùa töøng bit, caùc bank thanh ghi vaø caùc thanh ghi chöùc naêng ñaëc bieät.
Hai ñaëc tính caàn löu yù laø :
Caùc thanh ghi vaø caùc Port xuaát nhaäp ñaõ ñöôïc xeáp trong boä nhôù vaø coù theå ñöôïc truy xuaát tröïc tieáp gioáng nhö caùc ñòa chæ boä nhôù khaùc.
Ngaên xeáp beân trong RAM noäi nhoû hôn so vôùi Ram ngoaøi nhö trong caùc boä vi xöû lyù khaùc.
ÑÒA CHÆ ÑÒA CHÆ
BYTE ÑÒA CHÆ BIT BYTE ÑÒA CHÆ BIT
RAM ÑA ÑUÏNG
FF
F0
F7
F6
F5
F4
F3
F2
F1
F0
B
E0
E7
E6
E5
E4
E3
E2
E1
E0
ACC
D0
D7
D6
D5
D4
D3
D2
-
D0
PSW
B8
-
-
-
BC
BB
BA
B9
B8
IP
2F
7F
7E
7D
7C
7B
7A
79
78
2E
77
76
75
74
73
72
71
70
B0
B7
B6
B5
B4
B3
B2
B1
B0
P3
2D
6F
6E
6D
6C
6B
6A
69
68
2C
67
66
65
64
63
62
61
60
A8
AF
-
-
AC
AB
AA
A9
A8
IE
2B
5F
5E
5D
5C
5B
5A
59
58
2A
57
56
55
54
53
52
51
50
A0
A7
A6
A5
A4
A3
A2
A1
A0
P2
29
4F
4E
4D
4C
4B
4A
49
48
28
47
46
45
44
43
42
41
40
99
Khoâng ñöôïc ñòa chæ hoùa bit
SBUF
27
3F
3E
3D
3C
3B
3A
39
38
98
9F
9E
9D
9C
9B
9A
99
98
SCON
26
37
36
35
34
33
32
31
30
25
2F
2E
2D
2C
2B
2A
29
28
90
97
96
95
94
93
92
91
90
P1
24
27
26
25
24
23
22
21
20
23
1F
1E
1D
1C
1B
1A
19
18
8D
Khoâng ñöôïc ñòa chæ hoùa bit
TH1
22
17
16
15
14
13
12
11
10
8C
Khoâng ñöôïc ñòa chæ hoùa bit
TH0
21
0F
0E
0D
0C
0B
0A
09
08
8B
Khoâng ñöôïc ñòa chæ hoùa bit
TL1
20
07
06
05
04
03
02
01
00
8A
Khoâng ñöôïc ñòa chæ hoùa bit
TL0
1F
BANK 3
89
Khoâng ñöôïc ñòa chæ hoùa bit
TMOD
18
88
8F
8E
8D
8C
8B
8A
89
88
TCON
17
BANK 2
87
Khoâng ñöôïc dòa chæ hoùa bit
PCON
10
0F
BANK 1
83
Khoâng ñöôïc ñòa chæ hoùa bit
DPH
08
82
Khoâng ñöôïc ñòa chæ hoùa bit
DPL
07
BANK 0
(thanh ghi R0-R7)
81
Khoâng ñöôïc ñòa chæ hoùa bit
SP
00
80
87
86
85
84
83
82
81
80
P0
Toùm taéc boä nhôù döõ lieäu treân chip
Chi tieát veà boä nhôù Ram treân chip :
Ram beân trong 8051/8031 ñöôïc phaân chia giöõa caùc bank thanh ghi (00H-1FH),Ram ñòa chæ hoùa töøng bit (20H-2FH),Ram ña duïng (30H_7FH)vaø caùc thanh ghi chöùc naêng ñaëc bieät (80H-FFH).
3.1. Ram ña duïng:
Moïi ñòa chæ trong vuøng RAM ña duïng ñeàu coù theå ñöôïc truy xuaát töï do duøng caùch ñaùnh ñòa chæ tröïc tieáp hoaëc giaùn tieáp. Ví duï, ñeå ñoïc noäi dung ôû ñòa chæ 5FH cuûa RAM noäi vaøo thanh ghi tích luõy leänh sau seõ ñöôïc duøng :
MOV A, #5FH
Leänh naøy di chuyeån moät buùyt döõ lieäu duøng caùch ñaùnh ñòa chæ tröïc tieáp ñeå xaùc ñònh “ñòa chæ nguoàn” (5FH). Ñích nhaän döõ lieäu ñöôïc ngaàm xaùc ñònh trong maõ leänh laø thanh ghi tích luõy A.
RAM beân trong cuõng coù theå ñöôïc truy xuaát duøng caùch ñaùnh ñòa chæ giaùn tieáp qua RO hay R1. Ví duï, sau khi thi haønh cuøng nhieäm vuï nhö leänh ñôn ôû treân:
MOV R0, #5FH
MOV A, @R0
Leänh ñaàu duøng ñòa chæ töùc thôøi ñeå di chuyeån giaù trò 5FH vaøo thanh ghi R0 vaø leänh thöù hai duøng ñòa giaùn tieáp ñeå di chuyeån döõ lieäu “ñöôïc troû bôûi R0” vaøo thanh ghi tích luõy.
3.2.RAM ñòa chæ hoùa töøng bit :
8051 / 8031 chöùa 210 bit ñöôïc ñòa chæ hoùa, trong ñoù 128 bit laø ôû caùc ñòa chæ byte 20H ñeán 2FH, vaø phaàn coøn laïi trong caùc thanh ghi chöùc naêng ñaëc bieät.
YÙ töôûng truy xuaát töøng bit rieâng reõ baèng meàm laø moät ñaëc tính tieän lôïi cuûa vi ñieàu khieån noùi chung. Caùc bit coù theå ñöôïc ñaët, xoùa, AND,OR …vôùi moät leänh ñôn. Ña soá caùc chi xöû lí ñoøi hoûi moät chuoåi leänh ñoïc – söûa– ghi ñeå ñaït ñöôïc hieäu quaû töông töï. Hôn nöõa, caùc port I/0 cuõng ñöôïc ñòa chæ töøng bit laøm ñôn giaûn phaàn meàm xuaát nhaäp töøng bit.
Coù 128 bit ñöôïc ñòa chæ hoùa ña duïng ôû caùc byte 20H ñeán 2FH. Caùc ñòa chæ naøy ñöôïc truy xuaát nhö caùc byte hoaëc caùc bit phuï thuoäc vaøo leänh ñöôïc duøng . ví duï, ñeå ñaët bit 67H, ta duøng leänh sau :
SETB 67H
Chuù yù raèng “ñòa chæ bit 67H” laø bit coù troïng soá lôùn nhaát (MSB) ôû “ñòa chæ byte 2CH” leänh treân seõ khoâng taùc ñoäng ñeán caùc bit khaùc cuûa ñòa chæ naøy.
3.3.Caùc bank thanh ghi :
32 byte thaáp nhaát cuûa boä nhôù noäi laø daønh cho caùc bank thanh ghi. Boä leänh cuûa 8051 / 8031 hoå trôï 8 thanh ghi (RO ñeán R7) vaø theo maëc ñònh (sau khi Reset heä thoáng) caùc thanh ghi naøy ôû caùc ñòa chæ 00H-07H. Leänh sau ñaây seõ ñoïc noäi dung ôû ñòa chæ 05H vaøo thanh ghi tích luõy.
MOV A,R5
Ñaây laø leänh moät byte duøng ñòa chæ thanh ghi. Taát nhieân, thao taùc töông töï coù theå ñöôïc thi haønh baèng leänh 2 byte duøng ñòa chæ tröïc tieáp naèm trong byte thöù hai:
MOV A,05H
Caùc leänh duøng caùc thanh ghi R0 ñeán R7 thì seõ ngaén hôn vaø nhanh hôn caùc leänh töông öùng nhöng duøng ñòa chæ tröïc tieáp. Caùc giaù trò döõ lieäu ñöôïc duøng thöôøng xuyeân neân duøng moät trong caùc thanh ghi naøy.
Bank thanh ghi tích cöïc coù theå chuyeån ñoåi baèng caùch thay ñoåi caùc bit choïn bank thanh ghi trong töø traïng thaùi chöông trình (PSW). Giaû söû raèng bank thanh ghi 3 ñöôïc tích cöïc, leänh sau seõ ghi noäi dung cuûa thanh ghi tích luõy vaøo ñòa chæ 18H:
MOV R0,A
YÙù töôûng duøng “caùc bank thanh ghi” cho pheùp “chuyeån höôùng” chöông trình nhanh vaø hieäu quûa (töøng phaàn rieâng reõ cuûa phaàn meàm seõ coù moät boä thanh ghi rieâng khoâng phuï thuoäc vaøo caùc phaàn khaùc).
3.4. Caùc thanh ghi chöùc naêng ñaëc bieät:
Caùc thanh ghi trong 8051/8031 ñöôïc ñònh daïng nhö moät phaàn cuûa RAM treân chip. Vì vaäy moãi thanh ghi seõ coù moät ñòa chæ (ngoaïi tröø thanh ghi tröïc tieáp, seõ khoâng coù lôïi khi ñaët chuùng vaøo trong RAM treân chip). Ñoù laø lyù do ñeå 8051/0831 coù nhieàu thanh ghi. Cuõng nhö R0 ñeán R7, coù 21 thanh ghi chöùc naêng ñaëc bieät (SFR: Special Funtion Register) ôû vuøng treân cuûa RAM noäi, töø ñòa chæ 80H ñeán FFH. Chuù yù raèng haàu heát 128 ñòa chæ töø 80H ñeán FFH khoâng ñöôïc ñònh nghóa. Chæ coù 21 ñòa chæ SFR laø ñöôïc ñònh nghóa.
Ngoaïi tröø tích luõy (A) coù theå ñöôïc truy xuaát ngaàm nhö ñaõ noùi, ña soá caùc SFR ñöôïc truy xuaát duøng ñòa chæ tröïc tieáp. chuù yù raèng moät vaøi SFR coù theå ñöôïc ñòa chæ hoùa bit hoaëc byte. Ngöôøi thieát keá phaûi thaän troïng khi truy xuaát bit vaø byte. Ví duï leänh sau:
SETB 0E0H
Seõ set bit 0 trong thanh ghi tích luõy, caùc bit khaùc khoâng thay ñoåi. Ta thaáy raèng E0H ñoàng thôøi laø ñòa chæ byte cuûa thanh ghi tích luõy vaø laø ñòa chæ bit coù troïng soá nhoû nhaát trong thanh ghi tích luõy. Vì leänh SETB chæ taùc ñoäng treân bit, neân chæ coù ñòa chæ bit laø coù hieäu quaû
a)Töø traïng thaùi chöông trình:
Töø traïng thaùi chöông trình (PSW: Program Status Word) ôû ñòa chæ D0H chöùa caùc bit traïng thaùi nhö baûng toùm taét sau:
Bit
Kyù hieäu
Ñòa chæ
YÙ nghóa
PSW.7
PSW.6
PSW.5
PSW.4
PSW.3
PSW.2
PSW.1
PSW.0
CY
AC
F0
RS1
RS0
OV
P
D7H
D6H
D5H
D4H
D3H
D2H
D1H
D0H
Côø nhôù
Côø nhôù phuï
Côø 0
Bit 1 choïn bank thanh ghi
Bit choïn bank thanh ghi.
00=bank 0; ñòa chæ 00H-07H
01=bank 1: ñòa chæ 08H-0FH
10=bank 2:ñòa chæ 10H-17H
11=bank 3:ñòa chæ 18H-1FH
Côø traøn
Döï tröõ
Côø Parity chaün.
Baûng Töø traïng thaùi chöông trình
Côø nhôù (CY) :bit ñòa chæ laø D7H,côø nhôù ñöôïc set leân 1 neáu coù nhôù ôû bit thöù 7 trong pheùp toaùn coäng hay coù möôïn ôû bit thöù 7 trong pheùp toaùn tröø
Côø nhôù phuï:Khi coäng caùc soá BCD, côø nhôù phuï (AC) ñöôïc set neáu keát quûa cuûa 4 bit thaáp trong khoaûng 0AH ñeán 0FH. Neáu caùc giaù trò coäng ñöôïc laø soá BCD, thì sau leänh coäng caàn coù DA A( hieäu chænh thaäp phaân thanh ghi tích luõy) ñeå mang keát quûa lôùn hôn 9 trôû veà taâm töø 0¸9.
Côø 0(F0): laø moät bit côø ña duïng daønh caùc öùng duïng cuûa ngöôøi duøng.
Caùc bit choïn bank thanh ghi:
Caùc bit choïn bank thanh ghi (RSO vaø RS1) xaùc ñònh bank thanh ghi ñöôïc tích cöïc. Chuùng ñöôïc xoùa sau khi reset heä thoáng vaø ñöôïc thay ñoåi
baèng phaàn meàm neáu caàn. Ví duï, ba leänh sau cho pheùp bank thanh ghi 3 vaø di chuyeån noäi dung cuûa thanh ghi R7 ñeán thanh ghi tích luõy A:
SETB RS1
SETB RS0
MOV A,R7
Côø Traøn:
Côø traøn (OV) ñöôïc set moät leänh coäng hoaëc tröø neáu coù moät pheùp toaùn bò traøn. Khi caùc soá coù daáu ñöôïc coäng hoaëc tröø vôùi nhau, phaàn meàm coù theå kieåm tra bit naøy ñeå xaùc ñònh xem keát quûa cuûa noù coù naèm trong taàm xaùc ñònh khoâng. Khi caùc soá khoâng daáu ñöôïc coäng, bit OV coù theå ñöôïc boû qua. Caùc keát quûa lôùn hôn +127 hoaëc nhoû hôn –128 seõ set bit OV.
b)Thanh ghi B:
Thanh ghi B ôû ñòa chæ F0H ñöôïc duøng cuøng vôùi thanh ghi tích luõy A cho caùc pheùp toaùn nhaân vaø chia. Leänh MUL AB seõ nhaân caùc giaù trò khoâng daáu 8 bit trong A vaø B roài traû veà keát quûa 16 bit trong A (byte thaáp) vaø B (byte cao). Leänh DIV AB seõ chia A cho B roài traû veà keát quûa nguyeân trong A vaø phaàn dö trong B. Thanh ghi B cuõng coù theå ñöôïc xem nhö thanh ghi ñeäm ña duïng. Noù ñöôïc ñòa chæ hoùa ttöøng bit baèng caùc ñòa chæ bit FOH ñeán F7H.
Con troû ngaên xeáp:(SP)
Thanh ghi SP laø thanh ghi 8 bit ñònh vò taïi ñòa chæ 81H .Noù chöùa ñòa chæ cuûa ñata hieän taïi ôû ñænh stack .Caùc pheùp toaùn lieân quan ñeán stack boa goàm vieäc ñöa döõ lieäu vaøo stack(PUSH) vaø laáy ( POP) ñata ra khoûi stack .Vieäc ñöa data vaøo stack laøm taêng SP tröôùc khi ghi data vaøo stack ,vaø vieäc laáy data ra khoûi stack seõ laøm giaûm noäi dung SP
troû döõ lieäu:
Con troû döõ lieäu (DPTR) ñöôïc duøng ñeå truy xuaát boä nhôù ngoaøi laø moät thanh ghi 16 bit ôû ñòa chæ 82H(DPL: byte thaáp) vaø 83H (DPH:byte cao). Ba leänh sau seõ ghi 55H vaøo RAM ngoaøi ôû ñòa chæ 1000H:
MOV A,#55H
MOV DPTR,#1000H
MOVX @DPTR,A
Leänh ñaàu tieân duøng ñòa chæ töùc thôøi ñeå taûi döõ lieäu 55H vaøo thanh ghi tích luõy, leänh thöù hai cuõng duøng ñòa chæ töùc thôøi, laàn naøy ñeå taûi döõ lieäu 16 bit 1000H vaøo con troû döõ lieäu. Leänh thöù ba duøng ñòa chæ giaùn tieáp
ñeå di chuyeån döõ lieäu trong A (55H) ñeán RAM ngoaøi ôû ñòa chæ ñöôïc chöùa trong DPTR (1000H)
c)Caùc thanh ghi port xuaát nhaäp:
Caùc port cuûa 8051/8031 bao goàm Port 0 ôû ñòa chæ 80H, Port 1 ôû ñòa chæ 90 H, Port 2 ôû ñòa chæ A0H vaø Port 3 ôû ñòa chæ B0H. Taát caû caùc Port ñeàu ñöôïc ñòa chæ hoùa töøng bit. Ñieàu ñoù cung caáp moät khaû naêng giao tieáp thuaän lôïi.
d)Caùc thanh ghi timer:
8051/8031 chöùa 2 boä ñònh thôøi ñeám 16 bit ñöôïc duøng trong vieäc ñònh thôøi hoaëc ñeám söï kieän. Timer 0 ôû ñòa chæ 8AH (TL0:byte thaáp) vaø 8CH (TH0:byte cao).Timer 1 ôû ñòa chæ 8BH (TL1:byte thaáp) vaø 8DH (TH1: byte cao). vieäc vaän haønh timer ñöôïc set bôûi thanh ghi Timer Mode (TMOD) ôû ñòa chæ 89H vaø thanh ghi ñieàu khieån timer (TCON) ôû ñòa chæ 88H. Chæ coù TCON ñöôïc ñòa chæ hoùa töøng bit.
e)Caùc thanh ghi port noái tieáp:
8051/8031 chöùc moät port noái tieáp treân chip daønh cho vieäc trao ñoåi thoâng tin vôùi caùc thieát bò noái tieáp nhö maùy tính, modem hoaëc cho vieäc giao tieáp vôùi caùc IC khaùc coù giao tieáp noái tieáp (coù boä chuyeån ñoåi A/D, caùc thanh ghi dòch..). Moät thanh ghi goïi laø boä ñeäm döõ lieäu noái tieáp (SBUF) ôû ñòa chæ 99H seõ giöõ caû hai giöõ lieäu truyeàn vaø nhaän. Khi truyeàn döõ lieäu thì ghi leân SBUf, khi nhaän döõ lieäu thì ñoïc SBUF. Caùc mode vaän haønh khaùc nhau ñöôïc laäp trình qua thanh ghi ñieàu khieån port noái tieáp (SCON) (ñöôïc ñòa chæ hoùa töøng bit) ôû ñòa chæ 98H.
f)Caùc thanh ghi ngaét:
8051/8031 coù caáu truùc 5 nguoàn ngaét, 2 möùc öu tieân. Caùc ngaét bò caám sau khi reset heä thoáng vaø seõ ñöôïc cho pheùp baèng vieäc ghi thanh ghi cho pheùp ngaét (IE) ôû ñòa chæ 8AH. Caû hai thanh ghi ñöôïc ñòa chæ hoùa töøng bit.
g)Caùc thanh ghi ñieàu khieån coâng suaát:
Thanh ghi ñieàu khieån coâng suaát (PCON) ôû ñòa chæ 87H chöùa nhieàu bit ñieàu khieån. Chuùng ñöôïc toùm taét trong baûng sau:
Bit
Kyù hieäu
YÙ nghóa
7
6
5
4
3
2
1
0
SMOD
_
_
_
GF1
GF0
PD
IDL
Bit naøy lieân quan ñeán toác ñoä baud trong Port noái tieáp
Khoâng ñònh nghóa
Khoâng ñònh nghóa
Khoâng ñònh nghóa
Bit côø ña duïng 1
Bit côø ña duïng 0
Giaûm coâng suaát
Chuyeån sang cheá ñoä nghæ.
BaûngThanh ghi ñieàu khieån coâng suaát (PCON)
3.5. Boä nhôù ngoaøi.
Khi duøng boä nhôù ngoaøi, port 0 khoâng coøn laø moät port I/O thuaàn tuùy nöõa. Noù ñöôïc hôïp keânh giöõa bus ñòa chæ (A0-A7) vaø bus döõ lieäu (D0-D7) vôùi tín hieäu ALE ñeå choát byte thaáp cuûa ñòa chæ khi baét ñaàu moãi chu kyø boä nhôù. Port 2 thoâng thöôøng ñöôïc duøng cho byte cao cuûa bus ñòa chæ.
Trong nöûa ñaàu cuûa moãi chu kyø boä nhôù, byte thaáp cuûa ñòa chæ ñöôïc caáp trong port 0 vaø ñöôïc choát baèng xung ALE. Moät IC choát 74HC373 (hoaëc töông ñöông) seõ giöõ byte ñòa chæ thaáp trong phaàn coøn laïi cuûa chu kyø boä nhôù. Trong nöûa sau cuûa chu kyø boä nhôù port 0 ñöôïc duøng nhö bus döõ lieäu vaø ñöôïc ñoïc hoaëc ghi tuøy theo leänh.
a) Truy xuaát boä nhôù chöông trình ngoaøi:
Boä nhôù chöông trình ngoaøi laø moä IC ROM ñöôïc pheùp bôûi tín hieäu PSEn. Hình sau moâ taû caùch noái moät EPROM vaøo 8051/8031:
ALE
D
G
Q
Port 2
/PSEN
/OE
A8¸A15
Port 0
D0¸D7
A0¸A7
EPROM
8051
74CH373
Giao tieáp giöõa 8051/8031 vaø EPROM
EA
Moät chu kyø maùy cuûa 8051/8031 coù 12 chu kyø xung nhòp. Neáu boä dao ñoäng treân chip ñöôïc laùi bôûi moät thaïch anh 12MHz thì chu kyø maùy keùo daøi 1ms. Trong moät chu kyø maùy seõ coù 2 xung ALE vaø 2 byte ñöôïc ñoïc töø boä nhôù chöông trình (neáu leänh hieän haønh laø moät byte thì byte thöù hai seõ ñöôïc loaïi boû). Giaûn ñoà thôøi gian cuûa moät laàn laáy leänh ñöôïc veõ ôû hình sau:
Giaûn ñoà thôøi gian ñoïc boä nhôù chöông trình ngoaøi
b/ Truy xuaát boä nhôù döõ lieäu ngoaøi:
ALE
D
G
Q
Port 2
/PSEN
/WR
A8¸A15
Port 0
D0¸D7
A0¸A7
RAM
8051
74CH373
Giao tieáp giöõa 8051/8031 vaø RAM
/OE
/WR
/RD
/CS
NC
EA
Boä nhôù döõ lieäu ngoaøi laø moät boä nhôù RAM ñöôïc cho pheùp ghi/ñoïc baèng caùc tín heäu WR vaø RD (caùc chaân P3.6 vaø P3.7 thay ñoåi chöùc naêng). chæ coù moät caùch truy xuaát boä nhôù döõ lieäu ngoaøi laø vôùi leänh MOVX duøng con troû döõ lieäu (DPTR) 16 bit hoaëc R0 vaø R1 xem nhö thanh ghi ñòa chæ.
Keát noái bus ñòa chæ vaø bus döõ lieäu giöõa RAM vaø 8051/8031 cuõng gioáng EPROM vaø do ñoù cuõng coù theå leân ñeán 64 byte boä nhôù RAM. Ngoaøi ra, chaân RD cuûa 8051/8031 ñöôïc noái tôùi chaân cho pheùp xuaát (OE) cuûa RAM vaø chaân WR ñöôïc noái tôùi chaân ghi (WR) cuûa RAM.
Giaûn ñoà thôøi gian cho leänh ñoïc boä nhôù döõ lieäu ngoaøi ñöôïc veõ treân hình sau ñoái vôùi leänh MOVX A, @DPTR:
Giaûn ñoà thôøi gian cuûa leänh MOVX
Giaûn ñoà thôøi gian cho leänh ghi (MOVX @DPTR, A) cuõng töông töï chæ khaùc ñöôøng WR seõ thay vaøo ñöôøng RD vaø döõ lieäu ñöôïc xuaát ra treân port 0 (RD vaãn giöõ möùc cao).
3.6. Leänh reset.
8051/8031 ñöôïc reset baèng caùch giöõ chaân RST ôû möùc cao ít nhaát trong 2 chu kyø maùy vaø traû noù veà muùc thaáp. RST coù theå ñöôïc kích khi caáp ñieän duøng moät maïch R-C.
Maïch Reset heä thoáng
Traïng thaùi cuûa taát caû caùc thanh ghi cuûa 8051/8031 sau khi reset heä thoáng ñöôïc toùm taét trong baûng sau:
Thanh ghi
Noäi dung
Ñeám chöông trình
Tích luõy
B
PSW
SP
DPTR
Port 0-3
IP
IE
Caùc thanh ghi ñònh thôøi
SCON
SBUF
PCON(HMOS)
PCON(CMOS)
0000H
00H
00H
00H
07H
0000H
FFH
XXX00000B
0XX00000B
00H
00H
00H
0XXXXXXB
0XXX0000B
Baûng Traïng thaùi caùc thanh ghi sau khi reset
Quan troïng nhaát trong caùc thanh ghi treân laø thanh ghi ñeám chöông trình, noù ñöôïc ñaët laïi 0000H. Khi RST trôû laïi möùc thaáp, vieäc thi haønh chöông trình luoân baét ñaàu ôû ñòa chæ ñaàu tieân trong boä nhôù trong chöông trình: ñòa chæ 0000H. Noäi dung cuûa RAM treân chip khoâng bò thay ñoåi bôûi leänh reset.
II. TAÄP LEÄNH CUÛA 8051/8031.
Taäp leänh 8051/8031 coù 255 leänh goàm 139 leänh 1 byte, 92 leänh 2 byte vaø 24 leänh 3 byte.
1. Caùc cheá ñoä ñaùnh ñòa chæ: trong taäp leänh coù 8 cheá ñoä ñaùnh ñòa chæ:
a)Thanh ghi ñòa ghi:
8051/8031 coù 4 bank thanh ghi, moãi bank coù 8 thanh ghi ñ1nh soá töø R0 ñeán R7. Taïi moãi thôøi ñieåm chæ coù moät bank thanh ghi ñöôïc tích cöïc.
Ñòa chæ thanh ghi
Ngoaøi ra, moät soá thanh ghi ñaëc bieät nhö thanh ghi tích luõy ACC,B,DPTR.
b)Ñòa chæ tröïc tieáp:
Trong cheá ñoä naøy, caùc thanh ghi beân trong 8051/8031 ñöôïc ñaùnh ñòa chæ tröïc tieáp baèng 8 bit ñòa chæ naèm trong byte thöù hai cuûa maõ leänh.
Maõ leänh
Ñòa chæ tröïc tieáp
Ñòa chæ tröïc tieáp
c)Ñòa chæ giaùn tieáp:
R0 vaø R1 ñöôïc duøng ñeå chöùa ñòa chæ oâ nhôù maø leänh taùc ñoäng ñeán. ngöôøi ta quy öôùc duøng daáu @ tröôùc R0 hoaëc R1.
Ñòa chæ giaùn tieáp
d)Ñòa chæ töùc thôøi:
Ngöôøi ta duøng # tröôùc caùc toaùn haïng töùc thôøi. Caùc toaùn haïng ñoù coù theå laø moät haèng soá, moät kyù soá hay moät bieåu thöùc toaùn hoïc...
Maõ leänh
Döõlieäu töùc thôøi
Ñòa chæ töùc thôøi
e)Ñòa chæ töông ñoái:
Ñòa chæ töông ñoái ñöôïc duøng trong caùc leänh nhaûy 8051/8031 duøng giaù trò 8 bit coù daáu ñeå coäng theâm vaøo thanh ghi ñeám chöông trình (PC). Taàm nhaûy cuûa leänh naøy trong khoaûng töø –128 ñeán 127 oâ nhôù. Tröôùc khi coäng , thanh ghi PC seõ taêng ñeán ñòa chæ theo sau leänh nhaûy roài tính toaùn ñòa chæ offset caàn thieát ñeå nhaûy ñeán ñòa chæ yeâu caàu. Nhö vaäy ñòa chæ môùi laø ñòa chæ töông ñoái so vôùi leänh keá tieáp chöù khoâng phaûi laø baûn thaân leänh nhaûy. Thöôøng leänh naøy coù lieân quan ñeán nhaõn ñöôïc ñònh nghóa tröôùc.
Ñòa chæ töông ñoái
f)Ñòa chæ tuyeät ñoái:
Ñòa chæ tuyeät ñoái chæ duøng trong caùc leänh ACALL vaø JIMP. Caùc leänh 2 byte naøy duøng ñeå reõ nhaùnh vaøo moät trang 2 Kbyte cuûa boä nhôù tröông trình baèng caùch caáp 11 bit ñòa chæ thaáp (A0-A10) ñeå xaùc ñònh ñòa chæ ñích trong trang maõ. Coøn 5 bit cao cuûa ñòa chæ ñích (A11-A15) chính laø 5 bit cao hieän haønh trong thanh ghi ñeám chöông trình. Vì vaäy ñòa chæ cuûa leänh theo sau leänh reõ nhaùnh vaø ñòa chæ ñích cuûa leänh reõ nhaùnh vaø ñòa chæ ñích cuûa leänh reõ nhaùnh caàn phaûi cuøng trang maõ 2 Kbyte (coù cuøng 5 bit ñòa chæ cao).
A15 A11 A10 A0
Xaùc ñònh trang maõ xaùc ñònh ñòa chæ trong trang maõ
Ñòa chæ tuyeät ñoái
g)Ñòa chæ daøi:
Ñòa chæ daøi chæ duøng cho leänh LCALL vaø LJIMP. Caùc leänh naøy chieám 3 byte vaø duøng 2 byte sau (byte 2 vaø byte 3) ñeå ñònh ñòa chæ ñích cuûa leänh (16 bit). Öu ñieåm cuûa leänh naøy coù theå söû duïng trong toaøn boä vuøng nhôù 64 Kbyte. Tuy nhieân, leänh naøy chieám nhieàu byte vaø leä thuoäc vaøo vò trí vuøng nhôù.
Maõ leänh
A15-A8
A7-A0
Ñòa chæ daøi
h)Ñòa chæ tham chieáu:
Ñòa chæ tham chieáu duøng moät thanh ghi cô baûn (hoaëc thanh ghi ñeám chöông trình PC hoaëc thanh ghi con troû döõ lieäu DPTR) vaø ñòa chæ offset (trong thanh ghi tích luõy A) ñeå taïo ñòa chæ ñöôïc taùc ñoäng cho caùc leänh JMP hoaëc MOVC. Caùc baûng nhaûy vaø baûng tìm kieám deã daøng ñöôïc taïo ra ñeå söû duïng ñòa chæ tham chieáu
Ñòa chæ tham chieáu
2. Caùc nhoùm leänh cuûa 8051/8031:
Taäp leänh cuûa 8051/8031 ñöôïc chia thaønh 5 nhoùm:
Soá hoïc.
Luaän lyù.
Chuyeån döõ lieäu.
Chuyeån ñieàu khieån.
a)Nhoùm leänh xöû lyù soá hoïc:
ADD A,Rn (1byte,1chu kyø maùy): coäng noäi dung thanh ghi Rn vaøo thanh ghi A
ADD A,data (2,1): Coäng tröïc tieáp 1 byte vaøo thanh ghi A.
ADD A,@Ri (1,1): Coäng giaùn tieáp noäi dung RAM chöùa taïi ñòa chæ ñöôïc khai baùo trong Ri vaøo thanh ghi A.
ADD A,#data (2,1):Coäng döõ lieäu töùc thôøi vaøo A.
ADD A,Rn (1,1): Coäng thanh ghi vaø côø nhôù vaøo A.
ADD A,data (2,1): Coäng tröïc tieáp byte döõ lieäu vaø côø nhôù vaøo A.
ADDC A,@Ri (1,1): Coäng giaùn tieáp noäi dung RAM vaø côø nhôù vaøo A.
ADDC A,#data (2,1): Coäng döõ lieäu töùc thôøi vaø côø nhôù vaøo A.
SUBB A,Rn (1,1): Tröø noäi dung thanh ghi A cho noäi dung thanh ghi Rn vaø côø nhôù.
SUBB A,data (2,1): Tröø tröïc tieáp A cho moät soá vaø côø nhôù.
SUBB A,@Ri (1,1): Tröø giaùn tieáp A cho moät soá vaø côø nhôù.
SUBB A,#data (2,1): Tröø noäi dung A cho moät soá töùc thôøi vaø côø nhôù.
INC A (1,1): Taêng noäi dung thanh ghi A leân 1.
INC Rn (1,1): Taêng noäi dung thanh ghi Rn leân 1.
INC data (2,1): Taêng döõ lieäu tröïc tieáp leân 1.
INC @Ri (1,1): Taêng giaùn tieáp noäi dung vuøng RAM leân 1.
DEC A (1,1): Giaûm noäi dung thanh ghi A xuoáng 1.
DEC Rn (1,1): Giaûm noäi dung thanh ghi Rn xuoáng 1.
DEC data (2,1): Giaûm döõ lieäu tröïc tieáp xuoáng 1
DEC @Ri (1,1): Giaûm giaùn tieáp noäi dung vuøng RAM xuoáng 1.
INC DPTR (1,2): Taêng noäi dng con troû döõ lieäu leân 1.
MUL AB (1,4): Nhaân noäi dung thanh ghi A vôùi noäi dung thanh ghi B.
DIV AB (1,4): Chia noäi dung thanh ghi A cho noäi dung thanh ghi B.
DA A (1,1,): hieäu chænh thaäp phaân thanh ghi A.
b)Nhoùm leänh luaän lyù:
ANL A,Rn (1,1): AND noäi dung thanh ghi A vôùi noäi dung thanh ghi Rn.
ANL A,data (2,1):AND noäi dung thanh ghi A vôùi döõ lieäu tröïc tieáp.
ANL A,@Ri (1,1): AND noäi dung thanh ghi A vôùi döõ lieäu giaùn tieáp trong RAM.
ANL A,#data (2,1): AND noäi dung thanh ghi vôùi döõ lieäu töùc thôøi.
ANL data,A (2,1): AND moät döõ lieäu tröïc tieáp vôùi A.
ANL data,#data (3,2): AND moät döõ lieäu tröïc tieáp vôùi A moät döõ lieäu töùc thôøi.
ANL C,bit (2,2):AND côø nhôù vôùi 1 bit tröïc tieáp.
ANL C,/bit (2,2): AND côø nhôù vôùi buø 1 bit tröïc tieáp.
ORL A,Rn (1,1): OR thanh ghi A vôùi thanh ghi Rn.
ORL A,data (2,1): OR thanh ghi A vôùi moät döõ lieäu tröïc tieáp.
ORL A,@Ri (1,1): OR thanh ghi A vôùi moät döõ lieäu giaùn tieáp.
ORL A,#data (2,1):OR thanh ghi A vôùi moät döõ lieäu töùc thôøi.
ORL data,A (2,1): OR moät döõ lieäu tröïc tieáp vôùi thanh ghi A.
ORL data,#data (3,1):OR moät döõ lieäu tröïc tieáp vôùi moät döõ lieäu töùc thôøi.
ORL C,bit (2,2): OR côø nhôù vôùi moät bit tröïc tieáp.
ORL C,/bit (2,2): OR côø nhôù vôùi buø cuûa moät bit tröïc tieáp.
XRL A,Rn (1,1): XOR thanh ghi A vôùi thanh ghi Rn.
XRL A,data (2,1): XOR thanh ghi A vôùi moä döõ lieäu tröïc tieáp.
XRL A,@Ri (1,1): XOR thanh ghi A vôùi moät döõ lieäu giaùn tieáp.
XRL A,#data (2,1): XOR thanh ghi A vôùi moä döõ lieäu töùc thôøi.
XRL data,A (2,1): XOR moät döõ lieäu tröïc tieáp vôùi thanh ghi A.
XRL dara,#data (3,1): XOR moät döõ lieäu tröïc tieáp vôùi moät döõ lieäu töùc thôøi.
SETB C (1,1): Ñaët côø nhôù.
SETB bit (2,1): Ñaët moät bit tröïc tieáp.
CLR A (1,1): Xoùa thanh ghi A.
CLR C (1,1): Xoùa côø nhôù.
CPL A (1,1): Buø noäi dung thanh ghi A.
CPL C (1,1): Buø côø nhôù.
CPL bit (2,1): Buø moät bit tröïc tieáp.
RL A (1,1): Quay traùi noäi dung thanh ghi A.
RLC A (1,1): Quay traùi noäi dung thanh ghi A qua côø nhôù.
RR A (1,1): Quay phaûi noäi dung thanh ghi A.
RRC A (1,1): Quay phaûi noäi dung thanh ghi A qua côø nhôù.
SWAP (1,1): Quay traùi noäi dung thanh ghi A 1 nibble (1/2byte).
c) Nhoùm leänh chuyeån döõ lieäu:
MOV A,Rn (1,1):Chuyeån noäi dung thanh ghi Rn vaøo thanh ghi A.
MOV A,data (2,1): Chuyeån döõ lieäu tröïc tieáp vaøo thanh ghi A.
MOV A,@Ri (1,1): Chuyeån döõ lieäu giaùn tieáp vaøo thanh ghi A.
MOV A,#data (2,1): Chuyeån döõ lieäu töùc thôøi vaøo thanh ghi A.
MOV Rn,data (2,2): Chuyeån döõ lieäu tröïc tieáp vaøo thanh ghi Rn.
MOV Rn,#data (2,1): Chuyeån döõ lieäu töùc thôøi vaøo thanh ghi Rn.
MOV data,A (2,1): Chuyeån noäi dung thanh ghi A vaøo döõ lieäu tröïc tieáp.
MOV data,Rn (2,2):Chuyeån noäi dung thanh ghi Rn vaøodöõ lieäu tröïc tieáp.
MOV data,@Ri (2,2): Chuyeån moät döõ lieäu giaùn tieáp vaøo döõ lieäu giaùn tieáp.
MOV @Ri,A (1,1): Chuyeån noäi dung thanh ghi A vaøo döõ lieäu giaùn tieáp.
MOV @Ri,data (2,2): Chuyeån moät döõ lieäu tröïc tieáp vaøo döõ lieäu giaùn tieáp.
MOV @Ri,#data (2,1): Chuyeån döõ lieäu töùc thôøi vaøo döõ lieäu giaùn tieáp.
MOV DPTR,#data (3,2): Chuyeån moät haèng 16 bit vaøo thanh ghi DPTR.
MOV C,bit (2,1): Chuyeån moät bit tröïc tieáp vaøo côø nhôù.
MOV bit,C (2,2): Chuyeån côø nhôù vaøo moät bit tröïc tieáp.
MOV A,@A+DPTR (1,2): Chuyeån byte boä nhôù chöông trình coù ñòa chæ laø @A+DPRT vaøo thanh ghi A.
MOVC A,@A+PC (1,2): Chuyeån byte boä nhôù chöông trình coù ñòa chæ laø @A+PC vaøo thanh ghi A.
MOV A,@Ri (1,2): Chuyeån döõ lieäu ngoaøi (8 bit ñòa chæ) vaøo thanh ghi A.
MOVX A,@DPTR (1,2): Chuyeån döõ lieäu ngoaøi (16 bit ñòa chæ) vaøo A.
MOVX @Ri,A (1,2): Chuyeån noäi dung A ra döõ lieäu ngoaøi (8 bit ñòa chæ).
MOVX @DPTR,A (1,2): Chuyeån noäi dung A ra döõ lieäu ngoaøi (16 bit ñòa chæ).
PUSH data (2,2) : Chuyeån döõ lieäu tröïc tieáp vaøo ngaên xeáp vaø taêng SP.
POP data (2,2) : Chuyeån döõ lieäu tröïc tieáp vaøo ngaên xeáp vaø giaûm SP.
XCH A,Rn (1,1) : Trao ñoåi döõ lieäu giöõa thanh ghi Rn v2 thanh ghi A.
XCH A,data (2,1) : Trao ñoåi giöõa thanh ghi A vaø moät döõ lieäu tröïc tieáp.
XCH A,@Ri (1,1) : Trao ñoåi giöõa thanh ghi A vaø moät döõ lieäu giaùn tieáp.
XCHD A,@R (1,1) : Trao ñoåi giöõa nibble thaáp (LSN) cuûa thanh ghi A vaø LSN cuûa döõ lieäu giaùn tieáp.
d) Nhoùm leänh chuyeàn ñieàu khieån:
ACALL addr11 (2,2): Goïi chöông trình con duøng ñòa chì tuyeät ñoái.
LCALL addr16 (3,2): Goïi chöông trình con duøng ñòa chæ daøi.
RET (1,2): Trôû veà töø leänh goïi chöông trình con.
RETI (1,2): Trôû veà töø leänh goïi ngaét.
AJMP addr11 (2,2): Nhaûy tuyeät ñoái.
LJMP addr16 (3,2): Nhaûy daøi.
SJMP rel (2,2):Nhaûy ngaén.
JMP @A+DPTR (1,2): Nhaûy giaùn tieáp töø con troû döõ lieäu.
JZ rel (2,2): Nhaûy neáu A=0.
JNZ rel (2,2): Nhaûy neáu A khoâng baèng 0.
JC rel (2,2): Nhaûy neáu côø nhôù ñöôïc ñaët.
JNC rel (2,2): Nhaûy neáu côø nhôù khoâng ñöôïc ñaët.
JB bit,rel (3,2): Nhaûy töông ñoái neáu bit tröïc tieáp ñöôïc ñaët.
JNB bit,rel (3,2):Nhaûy töông ñoái neáu bit tröïc tieáp khoâng ñöôïc ñaët.
JBC bit,rel (3,2):Nhaûy töông ñoái neáu bit tröïc tieáp ñöôïc ñaët,roài xoùa bit.
CJNE A,data,rel (3,2): So saùnh döõ lieäu tröïc tieáp vôùi A vaø nhaûy neáu khoâng baèng.
CJNE A,#data,rel (3,2): So saùnh döõ lieäu töùc thôøi vôùi A vaø nhaûy neáu khoâng baèng.
CJNE Rn,#data,rel (3,2): So saùnh döõ lieäu töùc thôøi vôùi noäi dung thanh ghi Rn vaø nhaûy neáu khoâng baèng.
CJNE @Ri,#data,rel (3,2): So saùnh döõ lieäu töùc thôøi vôùi döõ lieäu giaùn tieáp vaø nhaûy neáu khoâng baèng.
DJNZ Rn,rel (2,2): Giaûn thanh ghi Rn vaø nhaûy neáu khoâng baèng.
DJNZ data,rel (3,2): Giaûm döõ lieäu tröïc tieáp vaø nhaûy neáu khoâng baèng.
III.HOAÏT ÑOÄNG CUÛA BOÄ ÑÒNH THÔØI (TIMER)
1.Giôùi thieäu:
8051/8031 coù hai timer 16 bit ,moãi timer coù 4 caùch laøm vieäc ngöôøi ta söû duïng caùc timer ñeå :
ñònh khoaûng thôøi gian
ñeám söï kieän
taïo toác ñoä bad cho Port noái tieáp coù saün trong 8051/8031
Truy xuaát caùc timer duøng 6 thanh ghi chöùc naêng ñaëc bieät
SFR
MUÏC ÑÍCH
ÑÒA CHÆ
Ñòa chæ hoùa töøng bit
TCON
TMOD
TL0
TL1
TH0
TH1
Ñieàu khieån timer
Cheá ñoä timer
Byte thaáp cuûa timer 0
Byte thaáp cuûa timer 1
Byte cao cuûa timer 0
Byte cao cuûa timer 1
88H
89H
8AH
8BH
8CH
8DH
Coù
Khoâng
Khoâng
Khoâng
Khoâng
Khoâng
2. Thanh ghi cheá ñoä timer (TMOD):
Thanh ghi TMOD chöùa hai nhoùm 4 bit duøng ñeå ñaët cheá ñoä laøm vieäc cho timer 0 vaø timer 1.
Bit Bit
Teân
Timer
Moâ taû
7
GATE
1
Bit (môû) coång, khi set thì Timer chaïy khi INT1 ôû möùc cao
6
C/T*
1
Bit choïn cheá ñoä timer/counter
1: ñeám söï kieän
0: ñònh thôøi
5
M1
1
Bit 1 cuûa cheá ñoä
4
M0
1
Bit 0 cuûa cheá ñoä
00: cheá ñoä 0 (timre 13 bit)
01: cheá ñoä 1 (timer 16 bit)
10: cheá ñoä 2 (8 bit töï ñoäng naïp laïi)
11: cheá ñoä 3 (taùch timer)
3
GATE
0
Bit (môû ) coång
2
C/T*
0
Bit choïn timer/counter
1
M1
0
Bít cuûa cheá ñoä
0
M0
0
Bit 0 cuûa cheá ñoä
3. Thanh ghi ñieàu khieån timer (TCON):
Thanh ghi TCON chöùa caùc bit traïng thaùi vaø caùc bit ñieàu khieån cho timer 0 vaø timer 1.
BIT
Kyù hieäu
Ñòa chæbit
Moâ taû
TCON.7
TF1
8FH
Côø baùo traøn timer 1.
TCON.6
TR1
8EH
Bit ñieàu khieån timer 1 chaïy/ngöng.
TCON.5
TF0
8DH
Côø baùo traøn timer 0
TCON.4
TR0
8CH
Bit ñieàu khieån timer 0 chaïy/ngöng.
TCON.3
IE1
8BH
Côø caïnh interrupt 1 beân ngoaøi .
TCON.2
IT1
8AH
Côø kieåu interrupt 1 beân ngoaøi ñaët/xoùa baèng phaàn meàm vôùi interrupt beân ngoaøi taùc ñoäng möùc thaáp/caïnh xuoáng
TCON.1
IE0
89H
Côø caïnh interrupt 0 beân ngoaøi
TCON.0
IT0
88H
Côø kieåu interrupt 0 beân ngoaøi
4. Caùc cheá ñoä timer:
a)Cheá ñoä 0, cheá ñoä timer 13 bit:
Ñeå töông thích vôùi 8048 (coù tröùôùc 8051)
Ba bit cao cuûa TLX (TL0 vaø/hoaêc TL1) khoâng duøng
TLx THx
(5 bit) (8 bit)
TFx
Xung nhòp timer
Côø baùo traøn
b)Cheá ñoä 1- cheá ñoä timer 16 bit.
Hoaït ñoäng nhö timer 16 bit ñaày ñuû.
Côø baùo traøn laø bit TFx trong TCON coù theå ñoïc hoaëc ghi baèng phaàm meàm.
MSB cuûa giaù trò trong caùc thanh ghi timer laø bit 7 cuûa THx vaø LBS laø bit 0 cuûa TLx. Caùc thanh ghi timer (Tlx/THx) coù theå ñöôïc ñoïc hoaëc ghi baát cöù luùc naøo baèng phaàm meàm.
TLx THx
(8 bit) (8 bit)
TFx
Xung nhòp timer
Côø baùo traøn
c)Cheá ñoä2- cheá ñoä töï ñoäng naïp laïi 8 bit.
TLx hoaït ñoäng nhö moät timer 8 bit, trong khi ñoù THx vaãn giöõ nguyeân giaù trò ñöôïc naïp. Khi soá ñeám traøn töù FFH ñeán 00H, khoâng nhöõng côø timer ñöôïc set maø giaù trò trong THx ñoàng thôøi ñöôïc naïp vaøo TLx. Vieäc ñeám tieáp tuïc töø giaù trò naøy leân ñeán FFH xuoáng 00H vaø naïp laïi... cheá ñoä naøy raát thoâng duïng vì söï traøn timer xaûy ra trong nhöõng khoaûng thôøi gian nhaát ñònh vaø tuaàn hoaøn moät khi ñaõ khôûi ñoäng TMOD vaø THx.
Xung nhòp
timer
Côø baùo traøn
Naïp laïi
TFx
THx
(8 bit)
TLx
(8 bit)
d)Cheá ñoä 3- cheá ñoä taùch timer
Timer 0 ñöôïc taùch thaønh hai Timer 8 bit vôùi côø baùo traøn laø TF0 vaø TF1. Timer 1 khoâng coøn bò taùc ñoäng bôûi côø traøn TF1.Timer ngöng ôû cheá ñoä 3, nhöng coù ñöôïc khôûi ñoäng baèng caùch chuyeån sang cheá ñoä khaùc.
TH0
TF1
Xung nhòp timer
Côø baùo traøn
Xung nhòp timer
TL0
TF0
Côø baùo traøn
TL1 TH1 TH1
1/12fosc
5.Nguoàn taïo xung nhòp:
Coù hai nguoàn taïo xung nhòp coù theå coù, ñöôcï choïn baèng caùch ghi vaøo bit C/T (counter/timer) trong TMOD khi khôûi ñoäng timer. Moät nguoàn taïo xung nhòp duøng cho ñònh khoaûng thôøi gian, caùi khaùc cho ñeám söï kieän.
Clock (T0 or T1)
On chip
Osillator
¸12
0=Up (Internal Timing)
1=Down (Event Counting)
Nguoàn taïo xung nhòp
-Ñònh khoaûng thôøi gian (interval timing)
Neáu C/T =0 hoaït ñoäng timer lieân tuïc ñöôïc choïn vaø timer ñöôïc duøng cho vieäc ñònh khoaûng thôøi gian. Luùc ñoù, timer laáy xung nhòp töø boä dao ñoäng treân chip. Boä chia 12 ñöôïc theâm vaøo ñeå giaûm taàn soá xung nhòp ñeán giaù trò thích hôïp cho phaàn lôùn caùc öùng duïng. Nhö vaäy thaïch anh 12 MHz seõ cho toác ñoä xung nhòp timer 1 MHz. Baùo traøn timer xaûy ra sau moät soá (coá ñònh) xung nhòp, phuï thuoäc vaøo giaù trò ban ñaàu ñöôïc naïp vaøo caùc thanh ghi timer TLx/THx.
Ñeám söï kieän (Event counting)
Neáu C/T=1, timer laáy xung nhòp töø nguoàn beân ngoaøi. Trong haàu heát caùc öùng duïng nguoàn beân ngoaøi naøy cung caáp cho timer moät xung kh xaûy ra moät “söï kieän “, timer duøng ñeám söï kieän ñöôïc xaùc ñònh baèng phaàn meàm baèng caùch ñoïc caùc thanh ghi TLx/THx vì giaù trò 16 bit trong caùc thanh ghi naøy taêng theâm 1 cho moãi söï kieän.
Nguoàn xung nhòp ngoaøi coù töø thay ñoåi chöùc naêng cuûa caùc chaân port3. Bit 4 cuûa port 3 (P3.4) duøng laøm ngoõ vaøo taïo xung nhòp beân trong timer 0 vaø ñöôïc goïi laø“T0”.Vaø p3.5 hay “T1” laø ngoõ vaøo taïo xung nhòp cho timer1
6.Baét ñaàu döøng vaø ñieàu khieån caùc timer:
Phöông phaùp môùi ñôn giaûn nhaát ñeå baét ñaàu (cho chaïy) vaø döøng caùc timer laø duøng caùc bit ñieàu khieån chaïy :TRx trong TCON, TRx bò xoùa sau khi reset heä thoáng. Nhö vaäy, caùc timer theo maëc nhieân laø bò caám (bò döøng). TRx ñöôïc ñaët leân 1 baèng phaàn meàm ñeå cho caùc timer chaïy.
Xung nhòp timer
TRx
0=leân : timer döøng
1=xuoáng : timer chaïy
Caùc thanh ghi timer
Ví duï: Cho timer 0 chaïy duøng leänh SET TR0
Cho timer 0 döøng duøng leänh CLR TR0
7.Khôûi ñoäng vaø truy xuaát caùc thanh ghi timer:
Thoâng thöôøng caùc thanh ghi ñöôïc khôûi ñoäng moät laàn ôû ñaàu chöông trình ñeå ñaët cheá ñoä laøm vieäc cho ñuùng. Sau ñoù trong thaân chöông trình
caùc timer ñöôïc cho chaïy, döøng , caùc bit côø ñöôïc kieåm tra vaø xoùa, caùc thanh ghi timer ñöôïc ñoïc vaø caäp nhaät... theo ñoøi hoûi cuûa caùc öùng duïng.
TMOD laø thanh ghi thöù nhaát ñöôïc khôûi ñoäng vì noù ñaët cheá ñoä hoaït ñoäng. Ví duï caùc leänh sau khi khôûi ñoäng timer 1 nhö timer 16 bit (cheá ñoä 1) coù xung nhòp töø boä dao ñoäng treân chíp cho vieäc ñòng khoaûng thôøi gian.
MOV TMOD,#00010000B
Leänh naøy seõ ñaët M1=0 vaø M0=1 cho cheá ñoä 1, C/T=0 vaø GATE=0 cho xung nhòp noäi vaø xoùa caùc bit cheá ñoä timer 0. Dó nhieân timer thaät söï khoâng baét ñaàu ñònh thôøi cho ñeán khi bit ñieàu khieån chaïy TR1 ñöôïc ñaët leân 1.
Neáu caàn soá ñeám ban ñaàu, caùc thanh ghi timer TL1/TH1 cuõng phaûi ñöôïc khôûi ñoäng. Khi timer traøn ,caàn döøng timer vaø xoùa côø baùo traøn trong phaàn meàm baèng leänh sau:
CLR TRx
CLR TFx
8. Caùc khoaûng ngaén vaø caùc khoaûng daøi :
Khoaûng thôøi gian ngaén nhaát coù theå coù bò giôùi haïn khoâng chæ bôûi taàn soá xung nhòp cuûa timer maø coøn bôûi phaàn meàm. Do aûnh höôûng cuûa thôøi khoaûng thöïc hieän moät leänh. Leäng ngaén nhaát 8051/8031 laø moät chu kyø maùy hay 1ms. Sau ñaây laø baûng toùm taét caùc kyõ thuaät ñeå taïo nhöõng khoaûng thôøi gian coù chieàu daøi khaùc nhau (vôùi giaû söû xung nhòp cho 8051/8031 coù taàn soá 12 MHz).
Khoaûng thôøi gian toái ña
Kyõ thuaät
»10
Baèng phaàn meàm
256
Timer 8 bit töï ñoäng naïp laïi
65535
Timer 16 bit
Khoâng giôùi haïn
Timer 16 bit coäng vôùi caùc voøng laëp phaàn meàm.
IV. HOAÏT ÑOÄNG CUÛA PORT NOÁI TIEÁP.
1. Giôùi thieäu:
8051/8031 coù moät port noái tieáp trong chip coù theå hoaït ñoäng ôû nhieàu cheá ñoä khaùc treân moät daõy taàn soá roäng. Chöùc naêng chuû yeáu cuûa moät
port noái tieáp laø thöïc hieän chuyeån ñoåi song song sang noái tieáp vôùi döõ lieäu xuaát vaø chuyeån ñoài noái tieáp sang song song vôùi döõ lieäu nhaäp.
Truy xuaát phaàn cöùng ñeán port noái tieáp qua caùc chaân TXD(P3.0)vaø RXD(P3.1).Hai thanh ghi chöùc naêng ñaëc bieät cho pheùp phaàn meàm truy xuaát ñeán port noái tieáp laø : SBUF(99H) vaø SCON(98H).Ñaây laø hai thanh ghi rieâng bieät thanh ghi chæ ghi ñeå phaùt vaø thanh ghi chæ ñoïc ñeå thu.
RXD (P3.0)
A
SBUF
A
SBUF
TXD (P3.1)
Thanh ghi ñieàu khieån port noái tieáp (SCON) ôû ñòa chæ 98H laø thanh ghi coù ñòa chæ bit chöùa caùc bit traïng thaùi vaø caùc bit ñieàu khieån. Caùc bit ñieàu khieån ñaët cheá ñoä hoaït ñoäng cho port noái tieáp, vaø caùc bit traïng thaùi baùo caùo keát thuùc vieäc phaùt hoaëc thu kyù töï. Caùc bit traïng thaùi coù theå ñöôïc kieåm tra baèng phaàn meàm hoaëc coù theå ñöôïc laäp trình ñeå taïo ngaét.
Taàn soá laøm vieäc cuûa port noái tieáp coøn goïi laø toác ñoä baund coù theå coá ñònh (laáy töø boä giao ñoäng cuûa chip). Neáu söû duïng toác ñoä baud thay ñoåi, timer 1 seõ cung caáp xung nhòp toác ñoä baud vaø phaûi ñöôïc laäp trình.
2. Thanh ghi ñieàu khieån port noái tieáp:
Cheá ñoä hoaït ñoäng cuûa port noái tieáp ñöôïc ñaët baèng caùch ghi vaøo thanh ghi cheá ñoä port noái tieáp (SCON) ôû ñòa chæ 98H. Sau ñaây caùc baûng toùm taét thanh ghi SCON vaø caùc cheá ñoä cuûa port noái tieáp :
Bit
Kyù hieäu
Ñòa chæ
Moâ taû
SCON.7
SM0
9FH
Bit 0 cuûa cheá ñoä Port noái tieáp.
SCON.6
SM1
9EH
Bit 1 cuûa cheá ñoä Port noái tieáp.
SCON.5
SM2
9DH
SM2=0:hoaït ñoäng bình thöôøng.
SM2=1:cheá ñoä truyeàng thoâng ña xöû lyù.
SCON.4
REN
9CH
Cho pheùp thu khi ñöôïc set leân 1.
SCON.3
TB8
9BH
Bit phaùt thöù 9 trong cheá ñoä phaùt 9 bit.
SCON.2
RB8
9AH
Bit thu thöù 9 trong cheá ñoä thu 9 bit.
SCON.1
TI
99H
Côø ngaét phaùt,phaùt xong 1 byte thì TI=1.
SCON.0
RI9FH
98H
Côø ngaét thu, thu xong 1 byte thì RI=1.
Baûng sau moâ taû caùc cheá ñoä hoaït ñoäng cuûa port noái tieáp.
SM0
SM1
Cheá ñoä
Moâ taû
Toác ñoä baud
0
0
0
Thanh ghi dòch
Co61 ñònh (fOSC/12)
0
1
1
UART 8 bit
Thay ñoåi (baèng timer 1)
1
0
2
UART 9 bit
Coá ñònh
1
1
3
UART 9 bit
Thay ñoåi (baèng timer 1)
Tröôùc khi söû duïng port noái tieáp, phaûi khôûi ñoäng SCON cho ñuùng cheá ñoä. Ví duï ,leänh sau:
MOV SCON,#01010010B
Khôûi ñoäng port noái tieáp cho cheá ñoä 1 (SM0/SM1=0/1), cho pheùp boä thu (REN=1) vaø ñaët côø ngaét phaùt (TP=1) ñeå chæ boä phaùt saün saøng hoaït ñoäng.
3.Khôûi ñoäng vaø truy xuaát caùc thanh ghi coång noái tieáp:
a)Cho pheùp thu:
Bit cho pheùp boä thu (REN = Receiver Enable) trong SCON phaûi ñöôïc ñaët leân 1 baèng phaàn meàm ñeå cho pheùp thu caùc kyù töï. Thoâng thöôøng thöïc hieän vieäc naøy ôû ñaàu chöông trình khi khôûi ñoäng coång noái tieáp, timer...Coù theå thöïc hieän vieäc naøy theo hai caùch. Leänh :
SETB REN
Seõ ñaët REN leân 1, hoaëc leänh :
MOV SCON,#xxx1xxxxB
Seõ ñaët REN 1 vaø ñaëc hoaëc xoùa ñi caùc bit khaùc treân SCON khi caàn (caùc x phaûi laø 0 hoaëc 2 ñeå ñaëc cheá ñoä laøm vieäc).
b)Bit döõ lieäu thöù 9:
Bit döõ lieäu thöù 9 caàn phaùt trong caùc cheá ñoä 2 vaø 3, phaûi ñöôïc naïp vaøo trong TB8 baèng phaàn meàm. Bit döõ lieäu thöù 9 thu ñöôïc ñaët ôû RB8. Phaàn meàm coù theå caàn hoaëc khoâng caàn bit döõ lieäu thöù 9, phuï thuoäc vaøo caùc ñaëc tính kyõ thuaät cuûa thieát bò noái tieáp söû duïng (bit döõ lieäu thöù 9 cuõng ñoùng vai moät troø quan troïng trong truyeàn thoâng ña xöû lyù).
c)Theâm 1 bit parity:
Thöôøng söû duïng bit döõ lieäu thöù 9 ñeå theâm parity vaøo kyù töï. Nhö ñaõ xeùt ôû caùc chöông tröôùc, pit P trong töø traïng thaùi chöông trình (PSW) ñöôïc ñaët leân 1 hoaëc bò xoùa bôûi chu kyø maùy ñeå thieát laäp kieåm tra chaün vôùi 8 bit trong thanh tích luõy.
d)Caùc côø ngaét:
Hai côø ngaét thu vaø phaùt (RI vaø TI) trong SCON ñoùng moät vai troø quan troïng truyeàn thoâng noái tieáp duøng 8051/8031. Caû hai bit ñöôïc ñaët leân 1 baèng phaàn cöùng, nhöng phaûi ñöôïc xoùa baèng phaàn meàm.
4 . Toác ñoä baud port noái tieáp:
SMOD=0
¸32
¸16
Dao ñoäng
treân chip
SMOD=1
Xung nhòp
toác ñoä baud
Dao ñoäng
treân chip
Xung nhòp
toác ñoä baud
¸12
¸64
¸32
Dao ñoäng
treân chip
Xung nhòp
toác ñoä baud
SMOD=0
SMOD=1
a.Cheá ñoä 2
a.Cheá ñoä 1 vaø 3
a.Cheá ñoä 0
Caùc nguoàn taïo xung nhòp cho port noái tieáp.
Nhö ñaõ noùi, toác ñoä baud coá ñònh ôû caùc cheá ñoä 0 vaø 2. Trong cheá ñoä 0 noù luoân luoân laø taàn soá dao ñoäng treân chip ñöôïc chia cho 12 . Thoâng thöôøng thaïch anh aán ñònh taàn soá dao ñoäng treân chip cuûa 8051/8031 nhöng cuõng coù theå söû duïng nguoàn xung nhòp khaùc. Giaû söû vôùi taàn soá dao ñoäng danh ñònh laø 12 MHz, tìm toác ñoä baud cheá ñoä 0 laø 1 MHz.
Maëc nhieân, sau khi reset heä thoáng, toác ñoä baud cheá ñoä laø 2 taàn soá boä dao ñoäng chia cho 64. Toác ñoä baud cuõng aûnh höôûng bôûi 1 bit trong thanh ghi ñieàu khieån nguoàn cung caáp (PCON). Bit 7 cuûa PCON laø bit SMOD. Ñaët bit sMOD leân moät laøm gaáp ñoâi toác ñoä baud trong cheá ñoä 1,2 vaø 3. Trong cheá ñoä 2, toác ñoä baud coù theå bò gaáp ñoâi töø giaù trò maëc nhieân cuûa 1/64 taàn soá dao ñoäng (SMOD=0) ñeán 1/32 taàn soá dao ñoäng (SMOD=1)
Vì PCON khoâng ñöôïc ñònh ñòa chæ theo bit, neân ñeå ñaët bit SMOD leân 1 caàn phaûi theo caùc leänh sau:
MOV A,PCON ;laáy giaù trò hieän thôøi cuûa PCON
SETB ACC.7 ;ñaët bit 7 (SMOD) leân 1
MOV PCON,A ;ghi giaù trò ngöôïc veà PCON
Caùc toác ñoä baud trong caùc cheá ñoä 1 vaø 3 ñöôïc xaùc ñònh baèng toác ñoä traøn cuûa timer 1. Vì timer hoaït ñoäng ôû taàn soá töông ñoái cao, traøn timer ñöôïc chia theâm cho 32 (hay 16 neáu SMOD=1) tröôùc khi cung caáp xung nhòp toác ñoä baud cho port noái tieáp.
V. HOAÏT ÑOÄNG NGAÉT (INTERRUPT):
1.Giôùi thieäu:
Ngaét laø hoaït ñoäng ngöøng taïm thôøi moät chöông trình naøy ñeå tji haønh moät chöông trình khaùc. Caùc ngaét coù moät vai troø quan troïng trong thieát keá vaø khaû naêng thöïc thi cuûa vi ñieàu khieån. Chuùng cho pheùp heä thoán ñaùp öùng khoâng cuøng luùc tôùi moät coâng vieäc vaø giaûi quyeát moät coâng vieäc ñoù trong khi moät chöông trình khaùc ñang thöïc thi.
Moät heä thoáng ñöôïc ñieàu khieån baèng ngaét cho aûo giaùc laø laøm nhieàu vieäc ñoàng thôøi. Dó nhieân CPU moãi laàn khoâng theå thöïc thi moät chöông trình ñeå thöïc thi moät chöông trình khaùc, roài quay veà chöông trình ñaàu. khi coù yeâu caàu ngaét. Chöông trình giaûi quyeát ngaét ñöôïc goïi laû chöông trình phuïc vuï ngaét (ISR : Interrupt Sevice Reutine).
2. Toå chöùc ngaét:
Ôû 8051 coù 5 nguoàn ngaét:
2 ngaét ngoaøi
2 ngaét töø timer.
1 ngaét port noái tieáp.
Taát caû caùc ngaét seõ khoâng ñöôïc ñaët sau khi reset heä thoáng vaø cho pheùp ngaét rieâng reõ bôûi phaàn meàm.
a)Cho pheùp vaø khoâng cho pheùp ngaét:
Moãi nguoàn ngaét ñöôïc cho pheùp hoaëc khoâng cho pheùp töøng ngaét moät qua thanh ghi chöùc naêng ñaët bieät coá ñònh ñòa chæ bit IE (Interrupt Enable : cho pheùp ngaét) ôû ñòa chæ A8H. Cuõng nhö caùc bit cho pheùp moãi nguoàn ngaét, coù moät bit cho pheùp hoaëc caám toaøn boä ñöôïc xoùa ñeå caám taát caû caùc ngaét hoaëc ñöôïc ñaët leân 1 ñeå cho pheùp taát caû caùc ngaét.
Bit
Kyù hieäu
Ñòa chæ bit
Moâ taû (1=cho pheùp,0=caám)
IE.7
IE.6
IE.5
IE.4
IE.3
IE.2
IE.1
IE.0
EA
EA
ET5
E5
ET1
EX1
ET0
EX0
AFH
AEH
ADH
ACH
ABH
AAH
A9H
A8H
Cho pheùp hoaëc caám toaøn boä
Khoâng ñöôïc ñònh nghóa
Cho pheùp ngaét töø timer 2 (8052)
Cho pheùp ngaét Port noái tieáp
Cho pheùp ngaét töø timer 1
Cho pheùp ngaét ngoaøi 1
Cho pheùp ngaét töø timer 0
Cho pheùp ngaét ngoaøi 0
b)Öu tieân ngaét:
Moãi nguoàn ngaét ñuôïc laäp trình rieâng vaøo moät trong hai möùc öu tieân qua thanh ghi chöùc naêng ñaëc bieät ñöôïc ñòa chæ bit Ip (Interrupt priority : öu tieân ngaét) ôû ñòa chæ B8H.
Bit
Kyù hieäu
Ñòa chæ bit
Moâ taû (1=möùc cao hôn,0=möùc thaáp)
IP.7
IP.6
IP.5
IP.4
IP.3
IP.2
IP.1
IP.0
_
_
PT2
PS
PT1
PX1
PT0
PX0
BFH
BEH
BDH
BCH
BBH
BAH
B9H
B8H
Khoâng ñöôïc ñònh nghóa
Khoâng ñöôïc ñònh nghóa
Öu tieân cho ngaét töø timer 2 (8052)
Öu tieân cho ngaét Port noái tieáp
Öu tieân cho ngaét töø timer 1
Öu tieân cho ngaét ngoaøi
Öu tieân cho ngaét töø timer 0
Öu tieân cho ngaét ngoaøi 0
Caùc ngaét öu tieân ñöôïc xoùa sau khi reset heä thoáng ñeå ñaë ttaát caû caùc ngaét ôû möùc öu tieân thaáp hôn.
3. Xöû lyù ngaét:
Khi coù moät ngaén xaåy ra vaø ñöôïc CPU chaáp nhaän, chöông trình chính bò ngaét quaõng. Nhöõng hoaït ñoäng sau xaåy ra:
Thi haønh hoaøn chænh leänh ñang hieän haønh.
Caùc DC vaøo ngaét xeáp.
Traïng thaùi ngaét hieän haønh ñöôïc caát beân trong.
Caùc ngaét ñöôïc chaën taïi möùc cuûa ngaét.
Nap vaøp DC ñòa chæ Vector cuûa ISR.
ISR thöïc thi.
ISR thöïc thi vaø ñaùp öùng ngaét. ISR hoaøn taát baèng leänh RET1. Ñieàu naøy laøm laáy laïi giaù trò cuõ cuûa PC töø ngaên xeáp vaø laáy laïi traïng thaùi ngaét cuõ. Chöông trình laïi tieáp tuïc thi haønh taïi nôi maø noù döøng.
Caùc Vector ngaét.
Khi chaáp nhaän ngaét, giaù trò ñöôïc naïp vaøo PC ñöôïc goïi laø Vector ngaét. Noù laø ñòa chæ baét ñaàu cuûa ISR cho nguoàn taïo ngaét. Caùc Vector ngaét ñöôïc cho ôû baûng sau:
Ngaét
Côø
Ñòa chæ Vector
Reset heä thoáng
Beân ngoaøi 0
Timer 0
Beân ngoaøi 1
Timer 1
Port noái tieáp
RST
IE0
TF0
IE1
TF1
TI hoaëc RI
0000H
0003H
000BH
0013H
001BH
0023H
Vector reset heä thoáng (RST ôû ñòa chæ 0000H) noù gioáng nhö moät ngaét. Noù ngaét chöông trình chính vaø taûi vaøo PC moät giaù trò môùi.
Khi chæ ñeán moät ngaét “côø gaây ngaét töï ñoäng bò xoùa bôûi phaàn cöùng, tröø ra R1, T1 cho caùc ngaét coång noái tieáp. Vì coù hai nguoàn coù theå coù cho ngaét naøy,khoâng thöïc teá ñeå CPU xoùa côø ngaét naøy. Caùc bit phaûi ñöôïc kieåm tra trong ISR ñeå xaùc ñònh nguoàn ngaét vaø côø taïo ngaét seõ ñöôïc xoùa baèng phaàn meàm.
4. Caùc ngaét cuûa 8051:
a)Caùc ngaét timer:
Caùc ngaét timer coù ñòa chæ Vector ngaét laø 000BH (timer 0) vaø 001BH (timer 1). Ngaét timer xaåy ra khi caùc thanh ghi timer (TLx ITHx) traøn vaø set côø baùo traøn (TFx) leân 1. Caùc côø timer (TFx) khoâng bò xoùa baèng phaàn meàm. Khi cho pheùp caùc ngaét, TFx töï ñoäng bò xoùa baèng phaàn cöùng khi CPU chuyeån ñeán ngaét.
b)Caùc ngaét coång noái tieáp:
Ngaét coång noái tieáp xaåy ra khi hoaëc côø phaùt (TI) hoaëc côø ngaét thu (RI) ñöôïc ñaët leân 1. Ngaét phaùt xaåy ra khi moät kyù töï ñaõ ñöôïc nhaän xong vaø ñang ñôïi trong SBUP ñeå ñöôïc ñoïc.
Caùc ngaét coång noái tieáp khaùc vôùi caùc ngaét timer. Côø gaây ra ngaét coång noái tieáp khoâng bò xoùa baèng phaàn cöùng khi CPU chuyeån tôùi ngaét. Do coù hai nguoàn ngaét coång noái tieáp TI vaø RI. Nguoàn ngaét phaûi ñöôïc xaùc ñònh trong ISR vaø côø taïo ngaét seõ ñöôïc xoùa baèng phaàn meàm. Caùc ngaét timer côø ngaét côø ngaét ñöôïc xoùa baèng phaàn cöùng khi CPU höôùng tôùi ISR.
c)Caùc ngaét ngoaøi:
Caùc ngaét ngoaøi xaåy ra khi coù moät möùc thaáp hoaëc caïnh xuoáng treân chaân INT0 hoaëc INT1 cuûa vi ñieàu khieån. Ñaây laø chöùc naêng chuyeån ñoåi cuûa caùc bit Port 3.(Port 3.2 vaø Port 3.3).
Caùc côø taïo ngaét naøy laø caùc bit IE0 vaù IE1 trong TCON. Khi quyeàn ñieàu khieån ñaõ chuyeån ñeán ISR, côø taïo ra ngaét chæ ñöôïc xoùa neáu ngaét ñöôïc tích cöïc baèng caïnh xuoáng. Neáu ngaét ñöôïc tích cöïc theo möùc, thì nguoàn yeâu caàu ngaét beân ngoaøi seõ ñieàu khieån möùc cuûa côø thay cho phaàn cöùng.
Söï löïa choïn ngaét tích cöïc möùc thaáp hay tích cöïc caïnh xuoáng ñöôïc laäp trình qua caùc bit IT0 vaø IT1 trong TCON. Neáu IT1 = 0, ngaét ngoaøi 1
ñöôïc taùc ñoäng baèng muùc thaáp ôû chaân IT1. Neáu IT1 = 1 ngaét ngoaøi 1 seõ ñöôïc taùc ñoäng baèng caïnh xuoáng. trong cheá ñoä naøy, neáu caùc maãu lieân tieáp treân chaân INT1 chæ möùc cao trong moät chu kyø vaø chæ möùc thaáp trong chu kyø keá, côø yeâu caàu ngaét IE1 trong TCON ñöôïc ñaët leân 1, roài bit IE1Ù yeâu caàu ngaét.
Neáu ngaét ngoaøi ñöôïc taùc ñoäng baèng caïnh xuoáng thì nguoàn beân ngoaøi phaûi giöõ chaân taùc ñoäng ôû möùc cao toái thieåu moät chu kyø vaø giöõ noù ôû möùc thaáp theâm moät chu kyø nöõa ñeå ñaûm baûo phaùt hieän ñöôïc caïnh xuoáng. Neáu ngaét ngoaøi ñöôïc taùc ñoäng theo möùc thì nguoàn beân ngoaøi phaûi giöõ tín hieäu yeâu caàu taùc ñoäng cho ñeán khi ngaét ñöôïc yeâu caàu ñöôïc thaät söï taïo ra vaø khoâng taùc ñoäng yeâu caàu ngaét tröôùc khi ISR ñöôïc hoaøn taát . Neáu khoâng moät ngaét khaùc seõ ñöôïc laëp laïi.
CHÖÔNG IV :
GIÔÙI THIEÄU IC AT8952
I.ÑAËC ÑIEÅM VEÀ PHAÀN TOÅ CHÖÙC BOÄ NHÔÙ
+IC 8952 (cuøng hoï vôùi 8052 )chöùc naêng gioáng nhö 8031/8051 nhöng taêng cöôøng theâm hai chöùc naêng laø:
+ Ram coù 128 byte töø ñòa chæ 80H ñeán FFH vì theá noù khoâng bò nhaàm laãn ñòa chæ vôùi thanh ghi SFR (khi coù cuøng ñòa chæ gioáng nhau ). Theâm 1/8 K ram chæ ñeå söû duïng cho ñòa chæ tröïc tieáp ,ví duï nhö caâu leänh
MOV A,0F0H
+Ôû IC 8031/8051 ñaây laø leänh chuyeån noäi dung cuûa thanh ghi B vaøo thanh ghi A .
MOV R0,# 0F0H
MOV A,@R0
Nhöng ôû 8952 vieäc ñoïc vaøo thanh ghi A noäi dung cuûa ñòa chæ ram noäi F0H nhöng khoâng ñöôïc ñònh nghóa ôû 8031/8051 . Söï saép xeáp boä nhôù trong cuûa 8952 notice minh hoaï nhö hình veõ
Vuøng ñòa chæ coù theå truy caäp giaùn tieáp hay tröïc tieáp
Chæ daønh rieâmg cho vieäc truy
caäp ñòa chæ tröïc tieáp
Vuøng thanh ghi chöùc naêng ñaëc bieät
80H
00H
7FH
128
byte
thaáp
Vuøng ñòa chæ chæ daønh rieâng cho cho vieäc truy caäp ñòa chæ giaùn tieáp
FFH
80H
128
byte
cao
FFH
Ngoaøi ra 8952 coøn coù moät caûi tieán nöõa laø coù theâm moät timer 16 bit ñoù laø timer 2 .Timer 2 ñöôïc laäp trình vôùi 5 thanh ghi chöùc naêng ñaëc bieät
+2 thanh ghi timer TL2 ,TH2
+1 thanh ghi timer ñieàu khieån RCAP2L,RCAP2H
+vaø 2 thanh ghi cheá ñoä ghi choát RXAP2L,RCAP2H
mode cuûa timer 2 ñöôïc ñaët bôûi thanh ghi ñieàu khieån T2CON ,gioáng timer 0 vaø timer 1 ,timer 2 coù theå hoaït ñoäng nhö moät timer noäi hay laø moät boä ñeám .Nguoàn xung nhòp laø xung noäi ,neáu xung ngoaïi thì kích port P1.0 .Ta coù theå choïn xung kích noäi hay ngoaïi baèng caùch taùc ñoäng vaøo bit C/T2 treân T2CON cuõng nhö taùc ñoäng ñeán bit C/T treân TCON ñoái vôùi timer 0 ,timer1 .Coù ba mode hoaït ñoäng : cheá ñoä töï ñoäng naïp laïi ,cheá ñoä choát vaø cheá ñoä toác ñoä baud
BIT
KYÙ HIEÄU
ÑÒA CHÆ
GIAÛI THÍCH
T2CON.7
TF2
CFH
Côø baùo traøn .khoâng aûnh höôûng khi TCLK hay RCLK ñang ôû möùc 1
T2CON.6
EXF2
CEH
Côø ngoaøi ,ñöôïc taùc ñoäng khi choát hay naïp laïi giaù trò coù chuyeån töø möùc 1 xuoáng möùc 0 treân T2EX vaø EXEN2 ôû möùc 1 .khi coù ngaét EXF2 ôû möùc 1 ñeå phuïc vuï chöông trình con vaø xoaù baèng phaàn meàm
T2CON.5
RCLK
CDH
Nhaän xung clock , khi taùc ñoäng timer 2 cho port noái tieáp nhaän toác ñoä baud ,timer 1 chuyeån toùc ñoä baud
T2CON.4
TCLK
CCH
Chuyeån xung clock .khi taùc ñoäng timer 2 cho chuyeån toác ñoä baud ,timer 1 nhaän toác ñoä baud
T2CON.3
EXEN2
CBH
Cho pheùp timer 2 ngoaøi ,khi taùc ñoäng cho pheùp choát hay naïp laïi treân T2EX khi coù söï chuyeån töø möùc 1 ñeán möùc 0
T2CON.2
TR2
CAH
Cho chaïy timer 2 ,ñöôïc ñaët hay xoaù baèng phaàn meàm
T2CON.1
C/T2
C9H
Neáu bit=1 thì boä ñeám
Neáu bit =0 thì timer noäi
T2CON.0
CP/RL2C
C8H
cho pheùp hoaït ñoäng ôû cheá ñoä choát hay cheá ñoä naïp laïi .
khi ñöôïc ñaët ,neáu EXEN2 =1 ,coù söï chuyeån möùc töø 1 xuoáng 0 treân T2EX thì cheá ñoä choát
khi xoaù ,neáu EXEN2 =1 , cheá ñoä naïp laïi treân côø baùo traøn cuûa timer
neáu RCLK hay TCLK =1 thì bit naøy khoâng bò aûnh höôûng
II.CAÙC MODE HOAÏT ÑOÄNG
1.Cheá Ñoä Töï Ñoäng Naïp Laïi
Cheá ñoä töï ñoâïng naïp laïi/ choát treân bit T2CON choïn löïa hai mode ñaàu tieân . Khi CP/RL2 =0 thì timer 2 ñang ôû cheá ñoä töï ñoäng naïp laïi vôùi TL2/TH2 nhö laø thanh ghi timer vaø hai thanh ghi RCAP2L ,RCAP2H ñang giöõ traïng thaùi naïp laïi . Khoâng gioáng nhö cheá ñoä naïp laïi ñoái vôùi timer 0 hay timer 1 ,timer2 luoân ôû cheá ñoä 16 bit thaäm chí khi ôû mode töï ñoäng naïp laïi
Söï naïp laïi coù söï chuyeån ñoåi FFFFH ñeán 0000H treân TL2 /TH2 khi côø TF2 ñöôïc ñaët . Traïng thaùi naøy ñöôïc xaùc ñònh bôûi phaàn meàm hay coù chöông trình phuïc vuï ngaét ,noùi caùch khaùc TF2 phaûi ñöôïc xoùa baèng phaàn meàm tröôùc khi ñöôïc ñaët leân möùc tích cöïc
On-chip osc
:12
TL2
TH2
TF2
RRCAP2L
RCAP2H
EXF2
C/T2
TR2
EXEN2
T2EX
P1.1
T2(P1.0)
112MHz
0=UP
1=DÔWN
0=UP
1=DÔWN
Ôû cheá ñoä öu tieân , khi ñang ñaët EXEN2 trong T2CON vieäc naïp laïi
chæ ñöôïc xaûy ra khi coù söï chuyeån ñoåi töø möùc 1 ñeán 0 cuûa tín hieäu ñeán
chaân T2EX ,vieäc naøy ñöôïc thöïc hieän baèng caùch thay ñoåi chaân P1.1cuûa IC 8952 .Vieäc chuyeån ñoåi töø möùc 1 ñeán möùc 0 treân T2EX cuõng laø xeùt bit côø môùi treân timer 2 .EXF2 ñöôïc kieåm tra baèng phaàn meàm hay coù phuïc vuï ngaét , EXF2 .Nhö côø baùo traøn TF2,EXF2 ñöôïc kieåm tra baèng phaàn meàm hay coù phuïc vuï ngaét. EXF2 phaûi ñöôïc xoaù baèng phaàn meàm
cheá ñoä töï ñoäng naïp laïi ôû timer2 ñöôïc minh hoïa nhö hình treân:
2.Cheá Ñoä Choát
Khi CP/ RL2=1 ,cheá ñoä choát bò thay ñoåi .Timer 2 hoïat ñoäng nhö moät timer 16 bit vaø côø baùo traøn TF2 leân möùc tích cöïc khi coù söï chuyeån ñoåi töø FFFFH xuoáng 0000H treân TL2/TH2, côø TF2 ñöôïc kieåm tra baèng phaàn meàm hay coù phuïc vuï ngaét
Khi muoán cheá ñoä choát ,thì EXEN2 phaûi ñöôïc ñaët .Neáu EXEN2 =1 , T2EX coù söï chuyeån ñoåi töø möùc 1 xuoáng 0 thì vieäc ghi giaù trò vaøo trong TL2/TH2 baèng caùch ghi toác ñoä vaøo RCAP2L vaø RCAP2H.Côø EXF2 ñöôïc kieåm tra baèng phaàn meàm hay coù phuïc vuï ngaét
Cheá ñoä choát ñöôïc minh hoaï nhö hình veõ
On-chip osc
:12
TL2
TH2
TF2
RRCAP2L
RCAP2H
EXF2
C/T2
TR2
EXEN2
T2EX
T2(P1.0)
112MHz
0=UP
1=DÔWN
0=UP
1=DÔWN
Capture
Chöông V:
MÔÛ ROÄNG PORT DUØNG PII 8255
I CAÁU TRUÙC PHAÀN CÖÙNG 8255A:
8255A laø IC ngoaïi vi ñöôïc cheá taïo theo coâng ngheä LSI duøng ñeå giao tieáp song song giöõa Microprocrssor vaø thieát bò ñieàu khieån beân ngoaøi.
Sô ñoà chaân vaø sô ñoà logic cuûa 8255
Teân caùc chaân 8255A:
D7¸D0 : Data bus (Bi-Direction).
RESET Reset input.
CS\ Chip : select
RD\ Read : input
WR\ Write : input
A0A1 : Prot Address
PA7¸PA0 : Port A
PB7¸PB0 : Port B
PC7¸PC0 : Port C
8255A giao tieáp vôùi Microprocrssor thoâng qua 3 bus : bus döõ lieäu bit D7¸D0 bus ñòa chæ A1A0, bus ñieáu khieån RD\,WR\.SC\.Reset.
Maõ leänh, thoâng tin traïng thaùi vaø döõ lieäu ñeàu ñöôï truyeàn treân 8 ñöôøng döõ lieäu D7¸D0. Microprocrssor gôûi döõ lieäu ñeán 8255A hoaëc Microprocrssor ñoïc döõ lieäu töø 8255A tuøy thuoäc vaøo leänh dieàu khieån. Caùc ñöôøng tín hieäu RD\,WR\ cuûa 8255A ñöôïc keát noái vôùi caùc ñöôøng RD\, WR\ cuûa Microprocrssor.
Tín hieäu Reset duøng ñeå khôûi ñoäng 8255A khi caáp ñieän, khi bò Reset caùc thanh ghi beân trong cuûa 8255A ñeàu bò xoùa vaø 8255A ôû traïng thaùi saün saøng laøm vieäc. Khi giao tieáp vôùi Microprocrssor, ngoõ vaøo tín hieäu Reset naøy ñöôïc keát noái tín hieäu Reset Out cuûa Microprocrssor.
Tín hieäu Chip select CS\ duøng ñeå löïa choïn 8255A khi Microprocrssor, giao tieáp vôùi nhieàu 8255A.
8255A coù 3 Port xuaát nhaäp (I/O) coù teân laø Port A,Port B, Port C, moãi Port 8255A bit. Port A goàm PA0-PA7, Port B goàm PB0-PB7, Port C goàm caùc bit PC0-PC7. Caùc Port naøy coù theå laø caùc Port Input hay Output tuøy thuoäc vaøo leänh ñieàu khieån, leänh ñieàu khieån do Microprocrssor gôûi ñeán chöùa trong thanh ghi leänh (coøn goïi laø thanh ghi ñieàu khieån) ñeå ñieàu khieån 8255A .
caùc ñöôøng ñòa chæ A1A0 cuûa 8255A duøng ñeå löïa choïn caùc Port vaø thanh ghi A1A0=002 duøng ñeå choïn Port A, A1A0=012 duøng ñeå choïn Port B, A1A0=102 duøng ñeå choïn Port C, A1A0=112 duøng ñeå choïn thanh ghi ñieàu khieån.
Trong sô ñoà khoái cuûa 8255A , caùc Port I/O cuûa 8255A chia ra laøm 2 nhoùm : nhoùm A goàm Port A vaø bit cao cuûa Port C,nhoùm B goàm Port B vaø 4 bit thaáp cuûa Port C. Ñeå söû duïng caùc Port cuûa 8255A ngöôøi laäp trình phaûi gôûi töø ñieàu khieån ra thanh ghi ñieàu khieån ñeå 8255A ñònh caáu hình cho caùc Port ñuùng theo yeâu caàu maø ngöôøi laäp trình mong muoán.
NHOÙM A
NHOÙM B
D7
D6
D5
D4
D3
D2
D1
D0
MODE SELECTION
1:ACTIVE
MODE SELECTION
00:MODE 0
01:MODE 1
1X:MODE2
Port A
1:INPUT
0:OUTPUT
Port C
1:INPUT
0:OUTPUT
MODE SELECTION
1:MODE1
0:MODE0
Port B
1:INPUT
0:OUTPUT
Port C
1:INPUT
0:OUTPUT
Caáu truùc töø ñieàu khieån cuûa 8255A.
II. CAÁU TRUÙC PHAÀN MEÀM CUÛA 8255.
Do caùc Port ra cuûa 8255A ñöôïc chia ra laøm 2 nhoùm A vaø nhoùm B taùch rôøi neân töø ñieàu khieån cuûa 8255A cuõng ñöôïc chia laøm 2 nhoùm.
Caùc bit D2D1D0 duøng ñeå ñònh caáu hình cho nhoùm B:
Bit D0 duøng ñeå thieát laäp 4 bit thaáp cuûa Port C, D0=0 Port C xuaát döõ lieäu (output), D0=1 – Port thaáp laø port nhaäp döõ lieäu (Input).
Bit D1 duøng ñeå thieát laäp Port B , D1=0- Port B laø Port xuaát döõ lieäu (output), D1=1 –Port B laø Port nhaäp döõ lieäu (input).
Bit D2 duøng ñeå thieát laäp Mode ñieàu khieån cuûa nhoùm B:
D2=0: nhoùm B hoaït ñoäng ôû modem 0.
D2=1: nhoùm B hoaït ñoäng ôû modem 1.
Caùc bit D6D5D4D3 duøng ñeå ñònh caáu hình cho nhoùm A:
Bit D3 duøng ñeå thieát laäp 4 bit cao cuûa Port C, D3=0-Port C laø Port xuaát döõ lieäu (output),D3=1 Port C laø Port nhaäp döõ lieäu (input).
Bit D4 duøng ñeå thieát laäp Port A, D4=0- Port A laø Port xuaát döõ lieäu (output), D4=1-Port A laø Port nhaäp döõ lieäu (input).
Bit D6D5 duøng ñeå thieát laäp Mode ñieàu khieån cuûa nhoùm B:
D6D5=00:nhoùm A hoaït ñoäng ôû modem 0.
D6D5=01: nhoùm A hoaït ñoäng ôû modem 1.
D6D5=1x: nhoùm A hoaït ñoäng ôû modem 2.
III. GIAO TIEÁP GIÖÕA VI XÖÛ LÍ VÔÙI 8255A .
Vi maïch 8255A coù theå giao tieáp vôùi vi xöû lyù theo hai kieåu xuaát nhaäp (I/O) vaø kieåu boä nhôù.
-Khi vi xöû lyù giao tieáp vôùi 8255A. Theo kieåu I/O thì noù chæ duøng 8255A ñöôøng ñòa chæ töø A0 ñeán A7, coøn khi giao tieáp theo kieåu boä nhôù thì noù duøng 16 ñöôøng A0 ñeán A15 ñeå giao tieáp, vì vaäy dung löôïng giao tieáp theo kieåu I/O thaáp hôn dung löôïng giao tieáp theo kieåu boä nhôù.
1.Giao tieáp kieåu I/O.
Khi thieát keá vi xöû lyùgiao tieáp vôùi 8255A theo kieåu I/O thì vieäc giao tieáp thoâng qua hai leänh: In addr – Port vaø Out addr – Port. Döõ lieäu giao tieáp luoân chöùa trong thanh ghi A, ñòa chæ port(addr port) coù ñoä daøi 8255A bit.
Cuõng gioáng nhö boä nhôù. Vi xöû lyù coù theå giao tieáp vôùi nhieàu vi maïch 8255A. Vôùi 8255A bit ñòa chæ, neáu xem moãi moät ñòa chæ truy xuaát moät oâ nhôù thì vi xöû lyù coù khaû naêng truy xuaát 255 oâ nhôù(vôùi 256 ñòa chæ). Moãi vi maïch 8255A chieám 4 ñòa chæ 93 port vaø 1 thanh ghi ñieàu khieån, neân soá löôïng vi maïch 8255A coù theå giao tieáp vôùi vi xöû lyù laø 64.
Khi keát noái giöõa vi xöû lyù vaø vi maïch 8255A thì ñöôøng ñòa chæ A0 vaø A1 duøng ñeå löïa choïn caùc coång vaø thanh ghi ñieàu khieån, coøn caùc ñöôøng A2-A7 duøng ñeå löïa choïn vi maïch hoaït ñoäng, thoâng thöôøng caùc ñöôøng ñòa chæ naøy ñöôïc ñöa vaøo vi maïch giaûi maõ roài caùc ngoõ ra cuûa vi maïch giaûi maõ seõ ñöa chaân CS\ cuûa caùc vi maïch 8255A.
Ví duï: thieát keá 2 vi maïch 8255 A giao tieáp vôùi vi xöû lyù theo kieåu I/O. Ta coù baûng ñòa chæ caùc vi maïch 8255A.
IC
A7
A6
A5
A4
A3
A2
A1
A0
HEX
8255I
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
00
03
8255II
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
04
07
8255I chieám 1 vuøng ñòa chæ töø 00H ñeán 03H ñòa chæ cuûa port A=00H, port B=01H ,port C=02H vaø ñòa chæ cuûa thanh ghi ñieàu khieån =03H.
8255-I chieám moät vuøng ñòa chæ töø 04H ñeán 07H, ñòa chæ cuûa: port A=04H, port B=05H, port C=06H vaø ñòa chæ cuûa thanh ghi ñieàu khieån=07H.
2.Giao tieáp kieåu boä nhôù.
Khi thieát keá giao tieáp 8255 vôùi vi xöû lyù theo kieåu boä nhôù; veà chöùc naêng cuûa 8255 khoâng coù gì thay ñoåi chæ thay ñoåi veà ñòa chæ truy xuaát. Kieåu I/O, ñòa chæ cuûa port hay thanh ghi coù ñoä daøi 8255A bit, kieåu boä nhôù, ñòa chæ cuûa port hay thanh ghi seõ coù ñoä daøi 16 bit gioáng nhö boä nhôù neân goïi laø kieåu boä nhôù.
Khi thieát keá IO theo kieåu boä nhôù thì moãi port hay thanh ghi ñieàu khieån cuûa 8255, ñöôïc xem laø töøng oâ nhôù. Khi ñoù vi xöû lyù giao tieáp vôùi 8255 gioáng nhö boä nhôù vaø 2 leänh IN vaø OUT khoâng coøn taùc duïng.
Kieåu boä nhôù chæ söû duïng trong caùc heä thoáng nhoû ñôn giaûn.
Giao tieáp IC8255A vôùi Microprocessor.
3.ÖÙng duïng cuûa 8255:
IC giao tieáp IO 825 coù raát nhieàu öùng duïng trong caùc heä thoáng ñieàu khieån duøng MicroProcessor, 8255 ñoùng vai troø laø IC giao tieáp giöõa MicroProcessor vaø ñoái töôïng ñieàu khieån.
Caùc öùng duïng cuûa 8255 laø truyeàn döõ lieäu, giaûi maõ hieån thò, giaûi maõ baøn phím, giao tieáp ñieàu khieån tuøy theo yeâu caàu.
Các file đính kèm theo tài liệu này:
- 1.doc