logo

Luận văn "Giao tiếp máy tính với VXL 8085"

Khi nhu cầu học tập ngày càng cao thì thiết bị, phương tiện dạy học càng đóng vai trò quan trọng, nó giúp người thầy dỡ vất vả trong việc truyền thụ kiến thức, giúp người học nhanh chóng tiếp thu, ngoài ra còn để minh họa, chứng thực môt cách cụ thể những bài học mơ hồ trừu tượng. Trong bài này, người thực hiện muốn đề cập đến môn học vi xử lý, lập trình vi xử lý, một môn học mang ý nghĩa thiết thực trong xã hội mà quá trình công nghiệp hóa, hiện đại hóa diễn ra từng ngày. Khi học...
LUẬN VĂN TỐT NGHIỆP GIAO TIẾP MÁY TÍNH VỚI VI XỬ LÝ 8085 Giáo viên thực hiện : Sinh viên thực hiện : LUAÂÄN VAÊN TOÁT NGHIEÄP 1 Chöông I: CHÖÔNG DAÃN NHAÄP 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 5 Chöông II: CÔ SÔÛ LYÙ LUAÄN 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 7 Chöông III: KIT THÖÏC TAÄP VI XÖÛ LYÙ 8085 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 Ground. 28-22 A15-A8 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ø AD7- AD0 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 11 35 READY 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 HLDA SOD 4 37 CLK(OUT) SID 5 36 RESET IN TRAP 6 35 READY RST7.5 7 34 IO/M RST6.5 8 33 S1 RST5.5 9 32 RD INTR 10 8085 31 WR INTA 11 30 ALE AD0 12 29 S0 AD1 13 28 A15 AD2 14 27 A14 AD3 15 26 A13 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 1 2 40 20 X1 X2 Vcc Vss Serial SID 5 A15 28 I/O SOD 4 High Outer Ports Address Bus TRAP 6 A8 21 RST 7.5 7 RST 6.5 8 RST 5.5 9 10 8085 Interrupts INTR 19 and AD7 Externally Multiplexed Initiated Address/Data Bus Signals READY 35 AD0 12 HOLD 39 RESET IN 36 30 ALE 29 S0 33 S1 Control 34 IO/M and 32 RD 31 WR Status Signals 11 INTA 18 HLDA 21 21 RESET CLK OUT OUT 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 RST 6.5 TRAP INTR RST 5.5 RST 7.5 SID SOD Interrupt Control Serial I/O Control 8 Bit Internal Data Bus Instruction Accumulater Temp. Reg. Register Multiplexer (8) (8) (8) (8) (8) W Z Temp. Reg. Temp. Reg. (8) (8) B C Reg. Reg. Flag (8) (8) Register Flip Flops D E Array Re Reg. Reg. g. (8) (8) Instruction H L Decoder Sel Reg. Reg. Arithmatic and ect Logic Machine Stack Pointer Unit Cycle (16) Encoding Program Counter (ALU) (16) (8) Incrementer / Decrementer Address Lactch (16) Power Supply +5V GND X1 CLK Timing and Control (8) (8) X2 GEN Control Status DMA Reset Address Buffer Data Address Buffer CLK OUT RD WR ALE S0 S1 IO/M HLDA RESET OUT AD15 - AD8 AD7 - AD0 READY HOLD RESET IN Address Bus Address Data 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 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 Group PA3 40 PA4 A 1 Group Port I/O A PA7-PA0 PA2 2 39 PA5 Control A (8) PA1 3 38 PA6 PA0 4 37 PA7 RD 5 36 WR CS 6 35 RESET Group GND 34 D0 A 7 Bidirectional Port C I/O A1 8 33 D1 Data Bus Upper PA7-PA0 (4) A0 9 32 D2 Data PC7 10 31 D3 Bus PC6 11 30 D4 Buffer Group PC5 12 29 D5 A D7-D0 Port C I/O PC4 13 28 D6 Lower 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 17 D7 D6 D5 D4 D3 D2 D1 D0 GROUP B PORT C (LOWER) 1=INPUT 0=OUTPUT PORT B 1=INPUT 0=OUTPUT MODE SELECTION 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.
DMCA.com Protection Status Copyright by webtailieu.net