Professional Documents
Culture Documents
Vi Dieu Khien Trong Khong Che Nhiet Do
Vi Dieu Khien Trong Khong Che Nhiet Do
ÑEÀ TAØI :
Trang 1
Luaân vaên toát nghieäp
Trang 2
Luaân vaên toát nghieäp
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.
Trang 3
Luaân vaên toát nghieäp
NHAÄN XEÙT CUÛA GIAÙO VIEÂN HÖÔÙNG DAÃN
Trang 4
Luaân vaên toát nghieäp
Trang 5
Luaân vaên toát nghieäp
BOÄ GIAÙO DUÏC VAØ ÑAØO TAÏO COÄNG HOØA XAÕ HOÄI CHUÛ
NGHÓA VIEÄT NAM
ÑAÏI HOÏC QUOÁC GIA TP.HCM ÑOÄC LAÄP_ TÖÏ DO _HAÏNH
PHUÙC
TRÖÔØNG ÑAÏI HOÏC SÖ PHAÏM KYÕ THUAÄT
KHOA ÑIEÄN _ÑIEÄN TÖÛ
Hoï vaø teân sinh vieân thöïc hieän : Nguyeãn Hoaøng Vuõ__Nguyeãn Thanh Vuõ
Lôùp : 95 KÑÑ
Ngaønh : ñieän _ñieän töû
Trang 6
Luaân vaên toát nghieäp
MUÏC LUÏC
Trang
TRANG TÖÏA
NHIEÄM VUÏ CUÛA LUAÄN VAÊN
BAÛNG NHAÄN XEÙT CUÛA GIAÙO VIEÂN HÖÔÙNG DAÃN
BAÛNG NHAÄN XEÙT CUÛA GIAÙO VIEÂN PHAÛN BIEÄN
LÔØI NOÙI ÑAÀU
LÔØI CAÛM ÔN
I.GIÔÙI THIEÄU 3
II.LÒCH SÖÛ PHAÙT TRIEÅN CUÛA VI ÑIEÀU KHIEÅN
3
III.KHAÛO SAÙT BOÄ VI ÑIEÀU KHIEÅN 8051/8031
4
Trang 7
Luaân vaên toát nghieäp
I.PHUÏ LUÏC
85
II.TAØI LIEÄU THAM KHAÛO
Trang 8
Luaân vaên toát nghieäp
Chöông 1:DAÃN NHAÄP
Trang 10
Luaân vaên toát nghieäp
Chöông 2
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áh 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 C AÙ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
Trang 11
Luaân vaên toát nghieäp
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 buùyt 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 4s
1.CAÁU TRUÙC BEÂN TRONG CUÛA 8051 / 8031 :
INT\*1
INT\*0
TIMER2
TIMER1
PORT noái
tieàp
Rom T1*
Ñieàu Caùc 128 byte 4K-8051 Timer1
khieån ùthanh ghi Ram OK-8031 Timer2 T2*
ngaét khaùc
CPU
TXD* RXD*
Trang 12
Luaân vaên toát nghieäp
- 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 qu oå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ùc thanh ghi.
2.CHÖÙC NAÊNG CAÙC CHAÂN VI ÑIEÀU KHIEÅN :
Trang 13
Luaân vaên toát nghieäp
40
30p
19 32
Vcc Po.7 AD7
XTAL1 Po.6 33 AD6
12MHz 34
Po.5 AD5
XTAL2 Po.4 35 AD4
18 36
30p Po.3 AD3
Po.2 37 AD2
Po.1 38 AD1
Po.0 39 AD0
29
PSEN\
30
ALE 8
P2.7
31 7
EA\ P2.6
9 6
RET P2.5
5
P2.4
4
P2.3
3
17 P2.2
RD\ 2
16 P2.1
WR\ 1
15 P2.0
T1
T0 14
INT1 13 28 A15
P1.7
INT0 12 27 A14
P1.6
TXD 11 26 A13
P1.5
RXD 10 25 A12
P1.4
24 A11
P1.3
23 A10
P1.2
22 A9
P1.1
21 A8
P1.0
Vss
20
Trang 14
Luaân vaên toát nghieäp
Trang 15
Luaân vaên toát nghieäp
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. V cc ñöôïc noái vaøo chaân 40 vaø V ss
(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ù nhöõng vuøng cho boä
nhôù rieâng bieät cho chöông trình döõ lieäu. Nhö ñaõ noùi ôû treân, 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 64 Kbytes boä nhôù
chöông trình vaø 64 Kbytes 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.
FFFF FFFF
Boä nhôù Boä nhôù
chöông döõ lieäu
trình
FF
ñöôïc choïn ñöôïc choïn
qua PSEN qua WR
Vaø RD
00 0000 0000
Hình 2.3 : Toùm taét caùc vuøng boä nhôù cuûa 8031 / 8051
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 nhö caùc ñòa chæ boä nhôù khaùc.
- Ngaên xeáp baân trong RAM noäi nhoû hôn so vôùi RAM ngoaøi nhö trong
caùc boä vi xöû lí khaùc.
Chi tieát veà boä nhôù RAM treân chip :
Nhö ta ñaõ thaáy treân hình sau, RAM beân 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).
a. RAM ña duïng.
Ñòa chæ byte Ñòa chæ bit
7F
RAM ña duïng
30
2F
7F 7E 7D 7C 7B 7A 79 78
Trang 16
Luaân vaên toát nghieäp
2E 77 76 75 74 73 72 71 70
2D 6F 6E 6D 6C 6B 6A 69 68
2C
67 66 65 64 63 62 61 60
2B
2A 5F 5E 5D 5C 5B 5A 59 58
29 57 56 55 54 53 52 51 50
28 4F 4E 4D 4C 4B 4A 49 48
27 47 46 45 44 43 42 41 40
26 3F 3E 3D 3C 3B 3A 39 38
25 37 36 35 34 33 32 31 30
24 2F 2E 2D 2C 2B 2A 29 28
23 27 26 25 24 23 22 21 20
22 1F 1E 1D 1C 1B 1A 19 18
21 17 16 15 14 13 12 11 10
20 0F 0E 0D 0C 0B 0A 09 08
1F 07 06 05 04 03 02 01 00
18
17 BANK 3
10 BANK 2
0F
08 BANK 1
07 Default register
00 Bank for ROR7
Baûng toùm taét baûn baûn ñoà vuøng nhôù treân chip data 8051
E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC
D0 D7 D6 D5 D4 D3 D2 D1 D0 PSW
B8 - - - BC BB BA B9 B8 IP
B0 B7 B6 B5 B4 B3 B2 B1 B0 P3
A8 AF - - AC AB AA A9 A8 IE
Trang 17
Luaân vaên toát nghieäp
A0 A7 A6 A5 A4 A3 A2 A1 A0 P2
SBUF
Not bit addressable
99
98 9F 9E 9D 9C 9B 9A 99 98 SCON
90 97 96 95 94 93 92 91 90 P1
8D TH1
Not bit addressable
8C TH0
Not bit addressable
8B Not bit addressable
8A TL1
Not bit addressable TL0
89 Not bit addressable TMOD
88 8F 8E 8D 8C 8B 8A 89 88 TCON
87 Not bit addressable PCON
Trang 18
Luaân vaên toát nghieäp
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.
c.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).
4./ 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û.
Trang 19
Luaân vaên toát nghieäp
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:
Trang 21
Luaân vaên toát nghieäp
ñeå di chuyeån döõ lieäu trong A (55H) ñeán RAM ngoaøi ôû ñòa chæ ñöôïc chöùa
trong DPTR (1000H)
e. 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.
f. 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.
g. 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.
h. 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.
i. 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:
Trang 22
Luaân vaên toát nghieäp
8051/8031 coù khaû naêng môû roäng boä nhôù ñeán 64K boä nhôù chöông
trình vaø 64K boä nhôù döõ lieäu beân ngoaøi. Do ñoù coù theå duøng theâm ROM
vaø RAM neáu caàn.
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:
Port 0 D0-D7
EA D Q A0-A7
8051 74HC373
ALE G EPROM
Port 2 A8-A15
PSEN OE
S1 S2 S3 S4 S5 S6 S1
P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2
O SC
A LE
PSEN
P o rt 2 PC H PC H
P o rt 1
PC L Trang O23
pcode PC L
Luaân vaên toát nghieäp
Hình 2.6: Giaûn ñoà thôøi gian ñoïc boä nhôù chöông trình ngoaøi.
Port 0
D0-D7
8051 RAM
74HC373
EA O D
ALE A0-A7
G
Port 2 A8-A15
RD
WR
OE
Hình 2.7: Giao tieáp giöõa 8051/8031 vaø RAM
WE
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:
M o ät c h u k y ø m a ùy M o ät c h u k y ø m a ùy
S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6
A LE
PSEN
R D
P o rt 2 PC H D PH
P o rt 0
PC L O pcode D PL D A TA
Trang 24
Luaân vaên toát nghieäp
Hình 2.8: 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).
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.
+5V
+5V
100 10U F
8 ,2 K
Baûng 2.3: 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.
7. Hoaït ñoäng cuûa boä ñònh thôøi (timer)
7.1 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
Trang 25
Luaân vaên toát nghieäp
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 Ñòa chæ hoùa töøng bit
CHÆ
TCON Ñieàu khieån timer 88H Coù
TMOD Cheá ñoä timer 89H Khoâng
TL0 Byte thaáp cuûa timer 8AH Khoâng
TL1 0 8BH Khoâng
TH0 Byte thaáp cuûa timer 8CH Khoâng
TH1 1 8DH Khoâng
Byte cao cuûa timer 0
Byte cao cuûa timer 1
Baûng 2.4: Thanh ghi chöùc naêng ñaëc bieät duøng timer.
7.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.
Trang 26
Luaân vaên toát nghieäp
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ä
Trang 27
Luaân vaên toát nghieäp
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 TFx
(8 bit)
Xung nhòp
timer
Côû baùo traøn
Naïp laïi
THx
(8 bit)
Xung nhòp
Timer
TL0 TF0
Xung nhòp
Trang 28
TH0 TF1
Luaân vaên toát nghieäp
Timer
I/12 Fosc
On chip
Crytal Osillator
12 Timer
Clock
T0 or T1
pin
Xung nhòp
Timer Caùc thanh ghi timer
Trang 29
TRx
Luaân vaên toát nghieäp
Trang 30
Luaân vaên toát nghieäp
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)
8. Hoaït ñoäng port noái tieáp.
8.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 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)
CLK SUBF
(Chæ ghi) Q D Thanh ghi dòch
CLK
Xung nhòp toác
Ñoä baud (thu) SBUF
Xung nhòp toác (chæ ñoïc)
Ñoä baud (thu)
SBUF
(chæ ñoïc)
Trang 31
Luaân vaên toát nghieäp
Baûng 2.7:Toùm taét thanh ghi cheá ñoä port noái tieáp SCON.
Trang 32
Luaân vaên toát nghieäp
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.
8.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 ôû 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ù).
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.
8.4 . 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.
a. Cheá ñoä 0
64
SMOD=0
Dao ñoäng Xung nhòp
treân chip toác ñoä baud
SMOD=1
32
Trang 33
Luaân vaên toát nghieäp
b. Cheá ñoä 2
32
SMOD=0
Dao ñoäng Xung nhòp
treân chip toác ñoä baud
SMOD=1
16
16
c. Cheá ñoä 1 vaø 3.
Hình 2.10. 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.
9. Hoaït ñoäng ngaét.
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).
9.1 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.
Trang 34
Luaân vaên toát nghieäp
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 EA AFH Cho pheùp hoaëc caám toaøn boä
IE.6 EA AEH Khoâng ñöôïc ñònh nghóa
IE.5 ET5 ADH Cho pheùp ngaét töø timer 2 (8052)
IE.4 E5 ACH Cho pheùp ngaét Port noái tieáp
IE.3 ET1 ABH Cho pheùp ngaét töø timer 1
IE.2 EX1 AAH Cho pheùp ngaét ngoaøi 1
IE.1 ET0 A9H Cho pheùp ngaét töø timer 0
IE.0 EX0 A8H Cho pheùp ngaét ngoaøi 0
Bit Kyù hieäu Ñòa chæ bit Moâ taû (1=möùc cao hôn,0=möùc
thaáp)
IP.7 Khoâng ñöôïc ñònh nghóa
IP.6 Khoâng ñöôïc ñònh nghóa
IP.5 PT2 BDH Öu tieân cho ngaét töø timer 2
IP.4 PS BCH (8052)
IP.3 PT1 BBH Öu tieân cho ngaét Port noái tieáp
IP.2 PX1 BAH Öu tieân cho ngaét töø timer 1
IP.1 PT0 B9H Öu tieân cho ngaét ngoaøi
IP.0 PX0 B8H Öu tieân cho ngaét töø timer 0
Öu tieân cho ngaét ngoaøi 0
Trang 35
Luaân vaên toát nghieäp
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:
Trang 36
Luaân vaên toát nghieäp
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 IEÙ 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.
10. 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.
10.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. Muoán
choïn bank thanh ghi naøo ta chæ caàn gaùn caùc bit nhò phaân thích hôïp vaøo RSI
(PSW.4) vaø RS0(PSW.3) trong thanh ghi traïng thaùi chöông trình (PSW).
M a õ l e än h n n n
Ñòa chæ thanh ghi.
Ngoaøi ra, moät soá thanh ghi ñaëc bieät nhö thanh ghi tích luõy, con troû döõ
lieäu.. cuõng ñöôïc xaùc ñònh trong caùc leänh neân khoâng caàn caùc bit ñòa chæ.
Trong caùc leänh naøy thanh ghi tích luõy ñöôïc xaùc ñònh laø “A”, con troû döõ lieäu
laø “DPTR”, thanh ghi ñeám chöông trình laø “PC”, côø nhôù laø “C”, caëp thanh ghi
tích luõy B laø “AB”.
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.
M a õ l e än h Ñ òa c h æ t r ö ïc t i e áp
Trang 37
Luaân vaên toát nghieä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.
M a õ l e än h i
Ñò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... Tröôøng hôïp
dòch seõ töï ñoäng tính toaùn vaø thay theá döõ lieäu tröïc tieáp vaøo maõ leänh.
M a õ l e än h D ö l i e äu t ö ùc t h ô øi
M a õ l e än h O f f s e t t ö ô n g ñ o ái
xaùc ñònh trang maõ xaùc ñònh ñòa cchæ trong trang maõ
A 1 0 -A 8 M aõ O f f s e t t ö ô n g ñ o ái
Ñòa chæ tuyeät ñoái.
Trang 38
Luaân vaên toát nghieäp
Kbyte. Tuy nhieân, leänh naøy chieám nhieàu byte vaø leä thuoäc vaøo vò trí vuøng
nhôù.
M a õ l e än h A 1 5 -A 8 A 7 -A 0
Trang 39
Luaân vaên toát nghieäp
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.
Trang 40
Luaân vaên toát nghieäp
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 moät döõ lieäu tröïc
tieáp.
MOV data,Rn (2,2): Chuyeån noäi dung thanh ghi Rn vaøo moät döõ lieäu tröïc
tieáp.
MOV data,data (3,2): Chuyeån moät döõ lieäu tröïc tieáp vaøo moät döõ lieäu
tröïc tieáp.
MOV data,@Ri (2,2): Chuyeån moät döõ lieäu giaùn tieáp vaøo moät döõ lieäu
giaùn tieáp.
MOV data,#data (3,2): Chuyeån moät döõ lieäu töùc thôøi vaøo moät döõ lieäu
tröïc tieáp.
MOV @Ri,A (1,1): Chuyeån noäi dung thanh ghi A vaøo moät 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 moät 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ù6 (3,2): Chuyeån moät haèng 16 bit vaøo thanh ghi con troû döõ
lieäu.
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 thanh ghi
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 beân ngoaøi (16 bit ñòa
chæ).
Trang 41
Luaân vaên toát nghieäp
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.
RET1 (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.
Trang 42
Luaân vaên toát nghieäp
Chöông 3 : KHAÛO SAÙT VI MAÏCH GIAO TIEÁP NGOAÏI
VI 8255.
Sô ñoà chaân
8255A
P IN O U T S ( P D IP )
T O P V IE W
Sô ñoà Logic
P A3 1 40 PA4
PA2 2 39 PA5
PA1 3 38 PA6
PA0 4 37 PA7
P A 7 -P A 0
R D \ 5 36 W R \ D 0 -D 7
C S\ 6 35 R ESET
G N D 7 34 D O
A1 8 33 D 1 P C 7 -P C 4
A0 9 32 D 2 R D \
PC 7 10
8255A 31 D 3
PC 6 11 30 D 4
W R \
PC 5 12 29 D 5 P C 3 -P C 0
R ESET
PC 4 13 28 D 6
A 0
PC 0 14 27 D 7
15 26 VC C P B 7 -P B 0
PC 1 A 1
PC 2 16 25 PB7
PC 3
C S\
17 24 PC 6
PB0 18 23 PC 5
PB1 19 22 PC 4
PB2 20 21 PC 3
Hình 3.1: Sô ñoà chaân vaø sô ñoà logic 8255A.
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 D 7-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
Trang 43
Luaân vaên toát nghieäp
ñöôø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.
Trang 44
Luaân vaên toát nghieäp
Caáu truùc töø ñieàu khieån cuûa 8255A.
D7 D6 D5 D4 D3 D2 D1 D0
GROUP B
PORT C(LOWER)
1=INPUT
0=OUTPUT
PORT B
1=INPUT
0=OUTPUT
MODE SELECTION
1=MODE 1
0=MODE 0
GROUP A
PORT C(UPPER)
1=INPUT
0=OUTPUT
PORT A
1=INPUT
0=OUTPUT
MODE SELECTION
00=MODE 0
01=MODE 1
1X=MODE 2
Trang 45
Luaân vaên toát nghieäp
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æ A 0 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 00
0 0 0 0 0 0 1 1 03
8255II 0 0 0 0 0 1 0 0 04
0 0 0 0 0 1 1 1 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.
Trang 46
Luaân vaên toát nghieäp
- Kieåu boä nhôù chæ söû duïng trong caùc heä thoáng nhoû ñôn giaûn.
A O 0
B O 1
D A TA
+5V C O 2 Ñ ö a ñ e án n g o õ v a øo C S \ c u ûa c a ùc 8 2 5 5 A
O 3
O 4
E0 O 5
E1 O 6
E2 O 7
M ic ro P ro c e s s o r
A1-A0
D7-D0
CONTROL BUS
Hình 3.2: 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.
Trang 47
Luaân vaên toát nghieäp
Chöông4:KHAÛO SAÙT BOÄ NHÔÙ BAÙN DAÃN
Vi ñieàu khieån (Microcontroller) laø IC chuyeân veà xöû lyù döõ lieäu ñieàu
khieån theo moät chöông trình, muoán vi ñieàu khieån thöïc hieän moät coâng vieäc gì
thì ngöôøi söû duïng phaûi laäp trình. Chöông trình phaûi ñöôïc löu tröõ ôû moät boä
phaän naøo ñoù, ñeå vi ñieàu khieån nhaän leänh vaø thi haønh, ñoâi khi trong luùc
xöû lyù,chöông trình cuûa vi ñieàu khieån caàn nôi ñeå löu tröõ taïm thôøi döõ lieäu
chính cuûa boä nhôù. Caùc boä nhôù cuûa vi ñieàu khieån laø caùc IC, caùc IC nhôù
naøy coù theå ñoïc döõ lieäu ra, ghi döõ lieäu vaøo hoaëc chæ ñoïc döõ lieäu ra. Ñoâi
khi boä nhôù cuûa vi ñeàu khieån khoâng ñuû ñeå löu tröõ nhöõng thoâng tin caàn
thieát khi chaïy chöông trình, khi ño phaûi duøng kyõ thuaät môõ roäng boä nhôù.
BOÄ NHÔÙ CHÆ ÑOÏC(ROM:Read Only Memory)
Loaïi boä nhôù naøy ñöôïc thieát keá ñeå löu tröõ caùc döõ lieäu coá ñònh.
Trong luùc hoaït ñoäng bình thöôøng döõ lieäu môùi khoâng theå naøo ghi ñöôïc vaøo
ROM, maõ döõ lieäu chæ ñoïn ra töø ROM. ROM duøng ñeå löu tröõ caùc chöông
trình cuûa maùy tính do khoâng bò maát döõ lieäu khi maát ñieän
Sô ñoà ROM coù dung löôïng 32 x4bit
Ao D0
A1 D1 Data bus
Add Bus A2
A3 ROM D7
ghi decodboán töø döõ lieäu bit. Ngoõ ra cuûa töø döõ lieäu 8 bit ñöôïc
A löu tröõ
3
Trang 48
Luaân vaên toát nghieäp
- Giaûi maõ ñòa chæ: maõ ñòa chæ A 3A2A1A0 duøng ñeå xaùc ñònh thanh ghi
naøo trong ma traän ñöôïc pheùp ñaët töø döõ lieäu 8bit leân bus döõ lieäu
.Hai bit ñòa chæ A0A1 ñöôïc ñöa ñeán boä giaûi maõ hai ñöôøng sang boán
ñöôøng ñeå löïa choïn moät trong boán doøng,hai bit ñòa chæ A 2A3 ñöôïc
ñöa ñeán boä giaûi maõ thöù hai ñeå choïn moät trong boán coät. Chæ duy
nhaát moät thanh ghi ôû trong moät haøng vaø moät coät ñöôïc choïn bôûi
moät ñòa chæ ôû ngoõ vaøo,vaø thanh ghi naày ñöôïc pheùp göûi döõ lieäu
leân bus.
- Ñeäm ngoõ ra: döõ lieäu do thanh ghi göõi ra seõ ñöôïc ñöa vaøo boä
ñeäm,boä ñeäm seõ göõi döõ lieäu ra caùc ñöôøng döõ lieäu beân ngoaøi,khi
tín hieäu ñieàu khieån CS ôû möùc cao. Neáu CS ôû möùc thaáp thì boä ñeäm
ngoõ ra ôû traïng thaùi toång trôû cao vaø caùc ñöôøng döõ lieäu D 0 – D7 seõ
ñöôïc thaõ noåi
2.Thôøi haèng truy xuaát boä nhôù ROM
Coù moät khoaûng thôøi gian töø luùc aùp ñaët ñòa chæ tôùi caùc ngoõ vaøo
ñòa chæ cuûa ROM ñeán luùc döõ lieäu xuaát hieän ôû ngoõ ra(trong luùc ROM hoaït
ñoäng) thôøi gian naày goïi laø thôøi gian treã hay thôøi gian truy xuaát.Khoaûng
thôøi gian töø luùc ngoõ vaøo cho pheùp CS\ ñeán luùc döõ lieäu xuaát hieän goïi laø
thôøi gian cho pheùp xuaát döõ lieäu.
Giaûn ñoà thôøi haèng truy xuaát cuûa Rom
1
Add input Old address Data output 0
tacc valid
CS
New
0
toe address
1
High-Z
Data output
valid 0
t0 t1 t2 t3
3.Caùc loaïi boä nhôù ROM
Maskable Programmed ROM(ROMmaët naï): ñaây laø loaïi ROM do nhaø
saûn xuaát naïp saún chöông trình,khi ñaõ naïp chöông trình thì caùc bit tring ROM
naøy khoâng ñöôïc thay ñoåi nöõa.
Programmable ROM(PROM): loaïi ROM naøy ngöôøi söû duïng coù theå naïp
chöông trình vaø chæ naïp moät laàn khoâng theå xoùa ñöôïc.
ErasableProrammable ROM(EPROM): loaïi ROM naøy coù theå laäp trình
bôûi ngöôøi söû duïng vaø coù theå xoùa naïp nhieàu laàn .Ñeå xoùa döõ lieäu trong
EPROM phaûi duøng aùnh saùng cöïc tím ñeå xoùa,ñeå laäp trình cho ROM phaûi
duøng maïch naïp EPROM.
EPROM coù hai ñieåm baát lôïi: phaûi laáy EPROM ra khoåi soket ñeå xoùa
vaø laäp trình laïi khi muoán thay ñoåi chöông trình .Khi muoán thay ñoåi döõ lieäu oâ
nhôù thì phaûi xoùa döõ lieäu cuûa oâ nhôù ñoù,nhönng khi duøng aùnh saùng cöïc
tím thì taát caû döõ lieäu trong EPROM bò xoùa saïch vaø phaûi naïp laïi toaøn boä
döõ lieäu.
4. Khaûo saùt boä nhôù EPROM 2764
Trang 49
Luaân vaên toát nghieäp
Trong caùc maïch ñieàu khieån duøng vi xöû lyù PROM ñöôïc söû duïng raát
phoå bieán vì noù cho pheùp ngöôøi söû duïng coù theå naïp vaø xoùa caùc chöông
trình deã daøng theo yeâu caàu cuûa moãi ngöôøi. EPROM 2764 coù dung löôïng
8kbyte coù sô ñoà chaân vaø sô ñoà logic nhö sau:
A0
Vpp Vcc
A12 PGM D0
A7 NC
A6 A8 D1
A9
A5 2764 2764 D2
A4 A11
OE\ D3
A3 A12
A10 D4
A2
CE\ CE\
A1 OE\ D5
D7=
A0 PGM\
D6 D6
D0 VPP
D5
D1
D4
D7
Hình 4.2 Sô ñoà chaân vaø sô ñoà logic EPROM 2764
D2
D3
– EPROM 2764 coù 13 ñöôøng ñòa chæ vaø 8 ñöôøng döõ lieäu neân dung löôïng
GND
cuûa 2764 laø 213=8192byte döõ leäu hay 8kbyte ,coù 2 nguoàn cung caápVcc vaø
Vpp ngoõ vaøo Vcc luoân noái tôùi nguoàn 5v ngoõ vaøo Vpp ñöôïc noái tôùi
nguoàn+5v khi EPROM ñang laøm vieäc ôû cheá ñoä ñoïc döõ lieäu vaø noái tôùi
nguoàn 26v khi laäp trình cho EPROM
Hai ngoõ vaøo ñieàu khieån:
OE\ ñöôïc duøng ñeå ñieàu khieån boä ñeäm cho pheùp döõ lieäu cuûa EPROM
xuaát ra ngoaøi hay khoâng .
CE\ laø ngoõ vaøo cho pheùp coù hai chöùc naêng :khi hoaït ñoäng bình
thöôøngCE\ laø it1n hieäu cho pheùp ñeå doïc döõ lieäu töø EPROM,CE\ phaûi ôû
möùc thaáp ñeå maïch ñieän beân tronglöïa choïn döõ lieäu vaø chuyeån noù ñeán
output buffer keát hôïp vôùi tín hieäu cho OE\ ôû möùc thaáp,thì döõ lieäu môùi xuaát
ôû caùc ngoõ raD0-D7.Khi CE\ ôû möùc cao thì EPROM ôû traïng thaùi
chôø(Standby).coâng suaát tieâu taùn luùc naøy 132mw.
Baûng traïng thaùi laøm vieäc cuûa EPROM
Data
MODE CE\ OE\ Input
PGM\ Vpp Vcc Output
INPUT BUFFER RW
READ Vil Vil Vih Vcc Vcc Dout \
STANDBY Vih X X Vcc Vcc HighZ
PROGAM Vil X Vil Vpp Vcc Din
PROGRAM Vil Vil Register
Vih 0 Vpp Vcc Dout
VERYFY
CS\
PROGRAM
A 5 Vih X Register
X 1 Vpp Vcc HighZ
A
INHIBIT
4
Register 2
A3
Address A2
II.BOÄ
Input NHÔÙ A1 RAM
-Ram laø
A0 boä nhôù truy xuaát ngaåu nhieân, coù nghóa laø baát kì oâ nhôù
naøo cuõng deã daøngDecotruy xuaát nhö nhöõng oâ nhôù khaùc.
Register
der
-Khuyeát ñieåm cuûa Ram laø ødöõ 62 lieäu löu tröõ trong Ram seõ maát khi maát
ñieän. 6 Register
-Öu ñieåm chính 63 ñoïc vaø ghi nhanh choùng
linecuûa Ram laø coù theå
to Output
Selects One64 Trang 50
Buffer
Registerline O O
o
O O
1 2 3
Data
Luaân vaên toát nghieäp
1.Caáu Truùc Cuûa Ram
Töông töï nhö boä nhoù Rom,boä nhôù Ram cuõng goàm coù moät soá thanh
ghi .moåi thanh ghi löu tröõ 1 töø döõ lieäu duy nhaát vaø moät döõ lieäu duy
nhaát.Dung löôïng cuûa boâ nhôù Ram laø 1K,2K ,8K, 16K ,32K, 64K, 128K, 256K,
512K, vaø 1024K.vaø töø 72 döõ lieäu laø 8 hoaëc 4 bit.
Trang 51
Luaân vaên toát nghieäp
Ñeå giaûm soá chaân cho moät Icnhaø cheá taïo keát hôïp 2 chöùc naêng data
input vaø data output thaønh moät chaân Input/output, chuùng coù chöùc naêng cuûa
caùc chaân I/O.Khi hoaït ñoäng ñoïc,caù chaân I/O hoaït ñoäng nhö laù caùc chaân
xuaát döõ lieäu.Khi ghi döõ lieäu, caùc chaân I/o hoaït ñoäng nhö laø caùc chaân döõ
lieäu.
2.Caùc loaïi Ram
Ram ñöïôc chia laøm 2 loaïi:
-SRAM(Static RAM);laø moät loaïi linh kieän maø vieäc löu tröõ döõ lieäu
döïa vaøo nguyeân taéc hoaït ñoäng cuûa flip flop D.Döõ lieäu vaøo toàn taïi ôû moät
trong haitraïng thaùi logic cuûa maïch soá.
DRAM(Dynamic Ram):laø loaïi linh kieän nhôù maø döõ lieäu löu tröõ nhö
ñieän tích tröõ trong tuï ñieän.
Trang 52
Luaân vaên toát nghieäp
Chöông 5: ÑO NHIEÄT ÑOÄ
I. Heä Thoá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
Maïch
Chuyeån Chæ thò
ño
ñoåi
_ 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.
a. Sô ñoà khoái
Cheá
Ñaïi löôïng Caû
bieán
ño m Doàn Vi
Tín Hieånth
bieá keânh xöû ò
hieäu töông ADC
n lyù
ño töï
Cheá Söû
Caû duïng
Ñaïi löôïng bieán Ñieàu khieån choïn
m keát
ño Tín keânh
bieá quaû
hieäu
n
ño
Chöông
trình
Hình 5.1 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ù.
Trang 53
Luaân vaên toát nghieäp
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. Caùc Phöôg Phaùp Ño Nhieät Ñoä
Ñ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.
Trang 54
Luaân vaên toát nghieäp
Phaïm vi söû duïng –550C – 1500C.
Trang 55
Luaân vaên toát nghieäp
Digital output
Hình 6.1 Sô ñoà khoái toång quaùt cuûa maïch ADC
Hoaït ñoäng
-Ñaàu tieân kích xung start ñeå boä ADC hoaït ñoäng
-Taïi moät taàn soá ñöôïc xaùc ñònh baèng xung clock boä ñieàu khieån laøm
thay ñoåi thaønh soá nhò phaân ñöôïc löu tröõ trong thanh ghi(Register).-Soá nhò
phaân trong thanh ghi ñöôïc chuyeån thaønh daïng ñieän aùp V’ a baèng boä chuyeån
ñoåi DA.
-Boä so saùnh,so saùnh V’a vôùi ñieän aùp ngoõ vaøo Va .Neáu V’a < Va thì
ngoõ ra cuûa boä so saùnh vaãn giöõ möùc cao. Khi V’ a > Va ngoõ ra cuûa boïâ so
saùnh xuoáng möùc thaáp vaø quaù trình thay ñoåi soá cuûa thanh ghi ngöng. Luùc
naøy V’a gaàn baèng Va , nhöõng soá trong thanh ghi laø nhöõng soá caàn chuyeån
ñoåi .
Trang 56
Luaân vaên toát nghieäp
III.CAÙC PHÖÔNG PHAÙP CHUYEÅN ÑOÅI AD
1. Phöông phaùp tích phaân (Intergration method)
Phöông phaùp tích phaân cuõng gioáng nhö phöông phaùp chuyeån ñoåi
ADC duøng tín hieäu doác ñoâi (Dual-Slope-ADC). Caáu truùc maïch ñieän ñôn giaûn
hôn nhöng toác ñoä chuyeån ñoåi chaäm.
Vin R
_
Vref _
+
Ñieän +
aùp Maïch tích
phaân Maïch so
chuaån
saùnh
Maïch logic
Clock
ñieàu khieån Start
Boä ñeám
Ngoõ ra
Hình 6.2 Sô ñoà nguyeân lyù cô baûn cuûa
soá maïch chuyeån ñoåi AD duøng phöông
phaùp tích phaân
* Hoaït ñoäng
-Khi coù xung start maïch ñeám ñöa veà traïng thaùi reset. Maïch logic ñieàu
khieån khoùa K ôû vò tri 1, ñieän aùp töông töï Vin ñöôïc naïp vaøo tuï ñieän C vôùi
thôøi haèng t1 tín hieäu ngoõ ra cuûa maïch tích phaân giaûm daàn,vaø cho ñeán khi
nhoû hôn 0V thì ngoõ ra cuûa boä so saùnh leân möùc 1,do ñoù maïch logic ñieàu
khieån môû coång cho xung clock vaøo maïch ñeám. Sau khoaûng thôøi gian t 1 maïch
ñeám traøn maïch logic ñieàu khieån khoùa K ôû vò trí 0,khi ñoù ñieän aùp aâm V ref
ñöôïc ñöa vaøo ngoõ vaøo cuûa maïch tích phaân,tuï ñieän C xaû ñieän vôùi toác ñoä
khoâng ñoåi, sau khoaûng thôøi gian t2 tín hieäu ngoõ ra cuûa maïch tích phaân taêng
daàn,do ñoù ngoõ ra cuûa maïch so saùnh xuoáng ,möùc thaáp laøm cho maïch logic
ñieàu khieån ñoáng coång vaø baùo keát thuùc chuyeån ñoåi. Trong suoát khoaûng
thôøi gian xaû ñieän t2 maïch ñeám vaãn tieáp tuïc ñeám keát quaû cuûa maïch ñeám
cuõng chính laø tín hieäu soá caàn chuyeån ñoåi töông öùng vôùi ñieän aùp töông töï
ngoõ vaøo Vin .
Moái quan heä giöõa ñieän aùp ngoõ vaøo V in vaø ñieän aùp chuaån Vref vôùi
t1,t2
t2=t1.vin/vref
Trang 57
Luaân vaên toát nghieäp
t1=2n/fck :thôøi gian maïch ñeám töø 0 ñeán khi traøn
t2=N/fck : thôøi gian maïch ñeám töø khi traøn ñeán keát quaû sau cuøng
-Bieåu thöùc naày khoâng phuï thuoäc vaøo thôøi haèng RC,cuõng nhö soá
xung clock(neáu maïch laøm vieäc oån ñònh).
-Caùc tín hieäu töông töï V in qua maïch tích phaân neân caùc tín hieäu nhieåu
ñeàu bò loaïi boû.
-Nhöôïc ñieåm cuûa maïch naày laø thôøi gian chuyeån ñoåi chaäm,giöøa 2 n
chu kyø xung clock trong laàn laáy tích phaân trong thôøi gian t 1 va øN chu kyø trong
laàn laáy tích phaân trong thôøi gian t2. Thôøi gian chuyeån ñoåi lôùn nhaát khi t1=t2.
Thôøi gian chuyeån ñoåi: T = t1+t2
2.Phöông phaùp ADC xaáp xæ lieân tieáp(Successive- Approximation
ADC)
Ñaây laø moät trong nhöõng phöông phaùp d9uo75c söû duïng roäng raõi.
Tuy nhieân,maïch ñieän coù phöùc taïp nhöng thôøi gian chuyeån ñoåi ngaén hôn.
Phöông phaùp chuyeån ñoåi ADC xaáp xæ lieân tieáp coù thôøi gian chuyeån ñoåi coá
ñònh khoâng phuï thuoäc vaøo ñieän aùp ngoõ vaøo.
VA
+
V’A _ Clock
Logic ñieàu khieån
Start
MSB LSB
EOC
DAC
Hình 6.3 Sô ñoà khoái chuyeån ñoåi ADC duøng phöông phaùp xaáp xæ lieân tieáp.
* Hoaït ñoäng
Khi taùc ñoäng caïnh xuoáng cuûa xung start thì ADC baét ñaàu chuyeån ñoåi .
-Maïch logic ñieàu khieån ñaët bit coù nghóa lôùn nhaát(Most Signifi cant Bit )
cuûa thanh ghi ñieàu khieån leân möùc cao vaø taát caû caùc bit coøn laïi ôû möùc
thaáp.Soá nhò phaân ra ôû maïch thanh ghi ñieàu khieån ñöôï cqua maïch DAC ñeå
taïo ra ñieän aùp tham chieáu V’a.
Neáu V’a >Va thì ngoõ ra boä so saùnh xuoáng möùc thaáp ,laøm cho maïch
logic ñieàu khieån xoùa bit MSB xuoáng möùc thaáp.
Neáu V’a<Va thì ngoõ ra cuûa boä so saùnh vaãn ôû möùc cao vaø laøm cho
maïch logic ñieàu khieån giöõ bit MSB ôû möùc cao.
Tieáp theo maïch logic ñieàu khieån ñöa bit coù nghóa keá bit MSB leân möùc
cao vaø taïo ôû ngoõ ra khoái DAC moät ñieän aùp tham chieáu v’ a roài ñem so saùnh
töông töï nhö bit MSB ôû treân .Quaù trình naøy cöù tieáp tuïc cho ñeán bit cuoái
cuøng trong thanh ghi ñieàu khieån. Luùc ñoù v’a gaàn baèng Va ngoõ ra cuûa maïch
logic ñieàu khieån baùo keát thuùc chuyeån ñoåi.
Nhö vaäy maïch ñoåi ra n bit chæ maát n chu kyø xung clock neân coù theå ñaït
toác ñoä raát cao. Tuy nhieân maïch ADC xaáp xæ lieân tieáp laïi khoâng theå ñaùp
öùng vôùi tín hieäu töông töï vaøo bieán ñoåi cöïc nhanh .
Trang 58
Luaân vaên toát nghieäp
3.Phöông phaùp song song (paralled method)
Maïch ADC duøng nguyeân taéc chuyeån ñoåi song song hay coøn goïi laø
phöông phaùp ADC nhanh, coù caáu truùc maïch ñieän phöùc taïp nhöng toác ñoä
chuyeån ñoåi raát cao .
Trong vaøi tröôøng hôïp ngöôøi ta caàn maïch chuyeån ñoåi ADC coù toác ñoä
raát cao vì nhöõng tín hieãu bieán ñoåi nhanh neân khi chuyeån sang daïng soá ngöôøi
ta caà maïch ADC coù toác ñoä cao .
Vref
R/2 +
1D X1
13 U C1
2 LSB
+ X2
1D
11 U C1
2 LSB
+ X3
1D
9U C1
2 LSB
+ D2
7
D1
1D X4
U C1
2 LSB D0
+
55 1D X5
U
22 LSB C1
+
3
U 1D X6
2 LSB C1
+
1 1D X7
U C1
2 LSB
R/2
G
Vin ñoåi AD duøng phöông phaùp song song
Hình 6.4 Sô ñoà khoái maïch chuyeån
* Hoaït ñoâng
Maïch bao goàm: khoái so saùnh song song vaø maïch maõ hoaù. Tín hieäu
töông töï ñöôïc vaøo caùc maïch so saùnh cuøng moät luùc, caùc traïng thaùi ra cuûa
maïch so saùnh ñöôïc ñöa vaøo caùc flip flop D ñeå ñöa ñeán boä maõ hoùa,ñaàu ra
cuûa maïch maõ hoùa chính laø ñaàu ra cuûa maïch ADC.
Maïch so saùnh vaø maïch maõ hoùa laø loaïi maïch coù toác ñoä xöû lyù raát
cao neân toång thôøi gian treã chæ vaøi chuïc ns,nhôø vaäy söï chuyeån ñoåi xaåy ra
raát nhanh. Tuy nhieân vôùi maïch ADC nhanh ôû 3 bit thì noù ñoài hoûi baûy boä so
saùnh khi ôû 6 bit thì caàn ñeán 63 boä so saùnh ñoù laø nhöôïc ñieåm cuûa maïch
ADC duøng phöông phaùp so saùnh .
Baûng söï thaät cuûa maïch chuyeån ñoåi
Ñieän Ngoõ ra boä so saùnh Tín hieäu soá
aùp vaøo ngoõ ra
Vin/VLSB K7 K6 K5 K4 K3 K2 K1 D1 D2 D3
0 0 0 0 0 0 0 0 0 0 0
Trang 59
Luaân vaên toát nghieäp
1 0 0 0 0 0 0 1 0 0 1
2 0 0 0 0 0 1 1 0 1 0
3 0 0 0 0 1 1 1 0 1 1
4 0 0 0 1 1 1 1 1 0 0
5 0 0 1 1 1 1 1 1 0 1
6 0 1 1 1 1 1 1 1 1 0
7 1 1 1 1 1 1 1 1 1 1
Trang 60
Luaân vaên toát nghieäp
Vi xöû
lyù
Giao
ADC tieáp ROM
vaø
taïo tín
hieäu
Caûm Thieát
ñieàu
bò Hieån
bieán khieån thò
Sô ñoà khoái maïch ño löôøng vaø khoáng cheá nhieät ñoä phoøng duøng 8051
Nhieäm vuï töøng khoái:
- Khoái vi xöû lyù: ñieàu haønh moïi hoaït ñoäng cuûa heä thoáng.
- Khoái ROM: löu tröõ chöông trình ñieàu haønh hoaït ñoäng.
- Khoái giao tieáp vaø taïo tín hieäu ñieàu khieån:
Khoái naøy coù nhieäm vuï laø nhaän tín hieäu töø ngoaøi ñeå ñöa vaøo xöû
lyù vaø nhaän tín hieäu töø vi xöû lyù ñeå ñieàu khieån ñoùng ngaét caùc thieát
bò.
- Khoái caûm bieán: coù nhieäm vuï laø ño löôøng nhieät ñoä töø moâi tröôøng
xung quanh.
- Khoái ADC: chuyeån ñoåi tín hieäu töø töông töï sang soá.
- Khoái hieån thò: hieån thò nhieät ñoä moâi tröôøng.
- Khoái thieát bò: laø caùc duïng cuï ñöôïc dieàu khieån nhö maùy söôûi, maùy
laïnh...
Trang 61
Luaân vaên toát nghieäp
III. THIEÁT KEÁ VAØ PHAÂN TÍCH NGUYEÂN LYÙ HOAÏT ÑOÄNG TÖØNG
KHOÁI:
1. Boä caûm bieán:
Ñeå ño nhieät ñoä ñöôïc chính xaùc, taát nhieân caàn coù moät ñaàu doø thích
hôïp. Ñaàu doø laø moät caûm bieán nhieät ñoä coù nhieäm vuï vaän chuyeån töø
nhieät ñoä qua tín hieäu ñieän. Coù raát nhieàu loaïi caûm bieán nhö giôùi thieäu ôû
chöông V. Nhöng döïa vaøo lyù thuyeát vaø thöïc teá cuûa maïch caàn thieát keá ta
duøng phöông phaùp ño baèng IC caûm bieán nhieät ñoä. Caùc IC caûm bieán nhieät
ñoä coù ñoä chính xaùc cao, deã tìm vaø giaù thaønh reõ. Moät trong soá ñoù laø IC
LM35, laø loaïi thoâng duïng treân thò tröôøng hieän nay, ñoàng thôøi noù coù
nhöõng ñaëc tính laøm vieäc phuø hôïp vôùi thieát keá chi tieát cuûa maïch.
a. Moät soá tính chaát cô baûn cuûa LM35:
- LM35 coù ñoä bieán thieân theo nhieät ñoä: 10mV / 1oC.
- Ñoä chính xaùc cao, tính naêng caûm bieán nhieät ñoä raát nhaïy, ôû nhieät ñoä
25oC noù coù sai soá khoâng quaù 1%. Vôùi taàm ño töø 0oC – 128oC, tín hieäu
ngoõ ra tuyeán tính lieân tuïc vôùi nhöõng thay ñoåi cuûa tín hieäu ngoõ vaøo.
- Thoâng soá kyõ thuaät:
Tieâu taùn coâng suaát thaáp.
Doøng laøm vieäc töø 400A – 5mA.
Doøng ngöôïc 15mA.
Doøng thuaän 10mA.
Ñoä chính xaùc: khi laøm vieäc ôû nhieät ñoä 25oC vôùi doøng laøm vieäc
1mA thì ñieän aùp ngoõ ra töø 2,94V – 3,04V.
- Ñaëc tính ñieän:
Theo thoâng soá cuûa nhaø saûn xuaát LM35, quan heä giöõa nhieät ñoä vaø
ñieän aùp ngoõ ra nhö sau:
Vout = 0,01ToK
= 2,73 + 0,01ToC.
Vaäy öùng vôùi taàm hoaït ñoäng töø 0oC – 100oC ta coù söï bieán thieân ñieän aùp
ngoõ ra laø:
ÔÛ 0oC thì ñieän aùp ngoõ ra Vout = 2,73 (V).
ÔÛ 5oC thì ñieän aùp ngoõ ra Vout = 2,78 (V).
……………………………………
o
ÔÛ 100 C thì ñieän aùp ngoõ ra Vout = 3,73 (V).
Taàm bieán thieân ñieän aùp töông öùng vôùi nhieät ñoä töø 0oC - 100oC laø 1V.
b. Thieát keá cuï theå maïch caûm bieán duøng LM35:
+ Sô ñoà maïch :
+5V
Vout
LM35 VR
Trang 62
Luaân vaên toát nghieäp
400A < IR < 5mA.
5 V0
400A < < 5 mA
R
5 V0 5 V0
< R < 400 A
5mA
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 T c
o
= 25 C, IR = 1mA thì Vo = 2,98 (V), ta coù:
5 2,98
400A < < 5mA
R
R5
+5V
R1 IF
R3
-
ADC
D1 +
V1
VR1
Vo
VR2
Caûm
bieán Vcc
R2
V2 R4
Trang 63
Luaân vaên toát nghieäp
Theo tính chaát cuûa Op-Amp.
V+ = V-
R4 R3
Suy ra : .V2 (V0 V1 ). V1
R2 R4 R3 R5
V1 : ñieän aùp ngoõ vaøo ñaûo cuûa Op-Amp vaø V1 = 2,73 volt.
V2 : tín hieäu ra cuûa caûm bieán vaø V2 = 2,73 + 0,01ToC.
V0 : ñieän aùp ngoõ ra cuûa Op-Amp vaø V0 = K.(V2 – V1)
K : heä soá khueách ñaïi.
Ta xeùt ôû nhieät ñoä TC = 0oC thì V2 = V1; V0 = 0 volt.
R4 R5
(3) R R R R
2 4 3 5
Trang 64
Luaân vaên toát nghieäp
2. Thieát keá boä chuyeån ñoåi ADC:
2.1 Giôùi thieäu 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:
IN2 IN1 IN0 A B C ALE 2-1 2-2 2-3 2-4 2-8 REF 2-6
28 15
ADC0809
1 14
IN3 IN4 IN5 IN6 IN7 START EOC 2-5 OE CLK VCC REF GND 2-7
Trang 65
Luaân vaên toát nghieäp
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.
256.(VIN Vref ( ) )
N
Vref ( ) Vref ( )
Trang 66
Luaân vaên toát nghieäp
Vcc
IK IK
10K
560P
1
Taàn soá dao ñoäng cuûa maïch laø f =
3RC
Taàn soá dao ñoäng chuaån laø 600 kHz
1
Suy ra 640 = Vcc
3RC
Vôùi R töø 100 ñeán vaøi k choïn R =1 k CV = 500OE
PF.
cc PC5
Sô ñoà keát noái maïch nhö sau: V ALE
ref +
Start PC4
IN0 8255
IN1
IN2 C
PC2
IN3 B
IN4 A PC1
IN5
Vcc D7 PC0
IN6
IK IK D6
IN7 0809 PB7
D5 PB6
10K D4 PB5
PB4
D3
PB3 8255
D2
Vref _ PB2
Trang 67 D1
GND PB1
560P D0 PB0
Luaân vaên toát nghieäp
Hình 7.2.2 Sô ñoà keát noái maïch chuyeån ñoåi ADC 0809.
Ñeå thöïc hieän caùc vieäc chuyeån ñoåi nhaän döõ lieäu töø ADC ta thöïc hieän caùc
böôùc sau:
Khôûi taïo 8255.
Choïn ngoõ vaøo töông töï, ví duï nhö choïn Ino baèng caùch göûi giaù trò 0000 =
00H ra 4 bit thaáp cuûa portc.
Choát ñòa chæ ñoàng thôøi kích xung clock baèng caùch göûi giaù trò 0001 = 01 H
ra 4 bit cao cuûa portc.
Trì hoaõn trong khoaûng thôøi gian 200s ñeå ADC thöïc hieän xong hoaøn toaøn
vieäc chuyeån ñoåi.
Nhaän döõ lieäu töø ADC vaøo port töông öùng.
3. Thieát Keá Boä Nhôù:
3.1 Giaûi ña hôïp caùc ñöôøng PA0 – PA7 cuûa 8051:
Khi söû duïng boä nhôù ngoaøi, port0 khoâng coøn laø moät port I/0 thuaàn tuùy.
Noù ñöôïc keát hôïp giöõa bus ñòa chæ A7 = A0 vaø bus döõ lieäu D7 = D0 vôùi tín
hieäu ALE ñeå choát byte thaát cuûa bus ñòa chæ khi baét ñaàu moãi chu kyø boä
nhôù. Port2 ñöôïc duøng cho byte cao cuûa bus ñòa chæ. Do ñoù caàn phaûi giaûi ña
hôïp caùc ñöôøng naøy rôøi nhau.
Trang 68
Luaân vaên toát nghieäp
Hình 7.3.1 Sô ñoà keát noái giöõa 8051 vôùi IC choát 74LS373
Tín hieäu ngoõ vaøo E cuûa IC 74LS373 laø tín hieäu choát khi E ôû möùc logic 1:
döõ lieäu ñeán ngoõ vaøo D ñöôïc ñöa ñeán ngoõ ra Q neáu tín hieäu ngoõ vaøo thay
ñoåi thì tín hieäu ngoõ ra thay ñoåi. Khi E ôû möùc logic 0 döõ lieäu ngoõ vaøo
khoâng ñöôïc ñöa ñeán ngoõ ra,döõ lieäu xuaát hieän ôû ngoõ ra Q chính laø döõ lieäu
tröôùc ñoù cuûa D. Taïi thôøi ñieåm naøy döõ lieäu ngoõ vaøo D thay ñoåi cuõng
khoâng aûnh höôûng ñeán döõ lieäu ngoõ ra. Do ñoù tín hieäu ALE ñöôïc laáy laøm
tín hieäu choát ñöa ñeán ngoõ vaøo choát E cuûa IC choát 74LS373.
3.2 Keát noái toång quaùt Micsocontroller vôùi boä nhôù:
Boä nhôù coù moät vai troø quan troïng trong maùy tính duøng ñeå löu tröõ döõ lieäu,
laø nôi ñeå Misocontroller xöû lyù döõ lieäu.
Boä nhôù cuûa maùy tính bao goàm caùc boä nhôù ROM, RAM, chuùng keát noái
vôùi nhau thoâng qua caùc bus: bus ñòa chæ (Address bus), bus döõ lieäu (Databus),
bus ñieàu khieån (Control bus).
Add bus
Microcon-
Memory Memory
troller
IC IC
Data bus
Control bus
Hình 7.3.2 Sô ñoà keát noái toång quaùt giöõa vi ñieàu khieån vôùi boä nhôù
Hoaït ñoäng cuûa Micsocontroller ghi döõ lieäu vaøo boä nhôù vaø ñoïc döõ lieäu
ra töø boä nhôù.
+ Hoaït ñoäng ghi döõ lieäu:
Vi ñieàu khieån taïo ñòa chæ cuûa oâ nhôù caàn löu tröõ döõ lieäu, ñaët ñòa chæ
naøy leân bus ñòa chæ.
Vi ñieàu khieån ñaët döõ lieäu leân bus döõ lieäu.
Trang 69
Luaân vaên toát nghieäp
Vi ñieàu khieån taùc ñoäng ñeán tín hieäu ñieàu khieån ghi ôû bus ñieàu khieån.
IC nhôù seõ giaûi maõ ñòa chæ naøy ñeå xaùc ñònh oâ nhôù naøo seõ löu tröõ döõ
lieäu naøy.
Döõ lieäu treân bus seõ ñöôïc truyeàn vaøo oâ nhôù ñaõ ñöôïc löïa choïn.
+ Hoaït ñoäng ñoïc döõ lieäu:
Vi ñieàu khieån seõ taïo ra moät ñòa chæ cuûa oâ nhôù caàn ñoïc döõ lieäu ñaët ñòa
chæ naøy leân bus ñòa chæ.
Vi ñieàu khieån taùc ñoäng ñeán tín hieäu ñieàu khieån ñoïc ôû bus ñieàu khieån.
IC nhôù seõ giaûi maõ ñòa chæ naøy ñeå xaùc ñònh oâ nhôù naøo ñöôïc löïa choïn
leân bus döõ lieäu ñeå truyeàn vaøo vi ñieàu khieån.
3.3 Trình töï thieát keá boä nhôù:
8051 coù khaû naêng môû roäng boä nhôù ñeán 64 kbyte boä nhôù chöông
trình vaø 64 kbyte boä nhôù döõ lieäu beân ngoaøi. Tuy nhieân ñeå phuø hôïp vôùi
nhu caàu thieát keá vaø thi coâng ñoøi hoûi ñôn giaûn. Vi maïch ñöôïc söû duïng laø
EPROM 2764 vaø Ram 6264 caùc coång vaøo ra duøng 8255 cuõng ñöôïc xem laø
vuøng nhôù khi ôû cheá ñoä giao tieáp vaøo ra cuõng töông töï nhö ROM vaø RAM,
coù 16 kbyte töø kbyte ñaàu tieân ñeán kbyte 16, vaø 16 kbyte vuøng nhôù daønh cho
2 IC 8255 nhö ñaõ trình baøy ôû treân. Coøn phaàn coøn laïi seõ boû troáng.
3.3.1 Thieát keá boä nhôù chöông trình:
Do EPROM trong yeâu caàu söû duïng coù dung löôïng laø 8 kbyte, neân IC naøy coù
13 ñöôøng ñòa chæ A12 A0. Ñòa chæ cuûa oâ nhôù ñaàu tieân laø 00004 vaø ñòa chæ
cuûa oâ nhôù cuoái laø 1 FFFH. Nhö vaäy neáu gaén EPROM vaøo vuøng nhôù cuûa
vi ñieàu khieån thì noù seõ chieám moät vuøng nhôù baét ñaàu töø 00004 1 FFFH.
Ta coù baûng ñoà nhôù nhö sau:
Trang 70
Luaân vaên toát nghieäp
(II) 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7FFF
Moãi boä nhôù ñeàu coù 8 kbyte ñeå vi ñieàu khieån ttruy xuaát heát 8 kbyte naøy
thì ñoøi hoûi phaûi keát noái 13 ñöôøng ñòa chæ töø A12 ñeán A0 cuûa vi ñieàu khieån
vôùi 13 ñöôøng ñòa chæ A12 A0 cuûa boä nhôù. 8 ñöôøng döõ lieäu D7 D0 cuûa vi
ñieàu khieån keát noái vôùi 8 ñöôøng döõ lieäu D7 D0 cuûa boä nhôù. Ñöôøng tín
hieäu ñieàu khieån RD ñöôïc keát noái vôùi ngoõ vaøo OE cuûa EPROM vaø RAM,
ñöôøng WR\ñöôïc keát noáiôùi ngoõ vaøo WR\ cuûa RAM. Ñeán ñaây vi ñieàu khieån
chæ giao tieáp vôùi boä nhôù thoâng qua 3 bus: bus ñòa chæ, bus döõ lieäu vaø bus
ñieàu khieån. Neáu döïng laïi ôû ñaây thì khi vi ñieàu khieån taïo ra moät ñòa chæ ñeå
truy xuaát moät oâ nhôù thì caû ROM, vaø RAM ñeàu nhaän ñòa chæ vì cuøng göûi
döõ lieäu ra bus döõ lieäu, khi ñoù döõ lieäu vi ñieàu khieån nhaän vaøo khoâng bieát
laø cuûa oâ nhôù naøo. Ñeå vi ñieàu khieån nhaän ñuùng döõ lieäu cuûa oâ nhôù caàn
truy xuaát thì phaûi thieát keá theâm phaàn giaûi maõ ñòa chæ.
3.3.3 Thieát keá maïch giaûi maõ ñòa chæ:
Moãi maïch keát noái vôùi Micsocontroller caàn phaûi ñöôïc vi ñieàu khieån qui
chieáu tôùi moät caùch chính xaùc. Khi thöïc hieän caùc thao taùc ghi ñoïc thì ñieàu
ñoù coù nghóa laø moãi maïch nhôù phaûi ñöôïc gaùn cho moät vuøng rieâng bieät
coù ñòa chæ chính xaùc naèm trong khoâng gian ñòa chæ toång theå cuûa boä nhôù.
Vieäc gaùn ñòa chæ cuï theå cho maïch nhôù ñöôïc thöïc hieän nhôø moät xung choïn
voû laáy töø maïch giaûi maõ ñòa chæ vuøng nhôù.
Veà nguyeân taéc moät maïch giaûi maõ ñòa chæ thöôøng coù caáu taïo nhö sau:
CS1\
Tín hieäu ñòa Maïch
chæ CS2\
giaûi maõ
Tín hieäu ñieàu ñòa chæ
khieån CSn\
74LS1
38
Hình 7.3.3.3.b. Sô ñoà keát noái giöõa boä nhôù vôùi Microcontroller
Trang 72
Luaân vaên toát nghieäp
4. Thieát Keá Boä Giao Tieáp:
4.1 Thieát keá baøn phím:
4.1.1 Nguyeân lyù chung:
- Baøn phím laø moät thieát bò ngoaïi vi raát thoâng duïng trong caùc heä thoáng vi
xöû lyù, duøng ñeå giao tieáp giöõa ngöôøi vaø maùy, ngöôøi söû duïng coù theå goõ
chöông trình vaøo maùy qua caùc phím.
- Giao tieáp baøn phím söû duïng vi maïch giao tieáp song song 8255A ôû vuøng oâ
nhôù töø 4000 ñeán 8 FFF. Baøn phím khoâng phaûi laø moät linh kieän ñieän töû
maø noù laø caùc coâng taéc nhaán, do ñoù baøn phím ñoøi hoûi coù caáu truùc vöõng
vaøng, cuõng nhö khaû naêng chòu löïc toát.
Nguyeân taéc laøm vieäc cuûa baøn phím:
- Caùc coâng taéc ñöôïc toå chöùc thaønh moät ma traän giöõa nhieàu haøng nhieàu
coät. Caùc ñöôøng cuûa coät ñöôïc noái vôùi moät coång ra cuûa IC giao tieáp. Caùc
ñöôøng cuûa haøng ñöôïc noái vôùi coång thöù 2 vaø qua moät ñieän trôû noái leân
möùc logic 1 (Vcc). Duøng moät phaàn meàm tieán haønh queùt leân caùc phím, khi
aán moät phím thì coù moät haøng moät coät ngaén maïch vaø phím naøy ñöôïc
chuyeån ñoåi thaønh maõ töông öùng thoâng qua phaàn meàm.
Öu ñieåm cuûa loaïi baøn phím naøy laø maïch ñôn giaûn, ñoä linh hoaït cao. Tuy
nhieân ñoä ñaùp öùng khoâng cao.
+5V +5V +5V +5V
PA0 haøng 0
PA1 haøng 1
PA 2 haøng 2
8235A
Coät 7 Coät 2 Coät 1 Coät 0
PA7 haøng 7
PC 0
PC 1
PC 2
PC 7
Trang 73
Luaân vaên toát nghieäp
DATA BUS
GIAÛ
I MAÕ
D0 : D7 Port A
Vi XöûLyù 8255A
A0 A0 +5V
A1 A1
WR WR
R R
Reset
CS
Hình 7.4.c Maïch baøn phím cho heä thoáng
Trang 74
Luaân vaên toát nghieäp
4.2 Thieát keá maïch hieån thò:
Trong heä thoáng vi xöû lyù, boä hieån thò ñoùng vai troø raát quan troïng: duøng ñeå
giao tieáp vôùi maùy tính vaø ngöôøi söû duïng, cho pheùp ngöôøi söû duïng quan
saùt, caûm nhaän quaù trình laøm vieäc cuûa heä thoáng.
ÔÛ ñaây boä hieån thò chæ coù chöùc naêng laø hieån thò nhieät ñoä ngoaøi ra
khoâng coù chöùc naêng khaùc. ..eå ñôn giaûn ñöôïc phaàn cöùng thì chæ cho pheùp
nhieät ñoä hieån thò töø 00C – 990C töø port 1 cuûa vi ñieàu khieån. Boä hieån thò
haèng Led 7 ñoaïn laø loaïi ñöôïc söû duïng phoå bieán.
a a
b b
Vcc
c c
d d
e e
f f
g g
Hình 7.4.d . a: Boä hieån thò Led 7 ñoaïn, b: Loaïi anode chung, c: Loaïi Cathod
chung.
Hình 7.4.e Sô ñoà nguyeân lyù maïch hieån thò Led 7 ñoaïn
4.3 Thieát keá maïch giao tieáp coâng suaát:
Trang 75
Luaân vaên toát nghieäp
- Maïch giao tieáp coâng suaát coù nhieäm vuï nhaän tín hieäu ñieàu khieån töø heä
thoáng xuaát ra port ñieàu khieån thoâng qua 8255A ñeå ñoùng môû taûi coâng
suaát.
- ÔÛ ñaây port A, port B vaø port C cuûa 8255A seõ xuaát ra caùc tín hieäu ñieàu
khieån ñeå ñoùng ngaét taûi.
- Maïch coâng suaát coù raát nhieàu daïng nhöng ñeå coù söï caùch ly tuyeät ñoái
veà phöông dieän ñieän giöõa ngoõ vaøo vaø ngoõ ra, nhoùm ñaõ söû duïng loaïi
optotriac.Loaïi naøy söû duïng ñöôïc nguoàn xoay chieàu coâng xuaát lôùn, coù
ñoä caùch ly cao. Maïch goàm 1 diode phaùt quang (Led) moät triac quang. Khi
coù doøng ñieän chaïy qua moâi tröôøng taùc duïng leân triac quang laøm triac
thoâng maïch.
TAÛ
I
Hình 7.4.f Sô ñoà keát noái maïch giao tieáp coâng suaát
Ñaëc tính cuûa OPTO.
Aùp vaøo 4 – 39 VDC
Aùp ra 230 VAC
Doøng ra 10 A
520
Neáu nhö taûi coù coâng suaát 500W thì doøng taûi laø I = 2,3 A nhoû hôn
220
10A.
Vôùi ñieàu kieän naøy maïch seõ hoaït ñoäng toát.
Hoaït ñoäng cuûa maïch khi caùc bit ôû port A, port B cuûa 8255A xuaát tín hieäu ôû
möùc thaáp, seõ phaân cöïc thuaän cho transitor laøm Led phaùt saùng, seõ taùc ñoäng
laøm triac daãn, seõ kích ñöa doøng qua caáp cho taûi. Ngöôïc laïi khi caùc bit ôû port
A, port B ôû möùc cao laøm phaân cöïc nghòch transitor, led taét, triac ngöng daãn do
ñoù taûi hôû maïch.
Trang 76
Luaân vaên toát nghieäp
IV. Sô ñoà nguyeân lyù vaø thuaät giaûi chöông trình:
1. Sô ñoà nguyeân lyù:
Trang 77
Luaân vaên toát nghieäp
2. Thuaät giaûi chöông trình:
a. Giôùi thieäu:
Heä thoáng vi xöû lyù hieän nay ñöôïc söû duïng roäng raõi trong moïi lónh vöïc. Tuy
nhieân ñeå moät heä thoáng hoaït ñoäng ñöôïc thì heä thoáng ñoù phaûi coù chöông
trình cuï theå cho noù hoaït ñoäng. Thaät vaäy trong phaàn öùng duïng naøy cuõng
caàn phaûi coù moät chöông trình ñeå hoaït. Chöông trình ñöôïc trình baøy nhö sau.
b. Löu ñoà giaûi thuaät cho chöông trình:
Löu ñoà giaûi thuaät cho chöông trình chính:
START
Khôûi taïo
8255
Kieåm tra N
phím aán
Y
Y
Goïi chöông
trình aán phím
N
Y Goïi chöông
Phím”0”
trình phím 1
Y Goïi chöông
Phím”1” trình phím 0
N
END
Löu ñoà giaûi thuaät cho chöông trình kieåm tra phím aán:
Trang 78
Luaân vaên toát nghieäp
Start
Sosaùnh(po Y
rtB)vôùi#01
h
N
N
Sosaùnh(po
rtB)vôùi#02
h
Y
Thöïc hieän Thöïc hieän
chöông trình phím chöông trình phím
“1” “0”
N N
Delay
Delay
200s 200s
Y Y
END (A)=
Goïi chuông trình
hieån thò
Trang 79
END
Luaân vaên toát nghieäp
Trang 80
Luaân vaên toát nghieäp
c. Chöông trình ño vaø khoáng cheá nhieät ñoä phoøng:
; Chöông trình khôûi taïo 8255
X2: MOV DPTR, # 4003 H
MOV A , # 92 H
MOV X @ DPTR, A
MOV DPTR, # 6003 H
MOV A, # 89 H
MOV X @ DPTR, A
; Chöông trình kieåm tra phím aán
MOV RO , # 01 H
MOV DPTR, # 4001 H
MOV X A, @ DPTR
ANL A, RO
JMZ X1
MOV RO , # 02 H
MOV DPTR, # 4001 H
MOV X A, @ DPTR
ANL A, RO
JZ X2
; Chöông trình khi aán phím “1”
X3: MOV A, #4002H
MOV A,#00H
MOVX @DPTR,A
MOV X @DPTR, # 4002 H
MOV A, # 10 H
MOV X @ DPTR, A
MOV DPTR, # 4002 H
MOV A, # 00 H
MOV X @ DPTR, A
LCALL Dlay 0.2 giaây
MOV DPTR, # 4002 H
MOV A, # 20 H
MOV X @ DPTR, A
MOV DPTR, # 4000 H
MOV X A, @ DPTR
CJNE A, # 14H , HOT
MOV DPTR, # 00D0 H
MOV A,@ A + DPTR
MOV 90 H , A
LCa delay 1-1
MOV 90 H, # 00 H
LCa delay 1-1
LJMP X3
HOT: JC COOL
MOV DPTR, # 6000 H
MOV A, # 00 H
MOV X @ DPTR, A
LJMP X3
Trang 81
Luaân vaên toát nghieäp
COOL:MOV DPTR, # 6001 H
MOV A, # 00 H
MOV X @ DPTR, A
LJMP X3
; Chöông trình khi aán phím “0”
X1: MOV DPTR, # 4002 H
MOV A,# 00 H
MOV X @ DPTR,A
MOV DPTR, # 4002 H
MOV A, # 10 H
MOV X @ DPTR, A
MOV DPTR, # 4002 H
MOV A, # 00 H
MOV X @ DPTR, A
LCALL delay 0.2 giaây
MOV DPTR, # 4002 H
MOV A, # 20 H
MOV X @ DPTR, A
MOV DPTR, # 4000 H
MOV X A, @ DPTR
MOV DPTR, # 00D0 H
MOV C A, @ A + DPTR
MOV 90 H, A
LJMP X1
; Chöông trình delay 0.2 giaây
push 00H
push 82H
push 83H
MOV R7, # OC8
Y1: DJNZ R7, Y1
pop 83H
pop 82H
pop 00H
RET
; Chöông trình delay 1-1
push 00H
push 82H
push 83H
MOV R7, # 10H
Y4: MOV R6, # OFF h
Y3: MOV R5, # OFF h
Y2: DJNZ R5, Y2
DJNZ R6, Y3
DJNZ R7, Y4
pop 83H
pop 82H
pop 00H
RET.
Trang 82
Luaân vaên toát nghieäp
Chöông trình hieån thò cho EPROM töø 0oC – 99oC xem phuï luïc 2
d. Giaûi thích chöông trình:
Trong chöông trình naøy söû duïng 2 IC 8255A.
Vôùi 8255 thöù nhaát coù ñòa chæ töø 4000, trong ñoù port A nhaän döõ lieäu töø 8
ñöôøng data cuûa ADC.
PB0, PB1: laøm caùc phím aán ñieàu khieån.
PC0, PC1, PC2, PC4, PC5: duøng laøm tín hieäu ñieàu khieån cho ADC.
Vôùi 8255 thöù hai coù ñòa chæ töø 6000 duøng ñeå xuaát tín hieäu ñieàu khieån
thieát bò ñoùng ngaét.
- Ñaàu tieân khôûi taïo 8255 baèng caùch gôûi giaù trò 92H ra thanh ghi ñieàu
khieån cuûa 8255I. Coù ñòa chæ 4003H vaø göûi giaù trò 89H ra thanh ghi ñieàu
khieån cuûa 8255II coù ñòa chæ 6003H, thoâng qua thanh ghi A.
- Sau ñoù, kieåm tra chöông trình aán phím. Naïp giaù 01H vaøo thaønh ghi R 0,
ñoïc noäi dung töø PB cuûa 8255I ghi A AND vôùi noäi dung trong thanh ghi R0.
Neáu pheùp AND = 1 thì bt Zero = 0 vaø chöông thöïc hieän taïi X1 töùc laø phím
“o” bò taùc ñoäng.
Neáu pheùp AND = 0 thì bit Zero = 1 vaø chöông trình seõ thöïc hieän tieáp theo,
laø naïp giaù trò 02H vaøo R0 ñoàng thôøi ñoïc noäi dung töø PB vaøo thanh ghi A,
duøng pheùp AND, AND noäi dung trong A vôùi noäi dung trong R0, töông töï:
Neáu pheùp AND = 0 thì chöông trình quay laïi töø ñaàu.
Neáu pheùp AND = 1 thì bit Zero = 0 töùc laø phím “1” bò taùc ñoäng vaø chöông
trình thöïc hieän taïi X3.
- Khi phím “1” bò taùc ñoäng vaø chöông trình thöïc hieän taïi X3.
Ñaàu tieân, naïp giaù trò 00H vaøo thanh ghi A vaø chuyeån noäi dung trong thanh
ghi A ra ñòa chæ 4002 cuûa port C ñeå choïn ngoõ vaøo töông töï laø INO. Keá tieáp
naïp giaù trò 10H vaøo A, chuyeån noäi dung trong A ra ñòa chæ 4002 cuûa port C,
ñeå ñöa chaân Start cuûa ADC leân möùc 1. Naïp 00H vaøo A vaø ñöa noäi dung
trong A ra ñòa chæ 4002 ñeå ñöa Start xuoáng möùc 0 taïo thaønh moät xung Clock.
Sau ñoù goïi chöông trình delay 200s ñeå boä ADC thöïc hieän chuyeån ñoåi.
Naïp giaù trò 20H vaøo A, chuyeån noäi dung chöùa trong A ra ñòa chæ 4002 ñeå
Pc5 cuûa 8255I leân möùc 1 vaø ñoïc döõ lieäu töø PA coù ñòa chæ 4000 vaøo thanh
ghi A. So saùnh noäi dung trong A vôùi giaù trò 14H:
Neáu baèng nhau thì naïp giaù trò 00D0H vaøo DPTR, sau ñoù laáy noäi dung cuûa
oâ nhôù coù ñòa chæ chöùa trong A coäng vôùi trong DPTR chuyeån vaøo A. Laáy
noäi dung trong A chuyeån ra port 1 cuûa vi ñieàu khieån ñeå hieån thò.
Neáu noäi dung trong A lôùn hôn thì nhaûy ñeán nhaõn HOT vaø naïp giaù trò 00H
vaøo A, sau ñoù chuyeån noäi dung chöùa trong ra port A cuûa 8255 II coù ñòa chæ laø
6000H ñeå ñieàu khieån thieát bò ñoùng maïch.
Neáu noäi dung trong A nhoû hôn thì nhaûy ñeán nhaõn COOL vaø naïp giaù trò
00H vaøo A, sau ñoù chuyeån noäi dung trong A ra port B cuûa 8255 II coù ñòa chæ
6001H ñeå ñieàu khieån thieát bò ñoùng maïch.
- Khi phím “0” bò taùc ñoäng vaø chöông trình thöïc hieän taïi X1:
Naïp giaù trò 4002H vaøo DPTR, vaø 00H vaøo thanh ghi A, sau ñoù chuyeån noäi
dung trong A, vaøo oâ nhôù coù ñòa chæ chöùa trong DPTR ñeå choïn ngoõ vaøo
töông töï INO. Naïp giaù trò 10H vaøo A, chuyeån noäi dung trong vaøo oâ nhôù coù
ñòa chæ chöùa trong DPTR, ñeå choát ñòa chæ ngoõ vaøo vaø ñöa chaân Start leân 1.
Naïp giaù trò 00H vaøo A.
Trang 83
Luaân vaên toát nghieäp
- Chuyeån noäi dung trong A vaøo oâ nhôù coù ñòa chæ chöùa trong DPTR, ñeå
ñöa chaân START xuoáng möùc 0 vaø goïi chöông trình delay 200 s ñeå thöïc hieän
chuyeån ñoåi.
Sau khi chuyeån ñoåi xong, naïp giaù trò 20H vaøo thanh ghi A, chuyeån noäi
dung trong vaøo oâ nhôù coù ñòa chæ chöùa trong DPTR, ñeå cho pheùp ADC xuaát
döõ lieäu ra ñöôøng döõ lieäu. Naïp giaù trò 4000H vaøo DPTR, sau ñoù laáy noäi
dung cuûa oâ nhôù coù ñòa chæ chöùa trong DPTR chuyeån vaøo thanh ghi A (töùc
ñoïc döõ lieäu töø ADC vaøo A). Naïp giaù trò 00D0H vaøo DPTR, laáy noäi dung oâ
nhôù coù ñòa chæ chöùa trong A + DPTR chuyeån vaøo A, ñoàng thôøi laáy noäi
dung trong A chuyeån ra post 1 cuûa vi ñieàu khieån coù ñòa chæ laø 90H. Sau ñoù
quay laïi nhaõn X1.
V. THI COÂNG:
- Sau khi ñaõ tính toaùn thieát keá treân cô sôû lyù thuyeát, nhoùm chuùng em tieán
haønh thi coâng heä thoáng. Coâng vieäc thi coâng ñöôïc thöïc hieän qua caùc
böôùc sau:
1. Thieát keá maïch in:
Vì caáu truùc cuûa maïch khaù phöùc taïp, nhieàu ñöôøng keát noái, neân chuùng
söû duïng maïch in hai lôùp ñeå thi coâng. Ñeå thieát keá maïch in ñaõ duøng
phaàn meàm veõ maïch chuyeân duøng EAGLE ñeå thieát keá.
2. Chuaån bò:
Trong thôøi gian chôø gia coâng maïch in giaûi quyeát caùc vaán ñeà sau:
Laäp baûng lieät keâ vaø mua linh kieän.
Thieát keá hoäp ñöïng mach ñieàu khieån
Laép thöû moät soá maïch treân testboard ñeå kieåm tra moät soá linh kieän trong
heä thoáng.
Vieát vaø naïp chöông trình ñieàu khieån vaøo EBROM.
3. Laép raùp linh kieän vaø kieåm tra.
Ñeå ñaûm baûo khoâng gaëp söï coá khi laép raùp toaøn boä linh kieän leân
maïch in, nhoùm choïn phöông phaùp laép vaø kieåm tra töøng boä phaän, sau khi boä
phaän ñoù hoaït ñoäng toát roài môùi tieán haønh laép raùp boä phaän keá tieáp.
4. Sô ñoà maïch in:
Trang 84
Luaân vaên toát nghieäp
Sô ñoà maïch in
Trang 85
Luaân vaên toát nghieäp
Trang 86
Luaân vaên toát nghieäp
CHÖÔNG KEÁT LUAÄN
Sau gaàn möôøi tuaàn thöïc hieän vôùi nhieàu coá gaéng vaø noå löïc cuûa
baûn thaân cuøng vôùi söï taän tình höôùng daãn cuûa thaày Leâ Thanh Ñaïo, taäp
luaän vaên naøy ñaõ hoøan thaønh ñuùng thôøi gian qui ñònh theo yeâu caàu ñaët ra
laø thieát keá moät maïch ño vaø khoáng cheá nhieät ñoä phoøng duøng vi ñieàu
khieån.
Ñeå thöïc hieän ñöôïc yeâu caàu treân chuùng em ñaõ nghieân cöùu, tìm hieåu
nhöõng vaán ñeá veà vi ñieàu khieån, vi xöû lí, caùc phöông phaùp ño nhieät ñoä, caùc
phöông phaùp chuyeån ñoåi töø töông töï sang soà vaø caùc vaán ñeà khaùc coù lieân
quan ñeán ñeà taøi.
Noäi dung chính cuûa ñeà taøi naøy bao goàm nhöõng phaàn chính sau:
*Phaàn kieán thöùc.
-Khaûo saùt boä vi ñieàu khieån 8051/8031.
-Khaûo saùt IC giai tieáp ngoaïi vi 8255A.
-Khaûo saùt caùc boä nhôù thoâng duïng .
-Caùc phöông phaùp chuyeån ñoåi töø töông töï sang soá.
-Heä thoáng ño nhieät ñoä vaø caùc phöông phaùp ño nhieät ñoä.
*Phaàn thieát keá thi coâng .
-Xaây döïng sô ñoà khoái toaøn maïch .
-Xaây döng löu ñoà giaûi thuaät .
-Vieát chöông trình.
-Thi coâng laép raùp vaø kieåm tra.
Treân ñaây laø nhöõng noäi dung maø nhoùm ñaõ thöïc hieän ñöôïc trong taäp
luaän vaên naøy.
Theo nhaän ñònh chuû quan cuûa nhoùm thöïc hieân thì taäp luaän vaên naøy
ñaõ trình baøy töông ñoái ñaày ñuû caùc noäi dung, nhöõng kieán thöùc lieân quan,
giaûi quyeát ñöôcï nhöõng yeâu caøu ñaët ra.
Tuy nhieân do thôøi gian cuõng nhö trình ñoä chuyeân moân coù haïn vaãn coøn
nhieàu thieáu soùt . ÔÛ ñaây chæ giaûi quyeát ñöôïc caùc yeâu caàøu laø : ño nhieät
ñoä töø 0oc ñeán 99oc vaø chæ khoáng cheá ñöôïc ôû moät möùc nhieät ñoäï coá ñònh,
ñaây laø moät maët haïn cheá cuûa ñeà taøi naøy.
Ñeå ñeà taøi naøy theâm phong phuù vaø taêng hieäu quaû söû duïng thì caàn
ñaùp öùng ñöôïc nhöõng yeâu caàu sau:
-Khoáng cheá ñöôïc ôû nhieàu möùc nhieät ñoä khaùc nhau.
-Coù theå ñieàuá chænh ñöôïc ôû nhieàu möùc nhieät ñoä caàùn khoáng cheá.
-Coù theå giao tieáp vôí maùy tính ñeå ñieàu khieån khoáng cheá nhieät ñoä.
Ñoù laø nhuõng yeâu caàu maø nhoùm chöa coù ñieàu kieän thöïc hieän,
Mong raèng ñeà taøi naøy seõ ñöôïc caùc baïn sinh vieân khoaù sau tieáp tuïc
thöïc hieän nhöõng yeâu caàu treân vaø khaéc phuïc ñöôïc nhöõng haïn cheá cuûa ñeà
taøi naøy, ñeå taïo ra moät saûn phaåm coù chaát löôïng cao phuïc vuï cho saûn xuaát
vaø ñôøi soáng xaõ hoäi.
Sau cuøng moät laàn nöõa chuùng em xin chaân thaønh caûm ôn thaày Leâ
Thanh Ñaïo cuøng quùi thaày coâ khoa ñieän ñaõ taän tình höôùùùøng daãn vaø daãn
daét chuùng em trong suoát nhöõng naêm hoïc vöøa qua.
Xin chaân thaønh caûm ôn caùc baïn sinh vieân ñaõ ñoùng goùp nhöõng yù
kieán quí baùo ñeå ñeà taøi naøy hoaøn thaønh toát ñeïp.
Trang 87
Luaân vaên toát nghieäp
TAØI LIEÄU THAM KHAÛO
Trang 88