Đồ án Mạch khống chế nhiệt độ

Tài liệu Đồ án Mạch khống chế nhiệt độ: ĐỒ ÁN MƠN HỌC ĐỀ TÀI : MẠCH KHỐNG CHẾ NHIỆT ĐỘ GVHD: Phạm Quang Trí SVTH : Nguyễn Văn Trịnh Dương Anh Tuấn Nguyễn Thị Lệ Nhung LỜI NÓI ĐẦU Trong nhiều lĩnh vực sản xuất công nghiệp hiện nay, nhất là ngành công nghiệp luyện kim, chề biến thực phẫm… vấn đề đo và khống chế nhiệt độ đặc biệt được chú trọng đến vì nó là một yếu tố quyết định chất lượng sản phẫm. Nắm được tầm quan trọng của vấn đề trên nhóm thực hiện tiến hành nghiên cứu và thiết kế một hệ thống đo và khống chế nhiệt độ tự động, với mong muốn là giải quyết những yêu cầu trên, và lấy đó làm đề tài tốt nghiệp cho mình. Những kiến thức năng lực đạt được trong quá trình học tập ở trường sẽ được đánh giá qua đợt bảo vệ luận văn cuối khóa. Vì vậy chúng em cố gắng tận dụng tất cả những kiến thức đã học ở trường cùng với sự tìm tồi nghiên cứu, để có thể hoàn thành tốt luận văn này....

doc36 trang | Chia sẻ: haohao | Lượt xem: 1077 | Lượt tải: 2download
Bạn đang xem trước 20 trang mẫu tài liệu Đồ án Mạch khống chế nhiệt độ, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐỒ ÁN MÔN HỌC ĐỀ TÀI : MẠCH KHỐNG CHẾ NHIỆT ĐỘ GVHD: Phạm Quang Trí SVTH : Nguyễn Văn Trịnh Dương Anh Tuấn Nguyễn Thị Lệ Nhung LÔØI NOÙI ÑAÀU Trong nhieàu lónh vöïc saûn xuaát coâng nghieäp hieän nay, nhaát laø ngaønh coâng nghieäp luyeän kim, cheà bieán thöïc phaãm… vaán ñeà ño vaø khoáng cheá nhieät ñoä ñaëc bieät ñöôïc chuù troïng ñeán vì noù laø moät yeáu toá quyeát ñònh chaát löôïng saûn phaãm. Naém ñöôïc taàm quan troïng cuûa vaán ñeà treân nhoùm thöïc hieän tieán haønh nghieân cöùu vaø thieát keá moät heä thoáng ño vaø khoáng cheá nhieät ñoä töï ñoäng, vôùi mong muoán laø giaûi quyeát nhöõng yeâu caàu treân, vaø laáy ñoù laøm ñeà taøi toát nghieäp cho mình. Nhöõng kieán thöùc naêng löïc ñaït ñöôïc trong quaù trình hoïc taäp ôû tröôøng seõ ñöôïc ñaùnh giaù qua ñôït baûo veä luaän vaên cuoái khoùa. Vì vaäy chuùng em coá gaéng taän duïng taát caû nhöõng kieán thöùc ñaõ hoïc ôû tröôøng cuøng vôùi söï tìm toài nghieân cöùu, ñeå coù theå hoaøn thaønh toát luaän vaên naøy. Nhöõng saûn phaãm nhöõng keát quaû ñaït ñöôïc ngaøy hoâm nay tuy khoâng coù vì lôùn lao. Nhöng ñoù laø nhöõng thaønh quaû cuûa naêm hoïc taäp. Laø thaønh coâng ñaàu tieân cuûa chuùng em tröôùc khi ra tröôøng . Maët duø chuùng em raát coá gaéng ñeå hoaøn thaønh taäp luaän vaên naøy ñuùng thôøi haïn, neân khoâng traùnh khoûi nhöõng thieáu soùt mong quí thaày coâ thoâng caûm. Chuùng em mong ñöôïc ñoùn nhaän nhöõng yù kieán ñoùng goùp. Cuoái cuøng xin chaân thaønh caûm ôn quí thaày coâ vaø caùc baïn sinh vieân. Nhoùm sinh vieân thöïc hieän Văn Trịnh Anh Tuấn Lệ Nhung NHAÄN XEÙT CUÛA GIAÙO VIEÂN HÖÔÙNG DAÃN NHAÄN XEÙT CUÛA GIAÙO VIEÂN PHAÛN BIEÄN CHƯƠNG 1 GIÔÙI THIEÄU CHUNG VEÀ BOÄ VI ÑIEÀU KHIEÅN I.GIÔÙI THIEÄU Boä vi ñieàu khieån vieát taét laø Micro-controller, laø maïch tích hôïp treân moät chip coù theå laäp trình ñöôïc, duøng ñeå ñieàu khieån hoaït ñoäng cuûa moät heä thoáng. Theo caùc taäp leänh cuûa ngöôøi laäp trình, boä vi ñieàu khieån tieán haønh ñoïc, löu tröõ thoâng tin, xöû lyù thoâng tin, ño thôøi gian vaø tieán haønh ñoùng môû moät cô caáu naøo ñoù. Trong caùc thieát bò ñieän vaø ñieän vaø ñieän töû daân duïng, caùc boä vi ñieàu khieån, ñieàu khieån hoaït ñoäng cuûa TV, maùy giaët, ñaàu ñoïc laser, ñieän thoïai, loø vi-ba … Trong heä thoáng saûn xuaát töï ñoäng, boä vi ñieàu khieån ñöôïc söû duïng trong Robot, daây chuyeàn töï ñoäng. Caùc heä thoáng caøng “thoâng minh” thì vai troø cuûa heä vi ñieàu khieån caøng quan troïng. II.LÒCH SÖÛ PHAÙT TRIEÅN CUÛA CAÙC BOÄ VI ÑIEÀU KHIEÅN Boä vi ñieàu khieån thöïc ra, laø moät loaïi vi xöû lí trong taäp hôïp caùc boä vi xöû lyù noùi chung. Boä vi ñieàu khieån ñöôïc phaùt trieån töø boä vi xöû lí, töø nhöõng naêm 70 do söï phaùt trieån vaø hoaøn thieän veà coâng ngheä vi ñieän töû döïa treân kyõ thuaät MOS (Metal-Oxide-Semiconductor) , möùc ñoä tích hôïp cuûa caùc linh kieän baùn daãn trong moät chip ngaøy caøng cao. Naêm 1971 xuaát hieän boä vi xöû lí 4 bit loaïi TMS1000 do coâng ty texas Instruments vöøa laø nôi phaùt minh vöøa laø nhaø saûn xuaát. Nhìn toång theå thì boä vi xöû lí chæ coù chöùa treân moät chip nhöõng chöùc naêng caàn thieát ñeå xöû lí chöông trình theo moät trình töï, coøn taát caû boä phaän phuï trôï khaùc caàn thieát nhö : boä nhôù döõ lieäu , boä nhôù chöông trình , boä chueån ñoåi AID, khoái ñieàu khieån, khoái hieån thò, ñieàu khieån maùy in, hoái ñoàng hoà vaø lòch laø nhöõng linh kieän naèm ôû beân ngoaøi ñöôïc noái vaøo boä vi xöû lí. Maõi ñeán naêm 1976 coâng ty INTEL (Interlligen-Elictronics). Môùi cho ra ñôøi boä vi ñieàu khieån ñôn chip ñaàu tieân treân theá giôùi vôùi teân goïi 8048. Beân caïnh boä xöû lí trung taâm 8048 coøn chöùa boä nhôù döõ lieäu, boä nhôù chöông trình, boä ñeám vaø phaùt thôøi gian caùc coång vaøo vaø ra Digital treân moät chip. Caùc coâng ty khaùc cuõng laàn löôïc cho ra ñôøi caùc boä vi ñieàu khieån 8bit töông töï nhö 8048 vaø hình thaønh hoï vi ñieàu khieån MCS-48 (Microcontroller-sustem-48). Ñeán naêm 1980 coâng ty INTEL cho ra ñôøi theá heä thöù hai cuûa boä vi ñieàu khieån ñôn chip vôùi teân goïi 8051. Vaø sau ñoù haøng loaït caùc vi ñieàu khieån cuøng loaïi vôùi 8051 ra ñôøi vaø hình thaønh hoï vi ñieàu khieån MCS-51 . Ñeán nay hoï vi ñieàu khieån 8 bit MCS51 ñaõ coù ñeán 250 thaønh vieân vaø haàu heát caùc coâng ty haøng daãn haøng ñaàu theá giôùi cheá taïo. Ñöùng ñaàu laø coâng ty INTEL vaø raát nhieàu coâng ty khaùc nhö : AMD, SIEMENS, PHILIPS, DALLAS, OKI … Ngoaøi ra coøn coù caùc coâng ty khaùc cuõng coù nhöõng hoï vi ñieàu khieån rieâng nhö: Hoï 68HCOS cuûa coâng ty Motorola Hoï ST62 cuûa coâng ty SGS-THOMSON Hoï H8 cuûa coâng ty Hitachi Hoï pic cuaû coâng ty Microchip III.KHAÛO SAÙT BOÄ VI ÑIEÀU KHIEÅN 8051 VAØ 8031: IC vi ñieàu khieån 8051/8031 thuoäc hoï MCS51 coù caùc ñaët ñieåm sau : 4kbyte ROM (ñöôïc laäp trình bôûi nhaø saûn xuaát chæ coù ôû 8051) 128 bit RAM 4port I10 8bit Hai boä ñònh thôøi 16bit Giao tieáp noái tieáp 64KB khoâng gian boä nhôù chöông trình môû roäng 64 KB khoâng gian boä nhôù döõ lieäu môû roäng moät boä xöû lí luaän lí (thao taùc treân caùc bit ñôn) 210 bit ñöôïc ñòa chæ hoùa boä nhaân / chia 4ms TXD* RXD* T1* T2* P0 P1 P2 P3 INT\*1 INT\*0 TIMER2 TIMER1 PORT noái tieàp EA\ RST PSEN ALE Caùc thanh ghi khaùc 128 byte Ram Rom 4K-8051 OK-8031 Timer1 Timer2 Ñieàu khieån ngaét Ñieàu khieån bus CPU Port noái tieáp Caùc port I\O Taïo dao ñoäng 1.Cấu trúc bên trong của 8051 / 8031 : Hình 1 : Sô Ñoà Khoái 8051 / 8031 Phaàn chính cuûa vi ñieàu khieån 8051 / 8031 laø boä xöû lí trung taâm (CPU: central processing unit ) bao goàm : Thanh ghi tích luõy A Thanh ghi tích luõy phuï B, duøng cho pheùp nhaân vaø pheùp chia Ñôn vò logic hoïc (ALU : Arithmetic Logical Unit ) Töø traïng thaùi chöông trình (PSW : Prorgam Status Word) Boán baêng thanh ghi Con troû ngaên xeáp Ngoaøi ra coøn coù boä nhôù chöông trình, boä giaûi maõ leänh, boä ñieàu khieån thôøi gian vaø logic. Ñôn vò xöû lí trung taâm nhaän tröïc tieáp xung töø boä giao ñoäng, ngoaøi ra coøn coù khaû naêng ñöa moät tín hieäu giöõ nhòp töø beân ngoaøi. Chöông trình ñang chaïy coù theå cho döøng laïi nhôø moät khoái ñieàu khieån ngaét ôû beân trong. Caùc nguoàn ngaét coù theå laø : caùc bieán coá ôû beân ngoaøi , söï traøn boä ñeám ñònh thôøi hoaëc cuõng coù theå laø giao dieän noái tieáp. Hai boä ñònh thôøi 16 bit hoaït ñoäng nhö moät boä ñeám. Caùc coång (port0, port1, port2, port3 ). Söû duïng vaøo muïc ñích ñieàu khieån. Ôû coång 3 coù theâm caùc ñöôøng daãn ñieàu khieån duøng ñeå trao ñoåi vôùi moät boä nhôù beân ngoaøi, hoaëc ñeå ñaàu noái giao dieän noái tieáp, cuõng nhö caùc ñöôøng ngaét daãn beân ngoaøi. Giao dieän noái tieáp coù chöùa moät boä truyeàn vaø moät boä nhaän khoâng ñoàng boä, laøm vieäc ñoäc laäp vôùi nhau. Toác ñoä truyeàn qua coång noái tieáp coù theå ñaët trong vaûy roäng vaø ñöôïc aán ñònh baèng moät boä ñònh thôøi. Trong vi ñieàu khieån 8051 / 8031 coù hai thaønh phaàn quan troïng khaùc ñoù laø boä nhôù vaø caùc thanh ghi : Boä nhôù goàm coù boä nhôù Ram vaø boä nhôù Rom (chæ coù ôû 8031) duøng ñeå löu tröõ döõ lieäu vaø maõ leänh. Caùc thanh ghi söû duïng ñeå löu tröõ thoâng tin trong quaù trình xöû lí. Khi CPU laøm vieäc noù laøm thay ñoåi noäi dung cuûa caùc thanh ghi. 18 19 12MHz 40 29 30 31 9 17 16 15 14 13 12 11 10 RD\WR\ T1 T0 INT1 INT0 TXD RXD A15 A14 A13 A12 A11 A10 A9 A8 28 27 26 25 24 23 22 21 8 7 6 5 4 3 2 1 32 33 34 35 36 37 38 39 Po.7 Po.6 Po.5 Po.4 Po.3 Po.2 Po.1 Po.0 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 PSEN\ ALE EA\ RET Vcc 20 Vss 30p 30p XTAL1 XTAL2 2.Chức năng của các chân vi điều khiển Hình 2 : Sô Ñoà Chaân 8051 a.port0 : laø port coù 2 chöùc naêng ôû treân chaân töø 32 ñeán 39 trong caùc thieát keá côõ nhoû ( khoâng duøng boä nhôù môû roäng ) coù hai chöùc naêng nhö caùc ñöôøng IO. Ñoái vôùi caùc thieát keá côõ lôùn ( vôùi boä nhôù môû roäng ) noù ñöôïc keát hôïp keânh giöõ a caùc bus ) b.port1 : port1 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, P1.2 … coù theå duøng cho caùc thieát bò ngoaøi neáu caàn. Port1 khoâng coù chöùc naêng khaùc, vì vaäy chuùng ta chæ ñöôïc duøng trong giao tieáp vôùi caùc thieát bò ngoaøi. c.port2 : port2 laø moät 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. d.Port3 : port3 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ín ñaëc bieät cuûa 8051 / 8031 nhö ôû 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 INTO Ngaét 0 beân ngoaøi P3.3 INT1 Ngaét 1 beân ngoaøi P3.4 TO 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 Baûng : Chöùc naêng cuûa caùc chaân treân port3 e.PSEN (Program 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 bytes 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öø EPROM qua bus 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 (möùc cao). f.ALE (Address Latch Enable ) : tín hieäu ra ALE treân chaân 30 töông hôïp vôùi caùc thieát bò laøm vieäc vôùi caùc xöû lí 8585, 8088, 8086, 8051 duøng ALE moät caùch töông töï cho laøm vieäc giaûi caùc 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ø buùyt thaáp cuûa ñò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 0 duøng ñeå xuaát hoaëc nhaäp döõ lieäu trong nöõa sau chu kyø cuûa boä nhôù. Caùc xung tín hieäu ALE coù toác ñoä baèng 1/6 laàn taàn soá dao ñoäng treân chip vaø coù theå ñöôïc duøng laø nguoàn xung nhòp cho caùc heä thoáng. Neáu xung treân 8051 laø 12MHz thì ALE coù taàn soá 2MHz. Chæ ngoaïi tröø khi thi haønh leänh MOVX, moät xung ALE seõ bò maát. Chaân naøy cuõng ñöôïc laøm ngoõ vaøo cho xung laäp trình cho EPROM trong 8051. g.EA (External Access) : Tín hieäu vaøo EA treân chaân 31 thöôøng ñöôïc maéc leân möùc cao (+5V) hoaëc möùc thaáp (GND). Neáu ôû möùc cao, 8051 thi haønh chöông trình töø ROM noäi trong khoaûng ñòa chæ thaáp (4K). Neáu ôû möùc thaáp, chöông trình chæ ñöôïc thi haønh töø boä nhôù môû roäng. Khi duøng 8031, EA luoân ñöôïc noái möùc thaáp vì khoâng coù boä nhôù chöông trình treân chip. Neáu EA ñöôïc noái möùc thaáp boä nhôù beân trong chöông trình 8051 seõ bò caám vaø chöông trình thi haønh töø EPROM môû roäng. Ngöôøi ta coøn duøng chaân EA laøm chaân caáp ñieän aùp 21V khi laäp trình cho EPROM trong 8051. h.SRT (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 muùc cao (trong ít nhaát 2 chu kyø maùy ), caùc thanh ghi trong 8051 ñöôïc taûi nhöõng giaù trò thích hôïp ñeå khôûi ñoäng heä thoáng. i.Caùc ngoõ vaøo boä dao ñoäng treân chip : Nhö ñaõ thaáy trong caùc hình treân , 8051 coù moät boä dao ñoäng treân chip. Noù thöôøng ñöôïc noái vôùi thaïch anh giöõa hai chaân 18 vaø 19. Caùc tuï giöõa cuõng caàn thieát nhö ñaõ veõ. Taàn soá thaïch anh thoâng thöôøng laø 12MHz. j.Caùc chaân nguoàn : 8051 vaän haønh vôùi nguoàn ñôn +5V. Vcc ñöôïc noái vaøo chaân 40 vaø Vss (GND) ñöôïc noái vaøo chaân 20. 3.Caùc thanh ghi chöùc naêng ñaëc bieät: Caùc thanh ghi noäi cuûa 8051/8031 ñöôïc truy xuaát ngaàm ñònh bôûi boä leänh. Ví duï leänh “INC A” seõ taêng noäi dung cuûa thanh ghi tích luõy A leân 1. Taùc ñoäng naøy ñöôïc ngaàm ñònh trong maõ leänh. 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 Rgister) ôû 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û. 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æ Ý 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) coù coâng duïng keùp. Thoâng thöôøng noù ñöôïc duøng cho caùc leänh toaùn hoïc: noù seõ ñöôïc set neáu coù moät soá nhôù sinh ra bôûi pheùp coäng hoaëc coù moät soá möôïn pheùp tröø . Ví duï, neáu thanh ghi tích luõy chöùa FFH, thì leänh sau: ADD A,#1 Seõ traû veà thanh ghi tích luõy keát quûa 00H vaø set côø nhôù trong PSW. Côø nhôù cuõng coù theå xem nhö moät thanh ghi 1 bit cho caùc leänh luaän lyù thi haønh treân bit. Ví duï, leänh seõ AND bit 25H vôùi côø nhôù vaø ñaët keát quûa trôû vaøo côø nhôù: ANL C,25H 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 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 (ñòa chæ byte IFH) ñeán thanh ghi tích luõy: SETB RS1 SETB RSO MOV A,R7 Khi chöông trình ñöôïc hôïp dòch caùc ñòa chæ bit ñuùng ñöôïc thay theá cho caùc kyù hieäu “RS1” vaø “RS0”. Vaäy leänh SETB RS1 seõ gioáng nhö leänh SETB 0D4H. 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. 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: Con troû ngaên xeáp (SP) laø moät thanh ghi 8 bit ôû ñòa chæ 81H. Noù chöùa ñòa chæ cuûa byte döõ lieäu hieän haønh treân ñænh cuûa ngaên xeáp. Caùc leänh treân ngaên xeáp bao goàm caùc thao taùc caát döõ lieäu vaøo ngaên xeáp vaø laáy döõ lieäu ra khoûi ngaên xeáp. Leänh caát döõ lieäu vaøo ngaên xeáp seõ laøm taêng SP tröôùc khi ghi döõ lieäu, vaø leänh laáy döõ lieäu ra khoûi ngaên xeáp seõ doïc döõ lieäu vaø laøm giaûm SP. Ngaên xeáp cuûa 8051/8031 ñöôïc giöõ trong RAM noäi vaø ñöôïc giôùi haïn caùc ñòa chæ coù theå truy xuaát baèng ñòa chæ giaùn tieáp. chuùng laø 128 byte ñaàu cuûa 8051/8031. Ñeå khôûi ñoäng laïi SP vôùi ngaên xeáp baét ñaàu taïi 60H, caùc leänh sau ñaây ñöôïc duøng: MOV SP,#%FH Treân 8051/8031 ngaên xeáp bò giôùi haïn 32 byte vì ñòa chæ cao nhaát cuûa RAM treân chip laø 7FH. Sôû dó cuøng giaù trò 5FH vì SP seõ taêng leân 60H tröôùc khi caát byte döõ leäu ñaàu tieân. Ngöôøi thieát keá coù theå choïn khoâng phaûi khôûi ñoäng laïi con troû ngaên xeáp maø ñeå noù laáy giaù trò maëc ñònh khi reset heä thoáng. Giaù trò maêc ñònh ñoù laø 07H vaø keát quûa laø ngaên ñaàu tieân ñeå caát döõ lieäu coù ñòa chæ 08H. Neáu phaàn meàm öùng duïng khoâng khôûi ñoäng laïi SP , bank thanh ghi 1 (coù theå caû 2 vaø 3) seõ khoâng duøng ñöôïc vì vuøng RAM naøy ñaõ ñöôïc duøng laøm ngaên xeáp. Ngaên xeáp ñöôïc truy xuaát tröïc tieáp baèng caùc leänh PUSH vaø POP ñeå löu giöõ taïm thôøi vaø laáy laïi döõ lieäu hoaëc ñöôïc truy xuaát ngaàm baèng caùc leänh goïi chöông trình con (ACALL, LACALL) vaø caùc leänh trôû veà (RET,RETI) ñeå caát vaø laáy laïi boä ñeám chöông trình. Con 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) 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. 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. 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 sseõ 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. 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. 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 Ý nghĩa 6 5 4 3 2 1 0 SMOD GF1 GF0 PD IDL Bit gaáp ñoâi toác ñoä baud, neáu ñöôïc set thì toác ñoä baud seõ taêng gaáp ñoâi trong caùc mode 1,2 vaø 3 cuûa 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, ñöôïc set ñeå kích hoaït mode giaûm coâng suaát, chæ thoaù khi reset Mode chôø, set ñeå kích hoaït mode chôø, chæ thoaùt khi coù ngaét hoaëc reset heä thoáng. Baûng :Thanh ghi ñieàu khieån coâng suaát (PCON) 4. 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. Hình 8. 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. 5. Hoaït ñoäng cuûa boä ñònh thôøi (timer) a. Giôùi thieäu. Moät ñònh nghóa ñôn giaûn cuûa timer laø moät chuoãi caùc flip-flop chia ñoâi taàn soá noái tieáp vôùi nhau, chuùng nhaän tín hieäu vaøo laøm nguoàn xung nhòp. Ngoõ ra cuûa taàn soá cuoái laøm nguoàn xung nhòp cho flip-flop baùo traøn cuûa timer (flip-flop côø). Giaù trò nhò phaân trong caùc flip-flop cuûa timer coù theå xem nhö soá ñeám soá xung nhòp (hoaëc caùc söï kieän) töø khi khôûi ñoäng timer. Ví duï timer 16 bit seõ ñeám leân töø 0000H ñeán FFFFH. Côø baùo traøn seõ leân 1 khi soá ñeám traøn töø FFFFH ñeán 0000H. 8051/8031 coù 2 timer 16 bit, moãi timer coù boán caùch laøm vieäc. Ngöôøi ta söû duïng caùc timer ñeå : a) ñònh khoaûng thôøi gian, b) ñeám söï kieän hoaëc c) taïo toác ñoä baud cho port noái tieáp trong 8051/8031. Trong caùc öùng duïng ñònh khoaûng thôøi gian, ngöôøi ta laäp trình timer ôû moät khoaûng ñeàu ñaën vaø ñaët côø traøn timer. Côø ñöôïc duøng ñeå ñoàng boä hoùa chöông trình ñeå thöïc hieän moät taùc ñoäng nhö kieåm tra traïng thaùi cuûa caùc cöûa ngoõ vaøo hoaëc göûi caùc söï kieän ra caùc ngoõ ra. Caùc öùng duïng khaùc coù theå söû duïng vieäc taïo xung nhòp ñeàu ñaën cuûa timer ñeå ño thôøi gian troâi qua giöõa hai söï kieän (ví duï : ño ñoä roäng xung). Ñeám söï kieän duøng ñeå xaùc ñònh soá laàn xaåy ra cuûa moät söï kieän. Moät “söï kieän” laø baát cöù taùc ñoäng ngoaøi naøo coù theå cung caáp moät chuyeån traïng thaùi treân moät chaân cuûa 8051/8031. Caùc timer cuõng coù theå cung caáp xung nhòp toác ñoä baud cho port noái tieáp trong 8051/8031.Truy xuaát timer cuûa 8051/8031 duøng 6 thanh ghi chöùc naêng ñaëc bieät cho trong baûng sau: 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 Baûng : Thanh ghi chöùc naêng ñaëc bieät duøng timer. b. 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 Teân Timer Moâ taû 7 GATE 1 Bit (Môû) coång, khi leân 1 timer chæ chaïy khi INT1 ôû möùc cao. 6 C/T 1 Bit choïn cheá ñoä counter/timer 1=boä ñeám söï kieän 0=boä ñònh khoaûng thôøi gian 5 M1 1 Bit 1 cuûa cheá ñoä(mode) 4 M0 1 Bit 0 cuûa cheá ñoä 00: cheá ñoä 0 : timer 13 bit 01: cheá ñoä 1 : timer 16 bit 10: cheá ñoä 2 : töï ñoäng naïp laïi 8255A bit 11: cheá ñoä 3 : taùch timer 3 GATE 0 Bit (môû) coång 2 C/T 0 Bit choïn counter/timer 1 M1 0 Bit 1 cuûa cheá ñoä 0 M0 0 Bit 0 cuûa cheá ñoä Baûng : Toùm taét thanh ghi TMOD c. 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æ Moâ taû TCON.7 TF1 8FH Côø baùo traøn timer 1. Ñaët bôûi phaàn cöùng khi traøn, ñöôïc xoùa bôûi phaàn meàm hoaëc phaàn cöùng khi boä xöû lyù chæ ñeán chöông trình phuïc vuï ngaét. TCON.6 TR1 8EH Bit ñieàu khieån timer 1 chaïy. Ñaët/xoùabaèng phaàn meàm cho timer 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 TCON.3 IE1 8BH Côø caïnh ngaét 1 beân ngoaøi, ñaëc bôûi TCON.2 IT1 8AH Côø kieåu ngaét moät beân ngoaøi.phaàn cöùng khi phaùt hieän moät caïnh xuoáng ôû INT1, xoùa baèng phaàn meàm hoaëc phaàn cöùng khi CPU chæ ñeán chöông trình phuïc vuï ngaét.Ñaët/xoùa baèng phaàn meàm ñeà ngaét ngoaøi tích cöïc caïnh xuoáng/möùc thaáp TCON.1 IE0 89H Côø caïnh ngaét 0 beân ngoaøi TCON.0 IT0 88H Côø kieåu ngaét 0 beân ngoaøi Baûng : Toùm taét thanh ghi TCON d. Caùc cheá ñoä timer. 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 TFx TLx THx (5 bit) (8 bit) Xung nhòp Côø baùo traøn timer 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 (5 bit) (8 bit) TFx Xung nhòp Timer Côø baùo traøn Cheá ñoä 0- 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. TLx (8 bit) TFx THx (8 bit) Xung nhòp timer Naïp laïi Cờ báo tràn Cheá ñoä 3- cheá ñoä taùch timer Timer 0 taùch thaønh hai timer 8 bit (TL0 vaø TH0), TL0 coù côø baùo traøn laø TF0 vaø TH0 coù côø baùo traøn laø TF1. Timer 1 ngöng ôû cheá ñoä 3, nhöng coù theå ñöôïc khôûi ñoäng baèng caùch chuyeån sang cheá ñoä khaùc. Giôùi haïn duy nhaát laø côø baùo traøn TF1 khoâng coøn bò taùc ñoäng khi timer 1 bò traøn vì noù ñaõ ñöôïc noái tôùi TH0. Khi timer 0 ôû cheá ñoä 3, coù theå cho timer 1 chaïy vaø ngöng baèng caùch chuyeån noù ra ngoaøi vaø vaøo cheá ñoä 3. Noù vaãn coù theå ñöôïc söû duïng bôûi port noái tieáp nhö boä taïo toác ñoä baund hoaëc noù coù theå ñöôïc söû duïng baèng baát cöù caùch naøo khoâng caàn ngaét (vì noù khoâng coøn ñöôïc noái vôùi TF1). Xung nhòp Timer Xung nhòp Timer TL1 TH1 TL0 TF0 TH0 TF1 I/12 Fosc Côø baùo traøn e.Nguoàn taïo xung nhòp. Coù hai nguoàn taïo xung nhòp coù theå coù, ñöôï 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. On chip Osillator ¸12 Crytal Timer Clock T0 or T1 pin 0=Up (Internal Timing) 1=Down (Event Counting) Nguoàn xung taïo 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. Boùa traøn timer xaûy ra sau moät soá (coá ñòng) 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 chuù7c naêng cuûa caùc chaân port 3. 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 timer 1. f.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. TRx Xung nhòp Timer Caùc thanh ghi timer 0=leân : timer döøng 1=xuoáng : timer chaïy cho chaïy vaø döøng timer Vì TRx ôû trong thanh ghi TCON coù ñòa chæ bit, neân deã daøng cho vieäc ñieàu khieån caùc timer trong chöông trình. Ví duï : cho timer 0 chaïy baèng leänh : SETB TR0 vaø döøng baèng leänh SETB TR0 Trình bieân dòch seõ thöïc hieän vieäc chuyeån ñoåi kyù hieäu caàn thieát töø “TR0” sang ñòa chæ bit ñuùng. SETB TR0 chính xaùc gioáng nhö SETB 8CH. g.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ïyy 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. Nhôù laïi laø caùc timer ñeám leân vaø ñaët côø baùo traøn khi coù söï truyeån tieáp. FFFFH sang 0000H. - Ñoïc timer ñang chaïy. Trong moät soá öùng duïng caàn ñoïc giaù trò trong caùc thanh ghi timer ñang chaïy. Vì phaûi ñoïc 2 thanh ghi timer “sai pha” coù theå xaåy ra neáu byte thaáp traøn vaøo byte cao giöõa hai laàn ñoïc. Giaù trò coù theå ñoïc ñöôïc khoâng ñuùng. Giaûi phaùp laø ñoïc byte cao tröôùc, keá ñoù ñoïc byte thaáp roài ñoïc byte cao laïi moät laàn nöõa. Neáu byte cao ñaõ thay ñoåi thì laäp laïi caùc hoaït ñoäng ñoïc. h. Caùc khoaûng ngaén vaø caùc khoaûng daøi. Daõy caùc khoaûng thôøi gian coù theå ñònh thôøi laø bao nhieâu ? vaán ñeà naøy ñöôïc khaûo saùt vôùi 8051/8031 hoaït ñoäng vôùi taàn soá 12MHz. nhö vaäy xung nhòp cuûa caùc timer coù taàn soá laù 1 MHz. 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 - Timer 8 bit vôùi 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 Caùc kyõ thuaät ñeå laäp trình caùc khoaûng thôøi gian (FOSC=12 MHz) 6. Hoaït ñoäng port noái tieáp. a.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 vaø RXD. Caùc chaân naøy coù caùc chöùc naêng khaùc vôùi hai bit cuûa port 3. P3 ôû chaân 11 (TXD) vaø P3.0 ôû chaân 10 (RXD). Port noái tieáp cho hoaït ñoäng song coâng (full duplex : thu vaø phaùt ñoàng thôøi) vaø ñeäm luùc thu (receiver buffering) cho pheùp moät kyù töï seõ ñöôïc thu vaø ñöôïc giöõ trong khi kyù töï thöù hai ñöôïc nhaän. Neáu CPU ñoïc kyù töï thöù nhaát tröôùc khi kyù töï thöù hai ñöôïc thu ñaày ñuû thì döõ lieäu seõ khoâng bò maát. 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 vaø SCON. Boä ñeám port noái tieáp (SBUF) ôû ñaïi chæ 99H thaät sự laø hai boä ñeám. Vieát vaøo SBUF ñeå truy xuaát döõ lieäu thu ñöôïc. Ñaây laø hai thanh ghi rieâng bieät thanh ghi chæ ghi ñeå phaùt vaø thanh ghi ñeå thu. TXD (P3.1) RXD (P3.0) SUBF (Chæ ghi) Thanh ghi dòch SBUF (chæ ñoïc) BUS noäi 8051/8031 SBUF (chæ ñoïc) CLK Q D CLK Xung nhòp toác Xung nhòp toác Ñoä baud (thu) Ñoä baud (thu) Hình 9. Sô ñoà port noái tieáp. 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. b. 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 Bit 2 cuûa cheá ñoä 2 noái tieáp. cho pheùp trueàn thoâng ñaõ xöû lyù trong caùc cheá ñoä 2 vaø 3 ;RI seõ khoâng bò taùc ñoäng neáu bit thöù 9 thu ñöôïc laø 0 SCON.4 REN 9CH Cho pheùp boä thu phaûi ñaët leân 1 ñeå thu (nhaän) caùc kyù töï SCON.3 TB8 9BH Bit 8 phaùt, bit thöù 9 ñöôïc phaùt caùc cheá ñoä 2 vaø 3; ñöôïc ñaët vaø xoùa baèng phaàn meàm SCON.2 RB8 9AH Bit 8 thu, bit thöù 9 thu ñöôïc SCON.1 TI 99H Côø ngaét phaùt. Ñaët leân 1 khi keát thuùc phaùt kyù töï; ñöôïc xoùa phaàn meàm SCON.0 RI 98H Côø ngaét thu. Ñaët leân 1 khi keát thuùc thu kyù töï; ñöôïc xoùa baèng phaàn meàm Baûng :Toùm taét thanh ghi cheá ñoä port noái tieáp SCON. 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. c.Khôûi ñoäng vaø truy xuaát caùc thanh ghi coång noái tieáp. 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). 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 ôû RBS. 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ù). 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. 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. d . Toác ñoä baud 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. ¸12 ¸64 ¸32 Dao ñoäng Xung nhòp treân chip toác ñoä baud a. Cheá ñoä 0 Dao ñoäng SMOD=0 Xung nhòp treân chip toác ñoä baud SMOD=1 Cheá ñoä 2 ¸32 ¸16 Dao ñoäng Xung nhòp treân chip SMOD=0 toác ñoä baud SMOD=1 c. Cheá ñoä 1 vaø 3. Hình10. Caùc nguoàn taïo xung nhòp cho port noái tieáp. 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. CHƯƠNG 2 ÑO NHIEÄT ÑOÄ I.HỆ THỐNG ĐO LƯỜNG 1. Giôùi thieäu Ñeå thöïc hieän pheùp ño cuûa moät ñaïi löôïng naøo ñoù thì tuyø thuoäc vaøo ñaëc tính cuûa ñaïi löôïng caàn ño,ñieàu kieän ño,cuõng nhö ñoä chính xaùc theo yeâu caàu cuûa moät pheùp ño maø ta coù theå thöïc hieän ño baèng nhieàu caùch khaùc nhau treân cô sôõ cuûa caùc heä thoáng ño löôøng khaùc nhau. Sô ñoà khoái cuûa moät heä thoáng ño löôøng toång quaùt Chuyeån ñoåi Maïch ño Chæ thò _ Khoái chuyeån ñoåi: laøm nhieäm vuï nhaän tröïc tieáp caùc ñaïi löôïng vaät lyù ñaëc tröng cho ñoái töôïng caàn ño bieán ñoåi caùc ñaïi löôïng thaønh caùc ñaïi löôïng vaät lyù thoáng nhaát(doøng ñieän hay ñieän aùp) ñeå thuaän lôïi cho vieäc tính toaùn. _ Maïch ño: coù nhieäm vuï tính toaùn bieán ñoåi tín hieäu nhaän ñöôïc töø boä chuyeån ñoåi sao cho phuø hôïp vôùi yeâu caàu theå hieän keát quaû ño cuûa boä chæ thò. _ Khoái chæ thò:laøm nhieäm vuï bieán ñoåi tín hieäu ñieän nhaän ñöôïc töø maïch ño ñeå theå hieän keát quaû ño. 2. Heä thoáng ño löôøng soá Heä thoáng ño löôøng soá ñöôïc nhoùm aùp duïng ñeå thöïc hieän luaän vaên naày vì coù caùc öu ñieåm:caùc tín hieäu töông töï qua bieán ñoåi thaønh caùc tín hieäu soá coù caùc xung roû raøng ôû traïng thaùi 0,1 seõ giôùi haïn ñöôïc nhieàu möùc tín hieäu gaây sai soá .Maët khaùc ,heä thoáng naøy töông thích vôùi döõ lieäu cuûa maùy tính,qua giao tieáp vôùi maùy tính öùng duïng roäng raõi trong kyõ thuaät. Sô ñoà khoái Ñaïi löôïng ño Ñaïi löôïng ño Ñieàu khieån choïn keânh Hieånthò Söû duïng keát quaû Caûm bieán Cheá bieán Tín hieäu ño Doàn keânh töông töï ADC Cheá bieán Tín hieäu ño Caûm bieán Vi xöû lyù Chöông trình Hình13. Sô ñoà khoái cuûa heä thoáng ño löôøng soá b. Nguyeân lyù hoaït ñoäng Ñoái töôïng caàn ño laø ñaïi löôïng vaät lyù,döïa vaøo caùc ñaëc tính cuûa ñoái töôïng caàn ño maø ta choïn moät loaïi caûm bieán phuø hôïp ñeå bieán ñoåi thoâng soá ñaïi löôïng vaät lyù caàn ño thaønh ñaïi löôïng ñieän ,ñöa vaøo maïch cheá bieán tín hieäu(goàm:boä caûm bieán,heä thoáng khueách ñaïi,xöû lyù tín hieäu). Boä chuyeån ñoåi tín hieäu sang soá ADC(Analog Digital Converter) laøm nhieäm vuï chuyeån ñoåi tín hieäu töông töï sang tín hieäu soá vaø keát noái vôùi vi xöû lyù. Boä vi xöû lyù coù nhieäm vuï thöïc hieän nhöõng pheùp tính vaø xuaát ra nhöõng leänh treân cô sôû trình töï nhöõng leänh chaáp haønh ñaõ thöïc hieän tröôùc ñoù. Boä doàn keânh töông töï (multiplexers) vaø boä chuyeån ADC ñöôïc duøng chung taát caû caùc keânh. Döõ lieäu nhaäp vaøo vi xöû lyù seõ coù tín hieäu choïn ñuùng keânh caàn xöû lyù ñeå ñöa vaøo boä chuyeån ñoåi ADC vaø ñoïc ñuùng giaù trò ñaëc tröng cuûa noù qua tính toaùn ñeå coù keát quaû cuûa ñaïi löôïng caàn ño. II. CÁC PHƯƠNG PHÁP ĐO NHIỆT ĐỘ Ño nhieät ñoä laø moät phöông thöùc ño löôøng khoâng ñieän, ño nhieät ñoä ñöôïc chia thaønh nhieàu daõi: + Ño nhieät ñoä thaáp + Ño nhieät ñoä trung bình + Ño nhieät ñoä cao. Vieäc ño nhieät ñoä ñöôïc tieán haønh nhôø caùc duïng cuï hoå trôï chuyeân bieät nhö: + Caëp nhieät ñieän + Nhieät keá ñieän keá kim loaïi + Nhieät ñieän trôû kim loaïi + Nhieät ñieän trôû baùn daãn + Caûm bieán thaïch anh. Vieäc söû duïng caùc IC caûm bieán nhieät ñeå ño nhieät ñoä laø moät phöông phaùp thoâng duïng ñöôïc nhoùm söû duïng trong taäp luaän vaên naøy, neân ôû ñaây chæ giôùi thieäu veà IC caûm bieán nhieät. Nguyeân lyù hoaït ñoäng chung cuûa IC ño nhieät ñoä IC ño nhieät ñoä laø moät maïch tích hôïp nhaän tín hieäu nhieät ñoä chuyeån thaønh tín hieäu ñieän döôùi daïng doøng ñieän hay ñieän aùp. Döïa vaøo ñaëc tính raát nhaïy cuûa caùc baùn daãn vôùi nhieät ñoä, taïo ra ñieän aùp hoaëc doøng ñieän, tæ leä thuaän vôùi nhieät ñoä tuyeät ñoái. Ño tín hieäu ñieän ta bieát ñöôïc giaù trò cuûa nhieät ñoä caàn ño. Söï taùc ñoäng cuûa nhieät ñoä taïo ra ñieän tích töï do vaø caùc loå troáng trong chaát baùn daãn. Baèng söï phaù vôõ caùc phaân töû, böùt caùc electron thaønh daïng töï do di chuyeån qua vuøng caáu truùc maïng tinh theå taïo söï xuaát hieän caùc loã troáng. Laøm cho tæ leä ñieän töû töï do vaø loå troáng taêng leân theo qui luaät haøm muõ vôùi nhieät ñoä . Ñaëc tính cuûa moät soá IC ño nhieät ñoä thoâng duïng +AÏD590 Ngoõ ra laø doøng ñieän. Ñoä nhaïy 1A/0K. Ñoä chính xaùc +40C. Nguoàn cung caáp Vcc = 4 – 30V. Phaïm vi söû duïng –55oc ñeán 150oc + LX5700 Ngoõ ra laø ñieän aùp. Ñoä nhaïy –10mv/0K. Phaïm vi söû duïng –550C – 1500C. + LM135,LM335 Ngoõ ra laø ñieän aùp. Ñoä nhaïy 10mv/0C. Sai soá cöïc ñaïi 1,50C khi nhieät ñoä lôùn hôn 1000C. Phaïm vi söû duïng –550C – 1500C. CHƯƠNG 3 CHUYEÅN ÑOÅI TÖÔNG TÖÏ – SOÁ I KHAÙI NIEÄM CHUNG Ngaøy nay vieäc truyeàn ñaït tín hieäy cuõng nhö quaù trình ñieàu khieån vaø chæ thò phaàn lôùn ñöôïc thöïc hieän theo phöông phaùp soá. Trong khi ñoù tín hieäu töï nhieân coù daïng töông töï nhö: nhieät ñoä, aùp suaát, cöôøng ñoä aùnh saùng, toác ñoä quay, tín hieäu aâm thanh… Ñeå keát noái giöõa nguoàn tín hieäu töôïng töï vôùi caùc heä thoáng xöû lyù soá ngöôøi ta duøng caùc maïch chuyeån ñoåi töông töï sang soá(ADC) nhaèm bieán ñoåi tín hieäu töông töï sang soá hoaëc trong tröøông hôïp ngöôïc laïi caàn bieán ñoåi tín hieäu soá sang töông töï thi duøng caùc maïch DAC (Digital Analog Converter). II.GIỚI THIỆU VỀ IC ADC 0809 Boä ADC 0809 laø moät thieát bò CMOS tích hôïp vôùi moät boä chuyeån ñoåi töø töông töï sang soá 8 bit, boä choïn 8 keânh vaø moät boâ logic ñieàu khieån töông thích. Boä chuyeån ñoåi AD 8 bit naøy duøng phöông phaùp chuyeån ñoåi xaáp xæ tieáp. Boä choïn keânh coù theå truy xuaát baát keành naøo trong caùc ngoõ vaøo töông töï moät caùnh ñoäc laäp. Thieát bò naøy loaïi tröø khaû naêng caàn thieát ñieàu chænh ñieåm 0 beân ngoaøi vaø khaû naêng ñieàu chænh tæ soá laøm troøn ADC 0809 deã daøng giao tieáp vôùi caùc boä vi xöû lyù. * Sô ñoà chaân ADC 0809: ADC0809 28 15 1 14 IN2 IN1 IN0 A B C ALE 2-1 2-2 2-3 2-4 2-8 REF 2-6 START IN3 IN4 IN5 IN6 IN7 EOC 2-5 OE CLK VCC REF GND 2-7 * YÙ nghóa caùc chaân: . IN0 ñeán IN7 : 8 ngoõ vaøo töông töï. . A, B, C : giaûi maõ choïn moät trong 8 ngoõ vaøo . Z-1 ñeán Z-8 : ngoõ ra song song 8 bit . ALE : cho pheùp choát ñòa chæ . START : xung baét ñaàu chuyeån ñoåi . CLK : xung ñoàng hoà . REF (+) : ñieän theá tham chieáu (+) . REF (-) : ñieän theá tham chieáu (-) . VCC : nguoàn cung caáp * Caùc ñaëc ñieåm cuûaADC 0809: . Ñoä phaân giaûi 8 bit . Toång sai soá chöa chænh ñònh ± ½ LSB; ± 1 LSB . Thôøi gian chuyeån ñoåi: 100ms ôû taàn soá 640 kHz . Nguoàn cung caáp + 5V . Ñieän aùp ngoõ vaøo 0 – 5V . Taàn soá xung clock 10kHz – 1280 kHz . Nhieät ñoä hoaït ñoäng - 40oC ñeán 85oC . Deã daøng giao tieáp vôùi vi xöû lyù hoaëc duøng rieâng . Khoâng caàn ñieàu chænh zero hoaëc ñaày thang * Nguyeân lyù hoaït ñoäng: ADC 0809 coù 8 ngoõ vaøo töông töï, 8 ngoõ ra 8 bit coù theå choïn 1 trong 8 ngoõ vaøo töông töï ñeå chuyeån ñoåi sang soá 8 bit. Caùc ngoõ vaøo ñöôïc choïn baèng caùch giaûi maõ. Choïn 1 trong 8 ngoõ vaøo töông töï ñöôïc thöïc hieän nhôø 3 chaân ADDA , ADDB , ADDC nhö baûng traïng thaùi sau: A B C Ngoõ vaøo ñöôïc choïn 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 Sau khi kích xung start thì boä chuyeån ñoåi baét ñaàu hoaït ñoäng ôû caïnh xuoáng cuûa xung start, ngoõ ra EOC seõ xuoáng möùc thaáp sau khoaûng 8 xung clock (tính töø caïnh xuoáng cuûa xung start). Luùc naøy bit cô troïng soá lôùn nhaát (MSB) ñöôïc ñaët leân möùc 1, taát caû caùc bit coøn laïi ôû möùc 0, ñoàng thôøi taïo ra ñieän theá coù giaù trò Vref/2, ñieän theá naøy ñöôïc so saùnh vôùi ñieän theá vaøo in. + Neáu Vin > Vref/2 thì bit MSB vaãn ôû möùc 1. + Neáu Vin < Vref/2 thì bit MSB vaãn ôû möùc 0. Töông töï nhö vaäy bit keá tieáp MSB ñöôïc ñaët leân 1 vaø taïo ra ñieän theá coù giaù trò Vref/4 vaø cuõng so saùnh vôùi ñieän aùp ngoõ vaøo Vin. Quaù trình cöù tieáp tuïc nhö vaäy cho ñeán khi xaùc ñònh ñöôïc bit cuoái cuøng. Khi ñoù chaân EOC leân möùc 1 baùo cho bieát ñaõ keát thuùc chuyeån ñoåi. Trong suoát quaù trình chuyeån ñoåi chaân OE ñöôïc ñaët ôû möùc 1, muoán ñoïc döõ lieäu ra chaân OE xuoáng möùc 0. Trong suoát quaù trình chuyeån ñoåi neáu coù 1 xung start taùc ñoäng thì ADC seõ ngöng chuyeån ñoåi. Maõ ra N cho moät ngoõ vaøo tuøy yù laø moät soá nguyeân. Trong ñoù Vin : ñieän aùp ngoõ vaøo heä so saùnh. Vref(+): ñieän aùp taïi chaân REF(+). Vref(-): ñieän aùp taïi chaân REF(-). Neáu choïn Vref(-) = 0 thì N = 256. Vref(+) = Vcc = 5V thì ñaày thang laø 256. Giaù trò böôùc nhoû nhaát 1 LSB = = 0,0196 V/byte Vaäy vôùi 256 böôùc Vin = 5V. Aùp vaøo lôùn nhaát cuûa ADC 0809 laø 5V. *Maïch taïo xung clock cho ADC 0809: Vcc 560P 10K IK IK Söû duïng maïch dao ñoäng duøng caùc coång not ñeå taïo dao ñoäng cho ADC nhö sau: Taàn soá dao ñoäng cuûa maïch laø f = Taàn soá dao ñoäng chuaån laø 600 kHz Suy ra 640 = Vôùi R töø 100W ñeán vaøi kW choïn R =1 kW Þ C = 500 PF. CHƯƠNG 4 THIẾT KẾ PHẦN CỨNG I.SƠ ĐỒ KHỐI Heä hoaït ñoäng theo chöông trình ñaõ naïp treân ROM , qua söï ñieàu khieån cuaû MCU 8051 phaàn caûm bieán nhieät ñaët ôû nôi ta muoán ño ,noù seõ ñoï tín hieäu cuûa nhieät ñoä qua möùc ñieän aùp tín hieäu analog ñöôïc chuyeån thaønh tín hieäu soá vaø giao tieáp vôùi heä thoáng qua data bus. Treân cô sôû chöông chình ñöôïc naïp treân ROM vaø tín hieäu nhaän ñöôïc , MCU cho pheùp thieát bò ngoaïi vi hoaït ñoäng nhö : hieån thò giaù trò nhieät ñoä töông öùng ñieàu khieån nhieät ñoä thích hôïp. II .SÔ LÖÔÏC CHÖÙC NAÊNG CAÙC BOÄ PHAÄN _ Vi xöû lyù 8051 laø phaàn töû chính xöû lyù caùc thoâng tin nhaäp vaøo vaø ñöa ra caùc quyeát ñònh ñieàu khieån. _ Phím laø boä phaän giao tieáp ngoaïi vi , cho pheùp nhaäp caùc thoâng soá baèng tay. _ Maïch hieån thò , hieån thò caùc giaù trò ñaët vaø giaù trò ño. _ Maïch caûm bieán duøng ñeå khuyeách ñaò tín hieäu vaø buø nhieät. _ Maïch coâng suaát duøng ñeå ñoùng môû nguoàn coâng suaát. III.SƠ ĐỒ CHI TIẾT CÁC KHỐI 1.Thiết kế phím Gồm 3 phím: Phím tăng Phím giảm Phím chức năng - Phím thoùat Hình 14. Các phím nhấn 2.Khối mạch cảm biến nhieät Tính toaùn vaø caân chænh : LM335 laø caûm bieán nhieät ñoä coù theå hoaït ñoäng ñeán 150oC töông öùng vôùi nhieät ñoä 0oK , LM335 cho ra ñieän aùp 0V . Cöù taêng 1oC ,ñieän aùp ra taêng 10mV.Nhö vaäy vôùi 0oC thì ñieän aùp laø 2.73V. Xeùt maïch khueách ñại tröø : Gọi Vi1 = VOUT 1 laø aùp ngoõ vaøo ñảo của U3 , Vi2 = V OUT2 aùp ngoõ vào khoâng đảo của U3. Aùp duïng phöông phaùp xeáp choàng cho töøng kích thích ngoõ vào ,ngaén maïch ngoõ vaøo coøn laïi ta ñöôïc : Nếu R5 = R6 = R4 = R3 =1 Vo = Vi2 –Vi1 Trong trường hợp này ta chọn R5=R6 và R4=R3 thì Vo được viết lại như sau Suy ra ñieän aùp ngoõ ra seõ thay ñoåi A *10mV khi nhieät ñoä thay ñoåi 1oC .ñoä phaân giaûi caàn laø 0.5oC neân ñieän aùp thay ñoåi khi nhieät ñoä thay ñoåi 1oC,phaûi baèng hai laàn ñoä phaân giaûi cuûa AD0804 : Av *10mV = 2*19.6mV =>Av = 3.92 =>Choïn R5 = 39 K vaø R3 = 10K Caân chænh : Chænh VR1sao cho VI cuûa U3 =2.73 + 0.01* toC Nhöng trong thöïc teá ñeå chính xaùc ,nhuùng LM335 vaøo nöôùc đaù ñang tan (0oC) . Chænh VR2 sao cho V2 cuûa U2 = 2.73V. Thieát keá boä caûm bieán nhieät : Taàm laøm vieäc trong heä thoáng maïch töø 0 ÷150oC. Ñeå ño nhieät ñoä chính xaùc phaûi coù caùc ñaàu ño ñaëc bieät. Ñaàu ño döôùi daïng vi maïch LM335 laø moät ñaàu ño ñôn giaûn vaø chính xaùc vôùi giaù thaønh laïi reû .LM335 coù ñoä bieán thieân ñieän aùp theo nhieät ñoä laø 10mV/ K ,coù moät daõy ñoä chính xaùc khaù cao vaø caûm bieán nhieät toát ôû nhieät ñoä 25oC coù ñoä sai soá nhoû hôn 1oC.vôùi taàm ño töø nhieät ñoä 0 ÷100oC, ngoõ ra cuûa caûm bieán naøy tuyeán tính. Caùc tính chaát cuûa caûm bieán LM335 : Chia ñoä tröïc teáp theo oK Ñoä chính xaùc ban ñaàu laø 1oC Trôû khaùng ñoäng < 1W Taàm nhieät ñoä roäng . Khoaûng ño 150oC Taàm tuyeät ñoái lôùn nhaát : Doøng ngöôïc 15mA Doøng thuaän 10mA Ñieän aùp hoaït ñoäng ngoõ ra ôû ñieàu kieän TC =25oC, IR =1nA töông öùng 2.92 ÷ 3.04V Sai soá nhieät ôû 25oC ôû ñieàu kieän Tmin 1 ÷ 2oC Ñieän aùp ngoõ ra hoaït ñoäng ôû ñieàu kieän 400µA<IR <5mA thì töông öùng töø 3 ÷ 14mV. Theo thoâng soá cuûa nhaø saûn xuaát IC LM335 coù ñoä bieán thieân ñieän aùp nhö sau: Vout VR +5V LM335 0oC (273oK ) aùp ra 2.73V 5oC (278oK ) aùp ra 2.78V 25oC (298oK ) aùp ra 2.98V 50oC (323oK ) aùp ra 32.3V 100oC (373oK ) aùp ra 37.3V Taàm bieán thieân ñieän aùp töông öùng vôùi nhieät ñoä töø 0oC - 100oC laø 1V Ñieän aùp ra töø boä caûm bieán LM335 theo coâng thöùc: Vout = 0,01 x ToK = 2,73 + 0,01ToC. Ta coù: 400mA < IR < 5mA. 400mA < < 5 mA < R < Vì: 2,73V £ Vo £ 3,73 Neân: 254 < R < 5,7 k (1) Maët khaùc, theo thoâng soá cuûa nhaø saûn xuaát ñieän aùp treân LM35 taïi Tc = 25oC, IR = 1mA thì Vo = 2,98 (V), ta coù: 400mA < < 5mA (2) Töø (1) vaø (2): choïn R = 2,2 kW choïn bieán trôû chænh offset VR = 15 kW. 3.S ơ đồ nguyên lí tổng quát CHƯƠNG 5 THIẾT KẾ PHẦN MỀM I. Lưu đồ giải thuật 1.Lưu đồ giải thuật tổng quát: TĂNG to ĐẶT GIẢM to ĐẶT BEGIN Y Y NẠP GIÁ TRỊ ĐẦU CÓ NHẤN MODE Y NHẤN TĂNG NHẤN GIẢM TO >= TO MIN ĐỌC ADC HIỂN THỊ N N N TO < TO MAX Y N N Y 2.Giải thuật chương trình đọc A/D và chương trình đổi số nhị phân ra BCD: 3.Giải thuật xuất led: 5.Giải thuật chương trình tăng giảm: START CÓ NHÁN MODE Tăng 1 đơn vị Giảm 1 đơn vị Gọi Chương Trình Hiển Thị Y Y Nhấn Tăng Nhấn Giảm N N N Y 4.Giải thuật chương trình so sánh và điều khiển: START So sánh nhiệt độ đặt với nhiệt độ hiện tại Cấp nguồn cho phần công suất Thoát II.Chương trình phần mềm : $MOD51 CS BIT P3.0 RDD BIT P3.1 WRITE BIT P3.2 INTR BIT P3.3 RELAY1 BIT P3.7 RELAY2 BIT P3.6 ORG 00H MOV 60H,#20 MOV 61H,#25 MAIN: MOV DPTR,#SO CLR CS CLR RDD DOCNHIETDO: JNB P2.7,HIEUCHINH1 CLR C LCALL DELAYSCAN MOV A,P1 CJNE A,60H,$+3 JC X1 CJNE A,61H,$+3 JNC X2 SETB RELAY1 SETB RELAY2 SJMP X3 X1: CLR RELAY1 SJMP X3 X2: CLR RELAY2 X3: LCALL GIAIMABCD SJMP DOCNHIETDO HIEUCHINH1: LCALL CHONGDOI MOV A,60H LCALL GIAIMACHULL LCALL DELAYSCAN JNB P2.6,TANG JNB P2.5,GIAM JNB P2.4,DOCNHIETDO JNB P2.7,HIEUCHINH2 SJMP HIEUCHINH1 TANG: INC 60H SJMP HIEUCHINH1 GIAM: DEC 60H SJMP HIEUCHINH1 HIEUCHINH2: LCALL CHONGDOI MOV A,61H LCALL GIAIMACHUHH LCALL DELAYSCAN JNB P2.6,TANG1 JNB P2.5,GIAM1 JNB P2.4,DOCNHIETDO JNB P2.7,HIEUCHINH2 MOV R0,7AH SJMP HIEUCHINH2 TANG1: INC 61H SJMP HIEUCHINH2 GIAM1: DEC 61H SJMP HIEUCHINH2 ;********************************************************* GIAIMABCD: MOV B,#10 DIV AB MOV 10H,B MOV B,#10 DIV AB MOVC A,@A+DPTR MOV 27H,A MOV A,B MOVC A,@A+DPTR MOV 26H,A MOV A,10H MOVC A,@A+DPTR MOV 25H,A MOV 24H,#86H RET HTHI: MOV P0,24H MOV P2,#1110B LCALL DELAY MOV P2,#0FFH MOV P0,25H MOV P2,#1101B LCALL DELAY MOV P2,#0FFH MOV P0,26H MOV P2,#1011B LCALL DELAY MOV P2,#0FFH MOV P0,27H MOV P2,#0111B LCALL DELAY MOV P2,#0FFH RET DELAY: MOV 32H,#50 DJNZ 32H,$ RET DELAYSCAN: PUSH 00H CLR WRITE SETB WRITE MOV TMOD,#01H MOV R0,#20 DANGTRINH: MOV TH0,#-250H MOV TL0,#-250H SETB TR0 HIEN: LCALL HTHI JNB TF0,HIEN CLR TF0 CLR TR0 DJNZ R0,DANGTRINH POP 00H RET CHONGDOI: MOV R0,#2 DJNZ R0,$ RET ;****************************** GIAIMACHULL: MOV B,#10 DIV AB MOV 10H,B MOV B,#10 DIV AB MOVC A,@A+DPTR MOV 27H,A MOV A,B MOVC A,@A+DPTR MOV 26H,A MOV A,10H MOVC A,@A+DPTR MOV 25H,A MOV 24H,#0C7H RET ;**************************************** GIAIMACHUHH: MOV B,#10 DIV AB MOV 10H,B MOV B,#10 DIV AB MOVC A,@A+DPTR MOV 27H,A MOV A,B MOVC A,@A+DPTR MOV 26H,A MOV A,10H MOVC A,@A+DPTR MOV 25H,A MOV 24H,#49H RET SO: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END MUÏC LUÏC Trang CHƯƠNG 1- GIỚI THIỆU CHUNG VỀ BỘ VI ĐIỀU KHIỂN 5 ___________I. GIỚI THIỆU 5 ___________II. LỊCH SỬ PHÁT TRIỂN CỦA BỘ VI ĐIỀU KHIỂN 5 ___________III.KHẢO SÁT CÁC BỘ VI ĐK 8051 6 CHƯƠNG 2- ĐO NHIỆT ĐỘ 20 ___________I. HỆ THỐNG ĐO LƯỜNG 20 ___________II. CÁC PHƯƠNG PHÁP ĐO NHIỆT ĐỘ 21 CHƯƠNG 3- CHUYỂN ĐỔI TƯƠNG TỰ SỐ 22 ___________I.KHÁI NIỆM CHUNG 22 ___________II.GIỚI THIỆU VỀ IC ADC0809 22 CHƯƠNG 4- THIẾT KẾ PHẦN CỨNG 24 ___________I.SƠ ĐÒ KHỐI 24 ___________II.SƠ LƯỢC CHỨC NĂNG CÁC BỘ PHẬN 25 ___________III.SƠ ĐỒ CHI TIẾT CÁC KHỐI 25 CHƯƠNG 5- THIẾT KẾ PHẦN MỀM 28 ___________1.LƯU ĐỒ GIẢI THUẬT TỔNG QUÁT 28 ___________2.GIẢI THUẬT CHƯƠNG TRÌNH ĐỔI SỐ NHỊ PHÂN RA BCD& 29 ___________3.GIẢI THUẬT XUẤT LED 29 ___________4.GIẢI THUẬT CHƯƠNG TRÌNH SO SÁNH VÀ ĐIỀU KHIỂN 30 ___________5.GIẢI THUẬT CHƯƠNG TRÌNH TĂNG GIẢM 30 PQTRI2002@GMAIL.COM

Các file đính kèm theo tài liệu này:

  • docMach khong che nhiet do dung 8051.doc