Luận văn tốt nghệp bộ môn điện tử
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 Tp.Hoà Chí Minh
Tröôøng ÑH Sö Phaïm Kó Thuaät
Khoa Ñieän
Boä Moân : Ñieän Töû
NHIEÄM VUÏ LUAÄN VAÊN TOÁT NGHIEÄP
Sinh vieân thöïc hieän : TRAÀN ÑAÏI NGHÓA
Lôùp
: 95 KÑÑ
MSSV
: 95101099
Soá ñieän thoaïi : 8854340 ( Tp.Hoà Chí Minh ).
1/ Teân ñeà taøi :
Ñieän Naêng Keá Ñieän Töû Giao Tieáp Maùy Tính
2/ Noäi Dung Luaän Vaên Toát Nghieäp :
Tính toaùn caùc thoâng soá kó thuaät.
Thieát keá phaàn cöùng.
Giôùi thieäu phaàn meàm.
3/ Caùc Baûn Veõ:
Sô ñoà nguyeân lí.
4/ Giaùo Vieân Höôùng Daãn :
Thaày QUAÙCH THANH HAÛI
5/ Ngaøy Giao Nhieäm Vuï
:
13 / 12 / 1999.
6/ Ngaøy Hoaøn Thaønh Nhieäm Vuï :
28 / 2 / 2000.
Giaùo Vieân Höôùng Daãn Kí Teân :
_____________
_____________
_____________
Quaùch Thanh Haûi
___
Thoâng Qua Boä Moân
Ngaøy ….. thaùng ….. naêm 2000.
Chuû nhieäm Boä Moân
__________
__________
_______
Luaän vaên toát nghieäp
LÔØI GIÔÙI THIEÄU :
Laø sinh vieân thuoäc ngaønh Ñieän töû, baûn thaân ngöôøi laøm ñeà taøi töø laâu ñaõ coù mong
muoán tröôùc khi ra tröôøng seõ coù cô hoäi söû duïng nhöõng kieán thöùc ñaõ hoïc ñeå taïo ra moät
saûn phaåm coù ích cho xaõ hoäi cuõng nhö chính baûn thaân vaø ñoù cuõng laø dòp ñeå ñaùnh giaù
laïi kieán thöùc ñaõ hoïc taäp trong suoát quaù trình reøn luyeän treân giaûng ñöôøng Ñaïi hoïc.
Luaän vaên toát nghieäp coù leõ laø cô hoäi toát nhaát maø nhaø tröôøng ñaõ taïo ra ñeå baûn thaân
ngöôøi laøm coù dòp thöû thaùch chính mình tröôùc khi tieáp caän vôùi thöïc teá.
Ñöôïc söï gôïi yù cuûa thaày TRAÀN SUM, ngöôøi laøm luaän vaên ñaõ quyeát ñònh choïn ñeà
taøi “Ñieän naêng keá ñieän töû giao tieáp maùy tính”. Tröôùc khi giao ñeà taøi naøy thaày
TRAÀN SUM cuõng ñaõ hoûi thöû coù daùm laøm khoâng vì ñaây laø moät ñeà taøi môùi. Luùc ñoù
baûn thaân ngöôøi laøm cuõng caûm thaáy hôi lo nhöng cuõng ñaõ ñoàng yù nhaän ñeà taøi vaø
chæ bieát laø seõ coá gaéng heát söùc mình.
“Ñieän naêng keá ñieän töû” laø moät ñeà taøi öùng duïng kó thuaät ñieän töû trong thieát bò ño
löôøng vaø hieån thò soá nhöng ñaõ naâng cao hôn moät chuùt so vôùi caùc thieát bò ño löôøng
ñieän töû tröôùc ñaây laø coù khaû naêng tính toaùn soá lieäu ñaõ thu thaäp baèng phaàn meàm vaø
giao tieáp ñöôïc vôùi maùy tính. Ñieàu naøy taïo nhieàu thuaän lôïi cho vieäc söû duïng vaø ñieàu
khieån, vaø ñaây cuõng laø xu höôùng chung cuûa caùc thieát bò ngaøy nay.
Nhö vaäy, khaâu cô baûn cuûa ñeà taøi laø ño löôøng caùc ñaïi löôïng ñieän baèng caùc phöông
phaùp truyeàn thoáng nhöng vì caùc boä phaän xöû lí phía sau laø thieát bò soá cho neân tuy laø
vaãn ño ñaïc caùc ñaïi löôïng ñoù nhöng phöông phaùp ñaõ coù khaùc ñi chuùt ít nhaèm laøm
töông hôïp vôùi thieát bò ñieän töû.
Khi ñaõ coù caùc ñaïi löôïng ñieän ñöôïc ño ñaïc cuï theå thì phaàn coâng vieäc tieáp theo laø
do phaàn meàm chòu traùch nhieäm xöû lí thoâng qua moät thieát bò coù khaû naêng tính toaùn vaø
xöû lí döõ lieäu ñoù coù theå laø moät vi xöû lí hoaëc moät vi ñieàu khieån coù söï keát noái vôùi caùc
thieát bò phuï trôï beân ngoaøi.
Ñeà taøi do vaäy ñaõ coù söï lieân quan ñeán khaù nhieàu vaán ñeà lí thuyeát, ñieàu naøy ñoøi hoûi
baûn thaân ngöôøi laøm phaûi caàn phaûi tìm toøi vaø vaän duïng.
Trong xu theá hieän nay laø vieäc ñieän töû hoùa caùc thieát bò phuïc vuï cho con ngöôøi
nhaèm ngaøy caøng ñaùp öùng ñöôïc troïn veïn yeâu caàu cuûa ngöôøi duøng, do vaäy baûn thaân
ngöôøi laøm ñeà taøi caûm thaáy caàn phaûi reøn luyeän mình nhieàu hôn nöõa khoâng chæ trong
luaän vaên toát nghieäp ra tröôøng maø moät ñieàu coøn quan troïng hôn nöõa laø khi ñaõ ra
tröôøng vaãn phaûi khoâng ngöøng phaán ñaáu.
2
Ñieän naêng keá ñieän töû giao tieáp maùy tính
KEÁT LUAÄN VAØ HÖÔÙNG PHAÙT TRIEÅN ÑEÀ TAØI :
Ñeà taøi “Ñieän naêng keá ñieän töû giao tieáp maùy tính” ñaõ ñöôïc hoaøn thaønh trong
thôøi haïn ñaõ giao. Ñoái vôùi moät ñeà taøi môùi thì vieäc nghieân cöùu laàn ñaàu chaéc chaén
khoâng theå traùnh khoûi söï thieáu soùt do vaäy tuy ñaõ coá gaéng nhieàu nhöng ngöôøi laøm
ñeà taøi vaãn chöa thaät söï ñaùp öùng ñöôïc heát caùc yeâu caàu ñeà ra ban ñaàu, raát mong söï
thoâng caûm cuûa quí Thaày, Coâ vaø caùc baïn sinh vieân.
Nhìn chung, ñeà taøi ñaõ hoaøn thaønh xong nhöõng vaán ñeà chính yeáu nhaát vaø ñieàu ñoù
giuùp taïo ra söôøn chung cho vieäc nghieân cöùu phaùt trieån sau naøy.
Ñieàu caàn laøm ñoái vôùi ngöôøi keá tuïc ñeà taøi laø nghieân cöùu saâu hôn taát caû caùc vaán ñeà
ñaõ neâu ra trong luaän vaên toát nghieäp nhaèm tìm ra phöông phaùp toát hôn hoaëc hoaøn
chænh phöông phaùp ñaõ neâu, söï gôïi yù naøy chæ mang tính chaát chung chung maø ñieàu
caàn thieát laø phaûi bieát töï suy nghó.
Maïch ñieän ñaõ trình baøy chöa phaûi laø moät maïch ñieän hoaøn haûo vì vieäc söû duïng
caùc thieát bò chöa coù söï chuaån hoùa maø ñeàu phaûi taän duïng caùc thieát bò coù saün, ñaây
laø moät ñieàu baét buoäc ngoaøi yù muoán. Neáu nhö coù theå thì taát caû caùc boä phaän beân
trong ñieän naêng keá ñieän töû ñeàu ñöôïc cheá taïo chuyeân duøng, khi ñöôïc nhö vaäy thì
chaéc chaén thieát bò hoaït ñoäng seõ chính xaùc vaø beàn bæ hôn nhieàu. Nhöng ñieàu naøy
chæ coù theå trôû thaønh hieän thöïc khi moâ hình vaø lí thuyeát tính toaùn thaät chi tieát vaø
chính xaùc sau ñoù caàn traûi qua moät thôøi gian daøi thöû nghieäm vaø ñieàu chænh. Sau khi
ñaõ ñaït ñöôïc taát caû caùc thoâng soá yeâu caàu vaø ñöôïc ngaønh ñieän löïc chaáp nhaän thì luùc
ñoù môùi ñaët haøng taïi caùc xí nghieäp ñieän töû ñeå saûn xuaát caùc boä phaän. Ñaây cuõng laø
ñieàu mong moûi lôùn nhaát cuûa ngöôøi laøm ñeà taøi naøy.
Ngoaøi ra, neáu nhö phaàn meàm coù theå ñöôïc vieát toát hôn seõ thay theá cho moät soá
thieát bò phaàn cöùng beân ngoaøi, nhöng luùc ñoù caàn phaûi löu yù veà khaû naêng hoaït ñoäng
cuûa khoái xöû lí khoâng theå naøo ñaùp öùng ñöôïc taát caû caùc yeâu caàu töø thieát bò beân ngoaøi
maø khoâng caàn söï trôï giuùp töø moät thieát bò phaàn cöùngï.
Caàn phaûi löu yù raèng, coâng vieäc quan troïng nhaát cuûa khoái ñieàu khieån laø thu thaäp
tín hieäu taïi caùc ñaàu doø vaø xöû lí döõ lieäu ñeå tính toaùn ra ñaïi löôïng mong muoán laø ñieän
naêng tieâu thuï, do vaäy khi vieát phaàn meàm ñeå ñaûm nhaän nhöõng coâng vieäc thay theá cho
phaàn cöùng beân ngoaøi töùc laø khoái xöû lí seõ phaûi gaùnh vaùc theâm nhieäm vuï thì coù theå
gaây ra söï sai soá quaù möùc cho pheùp vaø luùc ñoù chöông trình seõ trôû neân quaù phöùc taïp.
Sinh vieân thöïc hieän ñeà
taøi
Traàn Ñaïi Nghóa
3
Luaän vaên toát nghieäp
CHÖÔNG 1:
TOÙM LÖÔÏC
CAÙC VAÁN ÑEÀ LÍ THUYEÁT
LIEÂN QUAN ÑEÀ TAØI
4
Ñieän naêng keá ñieän töû giao tieáp maùy tính
Ñeà taøi : “Ñieän naêng keá ñieän töû giao tieáp maùy tính” coù lieân quan ñeán nhieàu vaán ñeà lí
thuyeát. Nhöng trong phaïm vi cuûa moät Luaän Vaên Toát Nghieäp, ngöôøi laøm ñeà taøi khoâng theå trình
baøy chi tieát töøng vaán ñeà ñöôïc, maø chæ ñeà caäp ñeán moät caùch toùm löôïc nhaèm laøm cô sôû cho caùc
lí luaän sau naøy. Do vaäy neáu caùc baïn sinh vieân neáu coù nhu caàu tìm hieåu saâu hôn haõy neân tham
khaûo trong caùc taøi lieäu chuyeân moân cuûa ngaønh.
A. VI ÑIEÀU KHIEÅN 8951
I . MOÂ TAÛ CAÁU TRUÙC PHAÀN CÖÙNG CUÛA VI ÑIEÀU KHIEÅN 8951.
1/ Giôùi thieäu hoï MCS51:
MCS51 laø moät hoï IC vi ñieàu khieån (Microcontroller ) do haõng Intel saûn
xuaát. Caùc IC tieâu bieåu cho hoï MCS51 laø 8051 vaø 8031. Ñaëc bieät, vi ñieàu
khieån 8951 ñöôïc saûn xuaát gaàn ñaây mang caùc ñaëc ñieåm sau:
4 Kbytes EEPROM.
128 bytes RAM.
4 ports I/O (Input/Output).
2 boä ñònh thôøi (timer) 16 bits.
Giao tieáp noái tieáp.
64 Kbytes khoâng gian boä nhôù chöông trình môû roäng.
64 Kbytes 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 bits ñöôïc ñòa chæ hoùa.
Boä nhaân chia 4 s.
5
Luaän vaên toát nghieäp
2/ Sô löôïc veà caùc chaân cuûa 8951:
C 8951 coù taát caû 40 chaân coù chöùc naêng nhö caùc ñöôøng xuaát nhaäp.
Trong ñoù coù 24 chaân coù coâng duïng keùp, moãi ñöôøng coù theå hoaït ñoäng
nhö ñöôøng xuaát nhaäp hoaëc nhö ñöôøng ñieàu khieån hoaëc laø thaønh phaàn
cuûa bus döõ lieäu vaø bus ñòa chæ.
2.1/ Heä thoáng giao tieáp port:
a/ Port 0:
Port 0 laø moät port hai chöùc naêng treân caùc chaân 32 – 39. Trong caùc
thieát keá côõ nhoû (khoâng duøng boä nhôù môû roäng) noù coù chöùc naêng nhö
caùc ñöôøng I/O. Ñoái vôùi caùc thieát keá lôùn vôùi boä nhôù môû roäng, noù ñöôïc
hôïp keânh giöõa bus döõ lieäu vaø byte thaáp cuûa bus ñòa chæ.
6
Ñieän naêng keá ñieän töû giao tieáp maùy tính
b/ Port 1:
Port 1 laø moät port I/O treân caùc chaân 1 – 8. Caùc chaân ñöôïc kí hieäu:
P1.0 ; P1.1 ; P1.2 … coù theå duøng cho giao tieáp vôùi caùc thieát bò ngoaøi
neáu caàn. Port 1 khoâng coù chöùc naêng khaùc, vì vaäy chuùng chæ ñöôïc duøng
cho giao tieáp vôùi caùc thieát bò ngoaøi.
c/ Port 2:
Port 2 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/ Port 3:
Port 3 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ính ñaëc bieät cuûa 8951 nhö ôû baûng sau:
Bit
Teân
Chöùc naêng chuyeån ñoåi
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RXD
TXD
INT0\
INT1\
T0
T1
WR\
RD\
Döõ lieäu nhaän cho port noái tieáp
Döõ lieäu phaùt cho port noái tieáp
Ngaét 0 beân ngoaøi
Ngaét 1 beân ngoaøi
Ngoõ vaøo cuûa Timer/counter 0
Ngoõ vaøo cuûa Timer/counter 1
Xung ghi boä nhôù döõ lieäu ngoaøi
Xung ñoïc boä nhôù döõ lieäu ngoaøi
2.2/ Caùc tín hieäu ñieàu khieån:
C 8951 coù 4 tín hieäu ñieàu khieån:
a/ PSEN\ (Program Store Enable):
PSEN\ laø tín hieäu ra treân chaân 29. Noù laø tín hieäu ñieàu khieån cho
pheùp boä nhôù chöông trình môû roäng, PSEN\ 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 byte 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 döõ lieäu vaø ñöôïc choát vaøo
7
Luaän vaên toát nghieäp
thanh ghi leänh cuûa 8951 ñeå giaûi maõ leänh. Neáu thi haønh chöông trình
trong ROM noäi (8951) thì PSEN\ seõ ôû möùc thuï ñoäng (möùc cao).
b/ 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 vi xöû lí 8085, 8088, 8086.
C 8951 duøng ALE moät caùch töông töï cho vieäc giaûi keânh caùc bus
ñòa chæ vaø döõ lieäu.
Khi port 0 ñöôïc duøng trong cheá ñoä chuyeån ñoåi: vöøa laø bus döõ lieäu
vöøa laø byte thaáp cuûa bus ñòa chæ, ALE laø tín hieäu ñeå choát byte thaáp
ñòa chæ vaøo moät thanh ghi beân ngoaøi trong nöûa ñaàu chu kì boä nhôù. Sau
ñoù, caùc ñöôøng port 0 duøng ñeå xuaát nhaäp döõ lieäu trong nöûa sau cuûa chu
kì 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øm nguoàn xung nhòp cho caùc phaàn khaùc
cuûa heä thoáng. Neáu xung nhòp treân 8951 laø 12 Mhz thì ALE coù taàn soá 2
Mhz. Chæ ngoaïi tröø khi thi haønh leänh MOVX, moät xung ALE seõ bò
maát. Trong tröôøng hôïp laø 8051 thì chaân naøy cuõng ñöôïc laøm ngoõ vaøo
cho xung laäp trình cho EPROM trong chip.
c/ 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, 8951 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ì 8031 khoâng coù boä
nhôù chöông trình treân chip. Neáu EA\ ñöôïc noái möùc thaáp thì boä nhôù
chöông trình beân trong 8951 seõ bò caám vaø chöông trình chæ ñöôïc thi
haønh töø EPROM môû roäng.
Ngöôøi ta coøn duøng EA\ laøm chaân caáp ñieän aùp 21V khi laäp trình cho
EEPROM trong 8051.
d/ RST (Reset):
Ngoõ vaøo RST treân chaân 9 laø ngoõ reset cuûa 8951. Khi tín hieäu naøy
ñöôïc ñöa leân möùc cao (trong ít nhaát 2 chu kì maùy), caùc thanh ghi beân
trong 8951 ñöôïc taûi nhöõng giaù trò thích hôïp ñeå khôûi ñoäng heä thoáng.
8
Ñieän naêng keá ñieän töû giao tieáp maùy tính
e/ Caùc ngoõ vaøo boä dao ñoäng treân chip:
Nhö ñaõ thaáy trong caùc hình treân, 8951 coù moät boä dao ñoäng treân chip.
Noù thöôøng ñöôïc noái vôùi moät thaïch anh giöõa hai chaân 18 vaø 19. Caùc tuï
giöõ cuõng caàn thieát nhö ñaõ veõ. Taàn soá thaïch anh thoâng thöôøng laø 12
Mhz.
f/ Caùc chaân nguoàn:
8951 hoaït ñoäng 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ôù:
3.1/ Khaûo saùt toå chöùc boä nhôù 8951:
C 8951 coù boä nhôù ñöôïc toå chöùc theo caáu truùc Harvard : coù nhöõng
vuøng boä nhôù rieâng bieät cho chöông trình vaø döõ lieäu.
Nhö ñaõ noùi ôû treân, caû chöông trình vaø döõ lieäu coù theå ôû beân trong
(8951); 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 (8951) vaø RAM treân chip bao goàm
nhieàu thaønh 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ôù
chöông trình
ñöôïc choïn
qua PSEN\
FF
00
Boä nhôù
döõ lieäu
ñöôïc choïn
qua WR\
vaø RD\
000
0
Boä nhôù treân chip
0000
Boä nhôù môû roäng
Toùm taét caùc vuøng boä nhôù cuûa 8951.
9
Luaän vaên toát nghieäp
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 gioáng nhö caùc ñòa chæ boä nhôù khaùc.
Ngaên xeáp beân trong RAM noäi nhoû hôn so vôùi RAM ngoaøi so vôùi boä xöû lí khaùc.
3.2/ Chi tieát veà boä nhôù RAM treân chip:
Nhö seõ thaáy trong hình sau, RAM beân trong 8951 ñöôïc phaân chia thaønh caùc
bank thanh ghi (00H – 1FH), RAM ñòa chæ hoùa bit (20H – 2FH), RAM ña duïng
(30H – 7FH) vaø caùc thanh ghi chöùc naêng ñaëc bieät trong khoaûng (80H – FFH).
RAM ña duïng:
Maëc duø treân hình cho thaáy 80 bytes RAM ña duïng chieám caùc ñòa chæ töø 30H –
7FH, 32 bytes döôùi cuøng töø 00H – 1FH cuõng coù theå ñöôïc duøng vôùi muïc ñích
töông töï (maëc duø caùc ñòa chæ naøy ñaõ coù muïc ñích khaùc).
Ñòa chæ
byte
Ñòa chæ
byte
Ñòa chæ bit
7F
7E
76
6E
66
5E
56
4E
46
3E
36
2E
26
1E
16
0E
06
7D
75
6D
65
5D
55
4D
45
3D
35
2D
25
1D
15
0D
05
7C 7B
74 73
6C 6B
64 63
5C 5B
54 53
4C 4B
44 43
3C 3B
34 33
2C 2B
24 23
1C 1B
14 13
0C 0B
04 03
BANK 3
7A
72
6A
62
5A
52
4A
42
3A
32
2A
22
1A
12
0A
02
BANK 2
BANK 1
BANK 0
( Maëc ñònh cho R0 – R7 )
79
71
69
61
59
51
49
41
39
31
29
21
19
11
09
01
78
70
68
60
58
50
48
40
38
30
28
20
18
10
08
00
F5
F4
F3
F2
F1
F0
B
E7
E6
E5
E4
E3
E2
E1
E0
ACC
D7
D6
D5
D4
D3
D2
_
D0
PSW
B8
7F
77
6F
67
5F
57
4F
47
3F
37
2F
27
1F
17
0F
07
F6
D0
30
F7
E0
RAM ña duïng
2F
2E
2D
2C
2B
2A
29
28
27
26
25
24
23
22
21
20
1F
18
17
10
0F
08
07
00
Ñòa chæ bit
FF
F0
_
_
_
BC
B BA
B
B9
B8
IP
B0
B7
B6
B5
B4
B3
B1
B0
P3
A8
AF
_
_
AC AB AA
A9
A8
IE
A0
A7
A6
A5
A4
A1
A0
P2
99
98
9F
khoâng ñöôïc ñòa chæ hoùa bit
9E 9D 9C 9B 9A 99
98
SBUF
SCON
90
97
96
90
P1
8D
8C
8B
8A
89
88
87
83
82
81
80
8F
87
95
94
A3
93
B2
A2
92
91
khoâng ñöôïc ñòa chæ hoùa bit
khoâng ñöôïc ñòa chæ hoùa bit
khoâng ñöôïc ñòa chæ hoùa bit
khoâng ñöôïc ñòa chæ hoùa bit
khoâng ñöôïc ñòa chæ hoùa bit
8E 8D 8C 8B 8A 89
khoâng ñöôïc ñòa chæ hoùa bit
khoâng ñöôïc ñòa chæ hoùa bit
khoâng ñöôïc ñòa chæ hoùa bit
khoâng ñöôïc ñòa chæ hoùa bit
86 85 84 83 82 81
88
80
TH1
TH0
TL1
TL0
TMOD
TCON
PCON
DPH
DPL
SP
P0
10
Ñieän naêng keá ñieän töû giao tieáp maùy tính
RAM
CAÙC THANH GHI CHÖÙC NAÊNG ÑAËC BIEÄT
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 1 byte 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.
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 R0 hay R1. Ví duï, hai leänh sau 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 ñòa chæ töùc thôøi ñeå di chuyeån giaù trò 5FH vaøo thanh
ghi R0, vaø leänh thöù hai duøng ñòa chæ giaùn tieáp ñeå di chuyeån döõ lieäu
“ñöôïc troû bôûi R0” vaøo thanh ghi tích luõy.
RAM ñòa chæ hoùa töøng bit:
C 8951 chöùa 210 bits ñöôïc ñòa chæ hoùa, trong ñoù 128 bits laø ôû caùc ñòa chæ byte
20H ñeán 2FH, vaø phaàn coøn laïi laø 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 phaàn meàm laø moät ñaëc tính
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. Trong khi ñoù, ña soá caùc vi 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/O cuõng ñöôïc ñòa chæ hoùa töøng bit laøm ñôn giaûn phaàn
meàm xuaát nhaäp töøng bit.
Coù 128 bits ñöôï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 nhö 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:
SET 67H
11
Luaän vaên toát nghieäp
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 ôû
ñòa chæ naøy. Caùc vi xöû lí seõ phaûi thi haønh nhieäm vuï töông töï nhö sau:
MOV A, 2CH
; ñoïc caû byte
ORL A, #10000000B
; set MSB
MOV 2CH, A
; ghi laïi caû byte
ъ Caùc bank thanh ghi:
32 bytes thaáp nhaát cuûa boä nhôù noäi laø daønh cho caùc bank thanh ghi.
Boä leänh cuûa 8951 hoã trôï 8 thanh ghi (R0 – 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 bytes 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ì 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å ñöôïc chuyeån ñoåi baèng caùch thay ñoåi
caùc bit choïn bank thanh ghi trong töø traïng thaùi chöông trình (PSW).
Giaû söû raèng bank thanh ghi 3 ñöôïc tích cöïc, leänh sau seõ ghi noäi dung
cuûa thanh ghi tích luõy vaøo ñòa chæ 18H:
MOV R0, A
YÙ töôûng duøng “caùc bank thanh ghi” cho pheùp “chuyeån höôùng”
chöông trình nhanh vaø hieäu quaû (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 8951 ñöôï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 8951 ñöôï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
12
Ñieän naêng keá ñieän töû giao tieáp maùy tính
ñeám chöông trình vaø thanh ghi leänh vì caùc thanh ghi naøy hieám khi bò
taùc ñoäng tröïc tieáp, neân khoâng lôïi loäc gì khi ñaët chuùng vaøo trong RAM
treân chip). Ñoù laø lí do ñeå 8951 coù nhieàu thanh ghi nhö vaäy. Cuõng nhö
R0 ñeán R7, coù 21 thanh ghi chöùc naêng ñaëc bieät (SFR: Special
Function Register) ôû 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öø thanh ghi 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
Leänh naøy seõ set bit 0 trong thanh ghi tích luõy, caùc bit khaùc khoâng
ñoåi. Ta thaáy raèng E0H ñoàng thôøi laø ñòa chæ byte cuûa caû thanh ghi tích
luõy vaø laø ñòa chæ bit cuûa 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
PSW.7
PSW.6
PSW.5
PSW.4
PSW.3
Kí hieäu
CY
AC
F0
RS1
RS0
Ñòa chæ
D7H
D6H
D5H
D4H
D3H
PSW.2
PSW.1
PSW.0
OV
_
P
D2H
D1H
D0H
YÙ nghóa
Côø nhôù
Côø nhôù phuï
Côø 0
Bit 1 choïn bank thanh ghi
Bit 0 choïn bank thanh ghi
00 = bank 0 ( ñòa chæ 00H – 07H )
01 = bank 1 ( ñòa chæ 08H – 0FH )
10 = bank 2 ( ñòa chæ 10H – 17H )
11 = bank 3 ( ñòa chæ 18H – 1FH )
Côø traøn
Döï tröõ
Côø parity chaün
Côø nhôù:
13
Luaän vaên toát nghieäp
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 bôûi 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 quaû 00H vaø set côø nhôù trong PSWK.
Côø nhôù cuõng coù theå xem nhö moät thanh ghi 1 bit cho caùc leänh luaän lí thi haønh
treân bit. Ví duï, leänh sau seõ AND bit 25H vôùi côø nhôù vaø ñaët keát quaû trôû vaøo côø nhôù:
AND C, 25H
Côø nhôù phuï:
Khi coäng caùc soá BCD, côø nhôù phuï (AC) ñöôïc set neáu keát quaû cuûa 4
bit thaáp trong khoaûng 0AH ñeán 0FH. Neáu caùc giaù trò ñöôïc coäng 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å ñieàu chænh keát quaû cho phuø hôïp.
Côø 0:
Côø 0 (F0) laø 1 bit côø ña duïng daønh cho caùc öùng duïng cuûa ngöôøi
duøng.
0
Caùc bit choïn bank thanh ghi :
Caùc bit choïn bank thanh ghi (RS0 vaø RS1) xaùc ñònh bank thanh ghi
naøo ñöôï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ï, 3 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
1FH) ñeán thanh ghi tích luõy:
SETB RS1
SETB RS0
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 kí 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 sau moät leänh coäng hoaëc tröø neáu coù 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 quaû coù naèm trong taàm xaùc
14
Ñieän naêng keá ñieän töû giao tieáp maùy tính
ñònh khoâng. Khi caùc soá khoâng daáu ñöôïc coäng, bit OV coù theå ñöôïc boû
qua. Caùc keát quaû lôùn hôn +127 hoaëc nhoû hôn –128 seõ set bit OV.
Ví duï, pheùp coäng sau bò traøn vaø bit OV ñöôïc set :
Hex
0F
+
Thaäp phaân
15
+
7F
127
8E
142
Keát quaû laø moät soá coù daáu 8EH ñöôïc xem nhö –14, khoâng phaûi laø
moät keát quaû ñuùng (142), vì vaäy bit OV ñöôïc set.
b/ Thanh ghi B:
Thanh ghi B ôû ñòa chæ F0H ñöôïc duø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 quaû 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 quaû 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 töøng bit baèng caùc ñòa chæ bit F0H ñ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 caát döõ lieäu, vaø leänh laáy döõ lieäu ra khoûi ngaên xeáp seõ ñoïc
döõ lieäu vaø giaûm SP.
Ngaên xeáp cuûa 8951 ñöôï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 bytes
ñaàu cuûa 8951.
Ñ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, #5FH
Treân 8951 ngaên xeáp bò giôùi haïn 32 bytes vì ñòa chæ cao nhaát cuûa
RAM treân chip laø 7FH. Sôû dó duøng giaù trò 5FH vì SP seõ taêng leân 60H
tröôùc khi caát byte döõ lieäu ñaàu tieân.
15
Luaän vaên toát nghieäp
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 quaû laø ngaên ñaàu tieân ñeå caát döõ lieäu coù ñòa chæ
laø 08H.
Neáu phaàn meàm öùng duïng khoâng khôûi ñoäng laïi SP, thì 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 leänh PUSH vaø POP ñeå löu
tröõ 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, LCALL) 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) ñeå truy xuaát boä nhôù ngoaøi laø moät thanh ghi
16 bit ôû ñòa chæ 82H (DPL: byte thaáp) vaø 83H (DPH: byte cao).
Ba leänh sau seõ ghi 55H vaøo RAM ngoaøi ôû ñòa chæ 1000H:
MOV
A, #55H
MOV
DPTR, #1000H
MOVX
@DPTR, A
Leänh ñaàu tieân duøng ñòa chæ töùc thôøi ñeå taûi döõ lieäu 55H vaøo thanh ghi
tích luõy. Leänh thöù hai cuõng duøng ñòa chæ töùc thôøi, laàn naøy ñeå taûi döõ
lieäu 16 bits 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 8951 bao goàm Port 0 ôû ñòa chæ 80H, Port 1 ôû ñòa chæ
90H, 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.
Ví duï, neáu moät motor ñöôïc noái qua moät cuoän daây coù transistor laùi
ñeán bit 7 cuûa Port 1, noù coù theå ñöôïc baät vaø taét baèng moät leänh ñôn:
SETB P1.7 ; baät motor
CLR
P1.7 ; taét motor
16
Ñieän naêng keá ñieän töû giao tieáp maùy tính
Caùc leänh treân duøng daáu chaám ñeå xaùc ñònh moät bit trong moät byte.
Trình hôïp dòch seõ thi haønh söï chuyeån ñoåi caàn thieát, vì vaäy hai leänh
sau ñaây laø nhö nhau:
CLR P1.7
CLR 97H
Trong moät ví duï khaùc, xem xeùt giao tieáp ñeán moät thieát bò vôùi moät bit
traïng thaùi goïi laø BUSY, ñöôïc set khi thieát bò ñang baän vaø ñöôïc xoùa
khi thieát bò ñaõ saün saøng. Neáu BUSY ñöôïc noái tôùi P1.5, voøng laëp sau
seõ ñöôïc duøng ñeå chôø thieát bò trôû laïi traïng thaùi saün saøng:
WAIT :
JB P1.5, WAIT
Leänh naøy coù nghóa laø “neáu bit P1.5 ñöôïc set thì nhaûy tôùi nhaõn
WAIT”.
Noùi caùch khaùc “nhaûy trôû laïi vaø kieåm tra laàn nöõa”.
f/ Caùc thanh ghi timer:
C 8951 chöùa hai boä ñònh thôøi/ñeám 16 bits ñöôïc duøng cho 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æ töøng bit.
g/ Caùc thanh ghi port noái tieáp:
C8951 chöùa 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 (caùc 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
seõ giöõ caû hai döõ 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.
17
Luaän vaên toát nghieäp
h/ Caùc thanh ghi ngaét:
C 8951 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æ A8H.
Caû hai thanh ghi ñöôïc ñòa chæ hoùa töøng bit.
i/ 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
Kí hieäu
YÙ nghóa
7
SMOD
6
5
4
3
2
1
_
_
_
GF1
GF0
PD
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
mode1, 2 vaø 3 cuûa port noái tieáp.
Khoâng ñònh nghóa
Khoâng ñònh nghóa
Khoâng ñònh nghóa
Bit côø ña duïng 1
Bit côø ña duïng 0
Giaûm coâng suaát, ñöôïc set ñeå kích hoaït mode giaûm coâng suaát, chæ thoaùt khi
reset.
0
IDL
Mode chôø, set ñeå kích hoaït mode chôø, chæ thoaùt khi coù ngaét hoaëc reset heä
thoáng.
5/ Boä nhôù ngoaøi:
C 8951 coù khaû naêng môû roäng boä nhôù leân ñeán 64K boä nhôù chöông
trình vaø 64K boä nhôù döõ lieäu ngoaøi. Do ñoù, coù theå duøng theâm ROM vaø
RAM beân ngoaøi 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 kì 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 kì 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
18
Ñieän naêng keá ñieän töû giao tieáp maùy tính
(hoaëc töông ñöông) seõ giöõ byte ñòa chæ thaáp trong phaàn coøn laïi cuûa
chu kì boä nhôù. Trong nöûa sau cuûa chu kì 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ät IC ROM ñöôïc cho pheùp bôûi tín
hieäu PSEN\.
Hình sau moâ taû caùch noái moät EPROM vaøo 8951:
Giao tieáp giöõa 8951 vaø EPROM.
Moät chu kì maùy cuûa 8951 coù 12 chu kì xung nhòp. Neáu boä dao ñoäng
treân chip ñöôïc laùi bôûi moät thaïch anh 12 Mhz thì moät chu kì maùy keùo
daøi 1 s.
Trong moät chu kì maùy, seõ coù hai xung ALE vaø hai byte ñöôïc ñoïc töø
boä nhôù chöông trình (neáu leänh hieän haønh laø leänh 2 bytes 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:
19
Luaän vaên toát nghieäp
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:
Giao tieáp giöõa 8951 vaø 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 hieä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 bits hoaëc R0 vaø R1 xem nhö
thanh ghi ñòa chæ.
Keát noái bus ñòa chæ vaø bus döõ lieäu giöõa RAM vaø 8951 cuõng gioáng nhö EPROM vaø
do ñoù cuõng coù theå leân ñeán 64 Kbytes boä nhôù RAM.
20
- Xem thêm -