Xem mẫu

  1. Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 51 7 VI XÖÛ LYÙ AT89C2051 7.1 GIÔÙI THIEÄU VEÀ AT89C2051 AT89C2051 laø chip thuoäc hoï vi xöû lyù MCS-51 do haõng Atmel saûn xuaát. Chip AT89C2051 coù caùc ñaëc tính kyõ thuaät sau: o 2k flash ROM, 128 byte RAM. o 15 ñöôøng xuaát nhaäp. o 1 port noái tieáp vaø hai boä ñònh thôøi 16 bit. o 6 nguoàn taïo ngaét. o Moät boä so aùp (Voltage Comparator). Ngoaøi ra so vôùi chip AT89C51 (loaïi chip thöôøng duøng phoå bieán hieän nay) thì chip AT89C2051 coù kích thöôùc nhoû goïn hôn (chæ coù 20 chaân), doøng taûi ôû caùc chaân xuaát nhaäp cao (20mA). Coøn veà taäp leänh thì noù hoaøn toaøn gioáng AT89C51, do vaäy caùch vieát chöông trình ta coù theå tham khaûo ôû chip AT89C51 [Saùch hoï vi ñieàu khieån 8051 cuûa Toáng Vaên On vaø Hoaøng Ñöùc Haûi]. AT89C2051 coøn ñöôïc thieát keá coù theå hoaït ñoäng ngay caû khi taàn soá xuoáng tôùi zero vaø noù coøn cung caáp cho hai cheá ñoä choïn mode tieát kieäm naêng löôïng baèng phaàn meàm. ÔÛ cheá ñoä nghæ (IDLE), thì CPU seõ ngöng hoaït ñoäng trong khi GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng
  2. Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 52 cho pheùp RAM, boä ñònh thôøi, coång noái tieáp, ngaét tieáp tuïc hoaït ñoäng. Coøn ôû cheá ñoä nguoàn giaûm (Power Down) thì noäi dung cuûa RAM ñöôïc löu, coøn boä giao ñoäng thì “ñoùng baêng” cho ñeán khi coù moät tín hieäu (möùc cao trong 2 chu kyø maùy) ôû chaân Reset. 7.2 MOÂ TAÛ CAÙC CHAÂN CUÛA AT89C2051 Hình 7.1 Caáu hình chaân ra cuûa chip AT89C2051 o Chaân VCC Chaân cung caáp ñieän. o GND Chaân noái mass. o Port 1 Laø port xuaát nhaäp 8-bit hai chieàu. P1.2-P1.7 thì coù ñieän trôû pull up ôû beân trong, coøn P1.0 vaø P1.1 ñoøi hoûi phaûi coù ñieän trôû pull up khi ñöôïc söû duïng laøm ngoõ xuaát tín hieäu. Coøn khi duøng laøm ngoõ nhaäp thì chuùng laàn löôït trôû thaønh caùc ngoõ vaøo ñaûo vaø khoâng ñaûo cuûa boä so aùp. Port 1 coøn ñöôïc duøng ñeå ñöa maõ laäp trình cho chip cuõng nhö ñoïc noäi dung cuûa chip. o Port 3 Laø port xuaát nhaäp 7-bit hai chieàu ñaõ coù saün ñieän trôû pull up ôû beân trong. P3.6 laø ngoõ ra cuûa boä so aùp, nhöng khoâng theå söû duïng nhö moät chaân xuaát nhaäp bình thöôøng maø phaûi thoâng qua phaàn meàm. Port 3 ngoaøi ñöôïc duøng nhö caùc chaân chöùc naêng (noái tieáp, ngaét) coøn ñöôïc duøng ñeå ñöa caùc tín hieäu ñieàu khieån ñeå laäp trình cho chip. o RST GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng
  3. Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 53 Ngoõ vaøo reset. AT89C2051 seõ bò reset khi chaân naøy ñöôïc ñöa leân möùc cao trong hai chu kyø maùy. o XTAL1 Ngoõ vaøo ñeán maïch khueách ñaïi ñaûo cuûa maïch dao ñoäng vaø ngoõ vaøo ñeán maïch taïo xung clock beân trong chip. o XTAL2 Ngoõ ra töø maïch khueách ñaïi ñaûo cuûa maïch dao ñoäng. 7.3 SÔ ÑOÀ VAØ NGUYEÂN LYÙ NAÏP CHÖÔNG TRÌNH CHO AT89C2051 Trong luaän vaên naøy ñeå thuaän tieän cho vieäc laäp trình cho AT89C2051, chuùng ta caàn laøm moät maïch naïp cho AT89C2051 baèng coång song song thoâng qua 8255 vaø chöông trình naïp ñöôïc vieát baèng Visual Basic. So vôùi caùch laäp trình thoâng thöôøng baèng coång noái tieáp thì caùch laäp trình naøy nhanh hôn nhieàu. 7.3.1 Sô ñoà maïch naïp cho AT89C2051 U2 U1 VB1 13 D0 34 4 12 25 D0 PA0 13 P1.0/AIN0 D1 33 3 12 D1 PA1 14 P1.1/AIN1 D2 32 2 24 D2 PA2 15 P1.2 D3 31 1 11 D3 PA3 16 P1.3 D4 30 40 23 D4 PA4 17 P1.4 D5 29 39 10 D5 PA5 18 P1.5 D6 28 38 22 D6 PA6 19 P1.6 4 D7 27 37 9 D7 PA7 P1.7 XTAL2 D7 21 9 14 2 A0 A0 PC0 3 P3.0/RXD 8 D6 8 15 A1 A1 PC1 P3.1/TXD 20 16 5 7 PC2 6 XTAL1 D5 17 19 PC3 7 P3.2/INT0 /RD 5 13 6 RD PC4 8 P3.3/INT1 1 D4 36 12 /WR WR PC5 9 P3.4/T0 RST/VPP VPP 18 11 5 PC6 11 P3.5/T1 D3 10 17 PC7 P3.7 4 A1 D2 35 18 BASE1 16 RESET PB0 19 A0 PB1 BASE2 3 D1 20 15 PB2 21 AT89C2051 2 D0 6 PB3 22 14 CS PB4 23 /RD PB5 1 /WR 24 PB6 25 PB7 SUB-D 25 8255 Hình 7.2 Sô ñoà nguyeân lyù maïch naïp AT89C2051 baèng coång song song GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng
  4. Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 54 LM7805 GND 1 IN OUT 2 5V 100uF 3 0 0 3 2 V1 VIN VOUT VPP ADJ 15V 10uF R7 Q2 1k 1 0 0 Q2N2906A R1 R8 R6 10uF 1k 1k 1k 0 0 0 R5 Q1 BASE2 BASE1 10k 2N1069 0 Hình 7.3 Sô ñoà nguyeân lyù maïch nguoàn cho maïch naïp 7.3.2 Nguyeân lyù naïp chöông trình cho AT89C2051 Ñeå naïp chöông trình cho chip, tröôùc heát ta caàn phaûi xoùa noäi dung cuûa noù (ñeå toaøn boä noäi dung cuûa noù laø FFh). Beân trong chip coù moät bieán ñeám ñòa chæ cuûa PEROM, bieán naøy ñöôïc reset veà 00h khi coù tín hieäu reset ôû chaân RST vaø taêng leân moät khi coù moät xung döông ñöôïc kích ôû chaân XTAL1. Ñeå laäp trình cho chip AT89C2051 ta laøm theo caùc böôùc sau: 1. Caáp nguoàn cho chaân VCC vaø GND, cho chaân RST vaø chaân XTAL1 xuoáng möùc thaáp. 2. Cho chaân RST vaø chaân P3.2 leân möùc cao. 3. Cung caáp caùc chaân choïn mode leân caùc chaân P3.3, P3.4, P3.5, P3.7 theo baûng 7.1. 4. Ñöa döõ lieäu laäp trình ra Port1 cuûa chip. 5. Cho chaân RST leân möùc aùp laäp trình laø 12V. 6. Caáp moät xung leân chaân P3.2, luùc naøy quaù trình ñöa maõ laäp trình vaøo chíp ñöôïc baét ñaàu, thôøi gian naøy maát khoaûng 1.2 ms. ÔÛ ñaây ta chôø khoaûng 1.25 ms cho an toaøn (khoâng duøng cheá ñoä ñoïc laïi ñeå kieåm tra maø ta seõ kieåm tra sau khi laäp trình). 7. Caáp xung leân chaân XTAL1 ñeå taêng ñòa chi leân vò trí keá tieáp, tieáp tuïc ñöa döõ lieäu laäp trình môùi ra port1. 8. Laëp laïi böôùc 6 cho tôùi khi bieán ñeám ñòa chi PEROM ñeán 2K hoaëc ñeán heát chöông trình caàn naïp. 9. Cho chaân XTAL1 vaø chaân RST xuoáng möùc thaáp. 10. Ta cho ñoïc laïi toaøn boä noäi dung chip vaø so saùnh vôùi döõ lieäu caàn naïp vaø ñöa ra thoâng baùo cho ngöôøi söû duïng bieát keát quaû. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng
  5. Thieát keá, cheá taïo vaø ñieàu khieån tay maùy Trang 55 Baûng 7.1 Baûng caùc mode laäp trình Cheá ñoä RST/VPP P3.2/nPROG P3.3 P3.4 P3.5 P3.7 Ghi maõ 12V L H H H Ñoïc maõ H H L L H H Ghi Bit-1 12V H H H H khoùa Bit-2 12V H H L L Xoùa chip 12V H L L L Ñoïc byte daáu H H L L L L hieäu • Chuù yù: - Leänh xoùa chip yeâu caàu ñoä roäng xung nPROG laø 10ms. - Chaân P3.1 ñöôïc keùo xuoáng thaáp khi döõ lieäu ñöôïc naïp vaøo chip ñeå chæ ra raèng CPU ñang baän. Ta coù theå ñoïc chaân naøy thay cho vieäc chôø 1.25ms. - ÔÛ cheá ñoä ñoïc noäi dung cuûa chip, thì döõ lieäu noäi dung cuûa chip ñöôïc ñoïc ôû port1. 7.4 KEÁT LUAÄN Chöông naøy chuùng ta ñaõ tìm hieåu veà chip vi xöû lyù AT89C2051, laø loaïi chip khaù thoâng duïng, coù kích thöôùc nhoû, thuaän tieän cho vieäc duøng trong caùc öùng duïng maø khoâng ñoøi hoûi phaûi duøng nhieàu chaân (nhö giaûi maõ, phaùt hoàng ngoaïi, giaûi maõ baøn phím, …). Moät trong nhöõng öùng duïng duøng AT89C2051 ñeå ñieàu khieån laø giaûi maõ hieån thò LCD seõ ñöôïc trình baøy trong chöông tieáp theo ñaây. GVHD: TS. NGUYEÃN VAÊN GIAÙP SVTH: Nguyeãn Nhaät Taân-Nguyeãn Leâ Tuøng
nguon tai.lieu . vn