LUAÂÄN VAÊN TOÁT NGHIEÄP
Chöông I:
CHÖÔNG DAÃN NHAÄP
1
LUAÂÄN VAÊN TOÁT NGHIEÄP
2
I. ÑAËT VAÁN ÑEÀ:
Khi nhu caàu hoïc taäp ngaøy caøng cao thì thieát bò, phöông tieän daïy hoïc caøng
ñoùng vai troø quan troïng, noù giuùp ngöôøi thaày dôõ vaát vaû trong vieäc truyeàn thuï kieán
thöùc, giuùp ngöôøi hoïc nhanh choùng tieáp thu, ngoaøi ra coøn ñeå minh hoïa, chöùng
thöïc moât caùch cuï theå nhöõng baøi hoïc mô hoà tröøu töôïng.
Trong baøi naøy, ngöôøi thöïc hieän muoán ñeà caäp ñeán moân hoïc vi xöû lyù, laäp
trình vi xöû lyù, moät moân hoïc mang yù nghóa thieát thöïc trong xaõ hoäi maø quaù trình
coâng nghieäp hoùa, hieän ñaïi hoùa dieãn ra töøng ngaøy. Khi hoïc moân naøy, ngöôøi hoïc
khoâng chæ ñöôïc hoïc veà caáu truùc vi xöû lyù caû phaàn cöùng laãn phaàn meàm, caùch keát
noái vôùi caùc IC ngoaïi vi 8255, 8279, … maø coøn phaûi söû duïng thaønh thaïo Kit vi xöû lyù
8085,…
Khi vieát moät chöông trình treân Kit vxl 8085 vaø ñeå kieåm nghieäm chöông
trình ñoù thì ngöoøi hoïc phaûi qua caùc böôùc :
Böôùc 1: Xaùc ñònh muïc ñích yeâu caàu cuûa chöông trình.
Muïc ñích, yeâu caàu ñöôïc xaùc ñònh töø ñeà baøi, hoaëc moät nhu caàu thöïc teá,
ñaây laø muïc ñích chung cuûa chöông trình. Ñeå thöïc hieän muïc ñích chung
naøy, coù theå seõ phaûi qua nhieàu böôùc, maø moãi böôùc laø moät muïc ñích cuï theå
môùi, ñöôïc giaûi quyeát baèng moät chöông trình nhoû hôn, phaùt sinh trong
giai ñoaïn vieát löu ñoà.
Böôùc 2: Veõ löu ñoà
Löu ñoà duøng ñeå trình baøy caùch giaûi quyeát vaán ñeà, thöôøng thì ngoân ngöõ
duøng trong löu ñoà khoâng phaûi laø moät ngoân ngöõ maùy xaùc ñònh naøo, löu ñoà
thöïc chaát ñeå giuùp ngöôøi thaûo chöông chia nhoû moät chöông trình lôùn. Töø
löu ñoà toång quaùt, coù theå veõ ra löu ñoà chi tieát.
Böôùc 3: Vieát chöông trình baèng ngoân ngöõ gôïi nhôù(ngoân ngöõ Assembler).
Böôùc 4: Chuyeån sang maõ maùy.
Böôùc 5: Nhaäp maõ maùy vaøo Kit baèng phím.
Böôùc 6: Chaïy thöû chöông trình vaø kieåm tra keát quaû.
Moät chöông trình ñöôïc vieát phaûi ñöôïc chaïy thöû vaø kieåm tra keát quaû, keát
quaû phaûi ñuùng trong moïi tröôøng hôïp cho pheùp (ñieàu kieän ñaët ra tröôùc) cuûa
chöông trình, vaø töø keát quaû kieåm tra maø phaùn ñoaùn, nhaän ñònh loãi ñeå söûa chöông
trình töø ñaâu, coù khi phaûi söûa laïi caû löu ñoà.
Trong caùch laøm treân, ta nhaän thaáy coù nhöõng khoù khaên rieâng sau:
−
Quaù trình dòch töø ngoân ngöõ gôïi nhôù sang maõ maùy (böôùc 4), ñoøi hoûi
söï quen thuoäc baûng tra maõ, neáu khoâng vieäc naøy chieàm nhieáu thôøi gian, vaø
vieäc kieåm tra laïi cuõng chieám khoâng ít thôøi gian. Taïi nhöõng leänh jump, nhöõng
leänh call, caàn phaûi xaùc ñònh ñòa chæ cuï theå, chính xaùc cuûa oâ nhôù roài môùi xaùc
ñònh ñöôïc leänh jump. Vieäc naøy chæ hoaøn taát khi chöông trình ñöôïc dòch sang
maõ maùy gaàn nhö ñaày ñuû.
−
ÔÛ giai ñoaïn nhaäp maõ maùy (böôùc 5), ñeå nhaäp nhanh thì phaûi nhôù vò
trí phím, phaûi nhaäp chính xaùc ñeå traùnh thôøi gian doø ñeå söûa moät chöông trình
nhaäp sai. Ñeå nhaäp moät byte caàn goõ 3 phím vaø phaûi ñoái chieáuqua laïi giöõa baûn
dòch chöông trình, noäi dung hieån thò treân caùc led 7 ñoaïn cuøng vôùi ñòa chæ oâ
nhôù vaø baøn phím.
LUAÂÄN VAÊN TOÁT NGHIEÄP
3
−
Ñoái vôùi nhöõng ai trong giai ñoaïn khôûi ñaàu hoïc laäp trình vi xöû lyù, thì
2 vieäc treân luoân xaåy ra nhaàm laãn gaây maát nhieàu thôøi gian voâ ích.
− Khi caàn theâm hoaëc xoùa, hoaëc söûa chöông trình thì maát nhieàu thôøi gian ñeå
doø laïi chöông trình, nhaäp laïi khoù khaên, thaäm chí phaûi nhaäp laïi phaàn lôùn chöông
tình.
− Sau khi bò maát ñieän thì döõ lieäu löu trong RAM khoâng coù nguoàn döï tröõ seõ
bò maát heát, phaûi nhaäp laïi toaøn boä chöông trình. Ñoái vôùi nhöõng chöông trình nhoû
thì thôøi gian nhaäp khoâng ñaùng keå, nhöng ñoái vôùi nhöõng chöông trình lôùn thì ñaây
laø coâng vieäc maát nhieàu thôøi gian, vaø gaây phieàn haø cho ngöôøi hoïc cuõng nhö ngöôøi
laäp trình vi xöû lyù.
Beân caïnh ñoù, thöïc teá ñaõ coù nhöõng thieát bò naïp EPROM raát tieän lôïi, maø coù
theå ñem yù töôûng ñoù vaøo vieäc hoïc laäp trình vi xöû lyù nhaát laø vieäc giao tieáp vôùi thieát
bò khaùc töø vi xöû lyù laø moät ñieàu khaù deã dang.
Ngoaøi ra, chöông trình ñaïi hoïc raát bao quaùt, thôøi gian vaø ñieàu kieän chæ cho
pheùp sinh vieân ñi heát beà noåi cuûa chöông trình maø chöa coù hoaëc ít coù dòp tìm hieåu
veà chieàu saâu. Do ñoù, ñoà aùn toát nghieäp laø moät cô hoäi toát cho sinh vieân ñaøo saâu vaøo
chöông trình hoïc, öùng duïng baøi hoïc vaøo thöïc teá, chöùng minh ñöôïc söï höõu ích cuûa
nhöõng kieán thöùc ñaõ hoïc ñöôïc trong moâi tröôøng sö phaïm.
Töø nhöõng lyù do treân, ngöôøi vieát quyeát ñònh choïn ñeà taøi “GIAO TIEÁP MAÙY
TÍNH VÔÙI VI XÖÛ LYÙ 8085”.
Ñeà taøi ñöa ra moät chöông trình nhö moät coâng cuï hoã trôï vieäc hoïc laäp trình
vi xöû lyù treân Kit8085 vôùi moät thöù töï sau:
1)
Xaùc ñònh muïc ñích yeâu caàu cuûa chöông trình caàn vieát.
2)
Veõ löu ñoà.
3)
Vieát chöông trình baèng ngoân ngöõ Assembly (ngoân ngöõ gôïi nhôù).
4)
Nhaäp chöông trình baèng ngoân ngöõ Assembly vaøo maùy (duøng Norton).
5)
Goïi chöông trình dòch Assembler ñeå dòch töø ngoân ngöõ Assembly sang
moät file coù phaàn môû roäng “prn” chöùa maõ maùy.
6)
Trong chöông trình Giao tieáp, goïi file dòch ñeå naïp vaøo RAM.
7)
Chaïy thöû vaø kieåm tra keát quaû.
Caùch laøm naøy coù nhöõng öu ñieåm sau:
− Dòch töø ngoân ngöõ Assembly (ngoân ngöõ gôïi nhôù) toán raát ít thôøi gian vì vieäc naøy
do maùy tính ñaûm traùch, vôùi ñoä chính xaùc tuyeät ñoái.
− Cuõng vaäy, vieäc naïp döõ lieäu vaøo RAM cuõng chæ trong vaøi giaây, vaø ñöôïc kieåm
tra trong khi naïp neân ñoä chính xaùc cuõng tuyeät ñoái.
− Ngoaøi ra, chöông trình ñöôïc löu tröõ, quaûn lyù deå daøng, deå xem laïi, deå kieåm
tra. Khi caàn theâm, hoaëc xoùa hoaëc söûa hoaëc cheùp laïi moät ñoaïn chöông trình,
ngay caû thay ñoåi ñòa chæ baét ñaàu, cuõng raát ñôn giaûn.
− Veà ñoä chính xaùc vaø thôøi gian caàn thieát thì ñoái vôùi chöông trình caùc lôùn caøng
coù lôïi, caøng phaûi naïp chöông trình nhieáu thì caøng coù lôïi.
II. TAÀM QUAN TROÏNG CUÛA VAÁN ÑEÀ.
Trong xaõ hoäi ngaøy caøng phaùt trieån, löôïng kieán thöùc caàn truyeàn taûi trong
nhaø tröôøng ngaøy caøng taêng, maø thôøi gian cho pheùp ngaøy caøng bò giaûm ñi, thì söï
LUAÂÄN VAÊN TOÁT NGHIEÄP
4
noå löïc cuûa caû ngöôøi daïy laãn ngöôøi hoïc ñeàu raát caàn thieát. Beân caïnh ñoù, phöông
tieän ít nhieàu seõ goùp phaàn quan troïng trong quaù trình hoïc taäp.
Tröôùc ñaây, vieäc hoïc laäp trình vi xöû lyù ñaõ dieãn ra moät caùch töï nhieân, coù theå
coi nhö ñaõ ñaày ñuû veà phöông tieän hoïc taäp. Nhöng nay, neáu coù theâm moät chöông
trình moâ phoûng caùc hoï vi ñieàu khieån, hay vi xöû lyù, giao tieáp maùy tính vôùi vi xöû lyù
ñeå truyeàn file… thì taát nhieân seõ coù maët tích cöïc, mang theâm nhieàu lôïi ích cho vieäc
hoïc.
“Giao tieáp maùy tính vôùi vi xöû lyù” coøn laø moät chöùng thöïc veà giao tieáp _
nhöõng gì ñaõ ñöôïc hoïc _ treân chính kit thöïc taäp, ñieàu ñoù seõ kích hoaït söï tìm toøi,
söï ham thích hieåu bieát cuûa sinh vieân.
III. GIÔÙI HAÏN VAÁN ÑEÀ
Ñaây laø moät chuyeân ñeà thuù vò, coù nhieàu vaàn ñeà ñaùng quan taâm, nhöng do
nhöõng giôùi haïn veà thôøi gian vaø kieán thöùc, neân trong ñoà aùn naøy, ngöôøi vieát chæ coù
theå trình baøy nhöõng phaàn sau:
−
Khaùi quaùt Kit 8085 söû duïng, caùc linh kieän coù lieân quan tröïc tieáp
ñeán giao tieáp.
−
Caùch thöùc söû duïng kit, nhöõng hoaït ñoäng beân trong kit veà leänh, döõ
lieäu … maø sau ñoù seõ ñöôïc thay theá baèng caùch naïp töø maùy tính.
−
Giao tieáp maùy tính.
−
Moät soá ñieåm caàn löu yù khi vieát moät chöông trình baèng ngoân ngöõ
gôïi nhôù cho chöông trình dòch Assembler ñeå taïo ra moät file coù phaàn môû roäng
.prn.
−
Caáu truùc moät file .prn, nhöõng soá lieäu naøo caàn xuaát.
−
Ñoâi neùt veà ngoân ngöõ C, chöông trình Download
−
Chöông trình nhaän döõ lieäu.
IV. MUÏC ÑÍCH NGHIEÂN CÖÙU
Tröôùc maét: ñaây laø moät vaán ñeà hay, ñaõ thu huùt ngöôøi vieát töø laâu maø nay môùi
coù dòp thöïc hieän, vaø cuõng laø nhu caàu caàn thieát trong thöïc teá.
Laâu daøi: tuy chæ laø moät thieát keá ñôn giaûn, nhöng laø moät cô sôû ban ñaàu coù
theå phaùt trieån theâm ra höôùng toång quaùt.
V. XAÙC ÑÒNH THUAÄT NGÖÕ
Töïa ñeà taøi laø “Giao tieáp maùy tính vôùi kit vi xöû lyù 8085”. Thöïc chaát, vaán ñeà
giao tieáp chæ laø moät cô sôû, phöông tieän chuû yeáu. Coøn saûn phaåm cuûa ñeà taøi laø moät
giao dieän treân maøn hình vi tính maø trong ñoù, ngöôøi duøng cho theå choïn fie caàn
truyeàn, vaø truyeàn xuoáng kit qua moät port naøo ñoù ñeå naïp döõ lieäu vaøo RAM.
Ñeà taøi naøy chæ thöïc hieän vieäc naïp döõ lieäu vaøo RAM maø sau ñoù seõ coù nhöõng
phaùt trieån khaùc. Thöïc teá ñeà ra laø vieäc thöïc haønh laäp trình vi xöû lyù treân kit,
chöông trình chæ laø ñeå thöïc taäp, chuû yeáu chæ naïp vaøo RAM, maø vieäc naïp döõ lieäu
vaøo Kit maát nhieàu thôøi gian, vaø muïc ñích cuûa ñeà taøi tröôùc tieân laø ñeå giaûi quyeát
vaán ñeà ñoù, sau ñoù coù theå phaùt trieån leân ñeå ñoïc caùc vuøng RAM, EPROM.
LUAÂÄN VAÊN TOÁT NGHIEÄP
Chöông II:
CÔ SÔÛ LYÙ LUAÄN
5
LUAÂÄN VAÊN TOÁT NGHIEÄP
6
Töø vaán ñeà ñaët ra nhö ôû chöông 1 ñaõ trình baøy, ngöôøi thöïc hieän ñeà taøi ñaõ
tieán haønh giaûi quyeát theo höôùng sau:
−
Xaùc ñònh thieát bò giao tieáp: Kit vi xöû lyù 8085 ñaõ coù saün caùc IC ngoaïi vi 8255
laøm nhieäm vuï giao tieáp, chæ caàn choïn IC, xaùc ñònh ñòa chæ cuûa IC ñoù, ñòa chæ
cuûa caùc port vaøo ra, mode hoaït ñoäng cuûa caùc port, xaùc ñònh caùc ñieåm noái keát
phaàn cöùng vôùi maùy tính vaø vieát chöông trình nhaän, phaùt döõ lieäu.
−
Xaùc ñònh coång giao tieáp: ñoái vôùi maùy tính: choïn coång LPT1 (maø sau naøy coù
theå phaùt trieån ñeå coù theå söû duïng caû LPT2, COM1, COM2) vôùi phöôùng phaùp
giao tieáp song song baát ñoàng boä.
−
Xaây döïng giao dieän treân maøn hình maùy tính:Yeâu caàu caàn coù …… vaø phuø hôïp
vôùi ngöôøi söû duïng. Sau ñoù tieán haønh vieát giaûi thuaät, vaø baét tay vaøo vieát
chöông trình. ÔÛ ñaây, ngöôøi thöïc hieän ñaõ vieát chöông trình truyeàn döõ lieäu
trong moâi tröôøng Borland C 3.1. Trong quaù trình vieát, phaûi giaûi quyeát nhöõng
khoù khaên phaùt sinh moät caùch cuï theå.
−
Vieát chöông trình truyeàn, nhaän döõ lieäu vôùi Kit.
−
Gheùp noái caùc phaàn laïi.
−
Thöû nghieäm.
−
Söûa loãi.
−
Phöông phaùp chuû yeáu laø tham khaûo taøi lieäu vaø thöïc nghieäm
LUAÂÄN VAÊN TOÁT NGHIEÄP
Chöông III:
KIT THÖÏC TAÄP
VI XÖÛ LYÙ 8085
7
LUAÂÄN VAÊN TOÁT NGHIEÄP
8
I. KIT THÖÏC TAÄP VI XÖÛ LYÙ 8085:
Kit thöïc taäp vi xöû lyù 8085 laø moät loaïi maùy tính chuû yeáu phuïc vuï cho muïc
ñích hoïc taäp vaø nghieân cöùu thieát keá veà lónh vöïc vi xöû lyù. Kit naøy, xuaát phaùt taïi
tröôøng ÑH Sö phaïm kyõ thuaät – Trung taâm Vieät-Ñöùc, vaø do nhu caàu hoïc taäp vaø
nhu caàu thöïc teá, caùc giaùo vieân trong boä moân Ñieän-Ñieän töû cuûa tröôøng ñaõ caûi tieán
cho phuø hôïp. Maët khaùc, sinh vieân thuoäc khoa, trong caùc ñeà taøi toát nghieäp, ñoà aùn
moân hoïc, cuøng vôùi söï höùng thuù, ñaõ tham khaûo, tìm hieåu veà caáu taïo vaø nguyeân lyù
hoaït ñoäng, vaø môû roäng theâm moät soá chöùc naêng cho kit.
Moät Kit thöïc taäp vi xöû lyù thöôøng coù caùc phaàn chính ñöôïc trình baøy trong sô
ñoà khoái ôû (Hình 1).
Vôùi muïc ñích cuûa ñeà taøi naøy laø giao tieáp song song neân trong Kit 8085, chæ
caàn quan taâm ñeán 8085 vaø boä leänh 8085, 8255, 8279.
I.1. SÔ LÖÔÏC VI XÖÛ LYÙ 8085:
Vi xöû lyù (microprocessor) laø moät thieát bò baùn daãn chöùa caùc maïch logic ñieän
töû coù khaû naêng xöû lyù caùc döõ lieäu, chöông trình töø ngoaøi ñöa vaøo ñeå ñieàu khieån
caùc IC, thieát bò keát noái theo muïc ñích ñònh tröôùc.
I.1.1. Caáu truùc phaàn cöùng:
I.1.1.1. Caáu truùc beân ngoaøi:
8085 laø moät boä vi xöû lyù 8 bit do Intel saûn xuaát, ñaàu tieân vaøo naêm 1977. Noù
coù khaû naêng ñònh ñòa chæ cho boä nhôù tôùi 64 Kbyte, IC naøy coù 40 chaân, daïng DIP,
söû duïng nguoàn ñôn + 5V.
Chöùc naêng, daïng tín hieäu, traïng thaùi caùc chaân cuûa 8085 ñöôïc cho ôû baûng
sau:
Baûng 1:
Chaân
Kyù hieäu
In/out 3 state
YÙ nghóa
1,2
X1, X2
I
X1, X2 laø 2 ngoõvaøo cuûa maïch dao
ñoäng. Taàn soá ngoõ vaøo ñöôïc chia cho
2 bôûi maïch chia beân trong. Taàn soá
laøm vieäc cöïc ñaïicuûa:
8085A: 6MHz
8085A-2: 10MHz
LUAÂÄN VAÊN TOÁT NGHIEÄP
9
8085A-1:12MHz
3
Reset Out
O
Cho bieát CPU ñang reset. Tín hieäu
naøy coù theå duøng ñeå reset caùc thaønh
phaàn khaùc trong maïch.
4
SOD
O
Serial Output: ngoõ ra döõ lieäu noái tieáp
ñöôïc xaùc ñònh bôûi leänh SIM.
5
SID
I
Serial Input: ngoõ vaøo döõ lieäu noái
tieáp, döõ lieäu naøy ñöôïc naïpaøobit thöù 7
cuûa thanh ghi Accumulator khi thöïc
hieän leänh RIM.
6
TRAP
I
Trap: tín hieäu khoâng ngaên ñöôïc. Ngoõ
vaøo trap ñöôïc kích bôûi caïnh leân.
7,8,9
RST 7.5, 6.5, 5.5
I
Restart Intrerupt Repuest: laø caùc tín
hieäu ngaét coù theå ngaên ñöôïc. RST 7.5
coù theå ñöôïc kích baèng caïnh, RST 6.5
vaø 5.5 coù theå ñöôïc kích baèng möùc.
10
INTR
I
Interrupt:
laø
tín
hieäu
ngaét
thoângduïng coù theå che ñöôïc leänh kích
baèng möùc.
11
INTA\
O
Interrupt Acknowledge: tín hiweäu
duøng ñeå baùo cho thieát bò yeâu caàu
ngaét INTR bieát raèng microprocessor
ñaõ chaáp nhaän yeâu caàu ngaét vaø thieát
bò yeâu caàu ngaét haõy ñaët leänh leân bus
döõ lieäu.
19-12
AD7-AD0
I/O-3
Address/Data bus: caùc ñöôøng döõ lieäu
vaø caùc ñöôøng ñòa chæ ñöôïc tích hôïp
chung vôùi nhau. Ôû traïng thaùi T1 cuûa
chu kyø maùy, caù ngoõ naøy ñoùng vai troø
laø caùc ngoõ ra ñòa chæ. Caùc traïng thaùi
coøn laïi cuûa chu kyø maùy, noù ñoùng vai
troø laø caùc ñöôøng döõ lieäu.
20
Vss
28-22
A15-A8
Ground.
O-3
Address bus:caùc ngoõ naøy ñöôïc duøng
LUAÂÄN VAÊN TOÁT NGHIEÄP
10
ñeå xuaát 8 bit ñòa chæ cao.
30
ALE
O
Address Latch Ennable: ngoõ naøy taï
ra moät xungôû traïng thaùi T1 cuûa chu
kyø maùy ñeå xaùc ñònh A15-A8 vaø AD7AD0 laø caùc ñöôøng ñòa chæ.
31
WR\
O-3
Write:
duøng
ñeå
xaùc
ñònh
icroprocessor ñang thöïc hieän leänh
ghi döõ lieäu leân boä nhôù hay IO.
32
RD\
O-3
Read:
duøng
ñeå
xaùc
ñònh
microprocessor ñang thöïc hieän leänh
ñoïc döõ lieäu töø boä nhôù hay IO.
29,33,34
S0,S1, IO/M\
O,O-3
Machine Cycle Status: 3 bit naøy cho
bieát traïng thaùi chu kyø maùy.
IO/M\ S1 S0 Traïng thaùi
0
0
1
Memory Write
0
1
0
Memory Read
0
1
1
Op-code fetch.
1
0
1
IO write.
1
1
0
IO read.
1
1
1
Interrupt
Ackowledge.
Ôû traïng thaùi döøng (halt), S1=S2=0 vaø
IO/M\ ôû traïng thaùi toång trôû cao.
Trong khoaûng thôøi gian Hold vaø
reset thì traïng thaùi cuûa S0 vaø S1
khoâng xaùc ñònh,IO/M\ ôû traïng thaùi
toång trôû cao. Thöôøng thì caùc bit
WR\, RD\ vaø IO/M\ duøng ñeå xaùc
ñònh traïng thaùi laøm vieäc cuûa bus
nhö: memory read, memory write,
IO read, IO write.
LUAÂÄN VAÊN TOÁT NGHIEÄP
35
READY
11
I
Ready laø tín hieäu traû lôøi töø boä nhôù
hoaëc thieát bò ngoaïi vi IO cho
microprocesser
bieát
ñeå
microprocessor coù theå hoaøn thaønh
chu kyø maùy ñang thöïc hieän.
36
RESET IN
I
Reset: ngoõ vaøo reset 8085 ñeå trôû veà
traïng thaùi ban ñaàu cuûa noù. Tín hieäu
naøy phaûi ôû möùc 0 khoaûng 3 chu kyø
xung clock.
37
CLK
O
Clock out: ngoõ ra tín hieäu clock ñeå
cung caáp cho caùc thieát bò khaùc. Taàn
soá cuûa noù baèngtaàn soá ngoõ vaøo chia 2.
38
HLDA
O
Hold Ackowledge: tín hieäu ngoõ ra
cho bieát tín hieäu hold ñaõ ñöôïc chaáp
nhaän vaø CPU seõ ôû traïng thaùi Hold ôû
chu kyø xung clock tieáp theo.
39
HOLD
I
Hold request: nhaän tín hieäu yeâu caàu
ngöng töø boä ñieàu khieån DMA.
40
Vcc
Power: nguoàn cung caáp +5V.
Caùc chaân cuûa IC ñöôïïc boá trí nhö hình veõ sau (hình 2):
X1
1
40
Vcc
X2
2
39
HOLD
RESET(OUT)
3
38
SOD
4
37
SID
TRAP
5
36
HLDA
CLK(OUT)
RESET IN
6
35
READY
RST7.5
7
34
IO/M
RST6.5
8
33
S1
RST5.5
INTR
9
32
RD
10
31
WR
INTA
11
30
ALE
AD0
12
29
S0
AD1
13
28
A15
AD2
14
27
A14
AD3
15
26
A13
8085
LUAÂÄN VAÊN TOÁT NGHIEÄP
12
Toaøn boä caùc tín hieäu cuûa 8085 coù theå ñuôïc phaân thaønh 6 nhoùm:
(1) Tuyeán ñòa chæ
(2) Tuyeán döõ lieäu
(3) Caùc tín hieäu traïng thaùi vaø ñieàu khieån
(4) Nguoàn cung caáp vaø caùc tín hieäu taàn soá
(5) Caùc ngaét vaø caùc tín hieäu taàn soá
(6) Caùc coång I/O noái tieáp
+5V GND
Serial
I/O
Ports
SID
SOD
5
4
TRAP
RST 7.5
RST 6.5
RST 5.5
Interrupts INTR
6
7
8
9
10
READY
HOLD
RESET IN
35
39
36
and
Externally
Initiated
Signals
1
X1
2
X2
40
20
Vcc Vss
28
A15
High Outer
Address Bus
21
A8
8085
AD7
19
Multiplexed
Address/Data Bus
AD0
12
30
29
33
34
32
31
11
18
21
21
RESET
OUT
CLK
OUT
ALE
S0
S1
IO/M
RD
WR
INTA
HLDA
Control
and
Status Signals
LUAÂÄN VAÊN TOÁT NGHIEÄP
13
Hình 3: caùc nhoùm hoaït ñoäng cuûa 8085
I.1.1.2.
Caáu truùc beân trong 8085:
8085ù bao goàm ñôn vò logic vaø soá hoïc ALU (Arithmetic and Logic Unit),
ñôn vò ñònh thôøi vaø ñieàu khieån (Timing and Control Unit) , boä giaûi maõ vaø
thanh ghi leänh (Instruction Register and Decoder), daõy thanh ghi ( Register
Array), ñieàu khieån ngaét (Interrupt Control) vaø ñieàu khieån I/O noái tieáp
(Serial I/O Control) (xem hình 4).
INTA
INTR
RST 6.5 TRAP
RST 5.5
SID
RST 7.5
Interrupt Control
SOD
Serial I/O Control
8 Bit Internal Data Bus
Accumulater
(8)
Instruction
Register
(8)
Temp. Reg.
(8)
Flag
Flip Flops
Instruction
Decoder
and
Machine
Cycle
Encoding
Arithmatic
Logic
Unit
(ALU)
(8)
Power Supply
Multiplexer
Re
g.
Sel
ect
(8)
W
Temp. Reg.
(8)
B
Reg.
(8)
D
Reg.
(8)
H
Reg.
(8)
Z
Temp. Reg.
(8)
C
Reg.
(8)
E
Reg.
(8)
L
Reg.
Stack Pointer
Register
Array
(16)
Program Counter
(16)
Incrementer / Decrementer
Address Lactch
(16)
+5V
GND
X1
X2
CLK
GEN
Timing and Control
Control
CLK OUT
Status
RD WR ALE S0
DMA
S1
IO/M
READY
Reset
HLDA
RESET OUT
HOLD
RESET IN
(8)
Address Buffer
AD15 - AD8
Address Bus
Hình 4: Sô ñoà khoái chöùc naêng cuûa 8085
I.1.2. Caáu truùc phaàn meàm:
Taäp leänh cuûa 8085
Data Address Buffer
(8)
AD7 - AD0
Address Data Bus
LUAÂÄN VAÊN TOÁT NGHIEÄP
14
Moät leänh (Instruction) laø moät maãu nhò phaân (binary pattern) ñöôïc thieát keá
beân trong vi xöû lyù ñeå thöïc hieän moät chöùc naêng cuï theå (Instruction set), xaùc ñònh
caùc chöùc naêng maø vi xöû lyù coù theå thöïc hieän. Taäp leänh cuûa 8085 coù 74 leänh (hôn
8080 hai leänh), caùc leänh naøy coù theå ñöôïc phaân thaønh 5 nhoùm chöùc naêng :
− Caùc hoaït ñoäng (sao cheùp) truyeàn döõ lieäu
− Caùc hoaït ñoäng toaùn hoïc
− Caùc hoaït ñoäng logic
− Caùc hoaït ñoäng reõ nhaùnh
− Vaø, caùc hoaït ñoäng ñieàu khieån
Taäp leänh vi xöû lyù 8085 ñöôïc phaân thaønh 3 nhoùm tuyø theo kích côõ töø :
1. Caùc leänh moät töø hoaëc 1 byte
2. Caùc leänh hai töø hoaëc 2 byte
3. Caùc leänh ba töø hoaëc 3 byte
Leänh moät byte chöùa maõ hoaït ñoäng (Opcode) vaø toaùn töû (Operand) trong
cuøng moät byte.
Trong leänh hai byte, byte thöù nhaát neâu leân maõ hoaït ñoäng vaø theo sau laø
toaùn töû.
Ñoái vôùi leänh ba byte, byte ñaàu tieân cho bieát maõ hoaït ñoäng, 2 byte theo sau
laø döõ lieäu (noäi dung hoaëc ñòa chæ) 16 bit.
I.2. IC NGOAÏI VI 8255:
I.2.1. Caáu truùc:
I.2.1.1. Phaàn cöùng:
8255 laø moät thieát bò I/O giao tieáp song song, noù coù theå ñöôïc laäp trình ñeå
truyeàn döõ lieäu döôùi caùc ñieàu kieän khaùc nhau, töø I/O ñôn giaûn ñeán I/O coù ngaét. Noù
khaù linh hoaït, ña naêng vaø tinh teá (khi coù nhieàu coång I/O ñöôïc ñoøi hoûi), nhöng
cuõng phöùc taïp. Noù laø moät thieát bò I/O phoå duïng coù theå ñöôïc söû duïng vôùi haàu heát
baát kyø boä vi xöû lyù naøo.
8255 coù 40 chaân daïng DIP nhö hình 5.
8255
PA3
1
40
PA4
PA2
2
39
PA5
PA1
3
38
PA6
PA0
RD
4
37
PA7
5
36
WR
CS
6
35
RESET
GND
7
34
D0
A1
8
33
D1
A0
9
32
D2
PC7
10
31
D3
PC6
11
30
D4
PC5
12
29
D5
PC4
13
28
D6
Group
A
Control
Bidirectional
Data Bus
Data
Bus
Buffer
D7-D0
Group
A
Port
A
(8)
I/O
PA7-PA0
Group
A
Port C
Upper
(4)
I/O
PA7-PA0
Group
A
Port C
Lower
I/O
PA7-PA0
LUAÂÄN VAÊN TOÁT NGHIEÄP
15
Hình 5 : sô ñoà chaân vaø Sô ñoà khoái cuûa 8255
Baûng 2: Baûng lieät keâ chöùc naêng caùc chaân IC 8255
Teân caùc chaân
Chöùc naêng
D7 – D0
Data bus (Bi – Direction)
RESET
Rest Input
CS\
Chip Select
RD\
Read Input
WR\
Write Input
A0, A1
Port Address
PA7 – PA0
Port A
PB7 – PB0
Port B
PC7 – BC0
Port C
Sô ñoà khoái treân hình 5. trình baøy hai coång 8 bit (A vaø B) vaø hai coång 4 bit
(CU vaø CL) boä ñieän tuyeán döõ lieäu, vaø logic ñieàu khieån. Hình 5.9 (b) trình baøy moät
sô ñoà ñôn giaûn hoùa nhöng môû roäng cuûa caáu truùc beân trong, chöùa moät thanh ghi
ñieåu khieån. Sô ñoà khoái naøy chöùa taát caû caùc phaàn töû cuûa moät thieát bò laäp trình;
coång C thöïc hieän chöùc naêng töông töï chöùc naêng cuûa thanh ghi traïng thaùi, ngoaøi
ra coøn cung caáp caùc tín hieäu baét tay.
I.2.1.2. Phaàn meàm:
Töø ñieàu khieån
Hình 6 trình baøy moät thanh ghi ñöôïc goïi laø thanh ghi ñieàu khieån (control
register). Noäi dung cuûa thanh ghi naøy, goïi laø töø ñieàu khieån (control word), neâu
roõ moät chöùc naêng I/O cho moãi coång. Thanh ghi coù theå ñöôïc xaâm nhaäp ñeå ghi töø
LUAÂÄN VAÊN TOÁT NGHIEÄP
16
ñieàu khieån. Khi A0 vaø A1 ôû möùc logic 1, nhö ñaõ ñeà caäp ôû treân. Thanh ghi naøy
khoâng theå bò xaâm nhaäp ñoái vôùi hoaït ñoäng Ñoïc.
Bit D7 cuûa thanh ghi ñieàu khieån neâu roõ hoaëc chöùc naêng I/O hoaëc chöùc naêng
Ñaët/Ñaët laïi bit nhö phaân loaïi trong Hình 5.8 (b). Neáu D7 = 1caùc bit D6 ÷ D5 quyeát
ñònh caùc chöùc naêng I/O ôû caùc moát khaùc nhau. Neáu bit D7 = 0, coång C hoaït ñoäng ôû
moát Ñaët/Ñaët laïi bit (BSR). Töø ñieàu khieån BSR khoâng aûnh höôûng ñeán caùc chöùc
naêng cuûa caùc coång A vaø B.
LUAÂÄN VAÊN TOÁT NGHIEÄP
D7
D6
D5
D4
D3
17
D2
D1
D0
GROUP B
PORT C (LOWER)
1=INPUT
0=OUTPUT
PORT B
1=INPUT
0=OUTPUT
MODE SELECTION
0=MODE 0
1=MODE 1
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
Hình 6: Caáu truùc töø ñieàu khieån cuûa IC ngoaïi vi 8255.
Caên cöù vaøo töø ñieàu khieån cuûa 8255, coù theå klhôûi taïo 8255 ôû caùc mode 0
hoaëc mode 1 hoaëc mode 2, vaø coù theå xaùc ñònh höôùng vaøo ra döõ lieäu cho moãi
port.
Ñeå trao ñoåi thoâng tin vôùi caùc ngoaïi vi (ôû ñaây laø caùc moâ - ñun vaøo ra) thoâng
qua 8255, ba böôùc sau ñaây laø caàn thieát :
(1) Xaùc ñònh ñöôïc ñòa chæ caùc coång A, B vaø C vaø cuûa thanh ghi ñieàu khieån theo
logic choïn chip (CS) vaø caùc ñöôøng ñòa chæ A0, A1.
(2) Ghi töø ñieàu khieån vaøo thanh ghi ñieàu khieån.
(3) Ghi caùc leänh I/O ñeå thoâng tin vôùi caùc ngoaïi vi thoâng qua coång A,B vaø C.
Heä thoáng Kit ñaõ ñöôïc ñaët cho 8255 laøm vieäc vôùi caùc ngoõ vaøo / ra ôû moát 0
nhö sau :
1. Caùc ngoõ ra ñöôïc choát
2. Caùc ngoõ vaøo khoâng ñöôïc choát
3. Caùc coång khoâng coù khaû naêng baét tay vaø ngaét.
Ví duï:
LUAÂÄN VAÊN TOÁT NGHIEÄP
18
Ñeå A, C laø coång nhaäp (8 bít), B laø coång xuaát(8bít), vaø choïn ngoaïi vi coù ñòa
chæ töø 00 – 03 thì phaûi laøm nhö sau:
Gôûi töø ñieàu khieån 99hex vaøo thanh ghi ñieàu khieån.
Xuaát töø ñieàu khieån ra thanh ghi ñieàu khieån coù ñòa chæ 03hex.
I.3. IC GIAÛI MAÕ HIEÅN THÒ 8279:
I.3.1. Caáu truùc 8279
I.3.1.1. Phaàn cöùng:
8279 laø moät phöông phaùp phaàn cöùng ñeå giao tieáp vôùi baøn phím ma traän vaø
hieån thò ña hôïp. Baát lôïi cuûa phöông phaùp duøng phaàn meàm laø vi xöû lí bò baän trong
luùc kieåm tra vaø laøm töôi hieån thò. 8279 seõ thay theá vi xöû lí ñaûm traùch hai nhieäm
vuï naøy.
8279 (Hình ) laø moät thieát bò daïng DIP _ 40, coù hai phaàn chính : baøn phím
vaø hieån thò. Phaàn baøn phím coù theå ñöôïc noái vôùi moät ma traän toái ña 64 phím, söï
goõ phím ñöôïc giaûi naåy vaø maõphím ñöôïc löu tröõ vaøo boä nhôù FIFO beân trong (First
_ In _ First _ Out : Vaøo tröôùc, ra tröôùc) , vaø moät tín hieäu ngaét ñöôïc phaùt ra moãi
laàn goõ phím. Phaàn hieån thò coù theå cung caáp moät hieån thò coù queùt toái ña 16 Led.
Phaàn naøy coù boä nhôù RAM 16 x 8, coù theå ñöôïc söû duïng ñoïc / ghi thoâng tin cho caùc
muïc ñích hieån thò. Phaàn hieån thò coù theå ñöôïc khôûi taïo ôû daïng ghi phaûi (right
entry) hoaëc ghi traùi (left entry).
Taàn soá xung ñoàng hoà caáp cho 8279 toái ña laø 3,125MHz
Hình 7: Sô ñoà chaân logic cuûa 8279
LUAÂÄN VAÊN TOÁT NGHIEÄP
19
Baûng 3: Chöùc naêng caùc chaân IC 8279
Teân chaân
Soá chaân
Moâ taû vaø chöùc naêng
DB0 – DB7
8
Bi-directional
databus:Ñöôøng döõ lieäu 2
chieàu.
Taát caû caùc leänh vaø döõ
lieäu giöõaCPU vaø 8279
ñöôïc truyeàn treân nhöõng
ñöôøng döõ lieäu naøy.
CLK
1
Clock input: ngoõ vaøo
xung clock. Xung clock
coù
taàn
oá
toái
ña
laø
3,125MHz.
RESET
1
Reset in: duøng ñeå ñaët laïi
traïng thaùi laøm vieäc cuûa
8279 khi ngoõ vaøo naøy ôû
möùc cao.
Sau khi ñöôïc reset, 8279
coù theå laøm vieäc ôû cheá ñoä:
− Hieån thò 16 kyù töï loái
vaøo traùi.
− Laäp maõ queùt phím
khoùa ngoaøi 2 phím.
CS\
1
Chip select: taùc ñoäng
möùc thaáp cho pheùp 8279
thöïc hieän caùc chöùc naêng
keát noái vôùi CPU ñeå
truyeàn vaø nhaän döõ lieäu.
A0
1
Buffer address: ñöôøng
ñòa chæ naøy thöông ñöôïc
keát noái vôùi ñ5a chæ A0
cuûa vi xöû lyù duøng ñeå
phaân bieät leänh hay döõ
lieäu.
− A0=[1]: tín hieäu vaøo
ra laø leänh.
LUAÂÄN VAÊN TOÁT NGHIEÄP
20
− A0=[0]:tín hieäu vaøo
ra laø döõ lieäu.
RD\, WR\
2
Read, Write:ch pheùp ñoïc
hay ghi döõ lieäu leân bus döõ
lieäu, thanh ghi ñieàu khieån
hay boä nhôù RAM hieån
thò.
IRQ
1
Interrupt
Request:
ñöôøng tín hieäu yeâu caàu
ngaét (output). Ngoõ ra naøy
seõ ôû möùc cao neá coù döõ
lieäu ôû trong boä nhôù FIFO
hay SensorRAM, ngoõ ra
naøy seõ ôû möùc thaáp moãi
khicoù söï ñoïc boä nhôù
FIFO/SensorRAM
vaø
trôûlaïi möùc cao khi d4coù
döõ lieäu chöùa trong RAM.
Vss, Vcc
2
Caáp nguoàn 0Vvaø +5V cho
8279.
SL0 – SL3
4
Scan lines: 4 ñöôøng scan
line naøycoù theå giaûi maõ ra
16 ñöôøng hay maõ hoùa
thaønh
1
ñöôøng,
ñöôïc
duøng ñeå queùt phím hay
ma traän caûm bieán vaø
hieån thò.
RL0 – RL7
8
Return line: ñöôïc noái vôùi
ñöôøng scan line thoâng
qua caùc phím hay coâng
taéc caûm bieán. ÔÛ cheá ñoä
queùt phím, seõ keát hôïp vôùi
caùc ñöôøng scan lines taïo
thaønh maõ cuûa phím ñöôïc
nhaán.
SHIFT
1
Shift, Control / Strobe
- Xem thêm -