You are on page 1of 100

Luaân vaên toát nghieäp

BOÄ GIAÙO DUÏC VAØ ÑAØO TAÏO


ÑAÏI HOÏC QUOÁC GIA THAØNH PHOÁ HOÀ CHÍ MINH
TRÖÔØNG ÑAÏI HOÏC SÖ PHAÏM KYÕ THUAÄT
KHOA ÑIEÄN –ÑIEÄN TÖÛ
BOÄ MOÂN ÑIEÄN TÖÛ

LUAÄN VAÊN TOÁT NGHIEÄP

ÑEÀ TAØI :

KHAÛO SAÙT VAØ ÖÙNG DUÏNG VI ÑIEÀU KHIEÅN- THIEÁT KEÁ-


THI COÂNG MAÏCH KHOÁNG CHEÁ NHIEÄT ÑOÄ PHOØNG

SVTH :NGUYEÃN HOAØNG VUÕ


NGUYEÃN THANH
VUÕ
GVHD:LEÂ THANH ÑAÏO

TP.HOÀ CHÍ MINH 3-2000

Trang 1
Luaân vaên toát nghieäp

LÔØI CAÛM TAÏ

Chuùng em xin chaân


thaønh caûm ôn Thaày Leâ
Thanh Ñaïo ñaõ taän tình
höôùng daãn vaø giuùp ñô
chuùng em trong
suoátthôøigian thöïc hieän
luaän vaên .
Xin caûm ôn quùi thaày
coâKhoa Ñieän vaø caùc
baïn sinh vieân cuøng khoùa
ñaõ ñoùng goùp nhöõng yù
kieán quùi baùo ñeå taäp
luaänvaênnaøyhoaøn
thaønh ñuùng thôøi gian.
Nhoùm sinh vieân thöïc

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.

Nhoùm sinh vieân thöïc hieän


NGUYEÃN HOAØNG VUÕ
NGUYEÃN THANH VUÕ

Trang 3
Luaân vaên toát nghieäp
NHAÄN XEÙT CUÛA GIAÙO VIEÂN HÖÔÙNG DAÃN

NHAÄN XEÙT CUÛA GIAÙO VIEÂN PHAÛN


BIEÄN

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ÖÛ

NHIEÄM VUÏ LUAÄN VAÊN TOÁT NGHIEÄP

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öû

1.Teân ñeà taøi : KHAÛO SAÙT VAØ ÖÙNG DUÏNG VI ÑIEÀU


KHIEÅN_THIEÁT KEÁ_THI COÂNG MAÏCH KHOÁNG
CHEÁ NHIEÄT ÑOÄ PHOØNG.
2. Caùc soá lieäu ban ñaàu :

3.Noäi dung caùc phaàn thuyeát minh vaø tính toaùn :

4.Caùc baûn veõ :

5.Giaùo vieân höôùng daãn : LEÂ THANH ÑAÏO


6. Ngaøy giao nhieäm vuï :
7.Ngaøy hoaøn thaønh nhieäm vuï :

Thoâng qua boä moân.


Ngaøy___thaùng___naêm___
Giaùo vieân höôùng daãn Chuû nhieäm boä
moân

Trang 6
Luaân vaên toát nghieäp
MUÏC LUÏC
Trang

A_PHAÀN GIÔÙI THIEÄU

 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

B_PHAÀN NOÄI DUNG


1
Chöông 1: DAÃN NHAÄP 1

I.ÑAËT VAÁN ÑEÀ


1
II.GIÔÙI THIEÄU ÑEÀ TAØI
1
III.MUÏC ÑÍCH NGHIEÂN CÖÙU
1

Chöông 2: GIÔÙI THIEÄU CHUNG VEÀ VI ÑIEÀU KHIEÅN


3

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

Chöông 3: KHAÛO SAÙT IC GIAO TIEÁP NGOAÏI VI


8255A 38

I.CAÁU TRUÙC PHAÀN CÖÙNG


38
II.CAÁU TRUÙC PHAÀN MEÀM
40
III.GIAO TIEÁP GIÖÕA VI XÖÛ LYÙ VÔÙI 8255A
42

Chöông 4: KHAÛO SAÙT BOÄ NHÔÙ BAÙN DAÃN


43

Trang 7
Luaân vaên toát nghieäp
I.BOÄ NHÔÙ CHÆ ÑOÏC (ROM : READ ONLY MEMORY)
43
II.BOÄ NHÔÙ RAM (RANDOM ACCESS MEMORY)
46

Chöông 5: ÑO NHIEÄT ÑOÄ


48

I.HEÄ THOÁNG ÑO LÖÔØNG


48
II.CAÙC PHÖÔNG PHAÙP ÑO NHIEÄT ÑOÄ
49

Chöông 6: CHUYEÅN ÑOÅI TÖÔNG TÖÏ SANG SOÁ


51

I.KHAÙI NIEÄM CHUNG


51
II. NGUYEÂN TAÉC THÖÏC HIEÄN CHUYEÅN ÑOÅI AD
51
III.CAÙC PHÖÔNG PHAÙP CHUYEÅN ÑOÅI ADC
52

Chöông 7: THIEÁT KEÁ VAØ THI COÂNG


56

I.NHIEÄM VUÏ THIEÁT KEÁ


56
II.SÔ ÑOÀ KHOÁI VAØ CHÖÙC NAÊNG TÖØNG KHOÁI
56
III.THIEÁT KEÁ VAØ PHAÂN TÍCH NGUYEÂN LÍ HOAÏT ÑOÄNG TÖØNG
KHOÁI 56
IV.SÔ ÑOÀ NGUYEÂN LÍ VAØ GIAÛI THUAÄT CHÖÔNG TRÌNH
71
V.THI COÂNG
89

CHÖÔNG KEÁT LUAÄN


83
C_PHUÏ LUÏC – TAØI LIEÄU THAM KHAÛO
85

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

I.ÑAËT VAÁN ÑEÀ :


Ngaøy nay vôùi söï phaùt trieån cuûa coâng nghieäp vi ñieän
töû, kyõ thuaät soá caùc heä thoáng ñieàu khieån daàn daàn ñöôïc
töï ñoäng hoùa. Vôùi nhöõng kyõ thuaät tieân tieán nhö vi xöû lí, vi
maïch soá … ñöïôc öùng duïng vaøo lænh vöïc ñieàu khieån, thì caùc
heä thoáng ñieàu khieån cô khí thoâ sô, vôùi toác ñoä xöû lí chaäm
chaïp ít chính xaùc ñöôïc thay theá baèng caùc heä thoáng ñieàu
khieån töï ñoäng vôùi caùc leänh chöông trình ñaõ ñöôïc thieát laäp
tröôùc.
Trong quaù trình saûn xuaát ôû caùc nhaø maùy, xí nghieäp
hieän nay, vieäc ño vaø khoáng cheá nhieät ñoä töï ñoäng laø moät
yeâu caàu heát söùc caàn thieát vaø quan troïng. Vì neáu naém baét
ñöôïc nhieät ñoä laøm vieäc cuaû caùc heä thoáng. Daây chuyeàn
saûn xuaát … giuùp ta bieát ñöôïc tình traïng laøm vieäc cuûa c aùc
yeâu caàu. Vaø coù nhöõng xöû lyù kòp thôøi traùnh ñöôïc nhöõng
hö hoûng vaø söï coá coù theå xaûy ra.
Ñeå ñaùp öùng ñöôïc yeâu caàu ño vaø khoáng cheá nhieät ñoä
töï ñoäng, thì coù nhieàu phöông phaùp ñeå thöïc hieän, nghieân
cöûu khaûo saùt vi ñieàu khieån 8051 nhoùm thöïc hieän nhaän
thaáy raèng: öùng duïng vi ñieàu khieån 8051 vaøo vieäc ño vaø
khoáng cheá nhieät ñoä töï ñoäng laø phöông phaùp toái öu nhaát.
Ñoàng ñöôïc söï ñoàng yù cuûa khoa Ñieän Tröôøng Ñaïi Hoïc Sö
Phaïm Kyõ Thuaät. Nhoùm chuùng em tieán haønh thöïc hieän ñeà
taøi “Khaûo saùt vaø öùng duïng vi ñieàu khieån thieát keá
thi coâng maïch khoáng cheá nhieät ñoä phoøng” .
II.GIÔÙI HAÏN ÑEÀ TAØI :
Vôùi thôøi gian gaàn möôøi tuaàn thöïc hieän ñeà taøi, cuõng
nhö trình ñoä chuyeân moân coù haïn, chuùng em ñaõ coá gaéng
heát söùc ñeå hoaøn thaønh taäp luaän vaên naøy, nhöng chæ giaûi
quyeát ñöôïc nhöõng vaán ñeà sau :
• Thieát keá maïch ño nhieät ñoä trong daûi töø 00C – 1000C
hieån thò soá .
• Khoáng cheá nhieät ñoä ôû möùc 200C .
• Vieát chöông trình (phaàn meàm) ñeå ñaùp öùng caùc
yeâu caàu treân .
• Do thôøi gian quaù haïn heïp neân chuùng em chæ thieát
keá moät ñaàu ño vaø chæ khoáng cheá ôû moät möùc
nhieät ñoä 200C .
III.MUÏC ÑÍCH NGHIEÂN CÖÙU :
Muïc ñích tröôùc heát khi thöïc hieän ñeà taøi naøy laø ñeå
hoaøn taát chöông trình moân hoïc ñeå ñuû ñieàu kieän ra tröôøng .
• Cuï theå khi nghieân cöùu thöïc hieän ñeà taøi laø chuùng
em muoán phaùt huy nhöõng thaønh quaû öùng duïng

Trang 9
Luaân vaên toát nghieäp
cuûa vi ñieàu khieån nhaèm taïo ra nhöõng saûn phaåm,
nhöõng thieát bò tieân tieán hôn, vaø ñaït hieäu quaû saûn
xuaát cao hôn.
• Maët khaùc taäp luaän vaên naøy cuõng coù theå laøm
taøi lieäu tham khaûo cho nhöõng sinh vieân khoùa sau.
Giuùp hoï hieåu roõ hôn veà nhöõng öùng duïng cuûa vi
ñieàu khieån .
• Ngoøai ra quaù trình nghieân cöùu thöïc hieän ñeà taøi laø
moät cô hoäi ñeå chuùng em töï kieåm tra laïi nhöõng
kieán thöùc ñaõ ñöôïc hoïc ôû tröôøng, ñoàng thôøi phaùt
huy tính saùng taïo, khaû naêng giaûi quyeát moät vaán
ñeà theo yeâu caàu ñaët ra. Vaø ñaây cuõng laø dòp ñeå
chuùng em töï khaúng ñònh mình tröôùc khi ra tröôøng
ñeå tham gia vaøo caùc hoaït ñoäng saûn xuaát cuûa xaõ
hoäi.

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 .

Trang 11
Luaân vaên toát nghieäp
Ñeán nay hoï vi ñieàu khieån 8 bit MCS51 ñaõ coù ñeán 250
thaønh vieân vaø haàu heát caùc coâng ty haøng daãn haøng ñaàu
theá giôùi cheá taïo. Ñöùng ñaàu laø coâng ty INTEL vaø raát nhieàu
coâng ty khaùc nhö : AMD, SIEMENS, PHILIPS, DALLAS, OKI …
Ngoaøi ra coøn coù caùc coâng ty khaùc cuõng coù nhöõng hoï
vi ñieàu khieån rieâng nhö:
Hoï 68HCOS cuûa coâng ty Motorola
Hoï ST62 cuûa coâng ty SGS-THOMSON
Hoï H8 cuûa coâng ty Hitachi
Hoï pic cuaû coâng ty Microchip
III.KHAÛO SAÙT BOÄ VI ÑIEÀU KHIEÅN 8051 VAØ 8031:
IC vi ñieàu khieån 8051/8031 thuoäc hoï MCS51 coù caùc ñaët
ñieåm sau :
4kbyte ROM (ñöôïc laäp trình bôûi nhaø saûn xuaát chæ
coù ôû 8051)
128 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 4µs
1.CAÁU TRUÙC BEÂN TRONG CUÛA 8051 / 8031 :

Trang 12
Luaân vaên toát nghieäp

INT\*1

INT\*0
TIMER2
TIMER1
PORT noái
tieàp
Rom T1*
Ñieàu Caùc 128 4K-8051 Timer1
khieån ùthanh byte T2*
OK-8031 Timer2
ngaét ghi Ram

CPU

Taïo Ñieàu Port


Caùc
dao khieån noái
port I\O
bus tieáp

P0 P1 P2
EA\ RST PSEN ALE
P3
TXD* RXD*

Hình 2.1 : Sô Ñoà Khoái 8051 / 8031


Phaàn chính cuûa vi ñieàu khieån 8051 / 8031 laø boä xöû lí
trung taâm (CPU: central processing unit ) bao goàm :
Thanh ghi tích luõy A
Thanh ghi tích luõy phuï B, duøng cho pheùp nhaân vaø
pheùp chia
Ñôn vò logic hoïc (ALU : Arithmetic Logical Unit )
Töø traïng thaùi chöông trình (PSW : Prorgam Status Word)
Boán baêng thanh ghi
Con troû ngaên xeáp
Ngoaøi ra coøn coù boä nhôù chöông trình, boä giaûi maõ
leänh, boä ñieàu khieån thôøi gian vaø logic.
Ñôn vò xöû lí trung taâm nhaän tröïc tieáp xung töø boä giao
ñoäng, ngoaøi ra coøn coù khaû naêng ñöa moät tín hieäu giöõ
nhòp töø beân ngoaøi.
Chöông trình ñang chaïy coù theå cho döøng laïi nhôø moät
khoái ñieàu khieån ngaét ôû beân trong. Caùc nguoàn ngaét coù
theå laø : caùc bieán coá ôû beân ngoaøi , söï traøn boä ñeám ñònh
thôøi hoaëc cuõng coù theå laø giao dieän noái tieáp.
Trang 13
Luaân vaên toát nghieä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 14
Luaân vaên toát nghieäp

40
30
p 19 Vc
Po.7 32 AD7
12MH XTAL1 c Po.6 33 AD6
z Po.5 34 AD5
XTAL2 Po.4 35
18 AD4
30 Po.3 36 AD3
p Po.2 37 AD2
Po.1 38 AD1
29 Po.0 39 AD0
30
PSEN\ 8
ALE P2.7 7
31
P2.6 6
9
EA\ P2.5 5
RET P2.4 4
P2.3 3
R 17 P2.2 2
D\W 16 P2.1 1
R\ 15 P2.0
T1 14 2 A1
T0 13 P
8 5
INT1 12 1.7
2 A1
INT0 11 P
7 4
TXD 10 1.6
2 A1
RXD P
6 3
1.5
2 A1
P
5 2
1.4
Vss 2 A1
P
4 1
1.3
20
Hình 2.2 : Sô Ñoà Chaân 8051
a.port0 : laø port coù 2 chöùc naêng ôû treân chaân töø 32
ñeán 39 trong caùc thieát keá côõ nhoû
( khoâng duøng boä nhôù môû roäng ) coù hai chöùc naêng nhö
caùc ñöôøng IO. Ñoái vôùi caùc thieát keá côõ lôùn ( vôùi boä nhôù
môû roäng ) noù ñöôïc keát hôïp keânh giöõ a caùc bus )
b.port1 : port1 laø moät port I/O treân caùc chaân 1-8. Caùc
chaân ñöôïc kyù hieäu P1.0, P1.1, P1.2 … coù theå duøng cho caùc
thieát bò ngoaøi neáu caàn. Port1 khoâng coù chöùc naêng khaùc, vì
vaäy chuùng ta chæ ñöôïc duøng trong giao tieáp vôùi caùc thieát
bò ngoaøi.
c.port2 : port2 laø moät port coâng duïng keùp treân caùc
chaân 21 – 28 ñöôïc duøng nhö caùc ñöôøng xuaát nhaäp hoaëc laø
byte cao cuûa bus ñòa chæ ñoái vôùi caùc thieát keá duøng boä
nhôù môû roäng.
d.Port3 : port3 laø moät port coâng duïng keùp treân caùc
chaân 10 – 17. Caùc chaân cuûa port naøy coù nhieàu chöùc naêng,
caùc coâng duïng chuyeån ñoåi coù lieân heä vôùi caùc ñaëc tín
ñaëc bieät cuûa 8051 / 8031 nhö ôû baûng sau :
Trang 15
Luaân vaên toát nghieäp

Bit Teân Chöùc naêng chuyeån ñoåi

P3.0 RXD Döõ lieäu nhaän cho port noái tieáp


P3.1 TXD Döõ lieäu phaùt cho port noái tieáp
P3.2 INTO Ngaét 0 beân ngoaøi
P3.3 INT1 Ngaét 1 beân ngoaøi
P3.4 TO Ngoõ vaøo cuûa timer/counter 0
P3.5 T1 Ngoõ vaøo cuûa timer/counter 1
P3.6 WR Xung ghi boä nhôù döõ lieäu ngoaøi
P3.7 RD Xung ñoïc boä nhôù döõ lieäu
ngoaøi

Baûng 2.1 : Chöùc naêng cuûa caùc chaân treân port3


e.PSEN (Program Store Enable ) : 8051 / 8031 coù 4 tín hieäu
ñieàu khieån
PSEN laø tín hieäu ra treân chaân 29. Noù laø tín hieäu ñieàu
khieån ñeå cho pheùp boä nhôù chöông trình môû roäng vaø
thöôøng ñöôïc noái ñeán chaân OE (Output Enable) cuûa moät
EPROM ñeå cho pheùp ñoïc caùc bytes maõ leänh.
PSEN seõ ôû möùc thaáp trong thôøi gian laáy leänh. Caùc maõ
nhò phaân cuûa chöông trình ñöôïc ñoïc töø EPROM qua bus vaø
ñöôïc choát vaøo thanh ghi leänh cuûa 8051 ñeå giaûi maõ leänh.
Khi thi haønh chöông trình trong ROM noäi (8051) PSEN seõ ôû möùc
thuï ñoäng (möùc cao).
f.ALE (Address Latch Enable ) :
tín hieäu ra ALE treân chaân 30 töông hôïp vôùi caùc thieát bò
laøm vieäc vôùi caùc xöû lí 8585, 8088, 8086, 8051 duøng ALE moät
caùch töông töï cho laøm vieäc giaûi caùc keânh caùc bus ñòa chæ
vaø döõ lieäu khi port 0 ñöôïc duøng trong cheá ñoä chuyeån ñoåi
cuûa noù : vöøa laø bus döõ lieäu vöøa laø buùyt thaáp cuûa ñòa
chæ, ALE laø tín hieäu ñeå choát ñòa chæ vaøo moät thanh ghi
beân ngoaøi trong nöõa ñaàu cuûa chu kyø boä nhôù. Sau ñoù, caùc
ñöôøng port 0 duøng ñeå xuaát hoaëc nhaäp döõ lieäu trong nöõa
sau chu kyø cuûa boä nhôù.
Caùc xung tín hieäu ALE coù toác ñoä baèng 1/6 laàn taàn soá
dao ñoäng treân chip vaø coù theå ñöôïc duøng laø nguoàn xung
nhòp cho caùc heä thoáng. Neáu xung treân 8051 laø 12MHz thì ALE
coù taàn soá 2MHz. Chæ ngoaïi tröø khi thi haønh leänh MOVX, moät
xung ALE seõ bò maát. Chaân naøy cuõng ñöôïc laøm ngoõ vaøo cho
xung laäp trình cho EPROM trong 8051.
Trang 16
Luaân vaên toát nghieäp
g.EA (External Access) :
Tín hieäu vaøo EA treân chaân 31 thöôøng ñöôïc maéc leân
möùc cao (+5V) hoaëc möùc thaáp (GND). Neáu ôû möùc cao, 8051
thi haønh chöông trình töø ROM noäi trong khoaûng ñòa chæ thaáp
(4K). Neáu ôû möùc thaáp, chöông trình chæ ñöôïc thi haønh töø boä
nhôù môû roäng. Khi duøng 8031, EA luoân ñöôïc noái möùc thaáp vì
khoâng coù boä nhôù chöông trình treân chip. Neáu EA ñöôïc noái
möùc thaáp boä nhôù beân trong chöông trình 8051 seõ bò caám
vaø chöông trình thi haønh töø EPROM môû roäng. Ngöôøi ta coøn
duøng chaân EA laøm chaân caáp ñieän aùp 21V khi laäp trình cho
EPROM trong 8051.
h.SRT (Reset) :
Ngoõ vaøo RST treân chaân 9 laø ngoõ reset cuûa 8051. Khi tín
hieäu naøy ñöôïc ñöa leân muùc cao (trong ít nhaát 2 chu kyø
maùy ), caùc thanh ghi trong 8051 ñöôïc taûi nhöõng giaù trò thích
hôïp ñeå khôûi ñoäng heä thoáng.
i.Caùc ngoõ vaøo boä dao ñoäng treân chip :
Nhö ñaõ thaáy trong caùc hình treân , 8051 coù moät boä dao
ñoäng treân chip. Noù thöôøng ñöôïc noái vôùi thaïch anh giöõa hai
chaân 18 vaø 19. Caùc tuï giöõa cuõng caàn thieát nhö ñaõ veõ.
Taàn soá thaïch anh thoâng thöôøng laø 12MHz.
j.Caùc chaân nguoàn :
8051 vaän haønh vôùi nguoàn ñôn +5V. Vcc ñöôïc noái vaøo
chaân 40 vaø Vss (GND) ñöôïc noái vaøo chaân 20.
3.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
Trang 17
Luaân vaên toát nghieäp

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

Trang 18
Luaân vaên toát nghieäp

RAM ña duïng
30
2F
7F 7E 7 7C 7 7A 79 78
2E
D B
2D
77 76 75 74 73 72 71 70
2C
2B 6F 6E 6 6C 6 6A 69 68
2A D B
29 67 66 65 64 63 62 61 60
28 5F 5E 5 5C 5 5A 59 58
27 D B
26 57 56 55 54 53 52 51 50
25 4F 4E 4 4C 4 4A 49 48
24 D B
23 47 46 45 44 43 42 41 40
22 3F 3E 3 3C 3 3A 39 38
21 D B
20 37 36 35 34 33 32 31 30
1F 2F 2E 2 2C 2 2A 29 28
18 D B
17 27 26 25 24 23 22 21 20
10 1F 1E 1 1C 1 1A 19 18
0F D B
08 17 16 15 14 13 12 11 10
07 0F 0E 0 0C 0 0A 09 08
00 D B
07 06 05 04 03 02 01 00
BANK 3
BANK 2
BANK 1
Default register
Bank for RO÷R7

Baûng toùm taét baûn baûn ñoà vuøng nhôù treân chip data
8051

Ñòa chæ byte Ñòa chæ bit

Trang 19
Luaân vaên toát nghieäp
FF
F0 F7 F6 F5 F4 F3 F2 F1 F0 B
E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC
D0
D D D5 D4 D3 D2 D1 D0 PSW
B8 7 6

B0 - - - BC BB BA B9 B8 IP

A8 B7 B6 B5 B4 B3 B2 B1 B0 P3
A0
AF - - AC AB AA A9 A8 IE

99 A7 A6 A5 A4 A3 A2 A1 A0 P2
98
SBUF
Not bit addressable
90
9F 9E 9D 9C 9B 9A 99 98 SCON
8D
8C 97 96 95 94 93 92 91 90 P1
8B
8A TH1
Not bit addressable
89 TH0
Not bit addressable
Not bit addressable
TL1
Not bit addressable TL0
Not bit addressable T
MOD
88 8F 8E 8D 8C 8B 8A 89 88 TCON
87 Not bit addressable PCON

83 Not bit addressable DPH


82 Not bit addressable DPL
81 Not bit addressable SP
80 87 86 85 84 83 82 81 80 PO

Toùm taét boä nhôù döõ lieäu treân chip


Moïi ñòa chæ trong vuøng RAM ña duïng ñeàu coù theå ñöôïc
truy xuaát töï do duøng caùch ñaùnh ñòa chæ tröïc tieáp hoaëc
giaùn tieáp. Ví duï, ñeå ñoïc noäi dung ôû ñòa chæ 5FH cuûa RAM
noäi vaøo thanh ghi tích luõy leänh sau seõ ñöôïc duøng :
MOV A, 5FH
Leänh naøy di chuyeån moät buùyt döõ lieäu duøng caùch
ñaùnh ñòa chæ tröïc tieáp ñeå xaùc ñònh “ñòa chæ nguoàn” (5FH).
Ñích nhaän döõ lieäu ñöôïc ngaàm xaùc ñònh trong maõ leänh laø
thanh ghi tích luõy A.

Trang 20
Luaân vaên toát nghieäp
RAM beân trong cuõng coù theå ñöôïc truy xuaát duøng caùch
ñaùnh ñòa chæ giaùn tieáp qua RO hay R1. Ví duï, sau khi thi haønh
cuøng nhieäm vuï nhö leänh ñôn ôû treân :
MOV R0, #5FH
MOV A, @R0
Leänh ñaàu duøng ñò hæ töùc thôøi ñeå di chuyeån giaù trò
5FH vaøo thanh ghi R0 vaø leänh thöù hai duøng ñòa tröïc tieáp ñeå
di chuyeån döõ lieäu “ñöôïc troû bôûi R0” vaøo thanh ghi tích luõy.
b.RAM ñòa chæ hoùa töøng bit :
8051 / 8031 chöùa 210 bit
ñöôïc ñòa chæ hoùa, trong ñoù 128 bit laø ôû caùc ñòa chæ
byte 20H ñeán 2FH, vaø phaàn coøn laïi trong caùc thanh ghi chöùc
naêng ñaëc bieät .
Y töôûng truy xuaát töøng bit rieâng reõ baèng meàm laø moät
ñaëc tín tieän lôïi cuûa vi ñieàu khieån noùi chung. Caùc bit coù theå
ñöôïc ñaët, xoùa, AND,OR …vôùi moät leänh ñôn. Ña soá caùc chi
xöû lí ñoøi hoûi moät chuoåi leänh ñoïc – söõa – ghi ñeå ñaït ñöôïc
hieäu quaû töông töï. Hôn nöõa, caùc port I/0 cuõng ñöôïc ñòa chæ
töøng bit laøm ñôïn giaûn phaàn meàm xuaát nhaäp töøng bit.
Coù 128 bit ñöôïc ñòa chæ hoùa ña duïng ôû caùc byte 20H
ñeán 2FH. Caùc ñòa chæ naøy ñöôïc truy xuaát nhö caùc byte
hoaëc caùc bit phuï thuoäc vaøo leänh ñöôïc duøng . ví duï, ñeå ñaët
bit 67H, ta duøng leänh sau :
SETB 67H
Chuù yù raèng “ñòa chæ bit 67H” laø bit coù troïng soá lôùn
nhaát (MSB) ôû “ñòa chæ byte 2CH” leänh treân seõ khoâng taùc
ñoäng ñeán caùc bit khaùc cuûa ñòa chæ naøy.
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
Trang 21
Luaân vaên toát nghieäp
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û.
a. Töø traïng thaùi chöông trình:
Töø traïng thaùi chöông trình (PSW: Program Status Word) ôû ñòa
chæ D0H chöùa caùc bit traïng thaùi nhö baûng toùm taét sau:

Bit Kyù hieäu Ñòa chæ Yù nghóa


PSW.7 CY D7H Côø nhôù
PSW.6 AC D6H Côø nhôù phuï
PSW.5 F0 D5H Côø 0
PSW.4 RS1 D4H Bit 1 choïn bank thanh
PSW.3 RS0 D3H ghi
Bit choïn bank thanh ghi.
00=bank 0; ñòa chæ
00H-07H
01=bank 1: ñòa chæ
PSW.2 OV D2H 08H-0FH
PSW.1 D1H 10=bank 2:ñòa chæ 10H-
PSW.0 P D0H 17H
11=bank 3:ñòa chæ 18H-

Trang 22
Luaân vaên toát nghieäp
1FH
Côø traøn
Döï tröõ
Côø Parity chaün.

Baûng 21: Töø traïng thaùi chöông trình


• Côø nhôù (CY) coù coâng duïng keùp. Thoâng thöôøng noù ñöôïc
duøng cho caùc leänh toaùn hoïc: noù seõ ñöôïc set neáu coù
moät soá nhôù sinh ra bôûi pheùp coäng hoaëc coù moät soá
möôïn pheùp tröø . Ví duï, neáu thanh ghi tích luõy chöùa FFH, thì
leänh sau:
ADD A,#1
Seõ traû veà thanh ghi tích luõy keát quûa 00H vaø set côø
nhôù trong PSW.
Côø nhôù cuõng coù theå xem nhö moät thanh ghi 1 bit cho
caùc leänh luaän lyù thi haønh treân bit. Ví duï, leänh seõ AND bit
25H vôùi côø nhôù vaø ñaët keát quûa trôû vaøo côø nhôù:
ANL C,25H
• Côø nhôù phuï:
Khi coäng caùc soá BCD, côø nhôù phuï (AC) ñöôïc set neáu
keát quûa cuûa 4 bit thaáp trong khoaûng 0AH ñeán 0FH. Neáu caùc
giaù trò coäng ñöôïc laø soá BCD, thì sau leänh coäng caàn coù DA
A( hieäu chænh thaäp phaân thanh ghi tích luõy) ñeå mang keát
quûa lôùn hôn 9 trôû veà taâm töø 0÷9.
• Côø 0
Côø 0 (F0)laø moät bit côø ña duïng daønh caùc öùng duïng
cuûa ngöôøi duøng.
• Caùc bit choïn bank thanh ghi
Caùc bit choïn bank thanh ghi (RSO vaø RS1) xaùc ñònh bank
thanh ghi ñöôïc tích cöïc. Chuùng ñöôïc xoùa sau khi reset heä
thoáng vaø ñöôïc thay ñoåi baèng phaàn meàm neáu caàn. Ví duï,
ba leänh sau cho pheùp bank thanh ghi 3 vaø di chuyeån noäi dung
cuûa thanh ghi R7 (ñòa chæ byte IFH) ñeán thanh ghi tích luõy:
SETB RS1
SETB RSO
MOV A,R7
Khi chöông trình ñöôïc hôïp dòch caùc ñòa chæ bit ñuùng ñöôïc
thay theá cho caùc kyù hieäu “RS1” vaø “RS0”. Vaäy leänh SETB RS1
seõ gioáng nhö leänh SETB 0D4H.
• Côø Traøn
Côø traøn (OV) ñöôïc set moät leänh coäng hoaëc tröø neáu
coù moät pheùp toaùn bò traøn. Khi caùc soá coù daáu ñöôïc coäng
hoaëc tröø vôùi nhau, phaàn meàm coù theå kieåm tra bit naøy ñeå
xaùc ñònh xem keát quûa cuûa noù coù naèm trong taàm xaùc ñònh

Trang 23
Luaân vaên toát nghieäp
khoâng. Khi caùc soá khoâng daáu ñöôïc coäng, bit OV coù theå
ñöôïc boû qua. Caùc keát quûa lôùn hôn +127 hoaëc nhoû hôn –128
seõ set bit OV.
b. Thanh ghi B:
Thanh ghi B ôû ñòa chæ F0H ñöôïc duøng cuøng vôùi thanh ghi
tích luõy A cho caùc pheùp toaùn nhaân vaø chia. Leänh MUL AB
seõ nhaân caùc giaù trò khoâng daáu 8 bit trong A vaø B roài traû
veà keát quûa 16 bit trong A (byte thaáp) vaø B (byte cao). Leänh
DIV AB seõ chia A cho B roài traû veà keát quûa nguyeân trong A vaø
phaàn dö trong B. Thanh ghi B cuõng coù theå ñöôïc xem nhö thanh
ghi ñeäm ña duïng. Noù ñöôïc ñòa chæ hoùa ttöøng bit baèng caùc
ñòa chæ bit FOH ñeán F7H.
c. Con troû ngaên xeáp:
Con troû ngaên xeáp (SP) laø moät thanh ghi 8 bit ôû ñòa chæ
81H. Noù chöùa ñòa chæ cuûa byte döõ lieäu hieän haønh treân
ñænh cuûa ngaên xeáp. Caùc leänh treân ngaên xeáp bao goàm
caùc thao taùc caát döõ lieäu vaøo ngaên xeáp vaø laáy döõ lieäu ra
khoûi ngaên xeáp. Leänh caát döõ lieäu vaøo ngaên xeáp seõ laøm
taêng SP tröôùc khi ghi döõ lieäu, vaø leänh laáy döõ lieäu ra khoûi
ngaên xeáp seõ doïc döõ lieäu vaø laøm giaûm SP. Ngaên xeáp cuûa
8051/8031 ñöôïc giöõ trong RAM noäi vaø ñöôïc giôùi haïn caùc ñòa
chæ coù theå truy xuaát baèng ñòa chæ giaùn tieáp. chuùng laø 128
byte ñaàu cuûa 8051/8031.
Ñeå khôûi ñoäng laïi SP vôùi ngaên xeáp baét ñaàu taïi 60H, caùc
leänh sau ñaây ñöôïc duøng:
MOV SP,#%FH
Treân 8051/8031 ngaên xeáp bò giôùi haïn 32 byte vì ñòa chæ
cao nhaát cuûa RAM treân chip laø 7FH. Sôû dó cuøng giaù trò 5FH vì
SP seõ taêng leân 60H tröôùc khi caát byte döõ leäu ñaàu tieân.
Ngöôøi thieát keá coù theå choïn khoâng phaûi khôûi ñoäng laïi
con troû ngaên xeáp maø ñeå noù laáy giaù trò maëc ñònh khi reset
heä thoáng. Giaù trò maêc ñònh ñoù laø 07H vaø keát quûa laø
ngaên ñaàu tieân ñeå caát döõ lieäu coù ñòa chæ 08H. Neáu phaàn
meàm öùng duïng khoâng khôûi ñoäng laïi SP , bank thanh ghi 1
(coù theå caû 2 vaø 3) seõ khoâng duøng ñöôïc vì vuøng RAM naøy
ñaõ ñöôïc duøng laøm ngaên xeáp.
Ngaên xeáp ñöôïc truy xuaát tröïc tieáp baèng caùc leänh PUSH
vaø POP ñeå löu giöõ taïm thôøi vaø laáy laïi döõ lieäu hoaëc ñöôïc
truy xuaát ngaàm baèng caùc leänh goïi chöông trình con (ACALL,
LACALL) vaø caùc leänh trôû veà (RET,RETI) ñeå caát vaø laáy laïi
boä ñeám chöông trình.
d. Con troû döõ lieäu:
Con troû döõ lieäu (DPTR) ñöôïc duøng ñeå truy xuaát boä nhôù
ngoaøi laø moät thanh ghi 16 bit ôû ñòa chæ 82H(DPL: byte thaáp)
vaø 83H (DPH:byte cao). Ba leänh sau seõ ghi 55H vaøo RAM ngoaøi
ôû ñòa chæ 1000H:
MOV A,#55H
MOV DPTR,#1000H
Trang 24
Luaân vaên toát nghieäp
MOVX @DPTR,A
Leänh ñaàu tieân duøng ñòa chæ töùc thôøi ñeå taûi döõ lieäu
55H vaøo thanh ghi tích luõy, leänh thöù hai cuõng duøng ñòa chæ
töùc thôøi, laàn naøy ñeå taûi döõ lieäu 16 bit 1000H vaøo con troû
döõ lieäu. Leänh thöù ba duøng ñòa chæ giaùn tieáp ñeå di chuyeån
döõ lieäu trong A (55H) ñeán RAM ngoaøi ôû ñòa chæ ñöôïc chöùa
trong DPTR (1000H)
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:

Bit Kyù hieäu Yù nghóa


SMOD Bit gaáp ñoâi toác ñoä baud, neáu
ñöôïc set thì toác ñoä baud seõ
taêng gaáp ñoâi trong caùc mode
6 1,2 vaø 3 cuûa port noái tieáp
5 Khoâng ñònh nghóa

Trang 25
Luaân vaên toát nghieäp
4 Khoâng ñònh nghóa
3 GF1 Khoâng ñònh nghóa
2 GF0 Bit côø ña duïng 1
1 PD Bit côø ña duïng 0
Giaûm coâng suaát, ñöôïc set ñeå
0 IDL kích hoaït mode giaûm coâng suaát,
chæ thoaù khi reset
Mode chôø, set ñeå kích hoaït mode
chôø, chæ thoaùt khi coù ngaét
hoaëc reset heä thoáng.
Baûng 2.2 :Thanh ghi ñieàu khieån coâng suaát (PCON)
5/. Boä nhôù ngoaøi.
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
D
Q A0-A7
EA M o ät c h u k y ø m a ùy 74HC37
8051 3 EPROM
S1 S2 S3 S4 S5 S6 S1

P1 P2 ALE
P1 P2 P1 P2 P1 P2 P1 P2 A8-A15
P1 P2 P1 P2

OSC
Port OE
2
A L E Hình 2.5 Giao tieáp giöõa 8051/8031 vaø EPROM
Moät chu kyø maùy cuûa 8051/8031 coù 12 chu kyø xung
nhòp. Neáu boä dao ñoäng treân chip ñöôïc laùi bôûi moät thaïch
PSEN
anh 12MHz thì chu kyø maùy keùo daøi 1µs. Trong moät chu kyø
maùy seõ coù 2 xung ALE vaø 2 byte ñöôïc ñoïc töø boä nhôù
P o rt 2 PC H PC H
Trang 26
P o rt 1
PC L O pcode PC L
Luaân vaên toát nghieäp
chöông trình (neáu leänh hieän haønh laø moät byte thì byte thöù
hai seõ ñöôïc loaïi boû). Giaûn ñoà thôøi gian cuûa moät laàn laáy
leänh ñöôïc veõ ôû hình sau:

Hình 2.6: Giaûn ñoà thôøi gian ñoïc boä nhôù chöông
trình ngoaøi.

b/ Truy xuaát boä nhôù döõ lieäu ngoaøi:

Port 0
D0-D7
8051 RAM
74HC37
EA 3
O D A0-A7
ALE G
A8-A15
Port
2
OE
Hình RD
2.7: Giao tieáp giöõa 8051/8031 vaø
WE
RAM
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æ.

Trang 27
Luaân vaên toát nghieäp
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 L E

PSEN

R D

P o rt 2 PC H DPH

P o rt 0
Hình 2.8:
PC L Giaûn
O p c o d e ñoà
D P LthôøiD Agian
TA 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.
+5 V
+5 V
100 10UF

8 ,2 K

Hình 2.9: Maïch reset heä thoáng.


Traïng thaùi cuûa taát caû caùc thanh ghi cuûa 8051/8031 sau
khi reset heä thoáng ñöôïc toùm taét trong baûng sau:

Thanh ghi Noäi dung


Ñeám chöông trình 0000H
Tích luõy 00H
B 00H
PSW 00H

Trang 28
Luaân vaên toát nghieäp
SP 07H
DPTR 0000H
Port 0-3 FFH
IP XXX00000B
IE 0XX00000B
Caùc thanh ghi ñònh thôøi 00H
SCON 00H
SBUF 00H
PCON(HMOS) 0XXXXXXB
PCON(CMOS) 0XXX0000B

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 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:
Trang 29
Luaân vaên toát nghieäp
SFR MUÏC ÑÍCH ÑÒA Ñòa chæ hoùa töøng
CHÆ bit
TCON Ñieàu khieån 88H Coù
TMOD timer 89H Khoâng
TL0 Cheá ñoä timer 8AH Khoâng
TL1 Byte thaáp cuûa 8BH Khoâng
TH0 timer 0 8CH Khoâng
TH1 Byte thaáp cuûa 8DH Khoâng
timer 1
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.

Bit Teân Timer Moâ taû


7 GATE 1 Bit (Môû) coång, khi leân 1 timer chæ chaïy
khi INT1 ôû möùc cao.
6 C/T 1 Bit choïn cheá ñoä counter/timer
1=boä ñeám söï kieän
0=boä ñònh khoaûng thôøi gian
5 M1 1 Bit 1 cuûa cheá ñoä(mode)
4 M0 1 Bit 0 cuûa cheá ñoä
00: cheá ñoä 0 : timer 13 bit
01: cheá ñoä 1 : timer 16 bit
10: cheá ñoä 2 : töï ñoäng naïp laïi 8255A
bit
11: cheá ñoä 3 : taùch timer
3 GATE 0 Bit (môû) coång
2 C/T 0 Bit choïn counter/timer
1 M1 0 Bit 1 cuûa cheá ñoä
0 M0 0 Bit 0 cuûa cheá ñoä

Trang 30
Luaân vaên toát nghieäp
Baûng 2.5: Toùm taét thanh ghi TMOD
7.3 Thanh ghi ñieàu khieån timer (TCON)
Thanh ghi TCON chöùa caùc bit traïng thaùi vaø caùc bit ñieàu
khieån cho timer 0 vaø timer 1.
Bit Kyù hieäu Ñòa chæ Moâ taû
TCON.7 TF1 8FH Côø baùo traøn timer 1. Ñaët bôûi phaàn
cöùng khi traøn, ñöôïc xoùa bôûi phaàn
meàm hoaëc phaàn cöùng khi boä xöû lyù
chæ ñeán chöông trình phuïc vuï ngaét.

TCON.6 TR1 8EH Bit ñieàu khieån timer 1 chaïy. Ñaët/xoùa


baèng phaàn meàm cho timer chaïy/ngöng.
TCON.5 TF0 8DH Côø baùo traøn timer 0
TCON.4 TR0 8CH Bit ñieàu khieån timer 0 chaïy
TCON.3 IE1 8BH Côø caïnh ngaét 1 beân ngoaøi, ñaëc bôûi
TCON.2 IT1 8AH Côø kieåu ngaét moät beân ngoaøi.
phaàn cöùng khi phaùt hieän moät caïnh
xuoáng ôû INT1, xoùa baèng phaàn meàm
hoaëc phaàn cöùng khi CPU chæ ñeán
chöông trình phuïc vuï ngaét.
Ñaët/xoùa baèng phaàn meàm ñeà ngaét
ngoaøi tích cöïc caïnh xuoáng/möùc thaáp
TCON.1 IE0 89H Côø caïnh ngaét 0 beân ngoaøi
TCON.0 IT0 88H Côø kieåu ngaét 0 beân ngoaøi
Baûng 2.6: Toùm taét thanh ghi TCON

7. 4 Caùc cheá ñoä timer.


a) Cheá ñoä 0, cheá ñoä timer 13 bit.
Ñeå töông thích vôùi 8048 (coù tröùôùc 8051)
Ba bit cao cuûa TLX (TL0 vaø/hoaêc TL1) khoâng duøng

TLx THx TFx


Xung nhòp (5 bit) (8
timer bit)
Côø baùo traøn
b) Cheá ñoä 1- cheá ñoä timer 16 bit.
Hoaït ñoäng nhö timer 16 bit ñaày ñuû.
Côø baùo traøn laø bit TFx trong TCON coù theå ñoïc hoaëc ghi
baèng phaàm meàm.
MSB cuûa giaù trò trong caùc thanh ghi timer laø bit 7 cuûa
THx vaø LBS laø bit 0 cuûa TLx. Caùc thanh ghi timer (Tlx/THx) coù
theå ñöôïc ñoïc hoaëc ghi baát cöù luùc naøo baèng phaàm meàm.

TLx THx
Xung nhòp (5 bit) (8 TFx
timer bit)
Côø baùo traøn
Trang 31
Luaân vaên toát nghieäp
c) Cheá ñoä 0- cheá ñoä töï ñoäng naïp laïi 8 bit.
TLx hoaït ñoäng nhö moät timer 8 bit, trong khi ñoù THx vaãn
giöõ nguyeân giaù trò ñöôïc naïp. Khi soá ñeám traøn töù FFH ñeán
00H, khoâng nhöõng côø timer ñöôïc set maø giaù trò trong THx
ñoàng thôøi ñöôïc naïp vaøo TLx. Vieäc ñeám tieáp tuïc töø giaù trò
naøy leân ñeán FFH xuoáng 00H vaø naïp laïi... cheá ñoä naøy raát
thoâng duïng vì söï traøn timer xaûy ra trong nhöõng khoaûng thôøi
gian nhaát ñònh vaø tuaàn hoaøn moät khi ñaõ khôûi ñoäng TMOD
vaø THx.

TLx
(8 bit) TFx
Xung nhòp
timer
Côû baùo traøn
Naïp laïi

THx
(8 bit)

d) Cheá ñoä 3- cheá ñoä taùch timer


Timer 0 taùch thaønh hai timer 8 bit (TL0 vaø TH0), TL0 coù
côø baùo traøn laø TF0 vaø TH0 coù côø baùo traøn laø TF1.
Timer 1 ngöng ôû cheá ñoä 3, nhöng coù theå ñöôïc khôûi
ñoäng baèng caùch chuyeån sang cheá ñoä khaùc. Giôùi haïn duy
nhaát laø côø baùo traøn TF1 khoâng coøn bò taùc ñoäng khi timer 1
bò traøn vì noù ñaõ ñöôïc noái tôùi TH0.
Khi timer 0 ôû cheá ñoä 3, coù theå cho timer 1 chaïy vaø ngöng
baèng caùch chuyeån noù ra ngoaøi vaø vaøo cheá ñoä 3. Noù vaãn
coù theå ñöôïc söû duïng bôûi port noái tieáp nhö boä taïo toác ñoä
baund hoaëc noù coù theå ñöôïc söû duïng baèng baát cöù caùch
naøo khoâng caàn ngaét (vì noù khoâng coøn ñöôïc noái vôùi TF1).

Xung nhòp TL1


Timer TH1

Xung nhòp
Timer TL0 TF0
Côø baùo traøn

I/12 Fosc
TH0 TF1
Côø baùo traøn
7.5Nguoàn taïo xung nhòp.
Trang 32
Luaân vaên toát nghieäp
Coù hai nguoàn taïo xung nhòp coù theå coù, ñöôï choïn baèng
caùch ghi vaøo bit C/T (counter/timer) trong TMOD khi khôûi ñoäng
timer. Moät nguoàn taïo xung nhòp duøng cho ñònh khoaûng thôøi
gian, caùi khaùc cho ñeám söï kieän.

Crytal On chip
Osillat Timer
or ÷12
Clock
T0 or T1
pin

− 0=Up (Internal Timing)


C / T 1=Down (Event Counting)
Nguoàn xung taïo nhòp

- Ñònh khoaûng thôøi gian (interval timing)


Neáu C/T =0 hoaï t ñoäng timer lieân tuïc ñöôïc choïn vaø timer
ñöôïc duøng cho vieäc ñònh khoaûng thôøi gian. Luùc ñoù, timer
laáy xung nhòp töø boä dao ñoäng treân chip. Boä chia 12 ñöôïc
theâm vaøo ñeå giaûm taàn soá xung nhòp ñeán giaù trò thích hôïp
cho phaàn lôùn caùc öùng duïng. Nhö vaäy thaïch anh 12 MHz seõ
cho toác ñoä xung nhòp timer 1 MHz. Boùa traøn timer xaûy ra sau
moät soá (coá ñòng) xung nhòp, phuï thuoäc vaøo giaù trò ban ñaàu
ñöôïc naïp vaøo caùc thanh ghi timer TLx/THx.
- Ñeám söï kieän (Event counting)
- Neáu C/T=1, timer laáy xung nhòp töø nguoàn beân ngoaøi.
Trong haàu heát caùc öùng duïng nguoàn beân ngoaøi naøy
cung caáp cho timer moät xung kh xaûy ra moät “söï kieän “,
timer duøng ñeám söï kieän ñöôïc xaùc ñònh baèng phaàn
meàm baèng caùch ñoïc caùc thanh ghi TLx/THx vì giaù trò
16 bit trong caùc thanh ghi naøy taêng theâm 1 cho moãi söï
kieän.
Nguoàn xung nhòp ngoaøi coù töø thay ñoåi chuù7c naêng cuûa
caùc chaân port 3. Bit 4 cuûa port 3 (P3.4) duøng laøm ngoõ vaøo
taïo xung nhòp beân trong timer 0 vaø ñöôïc goïi laø “T0”. Vaø p3.5
hay “T1” laø ngoõ vaøo taïo xung nhòp cho timer 1.
7.6. Baét ñaàu döøng vaø ñieàu khieån caùc timer.
Phöông phaùp môùi ñôn giaûn nhaát ñeå baét ñaàu (cho chaïy)
vaø döøng caùc timer laø duøng caùc bit ñieàu khieån chaïy :TRx
trong TCON, TRx bò xoùa sau khi reset heä thoáng. Nhö vaäy, caùc
timer theo maëc nhieân laø bò caám (bò döøng). TRx ñöôïc ñaët leân
1 baèng phaàn meàm ñeå cho caùc timer chaïy.

Xung nhòp
Timer Caùc thanh ghi timer

0=leân : timer döøng

TRx Trang 33
Luaân vaên toát nghieäp
1=xuoáng : timer chaïy

Cho chaïy vaø döøng timer


Vì TRx ôû trong thanh ghi TCON coù ñòa chæ bit, neân deã daøng
cho vieäc ñieàu khieån caùc timer trong chöông trình. Ví duï : cho
timer 0 chaïy baèng leänh : SETB TR0 vaø döøng baèng leänh SETB
TR0
Trình bieân dòch seõ thöïc hieän vieäc chuyeån ñoåi kyù hieäu caàn
thieát töø “TR0” sang ñòa chæ bit ñuùng. SETB TR0 chính xaùc
gioáng nhö SETB 8CH.
7.7. Khôûi ñoäng vaø truy xuaát caùc thanh ghi timer.
Thoâng thöôøng caùc thanh ghi ñöôïc khôûi ñoäng moät laàn
ôû ñaàu chöông trình ñeå ñaët cheá ñoä laøm vieäc cho ñuùng. Sau
ñoù trong thaân chöông trình caùc timer ñöôïc cho chaïy, döøng ,
caùc bit côø ñöôïc kieåm tra vaø xoùa, caùc thanh ghi timer ñöôïc
ñoïc vaø caïp nhaät... theo ñoøi hoûi cuûa caùc öùng duïng.
TMOD laø thanh ghi thöù nhaát ñöôïc khôûi ñoäng vì noù ñaët
cheá ñoä hoaït ñoäng. Ví duï caùc leänh sau khi khôûi ñoäng timer 1
nhö timer 16 bit (cheá ñoä 1) coù xung nhòp töø boä dao ñoäng
treân chíp cho vieäc ñòng khoaûng thôøi gian.
MOV TMOD,#00010000B
Leänh naøyy seõ ñaët M1=0 vaû M0=1 cho cheá ñoä 1,
C/T=0 vaø GATE=0 cho xung nhòp noäi vaø xoùa caùc bit cheá ñoä
timer 0. Dó nhieân timer thaät söï khoâng baét ñaàu ñònh thôøi cho
ñeán khi bit ñieàu khieån chaïyy TR1 ñöôïc ñaët leân 1.
Neáu caàn soá ñeám ban ñaàu, caùc thanh ghi timer TL1/TH1
cuõng phaûi ñöôïc khôûi ñoäng. Nhôù laïi laø caùc timer ñeám leân
vaø ñaët côø baùo traøn khi coù söï truyeån tieáp.
FFFFH sang 0000H.
- Ñoïc timer ñang chaïy.
Trong moät soá öùng duïng caàn ñoïc giaù trò trong caùc thanh
ghi timer ñang chaïy. Vì phaûi ñoïc 2 thanh ghi timer “sai pha” coù
theå xaåy ra neáu byte thaáp traøn vaøo byte cao giöõa hai laàn
ñoïc. Giaù trò coù theå ñoïc ñöôïc khoâng ñuùng. Giaûi phaùp laø
ñoïc byte cao tröôùc, keá ñoù ñoïc byte thaáp roài ñoïc byte cao laïi
moät laàn nöõa. Neáu byte cao ñaõ thay ñoåi thì laäp laïi caùc hoaït
ñoäng ñoïc.
7.8 Caùc khoaûng ngaén vaø caùc khoaûng daøi.
Daõy caùc khoaûng thôøi gian coù theå ñònh thôøi laø bao
nhieâu ? vaán ñeà naøy ñöôïc khaûo saùt vôùi 8051/8031 hoaït
ñoäng vôùi taàn soá 12MHz. nhö vaäy xung nhòp cuûa caùc timer
coù taàn soá laù 1 MHz.
Khoaûng thôøi gian ngaén nhaát coù theå coù bò giôùi haïn khoâng
chæ bôûi taàn soá xung nhòp cuûa timer maø coøn bôûi phaàn
meàm. Do aûnh höôûng cuûa thôøi khoaûng thöïc hieän moät leänh.
Leäng ngaén nhaát 8051/8031 laø moät chu kyø maùy hay 1µs. Sau
ñaây laø baûng toùm taét caùc kyõ thuaät ñeå taïo nhöõng khoaûng

Trang 34
Luaân vaên toát nghieäp
thôøi gian coù chieàu daøi khaùc nhau (vôùi giaû söû xung nhòp cho
8051/8031 coù taàn soá 12 MHz)
Khoaûng thôøi gian toái ña Kyõ thuaät
≈10 - Baèng phaàn meàm
256 - Timer 8 bit vôùi töï
ñoäng naïp laïi
65535 - Timer 16 bit
Khoâng giôùi haïn - Timer 16 bit coäng vôùi caùc
voøng
laäp phaàn meàm

Caùc kyõ thuaät ñeå laäp trình caùc khoaûng thôøi gian (FOSC=12
MHz)
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
Q Thanh D
ghi
(Chæ 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)

BUS noäi
8051/8031Trang 35
Luaân vaên toát nghieäp

Hình 2.9: Sô ñoà port noái tieáp.


Thanh ghi ñieàu khieån port noái tieáp (SCON) ôû ñòa chæ 98H
laø thanh ghi coù ñòa chæ bit chöùa caùc bit traïng thaùi vaø caùc
bit ñieàu khieån. Caùc bit ñieàu khieån ñaët cheá ñoä hoaït ñoäng
cho port noái tieáp, vaø caùc bit traïng thaùi baùo caùo keát thuùc
vieäc phaùt hoaëc thu kyù töï. Caùc bit traïng thaùi coù theå ñöôïc
kieåm tra baèng phaàn meàm hoaëc coù theå ñöôïc laäp trình ñeå
taïo ngaét.
Taàn soá laøm vieäc cuûa port noái tieáp coøn goïi laø toác ñoä
baund coù theå coá ñònh (laáy töø boä giao ñoäng cuûa chip). Neáu
söû duïng toác ñoä baud thay ñoåi, timer 1 seõ cung caáp xung nhòp
toác ñoä baud vaø phaûi ñöôïc laäp trình.
8.2 Thanh ghi ñieàu khieån port noái tieáp.
Cheá ñoä hoaït ñoäng cuûa port noái tieáp ñöôïc ñaët baèng
caùch ghi vaøo thanh ghi cheá ñoä port noái tieáp (SCON) ôû ñòa
chæ 98H. Sau ñaây caùc baûng toùm taét thanh ghi SCON vaø caùc
cheá ñoä cuûa port noái tieáp :

Bit Kyù hieäu Ñòa chæ Moâ taû


SCON.7 SM0 9FH Bit 0 cuûa cheá ñoä port
noái tieáp
SCON.6 SM1 9EH Bit 1 cuûa cheá ñoä port
noái tieáp
SCON.5 SM2 9DH Bit 2 cuûa cheá ñoä 2 noái
tieáp.
cho pheùp trueàn
thoâng ñaõ xöû lyù
trong caùc cheá
ñoä 2 vaø 3 ;RI seõ
khoâng bò taùc ñoäng
neáu bit thöù
9 thu ñöôïc laø 0
SCON.4 REN 9CH Cho pheùp boä thu phaûi
ñaët leân
1 ñeå thu (nhaän) caùc kyù
töï
SCON.3 TB8 9BH Bit 8 phaùt, bit thöù 9 ñöôïc
phaùt
Trang 36
Luaân vaên toát nghieäp
caùc cheá ñoä 2 vaø 3;
ñöôïc ñaët
vaø xoùa baèng phaàn
meàm
SCON.2 RB8 9AH Bit 8 thu, bit thöù 9 thu
ñöôïc
SCON.1 TI 99H Côø ngaét phaùt. Ñaët leân
1 khi
keát thuùc phaùt kyù töï;
ñöôïc xoùa
phaàn meàm
SCON.0 RI 98H Côø ngaét thu. Ñaët leân 1
khi
Keát thuùc thu kyù töï;
ñöôïc xoùa
Baèng phaàn meàm

Baûng 2.7:Toùm taét thanh ghi cheá ñoä port noái


tieáp SCON.

SM0 SM1 Cheá ñoä Moâ taû Toác ñoä baud


0 0 0 Thanh ghi dòch Coá ñònh (Fosc/12)
0 1 1 UART 8 bit Thay ñoåi (ñaët baèng
timer)
1 0 2 UART 9 bit Coá ñònh (Fosc/12 hoaëc
Fosc/64)
1 1 3 UART 9 bit Thay ñoåi (ñaët baèng
timer)

Baûng 2.8: Caùc cheá ñoä port noái tieáp.


Tröôùc khi söû duïng port noái tieáp, phaûi khôûi ñoäng SCON
cho ñuùng cheá ñoä. Ví duï ,leänh sau:
MOV SCON,#01010010B

Khôûi ñoäng port noái tieáp cho cheá ñoä 1 (SM0/SM1=0/1),


cho pheùp boä thu (REN=1) vaø ñaët côø ngaét phaùt (TP=1) ñeå
chæ boä phaùt saün saøng hoaït ñoäng.
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 :

Trang 37
Luaân vaên toát nghieäp
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.

Dao ñoäng Xung nhòp


treân chip ÷12 toác ñoä baud

a. Cheá ñoä 0

÷64
SMOD=0
Dao ñoäng Xung nhòp
treân chip toác ñoä baud
SMOD=1
÷32
b. Cheá ñoä 2

÷32
SMOD=0
Trang 38
÷16
÷16
Luaân vaên toát nghieäp
Dao ñoäng Xung nhòp
treân chip toác ñoä baud
SMOD=1

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 39
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æ Moâ taû (1=cho


bit pheùp,0=caám)
IE.7 EA AFH Cho pheùp hoaëc caám
IE.6 EA AEH toaøn boä
IE.5 ET5 ADH Khoâng ñöôïc ñònh nghóa
IE.4 E5 ACH Cho pheùp ngaét töø timer
IE.3 ET1 ABH 2 (8052)
IE.2 EX1 AAH Cho pheùp ngaét Port noái
IE.1 ET0 A9H tieáp
IE.0 EX0 A8H Cho pheùp ngaét töø timer
1
Cho pheùp ngaét ngoaøi 1
Cho pheùp ngaét töø timer
0
Cho pheùp ngaét ngoaøi 0

Toùm taét thanh ghi IE.


b. Öu tieân ngaét.
Moãi nguoàn ngaét ñuôïc laäp trình rieâng vaøo moät trong hai
möùc öu tieân qua thanh ghi chöùc naêng ñaëc bieät ñöôïc ñòa chæ
bit Ip (Interrupt priority : öu tieân ngaét) ôû ñòa chæ B8H.

Bit Kyù Ñòa chæ Moâ taû (1=möùc cao


hieäu bit 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
IP.4 PS BCH 2 (8052)
IP.3 PT1 BBH Öu tieân cho ngaét Port noái
IP.2 PX1 BAH tieáp
IP.1 PT0 B9H Öu tieân cho ngaét töø timer
IP.0 PX0 B8H 1
Öu tieân cho ngaét ngoaøi
Öu tieân cho ngaét töø timer
0
Öu tieân cho ngaét ngoaøi 0

Toùm taét thanh ghi IP.

Trang 40
Luaân vaên toát nghieäp
Caùc ngaét öu tieân ñöôïc xoùa sau khi reset heä thoáng ñeå
ñaë ttaát caû caùc ngaét ôû möùc öu tieân thaáp hôn.
9.2 Xöû lyù ngaét.
Khi coù moät ngaén xaåy ra vaø ñöôïc CPU chaáp nhaän,
chöông trình chính bò ngaét quaõng. Nhöõng hoaït ñoäng sau xaåy
ra:
- Thi haønh hoaøn chænh leänh ñang hieän haønh.
- Caùc DC vaøo ngaét xeáp.
- Traïng thaùi ngaét hieän haønh ñöôïc caát beân trong.
- Caùc ngaét ñöôïc chaën taïi möùc cuûa ngaét.
- Nap vaøp DC ñòa chæ Vector cuûa ISR.
- ISR thöïc thi.
ISR thöïc thi vaø ñaùp öùng ngaét. ISR hoaøn taát baèng leänh
RET1. Ñieàu naøy laøm laáy laïi giaù trò cuõ cuûa PC töø ngaên xeáp
vaø laáy laïi traïng thaùi ngaét cuõ. Chöông trình laïi tieáp tuïc thi
haønh taïi nôi maø noù döøng.
• Caùc Vector ngaét.
Khi chaáp nhaän ngaét, giaù trò ñöôïc naïp vaøo PC ñöôïc goïi
laø Vector ngaét. Noù laø ñòa chæ baét ñaàu cuûa ISR cho nguoàn
taïo ngaét. Caùc Vector ngaét ñöôïc cho ôû baûng sau:

Ngaét Côø Ñòa chæ Vector


Reset heä RST 0000H
thoáng IE0 0003H
Beân ngoaøi TF0 000BH
0 IE1 0013H
Timer 0 TF1 001BH
Beân ngoaøi TI hoaëc RI 0023H
1
Timer 1
Port noái
tieáp
Caùc Vector ngaét.
Vector reset heä thoáng (RST ôû ñòa chæ 0000H) noù gioáng
nhö moät ngaét. Noù ngaét chöông trình chính vaø taûi vaøo PC
moät giaù trò môùi.
Khi chæ ñeán moät ngaét “côø gaây ngaét töï ñoäng bò xoùa
bôûi phaàn cöùng, tröø ra R1, T1 cho caùc ngaét coång noái tieáp. Vì
coù hai nguoàn coù theå coù cho ngaét naøy, khoâng thöïc teá ñeå
CPU xoùa côø ngaét naøy. Caùc bit phaûi ñöôïc kieåm tra trong ISR
ñeå xaùc ñònh nguoàn ngaét vaø côø taïo ngaét seõ ñöôïc xoùa
baèng phaàn meàm.
9.3 Caùc ngaét cuûa 8051.
a. Caùc ngaét timer.
Caùc ngaét timer coù ñòa chæ Vector ngaét laø 000BH (timer
0) vaø 001BH (timer 1). Ngaét timer xaåy ra khi caùc thanh ghi timer
(TLx ITHx) traøn vaø set côø baùo traøn (TFx) leân 1. Caùc côø timer

Trang 41
Luaân vaên toát nghieäp
(TFx) khoâng bò xoùa baèng phaàn meàm. Khi cho pheùp caùc
ngaét, TFx töï ñoäng bò xoùa baèng phaàn cöùng khi CPU chuyeån
ñeán ngaét.
b. Caùc ngaét coång noái tieáp.
Ngaét coång noái tieáp xaåy ra khi hoaëc côø phaùt (TI) hoaëc
côø ngaét thu (KI) ñöôïc ñaët leân 1. Ngaét phaùt xaåy ra khi moät
kyù töï ñaõ ñöôïc nhaän xong vaø ñang ñôïi trong SBUP ñeå ñöôïc
ñoïc.
Caùc ngaét coång noái tieáp khaùc vôùi caùc ngaét timer. Côø
gaây ra ngaét coång noái tieáp khoâng bò xoùa baèng phaàn cöùng
khi CPU chuyeån tôùi ngaét. Do coù hai nguoàn ngaét coång noái
tieáp Ti vaø RI. Nguoàn ngaét phaûi ñöôïc xaùc ñònh trong ISR vaø
côø taïo ngaét seõ ñöôïc xoùa baèng phaàn meàm. Caùc ngaét timer
côø ngaét côø ngaét ñöôïc xoùa baèng phaàn cöùng khi CPU höôùng
tôùi ISR.
c. Caùc ngaét ngoaøi.
- Caùc ngaét ngoaøi xaåy ra khi coù moät möùc thaáp hoaëc caïnh
xuoáng treân chaân INT0 hoaëc INT1 cuûa vi ñieàu khieån. Ñaây
laø chöùc naêng chuyeån ñoåi cuûa caùc bit Port 3.(Port 3.2 vaø
Port 3.3).
Caùc côø taïo ngaét naøy laø caùc bit IE0 vaù IE1 trong TCON. Khi
quyeàn ñieàu khieån ñaõ chuyeån ñeán ISR, côø taïo ra ngaét chæ
ñöôïc xoùa neáu ngaét ñöôïc tích cöïc baèng caïnh xuoáng. Neáu
ngaét ñöôïc tích cöïc theo möùc, thì nguoàn yeâu caàu ngaét beân
ngoaøi seõ ñieàu khieån möùc cuûa côø thay cho phaàn cöùng.
Söï löïa choïn ngaét tích cöïc möùc thaáp hay tích cöïc caïnh
xuoáng ñöôïc laäp trình qua caùc bit IT0 vaø IT1 trong TCON. Neáu
IT1 = 0, ngaét ngoaøi 1 ñöôïc taùc ñoäng baèng muùc thaáp ôû
chaân IT1. Neáu IT1 = 1 ngaét ngoaøi 1 seõ ñöôïc taùc ñoäng baèng
caïnh xuoáng. trong cheá ñoä naøy, neáu caùc maãu lieân tieáp
treân chaân INT1 chæ möùc cao trong moät chu kyø vaø chæ möùc
thaáp trong chu kyø keá, côø yeâu caàu ngaét IE1 trong TCON ñöôïc
ñaët leân 1, roài bit 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æ:
Trang 42
Luaân vaên toát nghieäp
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

Ñòa chæ tröïc tieáp.


Duø vaäy, trình hôïp dòch cho pheùp goïi teân caùc thanh ghi
chöùc naêng ñaëc bieät (coù ñòa chæ tröïc tieáp töø 80H ñeán FFH)
ví duï :P0 cho port 0, TMOD cho thanh ghi cheá ñoä timer...
c. Ñòa chæ giaùn tieáp.
R0 vaø R1 ñöôïc duøng ñeå chöùa ñòa chæ oâ nhôù maø leänh taùc
ñoäng ñeán. ngöôøi ta quy öôùc duøng daáu @ tröôùc R0 hoaëc R1.
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

Ñòa chæ töùc thôøi.


e. Ñòa chæ töông ñoái:
Ñòa chæ töông ñoái ñöôïc duøng trong caùc leänh nhaûy
8051/8031 duøng giaù trò 8 bit coù daáu ñeå coäng theâm vaøo
thanh ghi ñeám chöông trình (PC). Taàm nhaûy cuûa leänh naøy
Trang 43
Luaân vaên toát nghieäp
trong khoaûng töø –128 ñeán 127 oâ nhôù. Tröôùc khi coäng , thanh
ghi PC seõ taêng ñeán ñòa chæ theo sau leänh nhaûy roài tính toaùn
ñòa chæ offset caàn thieát ñeå nhaûy ñeán ñòa chæ yeâu caàu. Nhö
vaäy ñòa chæ môùi laø ñòa chæ töông ñoái so vôùi leänh keá tieáp
chöù khoâng phaûi laø baûn thaân leänh nhaûy. Thöôøng leänh naøy
coù lieân quan ñeán nhaõn ñöôïc ñònh nghóa tröôùc.

M a õ l e än h O f f s e t t ö ô n g ñ o ái

Ñòa chæ töông ñoái.

f. Ñòa chæ tuyeät ñoái:


Ñòa chæ tuyeät ñoái chæ duøng trong caùc leänh ACALL vaø JIMP.
Caùc leänh 2 byte naøy duøng ñeå reõ nhaùnh vaøo moät trang 2
Kbyte cuûa boä nhôù tröông trình baèng caùch caáp 11 bit ñòa chæ
thaáp (A0-A10) ñeå xaùc ñònh ñòa chæ ñích trong trang maõ. Coøn
5 bit cao cuûa ñòa chæ ñích (A11-A15) chính laø 5 bit cao hieän
haønh trong thanh ghi ñeám chöông trình. Vì vaäy ñòa chæ cuûa
leänh theo sau leänh reõ nhaùnh vaø ñòa chæ ñích cuûa leänh reõ
nhaùnh vaø ñòa chæ ñích cuûa leänh reõ nhaùnh caàn phaûi cuøng
trang maõ 2 Kbyte (coù cuøng 5 bit ñòa chæ cao).

A15 A11 A10 A0

xaùc ñònh trang maõ xaùc ñònh ñòa cchæ trong trang
maõ

A 10-A 8 M aõ O f f s e t t ö ô n g ñ o ái
Ñòa chæ tuyeät ñoái.

g. Ñòa chæ daøi:


Ñòa chæ daøi chæ duøng cho leänh LCALL vaø LJIMP. Caùc leänh
naøy chieám 3 byte vaø duøng 2 byte sau (byte 2 vaø byte 3) ñeå
ñònh ñòa chæ ñích cuûa leänh (16 bit). Öu ñieåm cuûa leänh naøy
coù theå söû duïng trong toaøn boä vuøng nhôù 64 Kbyte. Tuy
nhieân, leänh naøy chieám nhieàu byte vaø leä thuoäc vaøo vò trí
vuøng nhôù.

M a õ l e än h A 15-A 8 A 7 -A 0

Ñòa chæ daøi.


h. Ñòa chæ tham chieáu:
Ñòa chæ tham chieáu duøng moät thanh ghi cô baûn (hoaëc
thanh ghi ñeám chöông trình PC hoaëc thanh ghi con troû döõ lieäu
DPTR) vaø ñòa chæ offset (trong thanh ghi tích luõy A) ñeå taïo ñòa
Trang 44
Luaân vaên toát nghieäp
chæ ñöôïc taùc ñoäng cho caùc leänh JMP hoaëc MOVC. Caùc baûng
nhaûy vaø baûng tìm kieám deã daøng ñöôïc taïo ra ñeå söû duïng
ñòa chæ tham chieáu.
ñ òa c h æ c ô b a ûn O ffse t ñ òa c h æ ñ ö ô ïc t a ùc ñ o än g
P C h o a ëc D P T R + A CC =

Ñòa chæ tham chieáu.

10.2/ Caùc nhoùm leänh cuûa 8051/8031.


Taäp leänh cuûa 8051/8031 ñöôïc chia thaønh 5 nhoùm:
- Soá hoïc.
- Luaän lyù.
- Chuyeån döõ lieäu.
- Chuyeån ñieàu khieån.
Caùc chi tieát thieát laäp leänh:
Rn :Thanh ghi R0 ñeán R7 cuûa bank thanh ghi ñöôïc choïn.
Data : 8 bit ñòa chæ vuøng döõ lieäu beân trong. Noù coù theå
laø vuøng RAM döõ lieäu trong (0-127) hoaëc caùc thanh
ghi chöùc naêng ñaëc bieät.
@Ri : 8 bit vuøng RAM döõ lieäu trong (0-125) ñöôïc ñaùnh
giaù ñòa chæ giaùn tieáp qua thanh ghi R0 hoaëc R1.
#data : Haèng 8 bit chöùc trong caâu leänh.
#data 16 : Haèng 16 bit chöùa trong caâu leänh.
Addr16 : 16 bit ñòa chæ ñích ñöôïc duøng trong leänh LCALL vaø
LJMP.
Addr11 : 11 bit ñòa chæ ñích ñöôïc duøng trong leänh LCALL vaø
AJMP.
Rel : Byte offset 8 bit coù daáu ñöôïc duøng trong leänh SJMP
vaø nhöõng leänh nhaûy coù ñieàu kieän.
Bit : Bit ñöôïc ñònh ñòa chæ tröïc tieáp trong RAM döõ lieäu
noäi hoaëc caùc thanh ghi chöùc naêng ñaëc bieät.
a. Nhoùm leänh xöû lyù soá hoïc:
ADD A,Rn (1byte, 1 chu kyø maùy) : coäng noäi dung thanh ghi Rn
vaøo thanh ghi A.
ADD A,data (2,1): Coäng tröïc tieáp 1 byte vaøo thanh ghi
A.
ADD A,@Ri (1,1): Coäng giaùn tieáp noäi dung RAM chöùa taïi
ñòa chæ ñöôïc khai baùo trong Ri vaøo thanh
ghi A.
ADD A,#data (2,1):Coäng döõ lieäu töùc thôøi vaøo A.
ADD A,Rn (1,1): Coäng thanh ghi vaø côø nhôù vaøo A.
ADD A,data (2,1): Coäng tröïc tieáp byte döõ lieäu vaø côø
nhôù vaøo A.
ADDC A,@Ri (1,1): Coäng giaùn tieáp noäi dung RAM vaø côø
nhôù vaøo A.
ADDC A,#data (2,1): Coäng döõ lieäu töùc thôøi vaø côø nhôù vaøo
A.
Trang 45
Luaân vaên toát nghieäp
SUBB A,Rn (1,1): Tröø noäi dung thanh ghi A cho noäi dung
thanh ghi Rn vaø côø nhôù.
SUBB A,data (2,1): Tröø tröïc tieáp A cho moät soá vaø côø nhôù.
SUBB A,@Ri (1,1): Tröø giaùn tieáp A cho moät soá vaø côø nhôù.
SUBB A,#data (2,1): Tröø noäi dung A cho moät soá töùc thôøi vaø
côø nhôù.
INC A (1,1): Taêng noäi dung thanh ghi A leân 1.
INC Rn (1,1): Taêng noäi dung thanh ghi Rn leân 1.
INC data (2,1): Taêng döõ lieäu tröïc tieáp leân 1.
INC @Ri (1,1): Taêng giaùn tieáp noäi dung vuøng RAM leân
1.
DEC A (1,1): Giaûm noäi dung thanh ghi A xuoáng 1.
DEC Rn (1,1): Giaûm noäi dung thanh ghi Rn xuoáng 1.
DEC data (2,1): Giaûm döõ lieäu tröïc tieáp xuoáng 1
DEC @Ri (1,1): Giaûm giaùn tieáp noäi dung vuøng RAM
xuoáng 1.
INC DPTR (1,2): Taêng noäi dng con troû döõ lieäu leân 1.
MUL AB (1,4): Nhaân noäi dung thanh ghi A vôùi noäi dung
thanh ghi B.
DIV AB (1,4): Chia noäi dung thanh ghi A cho noäi dung
thanh ghi B.
DA A (1,1,): hieäu chænh thaäp phaân thanh ghi A.

b. Nhoùm leänh luaän lyù:


ANL A,Rn (1,1): AND noäi dung thanh ghi A vôùi noäi dung
thanh ghi Rn.
ANL A,data (2,1):AND noäi dung thanh ghi A vôùi döõ lieäu
tröïc tieáp.
ANL A,@Ri (1,1): AND noäi dung thanh ghi A vôùi döõ lieäu
giaùn tieáp trong RAM.
ANL A,#data (2,1): AND noäi dung thanh ghi vôùi döõ lieäu töùc
thôøi.
ANL data,A (2,1): AND moät döõ lieäu tröïc tieáp vôùi A.
ANL data,#data (3,2): AND moät döõ lieäu tröïc tieáp vôùi A moät
döõ lieäu töùc thôøi.
ANL C,bit (2,2):AND côø nhôù vôùi 1 bit tröïc tieáp.
ANL C,/bit (2,2): AND côø nhôù vôùi buø 1 bit tröïc tieáp.
ORL A,Rn (1,1): OR thanh ghi A vôùi thanh ghi Rn.
ORL A,data (2,1): OR thanh ghi A vôùi moät döõ lieäu tröïc
tieáp.
ORL A,@Ri (1,1): OR thanh ghi A vôùi moät döõ lieäu
giaùn tieáp.
ORL A,#data (2,1):OR thanh ghi A vôùi moät döõ lieäu töùc thôøi.
ORL data,A (2,1): OR moät döõ lieäu tröïc tieáp vôùi thanh
ghi A.
ORL data,#data (3,1):OR moät döõ lieäu tröïc tieáp vôùi moät
döõ lieäu töùc thôøi.
ORL C,bit (2,2): OR côø nhôù vôùi moät bit tröïc tieáp.
Trang 46
Luaân vaên toát nghieäp
ORL C,/bit (2,2): OR côø nhôù vôùi buø cuûa moät bit tröïc
tieáp.
XRL A,Rn (1,1): XOR thanh ghi A vôùi thanh ghi Rn.
XRL A,data (2,1): XOR thanh ghi A vôùi moä döõ lieäu tröïc
tieáp.
XRL A,@Ri (1,1): XOR thanh ghi A vôùi moät döõ lieäu giaùn
tieáp.
XRL A,#data (2,1): XOR thanh ghi A vôùi moä döõ lieäu töùc
thôøi.
XRL data,A (2,1): XOR moät döõ lieäu tröïc tieáp vôùi
thanh ghi A.
XRL dara,#data (3,1): XOR moät döõ lieäu tröïc tieáp vôùi moät döõ
lieäu töùc thôøi.
SETB C (1,1): Ñaët côø nhôù.
SETB bit (2,1): Ñaët moät bit tröïc tieáp.
CLR A (1,1): Xoùa thanh ghi A.
CLR C (1,1): Xoùa côø nhôù.
CPL A (1,1): Buø noäi dung thanh ghi A.
CPL C (1,1): Buø côø nhôù.
CPL bit (2,1): Buø moät bit tröïc tieáp.
RL A (1,1): Quay traùi noäi dung thanh ghi A.
RLC A (1,1): Quay traùi noäi dung thanh ghi A qua côø
nhôù.
RR A (1,1): Quay phaûi noäi dung thanh ghi A.
RRC A (1,1): Quay phaûi noäi dung thanh ghi A qua côø
nhôù.
SWAP (1,1): Quay traùi noäi dung thanh ghi A 1 nibble
(1/2byte).
c. Nhoùm leänh chuyeån döõ lieäu:
MOV A,Rn (1,1):Chuyeån noäi dung thanh ghi Rn vaøo thanh
ghi A.
MOV A,data (2,1): Chuyeån döõ lieäu tröïc tieáp vaøo thanh ghi
A.
MOV A,@Ri (1,1): Chuyeån döõ lieäu giaùn tieáp vaøo thanh ghi
A.
MOV A,#data (2,1): Chuyeån döõ lieäu töùc thôøi vaøo thanh ghi
A.
MOV Rn,data (2,2): Chuyeån döõ lieäu tröïc tieáp vaøo thanh ghi
Rn.
MOV Rn,#data (2,1): Chuyeån döõ lieäu töùc thôøi vaøo thanh ghi
Rn.
MOV data,A (2,1): Chuyeån noäi dung thanh ghi A vaøo 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.

Trang 47
Luaân vaên toát nghieä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æ).
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.
Trang 48
Luaân vaên toát nghieäp
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 49
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.

I CAÁU TRUÙC PHAÀN CÖÙNG 8255A:


8255A laø IC ngoaïi vi ñöôïc cheá taïo theo coâng ngheä LSI
duøng ñeå giao tieáp song song giöõa Microprocrssor vaø thieát bò
ñieàu khieån beân ngoaøi.

Sô ñoà chaân
8255A
P IN O U T S ( P D IP )
T O P V IE W
Sô ñoà Logic
PA3 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
VC C P B 7 -P B 0
PC 1 15 26 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

Trang 50
Luaân vaên toát nghieäp
8255A giao tieáp vôùi Microprocrssor thoâng qua 3 bus : bus döõ
lieäu bit D7-D0 bus ñòa chæ A1A0, bus ñieáu khieån
RD\,WR\.SC\.Reset.
Maõ leänh, thoâng tin traïng thaùi vaø döõ lieäu ñeàu ñöôï
truyeàn treân 8 ñöôøng döõ lieäu D7-D0. Microprocrssor gôûi döõ
lieäu ñeán 8255A hoaëc Microprocrssor ñoïc döõ lieäu töø 8255A
tuøy thuoäc vaøo leänh dieàu khieån. Caùc ñöôøng tín hieäu
RD\,WR\ cuûa 8255A ñöôïc keát noái vôùi caùc ñöôøng RD\, WR\
cuûa Microprocrssor.
Tín hieäu Reset duøng ñeå khôûi ñoäng 8255A khi caáp ñieän,
khi bò Reset caùc thanh ghi beân trong cuûa 8255A ñeàu bò xoùa
vaø 8255A ôû traïng thaùi saün saøng laøm vieäc. Khi giao tieáp vôùi
Microprocrssor, ngoõ vaøo tín hieäu Reset naøy ñöôïc keát noái tín
hieäu Reset Out cuûa Microprocrssor.
Tín hieäu Chip select CS\ duøng ñeå löïa choïn 8255A khi
Microprocrssor, giao tieáp vôùi nhieàu 8255A.
8255A coù 3 Port xuaát nhaäp (I/O) coù teân laø Port A,Port B, Port
C, moãi Port 8255A bit. Port A goàm PA0-PA7, Port B goàm PB0-PB7,
Port C goàm caùc bit PC0-PC7. Caùc Port naøy coù theå laø caùc Port
Input hay Output tuøy thuoäc vaøo leänh ñieàu khieån, leänh ñieàu
khieån do Microprocrssor gôûi ñeán chöùa trong thanh ghi leänh
(coøn goïi laø thanh ghi ñieàu khieån) ñeå ñieàu khieån 8255A .
caùc ñöôøng ñòa chæ A1A0 cuûa 8255A duøng ñeå löïa choïn caùc
Port vaø thanh ghi A1A0=002 duøng ñeå choïn Port A, A1A0=012
duøng ñeå choïn Port B, A1A0=102 duøng ñeå choïn Port C, A1A0=112
duøng ñeå choïn thanh ghi ñieàu khieån.
Trong sô ñoà khoái cuûa 8255A , caùc Port I/O cuûa 8255A chia
ra laøm 2 nhoùm : nhoùm A goàm Port A vaø bit cao cuûa Port
C,nhoùm B goàm Port B vaø 4 bit thaáp cuûa Port C. Ñeå söû duïng
caùc Port cuûa 8255A ngöôøi laäp trình phaûi gôûi töø ñieàu khieån
ra thanh ghi ñieàu khieån ñeå 8255A ñònh caáu hình cho caùc Port
ñuùng theo yeâu caàu maø ngöôøi laäp trình mong muoán.

Trang 51
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 D D
1 0

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

MODE SET FLAG


1=ACTIVE
II. CAÁU TRUÙC PHAÀN MEÀM CUÛA 8255.
Do caùc Port ra cuûa 8255A ñöôïc chia ra laøm 2 nhoùm A vaø
nhoùm B taùch rôøi neân töø ñieàu khieån cuûa 8255A cuõng ñöôïc
chia laøm 2 nhoùm.
Caùc bit D2D1D0 duøng ñeå ñònh caáu hình cho nhoùm B:
♦ Bit D0 duøng ñeå thieát laäp 4 bit thaáp cuûa Port C,
D0=0 Port C xuaát döõ lieäu (output), D0=1 – Port thaáp
laø port nhaäp döõ lieäu (Input).
♦ Bit D1 duøng ñeå thieát laäp Port B , D1=0- Port B laø Port
xuaát döõ lieäu (output), D1=1 –Port B laø Port nhaäp döõ
lieäu (input).
♦ Bit D2 duøng ñeå thieát laäp Mode ñieàu khieån cuûa
nhoùm B:
D2=0: nhoùm B hoaït ñoäng ôû modem 0.
D2=1: nhoùm B hoaït ñoäng ôû modem 1.

Trang 52
Luaân vaên toát nghieäp
Caùc bit D6D5D4D3 duøng ñeå ñònh caáu hình cho nhoùm A:
♦ Bit D3 duøng ñeå thieát laäp 4 bit cao cuûa Port C, D3=0-
Port C laø Port xuaát döõ lieäu (output),D3=1 Port C laø
Port nhaäp döõ lieäu (input).
♦ Bit D4 duøng ñeå thieát laäp Port A, D4=0- Port A laø Port
xuaát döõ lieäu (output), D4=1-Port A laø Port nhaäp döõ
lieäu (input).
♦ Bit D6D5 duøng ñeå thieát laäp Mode ñieàu khieån cuûa
nhoùm B:
D6D5=00:nhoùm A hoaït ñoäng ôû modem 0.
D6D5=01: nhoùm A hoaït ñoäng ôû modem 1.
D6D5=1x: nhoùm A hoaït ñoäng ôû modem 2.
III. GIAO TIEÁP GIÖÕA VI XÖÛ LÍ VÔÙI 8255A .
- Vi maïch 8255A coù theå giao tieáp vôùi vi xöû lyù theo hai kieåu
xuaát nhaäp (I/O) vaø kieåu boä nhôù.
- Khi vi xöû lyù giao tieáp vôùi 8255A. Theo kieåu I/O thì noù chæ
duøng 8255A ñöôøng ñòa chæ töø A0 ñeán A7, coøn khi giao tieáp
theo kieåu boä nhôù thì noù duøng 16 ñöôøng A0 ñeán A15 ñeå
giao tieáp, vì vaäy dung löôïng giao tieáp theo kieåu I/O thaáp hôn
dung löôïng giao tieáp theo kieåu boä nhôù.
1. Giao tieáp kieåu I/O.
Khi thieát keá vi xöû lyùgiao tieáp vôùi 8255A theo kieåu I/O
thì vieäc giao tieáp thoâng qua hai leänh: In addr – Port vaø Out addr
– Port. Döõ lieäu giao tieáp luoân chöùa trong thanh ghi A, ñòa chæ
port(addr port) coù ñoä daøi 8255A bit.
Cuõng gioáng nhö boä nhôù. Vi xöû lyù coù theå giao tieáp vôùi
nhieàu vi maïch 8255A. Vôùi 8255A bit ñòa chæ, neáu xem moãi
moät ñòa chæ truy xuaát moät oâ nhôù thì vi xöû lyù coù khaû
naêng truy xuaát 255 oâ nhôù(vôùi 256 ñòa chæ). Moãi vi maïch
8255A chieám 4 ñòa chæ 93 port vaø 1 thanh ghi ñieàu khieån, neân
soá löôïng vi maïch 8255A coù theå giao tieáp vôùi vi xöû lyù laø 64.
- khi keát noái giöõa vi xöû lyù vaø vi maïch 8255A thì ñöôøng ñòa
chæ A0 vaø A1 duøng ñeå löïa choïn caùc coång vaø thanh ghi
ñieàu khieån, coøn caùc ñöôøng A2-A7 duøng ñeå löïa choïn vi
maïch hoaït ñoäng, thoâng thöôøng caùc ñöôøng ñòa chæ naøy
ñöôïc ñöa vaøo vi maïch giaûi maõ roài caùc ngoõ ra cuûa vi
maïch giaûi maõ seõ ñöa chaân CS\ cuûa caùc vi maïch 8255A.
- Ví duï: thieát keá 2 vi maïch 8255 A giao tieáp vôùi vi xöû lyù theo
kieåu I/O. Ta coù baûng ñòa chæ caùc vi maïch 8255A.

IC A7 A6 A5 A4 A3 A2 A1 A0 HEX
8255I 0 0 0 0 0 0 0 0 00
0 0 0 0 0 0 1 1 03

8255I 0 0 0 0 0 1 0 0 04
I 0 0 0 0 0 1 1 1 07

Trang 53
Luaân vaên toát nghieäp
- 8255I chieám 1 vuøng ñòa chæ töø 00H ñeán 03H ñòa chæ cuûa
port A=00H, port B=01H ,port C=02H vaø ñòa chæ cuûa thanh ghi
ñieàu khieån =03H.
- 8255-I chieám moät vuøng ñòa chæ töø 04H ñeán 07H, ñòa chæ
cuûa: port A=04H, port B=05H, port C=06H vaø ñòa chæ cuûa
thanh ghi ñieàu khieån=07H.
2. Giao tieáp kieåu boä nhôù.
- Khi thieát keá giao tieáp 8255 vôùi vi xöû lyù theo kieåu boä
nhôù; veà chöùc naêng cuûa 8255 khoâng coù gì thay ñoåi chæ
thay ñoåi veà ñòa chæ truy xuaát. Kieåu I/O, ñòa chæ cuûa port
hay thanh ghi coù ñoä daøi 8255A bit, kieåu boä nhôù, ñòa chæ
cuûa port hay thanh ghi seõ coù ñoä daøi 16 bit gioáng nhö boä
nhôù neân goïi laø kieåu boä nhôù.
- Khi thieát keá IO theo kieåu boä nhôù thì moãi port hay thanh ghi
ñieàu khieån cuûa 8255, ñöôïc xem laø töøng oâ nhôù. Khi ñoù vi
xöû lyù giao tieáp vôùi 8255 gioáng nhö boä nhôù vaø 2 leänh IN
vaø OUT khoâng coøn taùc duïng.
- Kieåu boä nhôù chæ söû duïng trong caùc heä thoáng nhoû ñôn
giaûn.

A O 0
B O 1
DA TA

+5V C O
O
2
3
Ñ ö a ñ e án n g o õ v a øo C S \ c u ûa c a ùc 8 2 5 5 A
O 4
E0 O 5
E1 O 6
E2 O 7
M ic ro P ro c e sso r

A1-A0

CS\ CS\ CS\


8255A 1 8255A 2 8255A 8
WR\ WR\ WR\
RD\ RD\ RD\

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 54
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 D0
Ao 32 x4bit
D1 Data
Add Bus A1
A2 bus
ROM D7
A3
CS\ RD\ WR\
Control
ROM coù 3 bus:bus döõ lieäu,bus ñòa chæ,bus ñieàu khieån.Vôùi boä
nhôù ROM ôû treân bus ñòa chæ coù 4 ñöôøng neân coù dung löôïng
boä nhôù laø 24=16.Bus döõ lieäu coù 8 ñöôøng,töø döõ lieäu laø
8bit hay 1byte,vaäy boä nhôù ROM naøy coù dung löôïng laø
16byte.Bus ñieàu khieån cho pheùp ROM hoaït ñoäng ñoïc hay
vieát,ñeå ñoïc döõ lieäu cuûa oâ nhôù naøo phaûi cung caáp ñòa
chæ cuûa oâ nhôù ñoù tôùi caùc ngoõ vaøo ñòa chæ taùc ñoäng
ñeán ngoõ Row0 vaøo cho pheùp CS\.
A 1of R
1. Caáu truùc beân trong cuûa ROM
0
R R R 1
4 1 4 8
A1 dec Row3
o-
R R R R1
1 5 9

D7
Ou R R R1 R1
Hình 4.1 Sô ñoà caáu truùc ñôn giaûn cuûa ROM16 x8
t 2 6

D0
pu
C t R R R R
Caáu truùc cuûa ROM raát phöùc taïp,töø sô1 ñoà treân
1
thì caáu
truùc cuûa
A ROM goàmColumn
coù 4 phaàn chính
3 7
2 1of
+ Giaûi4maõ haøng
0
A3
dec Column
od- 3 Trang 55
Luaân vaên toát nghieäp
+ Giaûi maõ coät
+ Ma traän thanh ghi
+Ñeäm ngoõ ra
- Ma traän thanh ghi: Löu tröõ döõ lieäu ñaõ ñöôïc laäp trình
töø ROM,moãi thanh ghi chöùa moät töø döõ lieäu,nhö trong
tröôøng hôïp treân moãi thanh ghi löu tröõ boán töø döõ lieäu
bit. Ngoõ ra cuûa töø döõ lieäu 8 bit ñöôïc keát noái vôùi bit
döõ lieäu beân trong. Moãi thanh ghi coù hai ngoõ vaøo cho
pheùp.Thanh ghi naøo coù hai ngoõ vaøo cho pheùp ôû möùc
cao thì döõ lieäu seõ gôûi laø bus döõ lieäu.
- Giaûi maõ ñòa chæ: maõ ñòa chæ A3A2A1A0 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 D0 – 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 Old Data output
address 0
tacc
CS
New
toe 0

High-Z 1
Data output
0

t0 t1 t2 t3
3.Caùc loaïi boä nhôù ROM

Trang 56
Luaân vaên toát nghieäp
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
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:
Vpp A0
A12
• Vcc •
PGM D0
A7 NC
A6 A8 D1
A9
A5 D2
A11
A4 2764 2764 D3
A3 OE\
A10 A12
A2 D4
CE\ CE\
A1 D5
D7= OE\
A0 PGM\
D6 D6
D0 VPP
D5
D1
Hình 4.2 Sô ñoà chaân vaø sô ñoà logic EPROM 2764
– EPROM 2764 coù 13 ñöôøng ñòa chæ vaø 8 ñöôøng döõ lieäu
neân dung löôïng 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
Trang 57
Luaân vaên toát nghieäp
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

MODE CE\ OE\ PGM\ Vp Vcc Outp


p ut
READ V Vil Vih Vcc Vcc Dout
il
STANDBY Vih X X Vcc Vcc HighZ
PROGAM Vil X Vil Vpp Vcc Din
PROGRAM Vil Vil Vih Vpp Vcc Dout
VERYFY
PROGRAM Vih X X Vpp Vcc HighZ
INHIBIT

II.BOÄ NHÔÙ RAM


-Ram laø boä nhôù truy xuaát ngaåu nhieân, coù nghóa laø
baát kì oâ nhôù naøo cuõng deã daøng truy xuaát nhö nhöõng oâ
nhôù khaùc.
-Khuyeát ñieåm cuûa Ram laø ødöõ lieäu löu tröõ trong Ram
seõ maát khi maát ñieän.
-Öu ñieåm chính cuûa Ram laø coù theå ñoïc vaø ghi nhanh
choùng
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, Data
128K, 256K, 512K, vaø 1024K.vaø
töø 72 döõ lieäu laø 8 hoaëc 4 bit. Input
INPUT BUFFER RW

Register
A5 Register CS\
A4 1
A3
Register
Address A2 2
Input A1
A0
Dec Register
ode 62
r Register
63

Output
Selects One
Register Oo O1 O2 O3

Data
Output
Trang 58
Luaân vaên toát nghieäp

Hình 4.3 Sô ñoà caáu truùc beân trong Ram 64x4

a.Hoaït ñoäng ñoïc döõ lieäu töø Ram


Maõ ñòa chæ cuûa oâ nhôù caàn ñoïc döõ lieäu ñöôcï ñöa
ñeán ngoõ vaøo ñòa chæ cuaû Ram ñoàng thôøi ngoõ tín hieäu
ñieàu khieån R/W phaûi ôû möùc logic 1 vaø ngoõ vaøo cho
pheùp(CS) phaûi ôû möùc logic1.khi ñoù döõ lieäu môùi xuaát hieän
ôû ngoõ ra döõ lieäu.
Khi R/W=1 seõ khoâng cho pheùp boä ñeäm ngoõ vaøo, do ñoù
döõ lieäu ngoõ vaøo khoâng aûnh höôûng gì ñeán oâ nhôù ñang truy
xuaát.
b. Hoaït ñoäng ghi döõ lieäu leân Ram
Ñeå ghi döõ lieäu vaøo thanh ghi ñaõ ñöôïc löïa choïn bôûi caùc
ngoõ vaøo ñòa chæ cuûa boä nhôù Ram,ñoøi hoûi ngoõ vaøoR/W=0
vaø CS=1.Toå hôïp hai möùc logic naøy seõ cho pheùp boä ñeäm
ngoõ vaøo ñeå ñöa töø döõ lieäu (4bit) ôû caùc ngoõ vaøo seõ ñöôïc
naïp thanh ghi ñöôïc choïn
KhiR/W ôû möùc thaáp seõ khoâng cho pheùp boä ñeäm ngoõ
ra vaø ngoõ ra ôû traïng thaùi toång trôû cao(trong luùc ghi döõ
lieäu).Khi ghi döõ lieäu vaøo oâ nhôù thì döõ lieäu tröôùc ñoù seõ
maát ñi .
c.Chip selet (cs)
Haàu heát caùc boä nhôù ñeàu coù hoaët nhieàu ngoõ vaøo CS
,ñöïôc duøng ñeå cho pheùp hoacë khoâng cho pheùp boä nhôù
hoaït ñoäng trong nhieàu tröôøng hôïp keát noái nhieàu boä
nhôù.Khi khoâng cho taát caû caùc ngoõ vaùo döõ lieäu vaø ngoõ ra
döõ lieäu ôû traïng thaùi toång trôû cao.
d.Nhöõng chaân data input-output
Ñ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 59
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å Chæ
ño
n ñoåi thò
_ Khoái chuyeån ñoåi: laøm nhieäm vuï nhaän tröïc tieáp caùc
ñaïi löôïng vaät lyù ñaëc tröng cho ñoái töôïng caàn ño bieán ñoåi
caùc ñaïi löôïng thaønh caùc ñaïi löôïng vaät lyù thoáng nhaát(doøng
ñieän hay ñieän aùp) ñeå thuaän lôïi cho vieäc tính toaùn.
_ Maïch ño: coù nhieäm vuï tính toaùn bieán ñoåi tín hieäu
nhaän ñöôïc töø boä chuyeån ñoåi sao cho phuø hôïp vôùi yeâu caàu
theå hieän keát quaû ño cuûa boä chæ thò.
_ Khoái chæ thò:laøm nhieäm vuï bieán ñoåi tín hieäu ñieän
nhaän ñöôïc töø maïch ño ñeå theå hieän keát quaû ño.
2. Heä thoáng ño löôøng soá
Heä thoáng ño löôøng soá ñöôïc nhoùm aùp duïng ñeå thöïc
hieän luaän vaên naày vì coù caùc öu ñieåm:caùc tín hieäu töông töï
qua bieán ñoåi thaønh caùc tín hieäu soá coù caùc xung roû raøng
ôû traïng thaùi 0,1 seõ giôùi haïn ñöôïc nhieàu möùc tín hieäu gaây
sai soá .Maët khaùc ,heä thoáng naøy töông thích vôùi döõ lieäu
cuûa maùy tính,qua giao tieáp vôùi maùy tính öùng duïng roäng raõi
trong kyõ thuaät.
a. Sô ñoà khoái
Cheá
Ñaïi Ca
bieán
löôïng ño ûm Doàn
Tín Hieån
b keân Vi thò
hieäu ADC
h xöû
ño töôn lyù
g töï
Cheá Söû
Ca duïng
Ñaïi bieán Ñieàu khieån
ûm keát
löôïng ño Tín choïn keânh
b
hieäu
ño
Chöôn
g 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

Trang 60
Luaân vaên toát nghieäp
ño thaønh ñaïi löôïng ñieän ,ñöa vaøo maïch cheá bieán tín
hieäu(goàm:boä caûm bieán,heä thoáng khueách ñaïi,xöû lyù tín
hieäu).
Boä chuyeån ñoåi tín hieäu sang soá ADC(Analog Digital
Converter) laøm nhieäm vuï chuyeån ñoåi tín hieäu töông töï sang
tín hieäu soá vaø keát noái vôùi vi xöû lyù.
Boä vi xöû lyù coù nhieäm vuï thöïc hieän nhöõng pheùp tính
vaø xuaát ra nhöõng leänh treân cô sôû trình töï nhöõng leänh chaáp
haønh ñaõ thöïc hieän tröôùc ñoù.
Boä doàn keânh töông töï (multiplexers) vaø boä chuyeån ADC
ñöôïc duøng chung taát caû caùc keânh . Döõ lieäu nhaäp vaøo vi
xöû lyù seõ coù tín hieäu choïn ñuùng keânh caàn xöû lyù ñeâ ñöa
vaøo boä chuyeån ñoåi ADC vaø ñoïc ñuùng giaù trò ñaëc tröng cuûa
noù qua tính toaùn ñeå coù keát quaû cuûa ñaïi löôïng caàn ño.
II. 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.

Trang 61
Luaân vaên toát nghieäp
Ñoä chính xaùc +40C.
Nguoàn cung caáp Vcc = 4 – 30V.
Phaïm vi söû duïng –55oc ñeán 150oc
+ LX5700
Ngoõ ra laø ñieän aùp.
Ñoä nhaïy –10mv/0K.
Phaïm vi söû duïng –550C – 1500C.
+ LM135,LM335
Ngoõ ra laø ñieän aùp.
Ñoä nhaïy 10mv/0C.
Sai soá cöïc ñaïi 1,50C khi nhieät ñoä lôùn hôn 1000C.
Phaïm vi söû duïng –550C – 1500C.

Trang 62
Luaân vaên toát nghieäp

Chöông 6 : CHUYEÅN ÑOÅI TÖÔNG TÖÏ – SOÁ

I KHAÙI NIEÄM CHUNG


Ngaøy nay vieäc truyeàn ñaït tín hieäy cuõng nhö quaù trình
ñieàu khieån vaø chæ thò phaàn lôùn ñöôïc thöïc hieän theo phöông
phaùp soá. Trong khi ñoù tín hieäu töï nhieân coù daïng töông töï
nhö:nhieät ñoä,aùp suaát ,cöôøng ñoä aùnh saùng,toác ñoä quay,tín
hieäu aâm thanh…Ñeå keát noái giöõa nguoàn tín hieäu töôïng töï
vôùi caùc heä thoáng xöû lyù soá ngöôøi ta duøng caùc maïch
chuyeån ñoåi töông töï sang soá(ADC) nhaèm bieán ñoåi tín hieäu
töông töï sang soá hoaëc trong tröøông hôïp ngöôïc laïi caàn bieán
ñoåi tín hieäu soá sang töông töï thi duøng caùc maïch DAC (Digital
Analog Converter).
II NGUYEÂN TAÉT THÖÏC HIEÄN CHUYEÅN ÑOÅI ADC
Maïch chuyeån ñoåi tin hieäu töông töï sang soá,chuyeån moät
tín hieäu ngoõ vaøo töông töï (doøng ñieän hay ñieän aùp) thaønh
daïng maõ soá nhò phaân coù giaù trò töông öùng.
Chuyeån ñoåi ADC coù raát nhieàu phöông phaùp.Tuy
nhieân,moãi phöông phaùp ñieàu coù nhöõng thoâng soá cô baûn
khaùc nhau:
+Ñoä chính xaùc cuûa chuyeån ñoåi AD.
+ Toác ñoä chuyeån ñoåi .
+ Daõi bieán ñoåi cuûa tín hieäu töông töï ngoõ vaøo
Startcomma
+ nd
VA Control
cloc
Unit
k
V’A Comparat
or
D/A
converter Register

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

Trang 63
Luaân vaên toát nghieäp
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 64
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 Start
khieån

Boä ñeám

• • • •
Ngoõ ra
Hình 6.2 Sô ñoà nguyeân lyù côsoá
baûn cuûa 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öï V in
ñöôï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 t1 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 Vref ñöôï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 .

Trang 65
Luaân vaên toát nghieäp
Moái quan heä giöõa ñieän aùp ngoõ vaøo Vin vaø ñieän aùp
chuaån Vref vôùi t1,t2

t2=t1.vin/vref

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öï Vin 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 2n chu kyø xung clock trong laàn laáy tích phaân trong
thôøi gian t1 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

Thanh ghi ñieàu


khieån

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.

Trang 66
Luaân vaên toát nghieäp
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 .
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
13U C1
LSB
2
+ X2
1D

11 ULSB
C1

+ 1D X3
ULSB C1
9 • D2
+
7U • D1
1D X4
C1
2 LSB D0
+ •
55U 1D X5
C1
22 LSB
+
3U 1D X6
2 LSB C1
+
1U 1D X7
C1
2 LSB
R/2

Vin G

Trang 67
Luaân vaên toát nghieäp
Hình 6.4 Sô ñoà khoái maïch chuyeån ñoåi AD duøng phöông phaùp
song song
* 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
aùp soá ngoõ
vaøo ra
Vin/VLSB K7 K6 K5 K4 K3 K2 K1 D1 D2 D
3
0 0 0 0 0 0 0 0 0 0 0
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 68
Luaân vaên toát nghieäp

Chöông 7: THIEÁT KEÁ-THI COÂNG

I. NHIEÄM VUÏ THIEÁT KEÁ:


Nhieäm vuï caàn thöïc hieän laø thieát keá moät maïch ño
nhieät ñoä töø 0oC – 99oC vaø khoáng cheá nhieät ñoä ôû 20oC. Vaäy
yeâu caàu ñaët ra ôû ñaây laø:
+ Thieát keá boä caûm bieán nhieät ñoä.
+ Thieát keá boä chuyeån ñoåi töông töï sang soá.
+ Thieát keá boä nhôù.
+ Thieát keá boä giao tieáp.
+ Vieát chöông trình ñieàu khieån.
II. SÔ ÑOÀ VAØ CHÖÙC NAÊNG TÖØNG KHOÁI:

Vi xöû
lyù

Giao
ADC tieáp ROM
vaø
taïo

C Thieá
aûm t bò Hieån
bieá 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 69
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öø 400µA – 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,01×ToK
= 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).
……………………………………
ÔÛ 100 C thì ñieän aùp ngoõ ra Vout = 3,73 (V).
o

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 70
Luaân vaên toát nghieäp

+ Tính toaùn vaø choïn linh kieän:


Ta coù:
400µA < IR < 5mA.
5 − V0
⇔ 400µA < < 5 mA
R
5 − V0 5 − V0
⇔ <R<
5mA 400 µA
Vì: 2,73V ≤ Vo ≤ 3,73
Neân: 254 < R < 5,7 k (1)
Maët khaùc, theo thoâng soá cuûa nhaø saûn xuaát ñieän aùp
treân LM35 taïi Tc = 25oC, IR = 1mA thì Vo = 2,98 (V), ta coù:
5 − 2,98
400µA < < 5mA
R

Töø (1) vaø (2): choïn R = 2,2 kΩ


choïn bieán trôû chænh offset VR = 15 kΩ.
c. Thieát keá maïch khueách ñaïi:
Ñaây laø maïch trung gian giöõa boä caûm bieán vaø maïch ADC.
Vôùi maïch naøy thì ñaàu vaøo laø caûm bieán cô Vo = 2,73 V +
0,01ToC. Khoaûng bieán thieân ñieän aùp trong daûi nhieät ñoä töø
0oC – 100oC laø 1 volt. Trong khi ñoù, yeâu caàu maïch duøng boä
chuyeån ñoåi tín hieäu töông töï sang soá ADC 0809 coù möùc ñieän
aùp töø 0V – 5V.
Ta söû duïng maïch khueách ñaïi ñeå khueách ñaïi ñieän aùp vôùi
thieát keá nhö sau:

R5
+5V

R1 IF

R3
-
ADC
D1 +
V1
VR1
Vo
VR2
Caûm
bieán
R2 Vcc

V2 R4

Trang 71
Luaân vaên toát nghieäp
Hình 7.1 Sô ñoà maïch khueách ñaïi.

Theo hình 7.1 thì V- vaø V+ ñöôïc tính:


R4
V+ = .V2
R2 + R4
R3
V- = (V0 − V1 ) − V1
R3 + R5
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) ⇒ =
R2 + R4 R3 + R5
Ñeå ñôn giaûn choïn R2 = R3 ; R4 = R5
Nhö vaäy:
R5
V0 = .(V2 − V1 )
R3
Choïn heä soá khueách ñaïi K = R5 / R3 = 5.
Maët khaùc: doøng cuûa Op-Amp I0 < 20mA
Neân: doøng hoài tieáp IF << 20mA.
V0 − V1
IF = << 20mA.
R3 + R5
V0 − V1
R3 + R5 >>
20mA
Maø V0max = 5V
V1 = 2,73V
2,27
Suy ra R3 + R5 >>
20mA
2,27
6R3 >>
20mA
R3 >> 18,40Ω
Choïn R3 = 1 kΩ; R5 = 5 kΩ; VR1 = 15 kΩ
Vz = 3V; Iz = 20 mA.
Suy ra: R1 = = 100 Ω
VR2 laø bieán trôû chænh offset.
Choïn VR2 = 10 kΩ.

Trang 72
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 START EOC 2-5 OE CLK VCC REF GND 2-7
IN7
* YÙ nghóa caùc chaân:
. IN0 ñeán IN7 : 8 ngoõ vaøo töông töï.
. A, B, C : giaûi maõ choïn moät trong 8 ngoõ vaøo
. Z-1 ñeán Z-8 : ngoõ ra song song 8 bit
. ALE : cho pheùp choát ñòa chæ
. START : xung baét ñaàu chuyeån ñoåi
. CLK : xung ñoàng hoà
. REF (+) : ñieän theá tham chieáu (+)
. REF (-) : ñieän theá tham chieáu (-)
. VCC : nguoàn cung caáp
* Caùc ñaëc ñieåm cuûaADC 0809:
. Ñoä phaân giaûi 8 bit
. Toång sai soá chöa chænh ñònh ± ½ LSB; ± 1 LSB
. Thôøi gian chuyeån ñoåi: 100µs ôû taàn soá 640 kHz
. Nguoàn cung caáp + 5V
. Ñieän aùp ngoõ vaøo 0 – 5V
. Taàn soá xung clock 10kHz – 1280 kHz
. Nhieät ñoä hoaït ñoäng - 40oC ñeán 85oC
. Deã daøng giao tieáp vôùi vi xöû lyù hoaëc duøng rieâng
. Khoâng caàn ñieàu chænh zero hoaëc ñaày thang
* Nguyeân lyù hoaït ñoäng:
ADC 0809 coù 8 ngoõ vaøo töông töï, 8 ngoõ ra 8 bit coù theå
choïn 1 trong 8 ngoõ vaøo töông töï ñeå chuyeån ñoåi sang soá 8 bit.

Trang 73
Luaân vaên toát nghieäp
Caùc ngoõ vaøo ñöôïc choïn baèng caùch giaûi maõ. Choïn 1
trong 8 ngoõ vaøo töông töï ñöôïc thöïc hieän nhôø 3 chaân ADD A ,
ADDB , ADDC nhö baûng traïng thaùi sau:

A B C Ngoõ vaøo ñöôïc


choïn
0 0 0 IN0
0 0 1 IN1
0 1 0 IN2
0 1 1 IN3
1 0 0 IN4
1 0 1 IN5
1 1 0 IN6
1 1 1 IN7

Sau khi kích xung start thì boä chuyeån ñoåi baét ñaàu hoaït
ñoäng ôû caïnh xuoáng cuûa xung start, ngoõ ra EOC seõ xuoáng
möùc thaáp sau khoaûng 8 xung clock (tính töø caïnh xuoáng cuûa
xung start). Luùc naøy bit cô troïng soá lôùn nhaát (MSB) ñöôïc ñaët
leân möùc 1, taát caû caùc bit coøn laïi ôû möùc 0, ñoàng thôøi taïo
ra ñieän theá coù giaù trò Vref/2, ñieän theá naøy ñöôïc so saùnh
vôùi ñieän theá vaøo in.
+ Neáu Vin > Vref/2 thì bit MSB vaãn ôû möùc 1.
+ Neáu Vin < Vref/2 thì bit MSB vaãn ôû möùc 0.
Töông töï nhö vaäy bit keá tieáp MSB ñöôïc ñaët leân 1 vaø taïo ra
ñieän theá coù giaù trò Vref/4 vaø cuõng so saùnh vôùi ñieän aùp
ngoõ vaøo Vin. Quaù trình cöù tieáp tuïc nhö vaäy cho ñeán khi xaùc
ñònh ñöôïc bit cuoái cuøng. Khi ñoù chaân EOC leân möùc 1 baùo
cho bieát ñaõ keát thuùc chuyeån ñoåi.
Trong suoát quaù trình chuyeån ñoåi chaân OE ñöôïc ñaët ôû möùc
1, muoán ñoïc döõ lieäu ra chaân OE xuoáng möùc 0.
Trong suoát quaù trình chuyeån ñoåi neáu coù 1 xung start taùc
ñoäng thì ADC seõ ngöng chuyeån ñoåi.
Maõ ra N cho moät ngoõ vaøo tuøy yù laø moät soá nguyeân.

256.(VIN − Vref ( − ) )
N=
Vref ( + ) − Vref ( − )

Trong ñoù Vin : ñieän aùp ngoõ vaøo heä so saùnh.


Vref(+): ñieän aùp taïi chaân REF(+).
Vref(-): ñieän aùp taïi chaân REF(-).
Vin
Neáu choïn Vref(-) = 0 thì N = 256. V
ref (+ )

Vref(+) = Vcc = 5V thì ñaày thang laø 256.


- Giaù trò böôùc nhoû nhaát
5
1 LSB = = 0,0196 V/byte
2 −1
8

Trang 74
Luaân vaên toát nghieäp
Vaäy vôùi 256 böôùc Vin = 5V.
Aùp vaøo lôùn nhaát cuûa ADC 0809 laø 5V.
• Bieåu ñoà thôøi gian cuûa ADC 0809.

Hình 7.2.1 Bieåu ñoà thôøi gian cuûa ADC 0809


2.2 Maïch taïo xung clock cho ADC 0809:
Söû duïng maïch dao ñoäng duøng caùc coång not ñeå taïo dao
ñoäng cho ADC nhö sau:

Vcc
IK IK
10K

5
1
Taàn soá dao ñoäng cuûa maïch laøVcc
f=
3RC
Taàn soá dao ñoäng chuaån laø 600 kHz V • OE cc PC5
V ALE
1 ref
PC4
Suy ra 640 = Star
3RC + 8
IN t
Vôùi R töø 100Ω ñeán vaøi kΩ choïn R =1INkΩ ⇒ C = 500 PF. 255
0

1 PC2
• Sô ñoà keát noái maïch nhö sau: IN C 2
IN B 3
PC1
Vcc IN A 4 PC0
IN5
IK IK 0 D7 PB7
D6 PB6
10K 809 PB5
D5
PB4
D4
PB3
8
D3
Vref _ PB2 255
Trang 75 D2 PB1
5 GND D1 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 = 01H ra 4 bit cao cuûa portc.
• Trì hoaõn trong khoaûng thôøi gian 200µs ñ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 76
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

Memor Memor
y IC y IC
Microco Data
n-troller 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ôù

Trang 77
Luaân vaên toát nghieäp
• 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.
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:

IC A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 hex


RO 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M 000
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
FFF

3.3.2 Thieát keá boä nhôù döõ lieäu:


Töông töï nhö ROM, RAM cuõng coù dung löôïng 8 kbyte do phaûi
thieát keá tieáp theo boä nhôù ROM neân RAM. Coù ñòa chæ ñaàu

Trang 78
Luaân vaên toát nghieäp
laø 2000H vaø ñòa chæ cuoái laø 3 FFF. Ta coù baûn ñoà nhôù cuûa
RAM nhö sau:
IC A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 hex
RA 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2
M 000
0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3
FFF

• Baûng ñoà nhôù toaøn maïch:


IC A1 A1 A1 A1 A1 A1 A9 A7 A6 A5 A4 A3 A2 A1 A0 hex
5 4 3 2 1 0
RO 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
M 000
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
FFF
RA 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 2
M 000
0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 3
FFF
8 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 4
255 000
(I) 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5
FFF
8 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 6
255 000
(II) 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7
FFF

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æ

Trang 79
Luaân vaên toát nghieäp
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 CS2\
chæ
giaûi
Tín hieäu ñieàu maõ ñòa
khieån chæ CSn\

Hình 7.3.3.3a. Maïch giaûi maõ ñòa chæ toång quaùt


Ñaàu vaøo cuûa maïch giaûi maõ laø caùc tín hieäu ñòa
chæ vaø tín hieäu ñieàu khieån. Caùc tín hieäu ñòa chæ goàm
coù caùc bit ñòa chæ coù quan heä nhaát ñònh vôùi caùc tín
hieäu choïn voû ôû ñaàu ra.
Döïa theo nguyeân taéc giaûi maõ nhö treân, ta thaáy trong baûng
ñoà nhôù coù 3 bit ñòa chæ A15 A14 A13 coù caùc traïng thaùi töông
ñöông vôùi caùc vuøng nhôù cuûa moãi IC nhôù. IC nhôù thöù nhaát
töông ñöông vôùi 0002, IC nhôù thöù hai coù traïng thaùi 0012 …
Töøng traïng thaùi cuûa 3 bit ñòa chæ A15 A14 A13 seõ cho pheùp
töøng boä nhôù truy xuaát. Khi boä nhôù naøy ñöôïc pheùp truy
xuaát thì boä nhôù khaùc K0 ñöôïc pheùp.
Moãi boä nhôù coù 1 ngoõ vaøo cho pheùp CS\, khi ngoõ vaøo CS\ ôû
möùc 0 thì boä nhôù ñoù ñöôïc pheùp, khi ngoõ vaøo CS\ ôû möùc 1
thì boä nhôù ñoù k0 ñöôïc pheùp. Caùc ngoõ vaøo ñòa chæ vaø döõ
lieäu ôû traïng thaùi toång trôû cao. Do ñoù phaûi duøng IC giaûi
maõ 3 ñöôøng sang 8 ñöôøng ñeå coù theå ñieàu khieån ñöôïc 8
ngoõ vaøo CS\.
Sô ñoà maïch giaûi maõ 3 ñöôøng sang 8 ñöôøng duøng IC 74LS138.
A13 A O0\
Ñöa ñeán ngoõ vaøo CS\cuûa
A14 O1\ EFROM
BC
O2\ Ñöa ñeán ngoõ vaøo CS\cuûa
A15
O3\ RAM
O4\ Ñöa ñeán ngoõ vaøo CS\cuûa
74LS13O5\ 8255 (I)
8 O6\
O7\

Trang 80
Luaân vaên toát nghieäp
Sô ñoà maïch keát noái giöõa boä nhôù vôùi Microcontroller.

Hình 7.3.3.3.b. Sô ñoà keát noái giöõa boä nhôù vôùi Microcontroller

Trang 81
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ä
t7 Coä
t 2 Coä
t 1 Coä
t0
PA 7 haø
ng 7

PC0
PC 1
PC 2

PC7

Hình 7.4.a Sô ñoà maïch keát noái baøn phím


Ngoaøi ra heä giao tieáp baøn phím cuõng coù theå thieát keá
theo nguyeân taéc khaùc laø: caùc coâng taéc ñöôïc noái chung
moät ñaàu ñöa leân möùc logic 1 qua moät ñieän trôû, caùc ñaàu
coøn laïi ñöa qua maïch giaûi maõ nhò phaân. Khi moät coâng taéc
ñöôïc nhaán ngoõ ra cuûa maïch giaûi maõ seõ xuaát hieän moät

Trang 82
Luaân vaên toát nghieäp
soá nhò phaân töông öùng. Döõ lieäu naøy seõ ñöôïc göûi ra bus
data cuûa vi xöû lyù thoâng qua port I/0. Vi xöû lyù seõ xöû lyù vaø
thi haønh coâng vieäc töông öùng.
Nguyeân taéc naøy tuy ñôn giaûn, ñoä tin caäy cao nhöng caáu
truùc phöùc taïp.
Do trong maïch naøy chæ söû duïng coù 3 phím ñeå ñieàu khieån
chöông trình neân khoâng duøng ma traän queùt phím maø chæ söû
duïng nguyeân taéc naøy.
DATA BUS

GIAÛ
I MAÕ

Hình 7.4.b Sô ñoà toå chöùc baøn phím


4.1.2 Caáu taïo vaø hoaït ñoäng cuûa baøn phím heä thoáng:
Giao tieáp baøn phím duøng vi maïch giao tieáp 8255A ta söû
duïng port B laøm giao tieáp baøn phím.
ÔÛ traïng thaùi bình thöôøng (khoâng aán phím) giaù trò
cuûa port C 8255A laø 00H, khi coù moät phím naøo ñöôïc aán
thì giaù trò cuûa bit töông öùng leân möùc cao vaø giaù trò
cuûa port C ñoïc vaøo khaùc 00H vaø vi xöû lyù seõ thöïc hieän
chöông trình töông öùng vôùi phím ñaõ aán.

Trang 83
Luaân vaên toát nghieäp

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 84
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 85
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
220
nhoû hôn 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 86
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 87
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 N
tra
phím
YY
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 88
Luaân vaên toát nghieäp

Start

Sosaùnh( Y
portB)vôù
i#01h
N
N
Sosaùnh(
portB)vôù
i#02h
Y
Thöïc hieän Thöïc hieän
chöông trình chöông trình
phím “1” phím “0”

• Löu ñoà giaûi thuaät cho Start trình aán phím “0”:
ENDchöông
Start
Xuaát 00h ra
portC1 (I)
Xuaát #00h ra
port c1( I )
Xuaát 10h ra
portC1 (I)
Xuaát #10h ra
port c1( I )
Xuaát 00h ra
Xuaát #00h raportC1 (I)
port c1( I )

Delay N
N
Delay 200µs
200µs
Y
Y
Xuaát #20h Xuaát
ra 20h ra
port c1( I ) portC1
(I)

Ñoïc noäi dung


Ñoïc (protC1)I
töø vaøo A
port A1 (I )

Giaûi maõ hieån


Xuaát 00h rathò ( (A) so ( Xuaát 00h ra
A)> saùnh A)<
• LöuportA
ñoà (II)
giaûi thuaät chöông trình aán phím “1”: portB (II)
#14h
END (
A)=
Goïi chuông
trình hieån thò
Trang 89

END
Luaân vaên toát nghieäp

Trang 90
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 91
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 92
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 R0, ñ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 200µs ñ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

Trang 93
Luaân vaên toát nghieäp
port A cuûa 8255II 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 8255II 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.
- 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

Trang 94
Luaân vaên toát nghieäp
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 95
Luaân vaên toát nghieäp

Sô ñoà maïch in

Trang 96
Luaân vaên toát nghieäp

5. Sô ñoà boá trí linh kieän

Trang 97
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ä.

Trang 98
Luaân vaên toát nghieäp
Ñ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 99
Luaân vaên toát nghieäp
TAØI LIEÄU THAM KHAÛO

1.Kyõ thuaät vi ñieàu khieån-Leâ vaên Doanh -Phaïm Khaéc


Chöông-NXB khoa hoïc kyõ thuaät.
2. Ño löôøng vaø ñieøu khieån baèng maùy tính –Ngoâ Dieân
Taäp-NXB khoa hoïc kyõ thuaät
3.Giaùo trình vi maïch soá-Nguyeãn Höõu Phöông-Tröôøng ÑH
KH Töï Nhieân TP HCM
4.The 8051 Microcontroller –University of Guelph-I.SCOTT
MACKENZIE.
5.Digital Systems Principles andApplications-RONALD J. TOCCI.
6. Microcomputer for engineer and Scientists-Glenn A.
Gibson,Ya Cheng Liu.
7.Electronics Course III :Modules In Micro –Electronics-Deutsche
Gesellschaft-fur Technische-Zusammenarbeit(GTZ)Gmbh.
8. The TTL Data book:for Design Engineer,Texas Instrumebts.

Trang 100

You might also like