Xem mẫu
- 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
- 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
- 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
- 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
- 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