Luận văn Quá trình giao tiếp máy tính với kit vi xử ly 8085

Tài liệu Luận văn Quá trình giao tiếp máy tính với kit vi xử ly 8085: Bộ giáo dục và đào tạo đại học quốc gia tp. hồ chí minh TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT KHOA : ĐIỆN _ ĐIỆN TỬ BỘ MÔN : ĐIỆN TỬ Luận văn tốt nghiệp Đề tài: GIAO TIẾP MÁY TÍNH VỚI KIT VI XỬ LY Ù8085 Sinh viên thực hiện : NGUYỄN TRUNG DŨNG Lớp : 95KĐĐ Giáo Viên hướng dẫn : NGUYỄN ĐÌNH PHÚ TP. HỒ CHÍ MINH 03-2000 Đại Học Quốc Gia Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh ---o0o--- Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam Độc Lập – Tự Do – Hạnh Phúc ---o0o--- KHOA ĐIỆN BỘ MÔN ĐIỆN – ĐIỆN TỬ NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP Họ và tên: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lớp: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nghành: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

doc140 trang | Chia sẻ: haohao | Lượt xem: 1010 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Luận văn Quá trình giao tiếp máy tính với kit vi xử ly 8085, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Boä giaùo duïc vaø ñaøo taïo ñaïi hoïc quoác gia tp. 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: GIAO TIEÁP MAÙY TÍNH VÔÙI KIT VI XÖÛ LY Ù8085 Sinh vieân thöïc hieän : NGUYEÃN TRUNG DUÕNG Lôùp : 95KÑÑ Giaùo Vieân höôùng daãn : NGUYEÃN ÑÌNH PHUÙ TP. HOÀ CHÍ MINH 03-2000 Ñaïi Hoïc Quoác Gia Tröôøng Ñaïi Hoïc Sö Phaïm Kyõ Thuaät Thaønh Phoá Hoà Chí Minh ---o0o--- Coäng Hoøa Xaõ Hoäi Chuû Nghóa Vieät Nam Ñoäc Laäp – Töï Do – Haïnh Phuùc ---o0o--- KHOA ÑIEÄN BOÄ MOÂN ÑIEÄN – ÑIEÄN TÖÛ NHIEÄM VUÏ LUAÄN VAÊN TOÁT NGHIEÄP Hoï vaø teân: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lôùp: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nghaønh: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Khoùa: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1- Ñaàu ñeà luaän vaên: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2- Cô sôû ban ñaàu: . . . . . . . . . . . . . . . . . . . . . & . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3- Noäi dung caùc phaàn thuyeát minh: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4- Caùc baûn veõ ñoà thò: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5- Caùn boä höôùng daãn: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 2000 Caùn boä höôùng daãn Chuû nhieäm boä moân BOÄ GIAÙO DUÏC VAØ ÑAØO TAÏO TRÖÔØNG ÑAÏI HOÏC QUOÁC GIA TP.HCM TRÖÔØFG ÑAÏI HOÏC SÖ PHAÏM KYÕ THUAÄT KHOA : ÑIEÄN_ÑIEÄN TÖÛ BOÄ MOÂN ÑIEÄN TÖÛ NHAÄN XEÙT LUAÄN VAÊN TOÁT NGHIEÄP CUÛA GIAÙO VIEÂN HÖÔÙNG DAÃN Hoï vaø teân sinh vieân : NGUYEÃN TRUNG DUÕNG Ngaønh : ÑIEÄN TÖÛ Khoùa : 1995 – 2000 Lôùp : 95KÑÑ GIAÙO VIEÂN HÖÔÙNG DAÃN: NGUYEÃN ÑÌNH PHUÙ Nhaän Xeùt Cuûa Giaùo Vieân Höôùng Daãn : Ngaøy thaùng naêm 2000 Giaùo vieân höôùng daãn BOÄ GIAÙO DUÏC VAØ ÑAØO TAÏO TRÖÔØNG ÑAÏI HOÏC QUOÁC GIA TP.HCM TRÖÔØNG ÑAÏI HOÏC SÖ PHAÏM KYÕ THUAÄT KHOA : ÑIEÄN_ ÑIEÄN TÖÛ NHAÄN XEÙT LUAÄN VAÊN TOÁT NGHIEÄP CUÛA GIAÙO VIEÂN DUYEÄT HOÏ VAØ TEÂN SINH VIEÂN : NGYEÃN TRUNG DUÕNG NGAØNH : ÑIEÄN TÖÛ KHOÙA : 1995 – 2000 LÔÙP : 95KÑÑ GIAÙO VIEÂN DUYEÄT LUAÄN VAÊN : Nhaän Xeùt cuûa Giaùo Vieân duyeät : Ngaøy thaùng naêm 2000 GIAÙO VIEÂN DUYEÄT Lôøi môû ñaàu Kyõ thuaät vi xöû lí vôùi toác ñoä phaùt trieån nhanh ñaõ vaø ñang mang ñeán nhöõng thay ñoåi to lôùn trong khoa hoïc vaø coâng ngheä cuõng nhö trong ñôøi soáng haøng ngaøy. Ngaøy nay, caùc thieát bò maùy moùc ngaøy caøng trôû neân thoâng minh hôn, caùc coâng vieäc ñöôïc thöïc hieän vôùi hieäu quaû cao hôn, ñoù cuõng laø nhôø vi xöû lyù, vi ñieàu khieån. Kyõ thuaät vi xöû lyù, vi ñieàu khieån laø kyõ thuaät cuûa töông lai, laø chìa khoùa ñi vaøo coâng ngheä hieän ñaïi. Ñoái vôùi sinh vieân chuyeân ngaønh ñieän töû, ñaây laø moät lónh vöïc môùi, höùa heïn vaø môû ra nhieàu trieån voïng. Ñeå goùp phaàn taïo neàn taûng ban ñaàu cho vieäc hoïc taäp, tìm hieåu kyõ thuaät vi xöû lyù vaø caùch truyeàn döõ lieäu töø vi xöû lyù vôùi caùc thieát bò beânh ngoaøi em xin ñeà nghò thöïc hieän ñeà taøi: “GIAO TIEÁP MAÙY TÍNH VÔÙI KIT VI XÖÛ LYÙ 8085”. Trong quaù trình thöïc hieän ñeà taøi naøy, maëc duø em ñaõ raát coá gaéng, xong chaéc chaén khoâng traùnh khoûi nhöõng thieáu soùt. Raát mong nhaän söï goùp yù, pheâ bình vað chæ daãn cuûa quí thaày coâ vaø baïn ñoïc. Sinh vieân thöïc hieän Nguyeãn Trung Duõng Lôøi caûm taï Cuoán luaän vaên naøy ñöôïc hoaøn thaønh toát ñeïp theo ñuùng thôøi gian quy ñònh cuûa nhaø tröôøng cuõng nhö cuûa khoa.Vieäc ñaït ñöôïc keát quaû nhö treân khoâng chæ laø söï noã löïc cuûa em maø coøn söï giuùp ñôõ, chæ baûo cuûa thaày höôùng daãn, cuûa quyù thaày coâ vaø caùc baïn sinh vieân. Em xin chaân thaønh caùm ôn: Söï daïy doã, chæ baûo vaø goùp yù cuûa quyù thaày coâ trong khoa, ñaëc bieät laø caùc thaày coâ ôû caùc xöôûng thöïc taäp ñaõ taïo moïi ñieàu kieän thuaän lôïi cho chuùng em hoaøn thaønh luaän vaên. Söï giuùp ñôõ vaø chæ baûo taân tình cuûa Thaày höôùng daãn Nguyeãn Ñình Phuù trong quaù trình laøm luaän vaên. Xin caùm ôn caùc baïn sinh vieân trong khoa ñaõ giuùp ñôõ chuùng toâi raát nhieàu maët: nhö phöông tieän, saùch vôû, yù kieán … Sinh vieân thöïc hieän Nguyeãn Trung Duõng Chöông: Cô sôû lyù luaän Theå thöùc nghieân cöùu: 1. Thôøi gian nghieân cöùu: Quaù trình nghieân cöùu ñeà taøi ñöôïc xem laø moät qui trình coâng ngheä haún hoi vì ñoøi hoûi phaûi tieán haønh theo caùc khaâu keá tieáp nhau bao goàm vieäc choïn ñeà taøi, bieân soaïn ñeà cöông, thu thaäp döõ kieän, xöû lyù döõ kieän, vieát coâng trình nghieân cöùu. Luaän vaên toát nghieäp ñöôïc tieán haønh thöïc hieän trong khoaûng thôøi gian laø 6 tuaàn: Tuaàn 1 : Choïn ñeà taøi, chính xaùc hoùa ñeà taøi, soaïn ñeà cöông, thu thaäp kieän vaø taøi lieäu lieân heä. Tuaàn 2 : Bieân soaïn noäi dung phaàn lyù thuyeát. Tuaàn 3 : Thieát keá maïch treân giaáy vaø tieán haønh thi coâng, thuû maïch. Tuaàn 4 : Thieát keá baøn thöïc taäp. Tuaàn 5 : Soaïn baøi thöïc taäp cho moâ hình ñaõ thieát keá. Tuaàn 6 : Hoaøn chænh moâ hình,caân chænh phaàn lyù thuyeát ñeå in aán vaø noäp luaän vaên. 2. Phöông phaùp thu thaäp döõ kieän: Ñaây laø giai ñoaïn quan troïng, söû duïng caùc phöông phaùp vaø phöông tieän nghieân cöùu ñeå thu thaäp caùc döõ kieän veà ñeà taøi ñaõ xaùc ñònh. Döõ kieän ñaõ thu thaäp ñöôïc seõ laø chaát lieäu ñeå hình thaønh coâng trình thöïc hieän ñeà taøi. Vaán ñeà laø laøm sao thu thaäp ñöôïc döõ kieän ñaày ñuû, chính xaùc, vaø phuø hôïp vôùi noäi dung nghieân cöùu. Trong phaïm vi luaän vaên naøy ngöôøi nghieân cöùu söû duïng phöông phaùp tham khaûo taøi lieäu ñeå thu thaäp döõ kieän giaûi quyeát ñeà taøi. Vieäc tham khaûo taøi lieäu giuùp ngöôøi thöïc hieän boå sung theâm kieán thöùc, lyù luaän cuõng nhö phöông phaùp maø nhöõng coâng trình nghieân cöùu tröôùc ñoù ñaõ xaây döïng. Nhôø ñoù ngöôøi nghieân cöùu taäp trung giaûi quyeát vaán ñeà coøn toàn taïi& Tuy nhieân vieäc nghieân cöùu tham khaûo taøi lieäu luoân baûo ñaûm tính keá thöøa vaø phaùt trieãn coù choïn loïc. 3. Xöû lyù döõ kieän: Caùc döõ kieän sau khi ñöôïc thu thaäp chöa theå söû duïng ñöôïc ngay maø phaûi qua quaù trình saøng loïc, söûa chöõa, phaân tích khaùi quaùt thaønh lyù luaän . Taøi lieäu ñöôïc söû duïng laø nhöõng taøi lieäu coù chaát löôïng cao chuû yeáu laø taøi lieäu goác neân baûo ñaûm chính xaùc veà noäi dung ñeà caäp. 4. Trình baøy ñoà aùn: Ñeà taøi toát nghieäp ñöôïc trình baøy theo caáu truùc moät taäp ñoà aùn toát nghieäp ñeå phuø hôïp vôùi noäi dung vaø thôøi gian nghieân cöùu ñoàng thôøi ñaùp öùng ñuùng yeâu caàu veà chöông trình ñaøo taïo cuûa tröôøng. Trình baøy thaønh vaên coâng trình nghieân cöùu khoa hoïc laø giai ñoaïn hoaøn thaønh nghieân cöùu, do ñoù khoâng ñöôïc xem ñoù laø quaù trình kyõ thuaät maø laø moät quaù trình saùng taïo saâu saéc. Chính vieäc naém vöõng buùt phaùp trong nghieân cöùu khoa hoïc giuùp ngöôøi nghieân cöùu laøm saùng toû theâm nhöõng keát quaû ñaït ñöôïc, phaùt trieãn chuùng vaø coù theâm nhöõng kieán thöùc môùi. II. Cô sôû lyù luaän: Ñoà aùn toát nghieäp thöïc chaát laø moät quaù trình nghieân cöùu khoa hoïc - quaù trình nhaän thöùc vaø haønh ñoäng. Quaù trình naøy ñoøi hoûi phaûi coù thôøi gian nhaát ñònh töông xöùng vôùi noäi dung cuûa ñoái töôïng nghieân cöùu vaø tính chaát phöùc taïp cuûa vaán ñeà nghieân cöùu. Vieäc nghieân cöùu khoa hoïc giuùp ta tìm ra caùi môùi. Caùi môùi ôû ñaây khoâng nhöõng mang tính chuû quan cuûa ngöôøi nghieân cöùu maø coøn mang tính khaùch quan ñoái vôùi xaõ hoäi. Nghieân cöùu khoa hoïc phaûi nhaèm muïc ñích phuïc vuï xaõ hoäi, ñaùp öùng yeâu caàu thöïc tieãn. Hoaït ñoäng ngieân cöùu khoa hoïc muoán ñaït keát quaû toát phaûi hoäi ñuû caùc yeáu toá: Phöông tieän, phöông phaùp, cô sôû vaät chaát, maùy moùc thieát bò, hình thöùc toå chöùc. Caùc yeáu toá naøy coù moái quan heä höõu cô vaø phuø hôïp vôùi ñoái töôïng nghieân cöùu. CAÙC CÔ SÔÛ CHO VIEÄC NGHIEÂN CÖÙU ÑEÀ TAØI 1. Kieán thöùc vaø naêng löïc ngöôøi nghieân cöùu: Trong quaù trình nghieân cöùu vaø thöïc hieän ñeà taøi ngöôøi nghieân cöùu caàn phaûi caân nhaéc kyõ ñoä khoù vaø ñoä phöùc taïp cuûa ñeà taøi sao cho phuø hôïp vôùi khaû naêng,ø kieán thöùc vaø naêng löïc cuûa ngöôøi nghieân cöùu. Ñoä phöùc taïp cuûa ñeà taøi theå hieän ôû caùc maët: lónh vöïc nghieân cöùu roäng hay heïp, ôû moät ngaønh hay lieân ngaønh, ñoái töôïng nghieân cöùu laø ñoàng nhaát hay khoâng ñoàng nhaát. Tuy nhieân caàn löu yù raèng giaù trò cuûa ñeà taøi khoâng phuï thuoäc vaøo ñoä phöùc taïp cuûa noù. Ñeà taøi heïp chöa haún laø ñeà taøi keùm giaù trò. Moãi ñeà taøi nghieân cöùu khoa hoïc coù moät phaïm vi nhaát ñònh, phaïm vi naøy caøng heïp thì söï nghieân cöùu caøng saâu. Ñoä khoù cuûa ñeà taøi noùi leân tính vöøa söùc ñoái vôùi ngöôøi nghieân cöùu. Do ñoù ñoä phöùc taïp cuûa ñeà taøi thöôøng coù moái lieân heä töông hoå vôùi ñoä khoù cuûa noù. Kieán thöùc cuûa ngöôøi nghieân cöùu (ñaây laø ñieàu kieän chuû quan ôû ngöôøi nghieân cöùu). Tröôùc heát ñoù laø voán lieáng, kinh nghieäm cuûa ngöôøi nghieân cöùu. Giaùo sö Haø Vaên Taán ñaõ nhaän xeùt: “Trình ñoä hoïc sinh, sinh vieân hieän nay khoâng cho pheùp hoï ngay töø ñaàu choïn ñöôïc ñeà taøi nghieân cöùu. Vì vaäy phaûi coù söï gôïi yù cuûa thaày coâ giaùo…”. Moãi ñeà taøi nghieân cöùu choa hoïc coù nhöõng yeâu caàu nhaát ñònh cuûa noù. Ngöôøi nghieân cöùu caàn naém vöõng noäi dung, phöông phaùp nghieân cöùu phuø hôïp vôùi ñeà taøi, noùi khaùc ñi ñeà taøi nghieân cöùu phaûi mang tính vöøa söùc. Ngöôøi nghieân cöùu phaûi theå hieän naêng döïc nghieân cöùu khoa hoïc bao goàm vieäc naém vöõng lyù thuyeát cô baûn cuûa khoa hoïc trong lónh vöïc nghieân cöùu cuûa mình, naém ñöôïc möùc ñoä nhaát ñònh veà söï phaùt trieãn vaø tieán boä thuoäc lónh vöïc nghieân cöùu. Coù nhö theá môùi choïn ñöôïc ñeà taøi coù giaù trò. Trong tình hình tieán boä cuûa khoa hoïc kyõ thuaät hieän nay treân theá giôùi, khoái löôïng thoâng tin khoa hoïc gia taêng vôùi qui moâ lôùn vaø nhòp ñoä nhanh ñoøi hoûi ngöôøi nghieân cöùu phaûi tham khaûo taøi lieäu nöôùc ngoaøi. Ñeå thöïc hieän ñöôïc vaán ñeà naøy ngöôøi nghieân cöùu ngöôøi nghieân cöùu khoa hoïc caàn coù soá voán ngoaïi ngöõ nhaát ñònh. Theå hieän loøng ham meâ khoa hoïc vaø quyeát taâm nghieân cöùu tìm toøi chaân lyù. 2-Vaán ñeà thöïc tieãn: Ngöôøi nghieân cöùu phaûi coi thöïc tieãn laøm cô sôû, laø ñoäng löïc cuûa nhaän thöùc. Ang - ghen vieát: “Khi xaõ hoäi coù nhöõng yeâu caàu kyõ thuaät thì xaõ hoäi thuùc ñaåy khoa hoïc hôn möôøi tröôøng ñaïi hoïc”. Maët khaùc thöïc tieãn cuõng laø tieâu chuaån ñeå kieåm tra nhaän thöùc . Thöïc teá laø nhöõng söï vieäc coù thaät, nhöõng tình hình cuï theå, nhöõng vaán ñeà ñaõ hoaëc chöa ñöôïc giaûi quyeát trong cuoäc soáng. Ngöôøi nghieân cöùu vôùi kinh nghieäm baûn thaân trong coâng taùc haøng ngaøy thöôøng thaáy ñöôïc caùc maët cuûa vaán ñeà, caùc moái quan heä phöùc taïp, caùc dieãn bieán, phöông höôùng phaùt trieån cuûa söï vaät töø ñoù coù ñònh höôùng thích hôïp giaûi quyeát ñeà taøi. Chính thöïc tieãn giuùp ngöôøi nghieân cöùu tìm thaáy vaán ñeà moät caùch cuï theå. Ngöôøi nghieân cöùu phaûi xem thöïc tieãn cao hôn nhaän thöùc (lyù luaän) vì noù coù öu ñieåm khoâng nhöõng coù tính phoå bieán maø coøn coù tính hieän thöïc tröïc tieáp. Hoà Chuû Tòch cuõng ñaõ daïy: “Hoïc taäp thì theo nguyeân taéc: kinh nghieäm vaø thöïc tieãn phaûi ñi cuøng nhau”. Ñeà taøi thöïc hieän mang tính thöïc tieãn, noäi dung cuûa ñeà taøi laø coù thaät, phaùt trieån töø thöïc teá khaùch quan. Coù theå noùi haàu nhö moïi coâng trình nghieân cöùu ñieàu coù giaù trò thöïc teá cuûa noù, chæ khaùc nhau ôû möùc ñoä ít nhieàu, phuïc vuï tröôùc maét hay laâu daøi, giaùn tieáp hay tröïc tieáp. 3. Taùc ñoäng cuûa ñieàu kieän khaùch quan ñeán vieäc thöïc hieän ñeà taøi: Trong quaù trình nghieân cöùu thöïc hieän ñeà taøi ngöôøi nghieân cöùu laø yeáu toá chuû quan goùp phaàn quan troïng ñeán keát quaû coøn ñoái töôïng nghieân cöùu, phöông phaùp nghieân cöùu keå caû phöông tieän ngieân cöùu, thôøi gian nghieân cöùu cuøng nhöõng ngöôøi coäng taùc nghieân cöùu vaø ngöôøi höôùng daãn nghieân cöùu laø nhöõng ñieàu kieän khaùch quan aûnh höôûng tröïc tieáp ñeán vieäc nghieân cöùu vaø keát quaû nghieân cöùu. Ngöôøi nghieân cöùu caøng naém chaéc caùc yeáu toá khaùch quan ñoù bao nhieâu thì keát quaû nghieân cöùu caøng ñöôïc khaúng ñònh baáy nhieâu. Chöông I: CAÁU TRUÙC VI XÖÛ LYÙ 8085 CAÁU TAÏO BEÂN TRONG VI XÖÛ LYÙ 8085 1. Caáu truùc cuûa moät vi xöû lyù cô baûn : Moät vi xöû lyù veà cô baûn goàm coù 3 khoái chöùc naêng: ñôn vò thöïc thi (Execution), boä ñieàu khieån tuaàn töï (Sequencer) vaø bus giao tieáp. - Ñôn vò thöïc thi : Xöû lyù caùc leänh soá hoïc vaø logic. Caùc toaùn haïng lieân quan coù maët ôû caùc thanh ghi döõ lieäu hoaëc ñòa chæ hoaëc töø bus noäi. - Boä ñieàu khieån tuaàn töï : Bao goàm boä giaûi maõ leänh (Intrustruction Decoder) vaø boä ñeám chöông trình (Program Counter). + Boä ñeám chöông trình goïi caùc leänh chöông trình tuaàn töï. + Boä giaûi maõ leänh thì khôûi ñoäng caùc böôùc caàn thieát ñeå thöïc hieän leänh. Boä ñieàu khieån tuaàn töï taïo thaønh moät heä thoáng logic tuaàn töï maø caùch thöùc hoaït ñoäng cuûa noù ñöôïc chöùa trong ROM. Noäi dung chöùa trong ROM ñöôïc goïi laø vi chöông trình. Caùc leänh beân ngoaøi trong tröôøng hôïp naøy xaùc ñònh caùc ñòa chæ vaøo vi chöông trình. Khi chöông trình baét ñaàu thöïc hieän thì boä ñeám chöông trình PC ñöôïc ñaët ôû ñòa chæ baét ñaàu, thöôøng laø ñòa chæ 0000H (vôùi xi xöû lyù 8 bit). Ñòa chæ naøy ñöôïc chuyeån ñeán boä nhôù thoâng qua bus ñòa chæ (Address Bus). Khi tín hieäu Read ñöôïc ñöa vaøo ôû bus ñòa chæ noäi dung cuûa boä nhôù lieân quan xuaát hieän treân bus döõ lieäu (data bus) vaø seõ ñöôïc chöùa ôû boä giaûi maõ leänh (Instruction Decoder). Sau khi khôûi ñoäng moät soá böôùc caàn thieát ñeå thöïc thi leänh nhôø moät soá chu kyø maùy vaø khi leänh ñaõ thöïc thi, thì boä giaûi maõ leänh laøm cho boä ñeám chöông trình chæ ñeán oâ ñòa chæ cuûa leänh keá. Trong ñeà taøi naøy, söû duïng vi xöû lyù 8085 laø moät vi xöû lyù 8 bit neân döôùi ñaây xin trình baøy caáu truùc cuûa vi xöû lyù 8085. Address Register Data Register ALU Instruction Decoder Program Counter Logic Control Hình 1.1 : Sô ñoà khoái cuûa moät vi xöû lyù 8 bit. Control Logic Instruction Register Instruction Decoder TEMP-1 TEMP-2 ALU Out SP PC High Low Memory Address Register Accumulator (A) Status Register Register B Register D Register H Register C Register E Register L 16 bit Address Bus 8 bit Data Bus IN IN 8 bit Internal data bus Bus Hình 1.2 : Sô ñoà caáu truùc cuûa moät vi xöû lyù. Qua sô ñoà treân, ta thaáy vi xöû lyù bao goàm caùc khoái chính sau: khoái ñôn vò soá hoïc/logic ALU (Arithmatic Logic Unit), caùc thanh ghi vaø khoái Control Logic. Caùc khoái naøy lieân heä vôùi nhau qua caùc ñöôøng daây truyeàn tín hieäu. 2. Chöùc naêng vaø nhieäm vuï cuûa caùc khoái trong vi xöû lyù: a. Khoái ALU (Arithmatic Logic Unit). Khoái ñôn vò soá hoïc/ logic laø khoái quan troïng nhaát beân trong vi xöû lyù, khoái ALU chöùa caùc maïch ñieän logic coù chöùc naêng chính laø thöïc hieän caùc pheùp toaùn, caùc pheùp thay ñoåi soá lieäu. Cô sôû chính cuûa khoái ALU laø maïch coäng, neân noù coù khaû naêng thöïc hieän caùc pheùp xöû lyù soá nhò phaân. Khoái ALU coù hai ngoõ vaøo vaø moät ngoõ ra, caùc ngoõ vaøo coù chöùc naêng chuyeån tín hieäu ngoõ vaøo vaøo khoái ALU ñeå tính toaùn, sau ñoù döõ lieäu ñöôïc chuyeån ñeán ngoõ ra ñeå chuyeån ra ngoaøi. Döõ lieäu tröôùc khi vaøo khoái ALU ñöôïc chöùa ôû thanh ghi TEMP 1 vaø TEMP 2 laø caùc thanh ghi ñeäm. Trong vi xöû lyù coù moät thanh ghi ñaëc bieät coù teân laø thanh ghi A, haàu heát moïi hoaït ñoäng cuûa ALU ñeàu thoâng qua thanh ghi naøy. Thoâng thöôøng khoái ALU nhaän döõ lieäu töø thanh ghi A roài xöû lyù döõ lieäu, sau khi xöû lyù xong thì laïi gôûi döõ lieäu ra thanh ghi A. b. Caùc thanh ghi beân trong vi xöû lyù. Caùc thanh ghi beân trong cuûa vi xöû lyù coù chöùc naêng löu tröõ taïm thôøi caùc döõ lieäu khi xöû lyù. Trong soá ñoù coù moät vaøi thanh ghi ñaëc bieät khi thöïc hieän leänh, coøn caùc thanh ghi coøn laïi laø caùc thanh ghi thoâng duïng. Caùc thanh ghi naøy giuùp cho ngöôøi laäp trình thöïc hieän chöông trình deã daøng hôn, soá löôïng thanh ghi phuï thuoäc vaøo töøng loaïi vi xöû lyù. Caùc thanh ghi trong moät vi xöû lyù goàm coù: thanh ghi tích luõy (Accumulator Register), thanh ghi PC (Program Counter Register), thanh ghi con troû ngaên xeáp (Stack Pointer Register), thanh ghi traïng thaùi (Status Register), caùc thanh ghi thoâng duïng, thanh ghi ñòa chæ vaø thanh ghi leänh (Instruction Register). * Thanh ghi tích luõy (thanh ghi A – Accumulator Register) : Thanh ghi A laø moät thanh ghi quan troïng cuûa vi xöû lyù coù chöùc naêng löu tröõ döõ lieäu khi tính toaùn. Haàu heát caùc pheùp toaùn soá hoçc vaø pheùp toaùn logic ñeàu xaûy ra giöõa ALU vaø thanh ghi A, nhöng caàn löu yù raèng haàt heát sau khi thöïc hieän pheùp tính, ALU thöôøng gôûi döõ lieäu vaøo thanh ghi A laøm döõ lieäu trong thanh ghi A tröôùc ñoù bò maát. Thanh ghi A thöôøng laøm trung gian ñeå trao döõ lieäu cuûa vi xöû lyù vôùi caùc thieát bò ngoaïi vi. Vôùi vi xöû lyù 8085A, thanh ghi A coù ñoä daøi 8 bit. * Thanh ghi PC (Program Counter Register) : Thanh ghi PC laø thanh ghi quan troïng nhaát cuûa vi xöû lyù. Khi thöïc hieän moät chöông trình, caùc leänh cuûa chöông trình seõ ñöôïc quaûn lyù baèng thanh ghi PC. Thanh ghi PC seõ chöùa ñòa chæ cuûa caùc leänh ñang thöïc hieän cuûa moät chöông trình. Chính vì vaäy, tröôùc khi vi xöû lyù thöïc hieän moät chöông trình thì thanh ghi PC phaûi ñöôïc naïp moät döõ lieäu, ñoù chính laø ñòa chæ ñaàu tieân cuûa chöông trình. Trong quaù trình thöïc hieän chöông trình, vi xöû lyù töï ñoäng taêng noäi dung thanh ghi PC ñeå chuaån bò ñoùn caùc leänh tieáp theo, tuy nhieân trong chöông trình coù leänh coù khaû naêng laøm thay ñoåi noäi dung thanh ghi PC. Vôùi vi xöû lyù 8085, thanh ghi PC coù ñoä daøi 16 bit vaø khi vi xöû lyù ñöôïc reset laïi, thanh ghi PC seõ töï ñoäng naïp cho mình giaù trò 0000H. * Thanh ghi traïng thaùi (Status Register): Thanh ghi traïng thaùi coøn goïi laø thanh ghi côø (Flag Register – thanh ghi F) duøng ñeå löu tröõ keát quaû cuûa moät soá leänh kieåm tra. Vieäc löu tröõ keát quaû cuûa caùc leänh kieåm tra giuùp cho ngöôøi laäp trình coù khaû naêng ñieàu khieån chöông trình theo caùc nhaùnh khaùc nhau. Vôùi vi xöû lyù 8085 caáu truùc cuûa thanh ghi traïng thaùi nhö sau: 7 6 5 4 3 2 1 0 S Z x AC x P x CY Trong ñoù: S (signal): bit daáu : S = 1 khi keát quaû aâm, S = 0 khi keát quaû döông. Z (Zero): bit Zero: Z = 1 khi keát quaû baèng 0, Z = 0 khi keát quaû khaùc 0. AC (Auxiliary carry): bit traøn: AC = 1 : pheùp tính bò traøn treân bit 4. AC = 0 : pheùp tính khoâng bò traøn treân bit 4. P (Parity): bit chaün, leû: P = 1 khi keát quaû laø soá chaün. P = 0 khi keát quaû laø soá leû. CY (Carry): bit nhôù: CY = 1 khi keát quaû coù soá nhôù. CY = 0 khi keát quaû khoâng coù soá nhôù. Caùc bit x laø caùc bit khoâng ñöôïc söû duïng thoâng duïng neân khoâng giôùi thieäu trong ñeà taøi naøy. * Thanh ghi con troû ngaân xeáp (Stack Pointer Register – thanh ghi SP): Thanh ghi con troû ngaên xeáp laø thanh ghi quan troïng cuûa vi xöû lyù, ñoä daøi döõ lieäu cuûa thanh ghi SP baèng vôùi ñoä daøi döõ lieäu cuûa thanh ghi PC. Chöùc naêng cuûa thanh ghi SP laø duøng ñeå quaûn lyù boä nhôù ngaên xeáp khi muoán löu tröõ taïm thôøi döõ lieäu vaøo ngaên xeáp, cuõng gioáng nhö thanh ghi PC, thanh ghi SP cuõng töï ñoäng chæ tôùi oâ nhôù keá. Trong caùc vi xöû lyù, vò trí con troû ngaên xeáp luoân töï ñoäng giaûm ñeå chæ tôùi oâ nhôù keá tieáp, vì vaäy khi thieát laäp giaù trò cho thanh ghi con troû ngaên xeáp phaûi laø ñòa chæ cuoái cuøng cuûa chöông trình vaø noù phaûi naèm trong vuøng nhôù RAM. Neáu khoâng khôûi taïo ñòa chæ con troû ngaên xeáp, noù seõ chæ ñeán moät ñòa chæ ngaãu nhieân, do ñoù döõ lieäu caát vaøo ngaên xeáp coù theå ghi choàng leân phaàn chöông trình laøm chöông trình chaïy sai hoaëc SP khoâng naèm trong vuøng nhôù RAM laøm noù khoâng thöïc hieän ñuùng chöùc naêng cuûa mình. * Thanh ghi ñòa chæ boä nhôù: Thanh ghi ñòa chæ oâ nhôù coù chöùc naêng taïo ñuùng ñòa chæ oâ nhôù maø vi xöû lyù muoán truy xuaát döõ lieäu. Thanh ghi ñòa chæ luoân baèng vôùi thanh ghi PC. * Thanh ghi leänh : Thanh ghi naøy coù chöùc naêng chöùa leänh maø vi xöû lyù ñang thöïc hieän. Ñaàu taeân, leänh ñöôïc ñoùn töø boä nhôù ñeán chöùa trong thanh ghi leänh, tieáp theo leänh seõ ñöôïc thöïc hieän, trong khi thöïc hieän leänh, boä giaûi maõ leänh seõ ñoïc döõ lieäu trong thanh ghi leänh ñeå xöû lyù vaø baùo chính xaùc cho vi xöû lyù bieát yeâu caàu cuûa leänh. Trong suoát quaù trình naøy thanh ghi leänh khoâng ñoåi, noù chæ thay ñoåi khi thöïc hieän leänh keá tieáp. Vôùi vi xöû lyù 8085 thanh ghi leänh coù ñoä daøi döõ lieäu laø 8 bit. Ngöôøi laäp trình khoâng coù khaû naêng taùc ñoäng vaøo thanh ghi naøy. * Thanh ghi chöùa döõ lieäu taïm thôøi (Temporary Data Register): Thanh ghi chöùa döõ lieäu taïm thôøi duøng ñeå trôï giuùp khoái ALU trong quaù trình thöïc hieän caùc pheùp toaùn. Trong moãi loaïi vi xöû lyù, soá löôïng caùc thanh ghi taïm thôøi khaùc nhau. c. Khoái ñieàu khieån logic (Logic Control): Khoái ñieàu khieån logic thöïc chaát laø caùc maïch ñieàu khieån logic, coù chöùc naêng nhaän leänh hay tín hieäu ñieàu khieån töø boä giaûi maõ leänh vaø thöïc hieän vieäc ñieàu khieån theo ñuñng yeâu caàu cuûa leänh. Khoái ñieàu khieån logic ñöôïc xem nhö laø boä xöû lyù cuûa vi xöû lyù. Caùc tín hieäu ñieàu khieån cuûa khoái ñieàu khieån logic laø caùc tín hieäu ñieàu khieån caùc thieát bò beân ngoaøi giao tieáp vôùi vi xöû lyù vaø caùc ñöôøng ñieàu khieån vi xöû lyù töø caùc thieát bò beân ngoaøi. Ngoõ vaøo tín hieäu quan troïng nhaát trong khoái ñieàu khieån logic laø ngoõ vaøo xung clock, phaûi coù tín hieäu naøy thì khoái ñieàu khieån môùi hoaït ñoäng ñöôïc. Ñoàng thôøi giuùp heä thoáng hoaït ñoäng ñöôïc ñoàng boä. d. Caùc thaønh phaàn khaùc beân trong vi xöû lyù. Khoái giaûi maõ leänh (Instruction Decoder): Chöùc naêng cuûa khoái giaûi maõ leänh laø nhaän leänh töø thanh ghi leänh, sau ñoù tieán haønh giaûi maõ leänh roài ñöa tín hieäu ñieàu khieån ñeán khoái ñieàu khieån logic. Caùc ñöôøng daây daãn: Caùc khoái beân trong cuûa vi xöû lyù lieân heä vôùi nhau thoâng qua caùc ñöôøng daây daãn. Caùc ñöôøng daây daãn ñöôïc chia laøm ba nhoùm chính: ñöôøng döõ lieäu, ñöôøng ñòa chæ vaø ñöôøng ñieàu khieån. - Ñöôøng ñòa chæ: trong vi xöû lyù 8085, ñöôøng döõ lieäu cuûa noù goàm 16 ñöôøng daây daãn song song ñeå truyeàn taûi caùc bit ñòa chæ. Soá ñöôøng ñòa chæ cho ta bieát soá oâ nhôù toái ña maø vi xöû lyù coù khaû naêng truy xuaát ñöôïc, soá oâ nhôù ñöôïc tính baèng coâng thöùc 2n vôùi n laø soá ñöôøng daây daãn. Vaäy vôùi vi xöû lyù 8085A, khaû naêng truy xuaát oâ nhôù toái ña laø 65536 oâ nhôù. Vôùi nhieäm vuï ñònh ra ñòa chæ cuûa thieát bò caàn truy xuaát neân ñöôøng ñòa chæ mang tính moät chieàu vaø chæ coù vi xöû lyù môùi coù khaû naêng ñöa ñòa chæ leân ñöôøng ñòa chæ. - Ñöôøng döõ lieäu: duøng ñeå keát noái caùc thanh ghi beân trong vi xöû lyù vôùi caùc khoái khaùc beân trong vi xöû lyù vaø chuyeån döõ lieäu ra ngoaøi. Vi xöû lyù 8085A coù 8 ñöôøng döõ lieäu. Ñeå caùc thanh ghi beân trong vöøa coù khaû naêng nhaän döõ lieäu vöøa coù khaû naêng xuaát döõ lieäu thì ñöôøng döõ lieäu phaûi coù tính chaát hai chieàu. - Ñöôøng ñieàu khieån: bao goàm caùc tín hieäu ñieàu khieån ñeå baûo ñaûm söï hoaït ñoäng ñoàng boä vôùi nhau giöõa caùc khoái. Moãi tín hieäu ñieàu khieån coù moät chieàu nhaát ñònh. 3. Taäp leänh cuûa vi xöû lyù: Moãi vi xöû lyù coù moät taäp leänh rieâng tuøy thuoäc vaøo caáu truùc beân trong cuûa noù. Taäp leänh goàm nhieàu leänh. Leänh cuûa vi xöû lyù laø döõ lieäu ôû daïng soá nhò phaân, vôùi vi xöû lyù 8085 chieàu daøi moät leänh laø 8 bit. Moät leänh luoân luoân bao goàm hai phaàn chính: maõ leänh vaø ñòa chæ, neáu moät leänh maø phaàn sau cuûa noù laø döõ lieäu thì phaàn ñòa chæ ñaõ ñöôïc hieåu ngaàm. Ñeå vieäc vieát chöông trình deã daøng hôn, ngöôøi ta duøng caùc töø goïi nhôù ñeå leänh deã vieát vaø deã ñoïc hôn, vieäc naøy laøm ngöôøi vieát chöông trình coù theå nhôù ñöôïc nhieàu leänh hôn. Taäp leänh cuûa vi xöû lyù ñöôïc chia laøm 9 nhoùm leänh cô baûn sau: - Nhoùm leänh truyeàn döõ lieäu. - Nhoùm leänh soá hoïc vaø logic. - Nhoùm leänh trao ñoåi, truyeàn khoái döõ lieäu vaø tìm kieám. - Nhoùm leänh xoay vaø dòch. - Nhoùm leänh ñieàu khieån. - Nhoùm leänh veà bit. - Nhoùm leänh nhaûy. - Nhoùm leänh goïi, trôû veà vaø nhoùm leänh baét ñaàu. - Nhoùm leänh xuaát/nhaäp. 4. Caùc kieåu ñònh ñòa chæ trong vi xöû lyù: Trong vi xöû lyù söû duïng raát nhieàu kieåu ñònh ñòa chæ, sau ñaây laø moät soá kieåu ñònh ñòa chæ thoâng duïng. * Kieåu ñònh ñòa chæ töùc thôøi: Vôùi kieåu ñònh ñòa chæ töùc thôøi thì trong maõ leänh khoâng ñeà caäp tôùi ñòa chæ maø chæ ñeà caäp tôùi döõ lieäu, ñòa chæ ôû ñaây ñaõ ñöôïc hieåu ngaàm. * Kieåu ñònh ñòa chæ tröïc tieáp: Trong maõ leänh coù chöùa ñòa chæ tröïc tieáp cuûa oâ nhôù caàn xöû lyù, vi xöû lyù 8085A coù 16 ñöôøng ñòa chæ neân ñòa chæ tröïc tieáp cuõng coù ñoä daøi 16 bit. * Kieåu ñònh ñòa chæ ngaàm: Trong caùch ñònh ñòa chæ naøy, vò trí hoaëc giaù trò cuûa soá lieäu ñöôïc hieåu ngaàm nhôø maõ leänh. * Kieåu ñònh ñòa chæ giaùn tieáp duøng thanh ghi: Yeáu toá thöù hai trong caáu truùc leänh khoâng phaûi laø ñòa chæ cuûa döõ lieäu maø chæ laø daáu hieäu cho bieát vò trí, nôi chöùa ñòa chæ cuûa soá lieäu. * Kieåu ñònh ñòa chæ tröïc tieáp baèng thanh ghi: Yeáu toá thöù hai cuûa caáu truùc leänh laø kyù hieäu cuûa caùc thanh ghi, döõ lieäu xöû lyù laø döõ lieäu chö SÔ ÑOÀ CAÁU TRUÙC BEÂN NGOAØI VAØ CHÖÙC NAÊNG CAÙC CHAÂN CUÛA VI XÖÛ LYÙ 8085: 1. Ñaëc tính cuûa vi xöû lyù 8085A: - Nguoàn cung caáp: 5 V ± 10%. - Doøng ñieän cöïc ñaïi: Imax = 170 mA. - Taàn soá xung clock chuaån: 6,134 Mhz. - Ñoä daøi döõ lieäu laø 8 bit. - Khaû naêng truy xuaát oâ nhôù tröïc tieáp laø 64 Kbytes. - Vi xöû lyù coù theå tính soá nhò phaân, thaäp phaân. - Vi xöû lyù coù 8 ñöôðng döõ lieäu vaø 16 ñöôøng ñòa chæ. - Caùc ñöôøng ñieàu khieån : RD\, WR\, IO/M\, Clock Out, Reset Out vaø 4 ngaét. 2. Sô ñoà chaân vaø sô ñoà logic: Ready Hold Intr RST 7.5 RST 6.5 RST 5.5 Trap Reset in X1 X2 SID Vcc Vss A8 – A15 AD0 – AD7 ALE S0 S1 RD\ WR\ HLDA INTA Reset out Clock out SOD 8085A X1 X2 Reset out SOD SID Trap RST 7.5 RST 6.5 RST 5.5 INTR INTA\ AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 Vss Vcc HOLD HLDA Clock out Reset in READY IO/M\ S1 RD\ WR\ ALE S0 A15 A14 A13 A12 A11 A10 A9 A8 1 20 21 40 8085A Hình 1.3 : Sô ñoà chaân vaø sô ñoà logic cuûa 8085A 3. Chöùc naêng caùc chaân: * Chaân 1, 2 – X1, X2 (Input): - Chaân X1, X2 laø hai ngoõ vaøo, ñaây cuõng laø nôi ñaët thaïch anh. Nhieäm vuï cuûa noù laø taïo dao ñoäng cho caùc khoái beân trong vi xöû lyù. - Vi xöû lyù khaùc nhau coù taàn soá laøm vieäc khaùc nhau, sau ñaây laø taàn soá laøm vieäc cöïc ñaïi cuûa moät vaøi vi xöû lyù do Intel saûn xuaát: · 6MHz ñoái vôùi 8085A. · 10MHz ñoái vôùi 8085A-2. · 12 MHz ñoái vôùi 8085A-1. * Chaân 3: Reset Out (Output): - Cho bieát vi xöû lyù ñang ñaët ôû traïng thaùi ban ñaàu. Ta coù theå söû duïng tín hieäu töø chaân naøy laøm tín hieäu reset cho caùc vi maïch khaùc trong heä thoáng. - Chaân naøy neáu khoâng söû duïng thì ñeå troáng. - Tín hieäu luoân ôû möùc [0], khi taùc ñoäng thì leân [1]. * Chaân 4: SOD (Output): - SOD (Serial Output Data): ñaây laø ngoõ ra döõ lieäu noái tieáp, döõ lieäu ñöôïc xuaát ra ôû chaân naøy taïi bit A7 cuûa thanh ghi A. ngoõ ra naøy ñöôïc thöïc hieän bôûi leänh SIM. - Chaân naøy neáu khoâng söû duïng thì ñeå troáng. * Chaân 5: SID (Input): - SID (Serial Input Data): ñaây lað ngoõ vaøo döõ lieäu vaøo noái tieáp, döõ lieäu töø heä thoáng khaùc göûi ñeán töøng bit moät khi vi xöû lyù coù leänh nhaän tín hieäu, döõ lieäu ôû ngoõ vaøo naøy ñöôïc naïp vaøo bit A7 cuûa thanh ghi A. - Vi xöû lyù thöïc hieän coâng vieäc naøy khi nhaän leänh RIM. * Chaân 6: TRAP (Input): - ÔÛ chaân naøy, tín hieäu ngaét khoâng ngaên ñöôïc. Tín hieäu yeâu caàu ngaét coù baäc öu tieân cao, khoâng bò ngaên laïi bôûi chöông trình (phaàn meàm). - Ngoõ vaøo naøy do heä thoáng khaùc ñieàu khieån. Heä thoáng khaùc 8085A 6 8085A 6 o Trap VXL Hoaëc · Hình 1.4 : Sô ñoà taùc ñoäng ngaét cuûa vi xöû lyù. - Ngoõ vaøo naøy ñöôïc kích bôûi caïnh leân. - Khi chaân TRAP ôû möùc [1], traïng thaùi naøy ñöôïc löu vaøo 1 bit beân trong vi xöû lyù, luùc ñoù chöông trình thöù I seõ ngöng laïi khi thöïc hieän xong vaø nhaûy ñeán ñòa chæ 0024H ñeå thöïc hieän chöông trình taïi ñòa chæ naøy cho ñeán khi gaëp leänh trôû veà thì môùi quay laïi chöông trình chính. - ÖÙng duïng cuûa ngaét : Moät trong nhöõng öùng duïng laø queùt baøn phím. Khi coù moät phím taùc ñoäng, IC queùt baøn phím seõ baùo cho vi xöû lyù tín hieäu ngaét vi xöû lyù seõ chuyeån sang nhaän vaø xöû lyù phím ñoù. Sau khi xöû lyù xong môùi trôû veà chöông trình chính. * Chaân 7, 8, 9 – RST 7.5, RST 6.5, RST 5.5: (Input): - RST (Restart Interrupt Request): Tån hieäu ngaét coù theå ngaên ñöôïc. Ñaây laø ba ngoõ vaøo ñieàu khieån vi xöû lyù. - Ba ngoõ vaøo naøy ñöôïc kích baèng caïnh leân hoaëc baèng möùc, tín hieäu ñöa vaøo chaân RST 7.5 coù theå laø moät xung. - Khi gaëp tín hieäu ngaét, vi xöû lyù seõ thöïc hieän chöông trình taïi ñòa chæ ñöôïc quy ñònh quy ñònh tröôùc. * Chaân RST 7.5 coù ñòa chæ chöông trình phuïc vuï ngaét laø: 003C. * Chaân RST 6.5 coù ñòa chæ chöông trình phuïc vuï ngaét laø: 0034. * Chaân RST 5.5 coù ñòa chæ chöông trình phuïc vuï ngaét laø: 002C. - Khi ñoaïn chöông trình chính coù leänh cho pheùp ngaét DI tín hieäu ngaét töø caùc chaân naøy seõ khoâng ñöôïc thöïc hieän. - Khi ñoaïn chöông trình chính coù leänh cho pheùp ngaét EI, thì caùc leänh ngaét naøy seõ ñöôïc thöïc hieän keå töø khi gaëp leänh EI trong chöông trình chính. - Neáu caùc chaân naøy khoâng söû duïng thì seõ noái ñaát (GND). * Chaân 10: INTR (Input): - INTR (Interrupt) : tín hieäu baùo ngaét vi xöû lyù seõ nhaän ra sau khi thi haønh xong moät chæ thò. - Khi khoâng söû duïng chaân 10 noái GND. * Chaân 11: INTA\ (Output): - INTA (Interrupt Acknowledge): Tín hieäu traû lôøi ngaét. Tín hieäu seõ baùo cho thieát bò yeâu caàu ngaét bôûi tín hieäu INTA bieát raèng vi xöû lyù ñ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 ñöôøng döõ lieäu (Data Bus). - Chaân 10 vaø 11 thöôøng ñöôïc lieân keát vôùi caùc IC DMA (duøng trong maùy tính). - Khi khoâng söû duïng chaân 11 boû troáng. * Chaân 12 ¸ 19 – AD0 ¸ AD7 (Input/Output): - AD (Address Data): ñaây laø caùc ñöôøng ñòa chæ vaø caùc ñöôøng döõ lieäu ñöôïc tích hôïp chung vôùi nhau taïo thaønh ñöôøng döõ lieäu – ñòa chæ. - ÔÛ chu kyø maùy T1, caùc ngoõ AD naøy ñoùng vai troø laø caùc ngoõ ra ñòa chæ, ôû caùc chu kyø sau thì bus naøy ñoùng vai troø laø caùc ñöôøng döõ lieäu. Vi xöû lyù xuaát hay nhaäp döõ lieäu ñeàu thoâng qua caùc ñöôøng naøy. - Caùc ñöôøng döõ lieäu vaø ñòa chæ trong bus naøy coù theå ñöôïc taùch ra haún bôûi moät IC choát (74LS373, 74LS573) ñöôïc ñieàu khieån bôûi chaân ALE cuûa vi xöû lyù. * Chaân 20 – Vss: Chaân GND cuûa vi xöû lyù. * Chaân 21 ¸ 28 – A8 ¸ A15 (Output) Address bus: Caùc ngoõ ra naøy ñöôïc duøng ñeå xuaát 8 bit ñòa chæ cao. Nhö vaäy, vi xöû lyù 8085A coù 16 ñöôøng ñòa chæ vaø 8 ñöôøng döõ lieäu. * Chaân 29, 33, 34 – S0, S1, IO/M\ (Output). - Ba ngoõ naøy cho bieát traïng thaùi hoaït ñoäng cuûa vi xöû lyù, traïng thaùi hoaït ñoäng coù theå xem ôû baûng sau: IO/M\ S1 S0 Traïng thaùi 0 0 1 Vieát vaøo boä nhôù (Memory Write) 0 1 0 Ñoïc boä nhôù (Memory Read) 0 1 1 Xuaát döõ lieäu ra coång (Op-Code Fetch) 1 0 1 Xuaát döõ lieäu ra coång (I/0 Write) 1 1 0 Ñoïc döõ lieäu töø coång (I/0 Read) 1 1 1 Interrup Acknowledge * Chaân 30 – ALE (Output): - ALE (Address Latch Enable) laø chaân ñieàu khieån, duøng xaùc ñònh vai troø cuûa ñöôøng AD7 ¸ AD0. Ngoõ naøy taïo ra moät xung ôû chu kyø maùy T1 nhaèm xaùc ñònh luùc ñoù ñöôøng AD7 ¸ AD0 ñoùng vai troø laø ñöôøng ñòa chæ (A7 ¸ A0). - Bình thöôøng thì ALE ôû möùc [0], ôû chu kyø T1 thì ALE ôû möùc [1]. - Chaân naøy duøng laøm chaân ñieàu khieån cho IC choát. * Chaân 31: WR\ (Output): - WR\ (Write) duøng ñeå xaùc ñònh vi xöû lyù 8085A ñang thöïc hieän leänh ghi döõ lieäu leân boä nhôù hay I/O. - Chaân WR\ cuûa vi xöû lyù 8085A thöôøng ñöôïc noái vôùi caùc chaân WR cuûa caùc IC khaùc (boä nhôù hay I/O). * Chaân 32: RD\ (Output): - RD\ (Read): duøng ñeå xaùc ñònh vi xöû lyù ñang thöïc hieän leänh ñoïc döõ lieäu töø boä nhôù hay I/0 vaø vi xöû lyù. - Chaân RD\ cuûa vi xöû lyù 8085A thöôøng ñöôïc noái vôùi caùc chaân RD cuûa caùc IC khaùc (boä nhôù hay I/0). * Chaân 35: Ready (Input): - Ready: Töùc tín hieäu traû lôøi cho vi xöû lyù. Boä nhôù hay thieát bò ngoaïi vi I/0 baùo cho vi xöû lyù bieát laø ñaõ saün saøng göûi hoaëc nhaän döõ lieäu. Vi xöû lyù chöa theå hoaøn thaønh chu kyø maùy neáu Ready coù giaù trò thaáp. - Neáu heát 3 chu kyø xung clock maø boä nhôù chöa göûi döõ lieäu ra thì chöông trình seõ sai. Do ñoù ñeå ñoàng boä ngöôøi thieát keá duøng chaân Ready naøy (bình thöôøng Ready ôû möùc [1]). * Chaân 36: Reset In (Input): - Reset In: ngoõ vaøo naøy duøng ñeå reset vi xöû lyù. Khi thöïc hieän reset tín hieäu naøy phaûi ôû möùc logic [0] trong khoaûng 3 chu kyø xung clock. - Khi reset thanh ghi PC = 0000H nghóa laø vi xöû lyù trôû veà traïng thaùi ban ñaàu. Sau ñoù vi xöû lyù seõ ñoùn leänh taïi ñòa chæ naøy. - Khi chaân Reset In taùc ñoäng thì chaân Reset Out cuûa vi xöû lyù cuõng taùc ñoäng theo. Neáu caùc IC khaùc ñöôïc noái vôùi chaân Reset Out thì khi reset vi xöû lyù, caùc IC khaùc cuõng ñöôïc reset theo.  8085A 36 · R C Hình 1.5 : Sô ñoà reset 8085A. * Chaân 37: CLK (Output): - CLK (Clock): ngoõ ra tín hieäu xung clock ñeå cung caáp cho caùc thieát bò khaùc khi coù yeâu caàu. Taàn soá cuûa noù baèng taàn soá ngoõ vaøo chia 2. - Neáu khoâng söû duïng thì chaân naøy ñeå troáng. * Chaân 38: HLDA (Output): - HLDA (Hold Acknowledge): Tín hieäu ngoõ ra cho bieát tín hieäu HOLD ñaõ ñöôïc chaáp nhaän vaø vi xöû lyù seõ ôû traïng thaùi HOLD ôû chu kyø xung clock tieáp theo. * Chaân 39: HOLD (Input): - HOLD: nhaän tín hieäu yeâu caàu ngöng boä ñieàu khieån DMA. - Neáu khoâng söû duïng, chaân HOLD noái GND. Toùm laïi, vôùi chaân HOLD vaø HLDA: khi DMA ngöng thì vi xöû lyù laøm vieäc vaø ngöôïc laïi vì DMA keát noái thoâng qua bus. * Chaân 40 – Vcc : Naêng löôïng nguoàn 5V cung caáp cho vi xöû lyù hoaït ñoäng. III. BOÄ NHÔÙ: 1. KHAÙI NIEÄM: Boä nhôù laø caùc vi maïch ñöôïc tích hôïp vôùi maät ñoä cao. Boä nhôù chính laø nôi löu tröõ caùc chöông trình cho vi xöû lyù cuõng nhö löu tröõ caùc keát quaû khi xöû lyù, vì vaäy moïi heä thoáng ñieàu khieån töï ñoäng duøng vi xöû lyù ñeàu phaûi duøng tôùi boä nhôù. 2. HOAÏT ÑOÄNG TOÅNG QUAÙT CUÛA MOÄT BOÄ NHÔÙ: Quaù trình hoaït ñoäng truy xuaát döõ lieäu cuûa boä nhôù ñeàu thoâng qua caùc böôùc sau: - Nhaän ñòa chæ ñeå choïn ñuùng oâ n`ôù caàn truy xuaát. - Nhaän tín hieäu ñieàu khieån, tín hieäu naøy seõ cho pheùp ñoïc hay ghi döõ lieäu töø boä nhôù. - Nhaän döõ lieäu vaøo oâ nhôù khi thöïc hieän chöùc naêng ghi hoaëc gôûi döõ lieäu ra khi thöïc hieän chöùc naêng ñoïc. BOÄ NHÔÙ Caùc ñöôøng döõ lieäu vaøo\ra Caùc ñöôøng ñieàu khieån Caùc ñöôøng ñòa chæ vaøo Hình 1.6 : Sô ñoà moâ taû caùc ñöôøng tín hieäu cuûa boä nhôù. Caùc ñöôøng ñieàu khieån bao goàm ngoõ vaøo Memory Enable vaø ngoõ vaøo Read\Write. Ngoõ vaøo Memory Enable duøng ñeå cho pheùp boä nhôù hoaït ñoäng. Ngoõ vaøo Read \ Write duøng ñeå xaùc ñònh cheá ñoä hoaït ñoäng cuûa boä nhôù: ñoïc döõ lieäu ra hay ghi döõ lieäu vaøo. Caùc ñöôøng ñòa chæ vaøo xaùc ñònh ñuùng ñòa chæ oå nhôù caàn truy xuaát. Caùc ñöôøng döõ lieäu duøng ñeå truyeàn döõ lieäu hai chieàu. 3. PHAÂN LOAÏI BOÄ NHÔÙ: Boä nhôù ñöôïc phaân thaønh 2 loaïi, moãi loaïi coù cô cheá hoaït ñoäng khaùc nhau nhöng cuøng coù chung chöùc naêng chính laø löu tröõ döõ lieäu. - Boä nhôù chæ ñoïc (ROM – Read Only Memory): trong luùc hoaït ñoäng bình thöôøng, döõ lieäu chæ coù theå ñoïc ra chöù khoâng coù theå ghi vaøo. - Boä nhôù truy xuaát ngaãu nhieân (RAM – Random Access Memory): baát kyø oâ nhôù naøo cuõng deã daøng truy xuaát nhö nhöõng oâ nhôù khaùc töùc laø döõ lieäu coù theå deã daøng ghi vaøo cuõng nhö ñoïc ra. a. Boä nhôù ROM: ROM laø boä nhôù ñöôïc thieát keá cho caùc öùng duïng caàn tyû leä ñoïc döõ lieäu cao. ROM löu tröõ döõ lieäu coá ñònh vaø trong khi hoaït ñoäng bình thöôøng chæ duøng ñeå ñoïc döõ lieäu ra chöù khoâng theå ghi döõ lieäu vaøo ROM. Coù nhieàu loaïi ROM khaùc nhau, döôùi ñaây laø moät soá loaïi ROM thöôøng gaëp : - PROM (Programmable ROM): loaïi ROM naøy chæ coù theå laäp trình ñöôïc moät laàn, sau ñoù khoâng theå xoùa hay naïp laïi ñeå thay ñoåi döõ lieäu. - EPROM (Erasable Programmable ROM): vôùi loaïi ROM naøy, döõ lieäu coù theå xoùa ñi ñeå naïp döõ lieäu môùi ñöôïc. Tuy nhieân, khi caàn thay ñoåi giaù trò cuûa moät oâ nhôù thì khoâng theå chæ xoùa döõ lieäu cuûa oâ nhôù ñoù maø phaûi xoùa heát roài naïp laïi toaøn boä döõ lieäu. Ñeå xoùa döõ lieäu cuûa EPROM phaûi duøng aùnh saùng cöïc tím. Coøn ñeå naïp döõ lieäu cho ROM phaûi duøng maïch naïp cho ROM. Hoï EPROM coù maõ soá 27xxx. - EEPROM (Electrically Erasable Programmable ROM): ñaây laø loaïi ROM caûi tieán töø EPROM. Vôùi loaïi EEPROM naøy coù theå xoùa vaø naïp caùc oâ n`ôù moät caùch ñoäc laäp, khoâng caàn xoùa ñi toaøn boä caùc oâ nhôù chöùa chöông trình nhö cuûa EPROM. Hoï EEPROM coù maõ soá 28xxx. Trong thöïc teá, vôùi caùc heä thoáng ñieàu khieån duøng vi xuû lyù, ngöôøi ta thöôøng söû duïng EPROM vì noù coù theå cho pheùp ngöôøi söû duïng naïp vaø xoùa chöông trình nhieàu laàn, ñoàng thôøi tính kinh teá cao (reû vaø deã kieám hôn EEPROM nhieàu laàn). Chính vì vaäy, trong ñeà taøi naøy, nhoùm ñaõ söû duïng EPROM ñeå laøm boä nhôù cho heä thoáng ñieàu khieån cuûa mình. EPROM coù nhieàu loaïi vôùi caùc dung löôïng khaùc nhau. Sau ñaây laø baûng lieät keâ caùc loaïi EPROM. Baûng lieät keâ caùc loaïi EPROM: Teân EPROM Dung löôïng Ngoõ ra Thôøi gian truy xuaát 2707 1 Kbytes 3 traïng thaùi 150 ns 2716 2 Kbytes 3 traïng thaùi 150 ns 2732 4 Kbytes 3 traïng thaùi 250 ns 2764 8 Kbytes 3 traïng thaùi 450 ns 27128 16 Kbytes 3 traïng thaùi 450 ns 27256 32 Kbytes 3 traïng thaùi 450 ns 27512 64 Kbytes 3 traïng thaùi 450 ns Trong ñeà taøi naày, ôû ñaây chæ trình baøy sô ñoà c`aân, sô ñoà logic cuøng baûng traïng thaùi cuûa vi maïch 2764: A0 A1 A11 A12 CE\ OE\ PGM\ Vpp D0 D7 2764 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 Vpp A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 GND Vcc PGM\ NC A8 A9 A11 OE\ A10 CE\ D7 D6 D5 D4 D3 2764 Hình 1.7 : Sô ñoà chaân vaø sô ñoà logic cuûa vi maïch 2764 Baûng traïng thaùi cuûa vi maïch 2764: Mode CE\ OE\ PGM\ VPP VCC Output Read VIL VIL VIH VCC VCC Dout Stand by VIH x x VCC VCC High Z Program VIL x VIL VPP VCC Din Program verify VIL VIL VIH VPP VCC Dout Program Inhibit VIH x x VPP VCC High Z b. Boä nhôù RAM: Boä nhôù RAM laø boä nhôù thay ñoåi, baát kyø oâ nhôù naøo cuõng coù theå truy xuaát deã daøng vaø thôøi gian truy xuaát cuûa caùc oâ nhôù laø nhö nhau. Khaùc vôùi boä nhôù ROM, döõ lieäu trong RAM seõ maát ñi khi nguoàn ñieän cung caáp bò maát. Tuy vaäy ngöôøi ta khaéc phuïc ñieàu naøy baèng caùch söû duïng nguoàn pin ñeå “nuoâi” RAM. RAM thöôøng ñöôïc duøng trong caùc heä thoáng ñieàu khieån töï ñoäng ñeå löu tröõ döõ lieäu taïm thôøi chöông trình hay caùc döõ lieäu. Do noäi dung döõ lieäu trong RAM thöôøng thay ñoåi lieân tuïc trong quaù trình hoaït ñoäng neân yeâu caàu chu kyø ñoïc vaø ghi cuûa RAM phaûi nhanh ñeå khoâng laøm aûnh höôûng ñeán toác ñoä cuûa caû heä thoáng. Cuõng nhö boä nhôù ROM, boä nhôù RAM cuõng duøng thanh ghi ñeå löu tröõ döõ lieäu, moãi thanh ghi löu tröõ moät döõ lieäu vaø chæ töông öùng vôùi moät ñòa chæ duy nhaát. Khaùc vôùi boä nhôù ROM, boä nhôù RAM coøn coù ñöôøng ñieàu khieån cho pheùp ghi hoaëc ñoïc döõ lieäu : R\W. Boä nhôù RAM ñöôïc chia laøm hai loaïi: SRAM vaø DRAM. - SRAM (Static RAM) coøn goïi laø RAM tónh. Ñaây laø loaïi RAM löu tröõ döõ lieäu cho ñeán khi naøo nguoàn nuoâi khoâng coøn. SRAM thöïc chaát laø nhöõng Flip – Flop (FF), trong ñoù moãi FF laø moät phaàn töû nhôù ñaïi dieän cho moät bit. - DRAM (Dynamic RAM) coøn goïi laø RAM ñoäng. Ñaây laø loaïi RAM phaûi luoân ñöôïc laøm “töôi” töùc laø phaûi naïp laïi döõ lieäu cho RAM trong moät khoaûng thôøi gian nhaát ñònh, neáu khoâng RAM seõ bò maát döõ lieäu. Trong khi laøm töôi RAM, oâ nhôù ñoù khoâng ñöôïc pheùp truy xuaát. Trong ñeà taøi naøy, nhoùm chæ söû duïng SRAM: 6264 neân ôû ñaây chæ trình baøy sô ñoà chaân, sô ñoà logic vaø baûng traïng thaùi cuûa SRAM naøy. A0 A1 A11 A12 CS\ OE\ WR\ CS D0 D7 6264 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 NC A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 GND Vcc WR\ CS A8 A9 A11 OE\ A10 CS\ D7 D6 D5 D4 D3 6264 Hình 1.8 : Sô ñoà chaân vaø sô ñoà logic cuûa vi maïch 6264 Baûng traïng thaùi laøm vieäc cuûa vi maïch 6264: Mode WR\ CS\ CS OE\ Output Not select x H x X High Z Not select x x L X High Z Output Disable H L H H High Z Read H L H L Dout Write L L H H Din IV. KEÁT NOÁI BOÄ NHÔÙ VÔÙI VI XÖÛ LYÙ: Boä nhôù coù vai troø raát quan troïng trong heä thoáng vi xöû lyù, hoaït ñoäng cuûa boä nhôù gaén lieàn vôùi hoaït ñoäng cuûa vi xöû lyù, laø nôi löu tröõ döõ lieäu ñeå vi xöû lyù xöû lyù. do ñoù boä nhôù luoân hieän dieän trong heä thoáng vi xöû lyù vaø khi söû duïng phaûi tieán haønh keát noái. Boä nhôù bao goàm caû ROM vaø RAM, chuùng lieân heä vôùi nhau vaø ñôïc keát noái vôùi vi xöû lyù thoâng qua caùc bus: bus döõ lieäu, bus ñòa chæ, vaø bus ñieàu khieån. Sô ñoà keát noái ñöôïc trình baøy ôû daïng khoái sau: Trong heä thoáng coù theå coù moät ROM moät RAM hoaëc soá löôïng ROM vaø RAM nhieàu hôn nöõa, vieäc boä nhôù ñöôïc truy xuaát hoaøn toaøn phuï thuoäc vaøo söï ñieàu khieån cuûa vi xöû lyù thoâng qua 1 IC giaûi maõ 74LS138. Vi xöû lyù Boä nhôù ROM Boä nhôù RAM Bus ñòa chæ Bus döõ lieäu Bus ñieàu khieån Hình 1.8 : Sô ñoà khoái keát noái giöõa boä nhôù vôùi vi xöû lyù Trong heä thoáng coù theå coù moät ROM moät RAM hoaëc soá löôïng ROM vaø RAM nhieàu hôn nöõa. Vieäc boä nhôù ñöôïc truy xuaát hoaøn toaøn phuï thuoäc vaøo söï ñieàu khieån cuûa vi xöû lyù thoâng qua 1 IC giaûi maõ 74LS138. Khi thieát keá vaán ñeà quan taâm ñaàu tieân ñoù laø khaû naêng truy xuaát boä nhôù cuûa vi xöû lyù, keá ñeán laø dung löôïng cuûa boä nhôù caàn söû duïng. Trong thöïc teá, boä nhôù coù nhieàu dung löôïng khaùc nhau (2K, 4K, 8K… ), nhaèm phuïc vuï cho vieäc thieát keá ñoà aùn naøy nhoùm thöïc hieän löïa choïn boä nhôù coù dung löôïng 8Kbyte ñoù laø vi maïch nhôù 2764 vaø 6264. V. VAÁN ÑEÀ GIAÛI MAÕ CHO BOÄ NHÔÙ : Vôùi moãi boä nhôù (1EPROM hay 1 RAM) ñeå vi xöû lyù coù theå truy xuaát heát 8 Kbyte boä nhôù thì phaûi tieán haønh keát noái 13 ñöôøng ñòa chæ A12A11A10A9A8A7A6A5A4A3A2A1A0 cuûa vi xöû lyù ñeán 13 ñöôøng ñòa chæ A12A11A10A9A8A7A6A5A4A3A2A1A0 cuûa boä nhôù. do ñoù taát caû 13 ñöôøng ñòa chæ cuûa EPROM vaø RAM ñeàu ñöôïc noái vôùi 13 ñöôøng ñòa chæ cuûa vi xöû lyù. ñeå truyeàn ñöôïc tín hieäu vôùi nhau thì caùc ñöôøng döõ lieäu D7 – D0 cuûa vi xöû lyù cuõng phaûi ñöôïc keát noái vôùi caùc ñöôøng döõ lieäu D7 – D0 cuûa töøng boä nhôù. Ñöôøng tín hieäu ñieàu khieån RD\ cuûa vi xöû lyù ñöôïc keát noái vôùi ngoõ vaøo OE\ cuûa EPROM vaø RAM. Neáu chæ nhö vaäy thì khi vi xöû lyù gôûi moät ñòa chæ ra ñeå truy xuaát thì caùc boä nhôù ñeàu nhaän ñöôïc ñòa chæ naøy vaø seõ cuøng gôûi döõ laeäu ra hoaëc cuøng nhaän döõ lieäu vaøo. Nhö vaäy döõ lieäu maø vi xöû lyù nhaän ñöôïc seõ khoâng bieát cuûa oâ nhôù naøo. Vaán ñeà ñöôïc ñaët ra laø baèng caùch naøo ñeå vi xöû lyù truy xuaát chính xaùc töøng oâ nhôù yeâu caàu. Coâng vieäc naøy ñöôïc giaói quyeát baèng caùch thieát keá theâm phaàn giaûi maõ ñòa chæ ñeå cho pheùp hoaëc khoâng cho pheùp boä nhôù naøo hoaït ñoäng. Rieâng ñoái vôùi boä nhôù RAM vì RAM laø boä nhôù ñoïc – ghi neân phaûi noái theâm ñöôøng WR\ cuûa vi xöû lyù tôùi ñöôøng WR\ cuûa RAM. Sô ñoà maïch giaûi maõ boä nhôù: ñeán CE\ cuûa EPROM ñeán CS\ cuûa RAM A13 A14 A15 A B C O0\ O1\ O2\ O3\ O4\ O5\ O6\ O7\ E3 E1\ E2\ Hình 1.10 : Sô ñoà maïch giaûi maõ boä nhôù CHÖÔNG II: GIÔÙI THIEÄU TAÄP LEÄNH CUÛA VI XÖÛ LYÙ 8085 I. NHOÙM LEÄNH DI CHUYEÅN 8 BIT: Leänh truyeàn döõ lieäu giöõa caùc thanh ghi: + Cuù phaùp: MOV d, s · s (source): töôïng tröng cho caùc thanh ghi phaùt. 0 1 d d d s s s · d (destination): töôïng tröng cho thanh nhaän. + Maõ ñoái töôïng: + Caùc bit ddd vaø sss tra ôû BAÛNG 2.1 cuoái taäp leänh. + YÙ nghóa: chuyeån noäi dung thanh ghi s vaøo thanh ghi d, noäi dung thanh ghi s vaãn coøn. + Leänh naøy chieám 1 byte, soá chu kyø xung clock = 4. + Thanh ghi traïng thaùi khoâng thay ñoåi. (Töông töï cho caùc leänh khaùc). Leänh chuyeån döõ lieäu thanh ghi vaøo oâ nhôù: Cuù phaùp: MOV M, s Leänh chuyeån döõ lieäu töø oâ nhôù vaøo thanh ghi: Cuù phaùp: MOV d, M Leänh truyeàn töùc thôøi döõ liieäu 8 bit vaøo thanh ghi: Cuù phaùp: MVI d, D8 Leänh truyeàn töùc thôøi döõ lieäu 8 bit vaøo oâ nhôù: Cuù phaùp: MVI M, D8 II. NHOÙM LEÄNH TAÊNG GIAÛM 8 BIT: Leänh taêng noäi dung thanh ghi: + Cuù phaùp: INR d 0 0 d d d 1 0 0 + Maõ ñoái töôïng: + YÙ nghóa: Leänh naøy taêng noäi dung thanh ghi leân moät ñôn vò. + Leänh naày chieám 1 byte , soá chu kyø xung clock = 4. + Leänh naày aûnh höôûng ñeán thanh ghi traïng thaùi tröø bit Cy khoâng aûnh höôûng. (Töôïng töï cho caùc leänh khaùc) Leänh giaûm noäi dung thanh ghi: Cuù phaùp: DCR d Leänh taêng noäi dung oâ nhôù: Cuù phaùp: INR M Leänh giaûm noäi dung oâ nhôù: Cuù phaùp: DCR M NHOÙM LEÄNH SOÁ HOÏC GIÖÕA THANH GHI A VAØ THANH GHI Leänh coäng thanh ghi: + Cuù phaùp: ADD s 1 0 0 0 0 s s s + Maõ ñoái töôïng: + YÙ nghóa: noäi dung thanh ghi A ñöôïc coäng vôùi noäi dung thanh ghi s, keát quaû chöùa trong thanh ghi A , noäi dung thanh ghi s vaãn coøn. + Leänh naøy chieám moät byte, soá chu kyø xung clock = 4. + Leänh naøy aûnh höôûng ñeán thanh ghi traïng thaùi. Leänh coäng thanh ghi coù soá nhôù ban ñaàu: + Cuù phaùp: ADC s 1 0 0 0 1 s s s + Maõ ñoái töôïng: + YÙ nghóa: noäi dung thanh ghi A ñöôïc coäng vôùi noäi dung thanh ghi s coäng vôùi bit Cy, keát quaû chöùa trong thanh ghi A, noäi dung thanh ghi s vaãn coøn. + Leänh naày chieám 1 byte, soá chu kyø xung clock = 4. + Leänh naày aûnh höôûng ñeán thanh ghi traïng thaùi. (Töông töï cho caùc leänh khaùc) Leänh tröø thanh ghi: Cuù phaùp: SUB s Leänh tröø thanh ghi coù soá nhôù ban ñaàu: Cuù phaùp: SBB s Leänh and vôùi thanh ghi: Cuù phaùp: ANA s Leänh Ex-or vôùi thanh ghi: Cuù phaùp: XRA s Leänh or vôùi thanh ghi: Cuù phaùp: ORA s Leänh so saùnh vôùi thanh ghi: Cuù phaùp: CMP s IV. NHOÙM LEÄNH SOÁ HOÏC GIÖÕA OÂ NHÔÙ VÔÙI THANH GHI A: Leänh coäng vôùi oâ nhôù: + Cuù phaùp: ADD M 1 0 0 0 0 1 1 0 + Maõ ñoái töôïng: + YÙ nghóa: noäi dung thanh ghi A ñöôïc coäng vôùi noäi dung oâ nhôù coù ñòa chæ chöùa trong caëp thanh ghi HL, keát quaû chöùa trong thanh ghi A, noäi dung oâ nhôù khoâng thay ñoåi. + Leänh naày chieám 1 byte, soá chu kyø xung clock = 7. + Leänh naày aûnh höôûng ñeán thanh ghi traïng thaùi. Leänh coäng oâ nhôù coù soá nhôù ban ñaàu: + Cuù phaùp: ADC M 1 0 0 0 1 1 1 0 + Maõ ñoái töôïng: + YÙ nghóa: noäi dung thanh ghi A ñöôïc coäng vôùi dung oâ nhôù coù ñòa chæ chöùa trong caëp thanh ghi HL, keát quaû chöùa trong A, noäi dung oâ nhôù khoâng thay ñoåi. + Leänh naày chöùa 1 byte, soá chu kyø xung clock = 7. + Leänh naày aûnh höôûng ñeán thanh ghi traïng thaùi. (Töông töï cho caùc leänh khaùc) Leänh tröø vôùi oâ nhôù: Cuù phaùp: SUB M Leänh tröø oâ nhôù coù soá nhôù ban ñaàu: Cuù phaùp: SBB M Leänh and vôùi oâ nhôù: Cuù phaùp: ANA M Leänh Ex-or vôùi oâ nhôù: Cuù phaùp: XRA M Leänh or vôùi oâ nhôù: Cuù phaùp: ORA M Leänh so saùnh vôùi oâ nhôù: Cuù phaùp: CMP M V. NHOÙM LEÄNH SOÁ HOÏC GIÖÕA THANH GHI A VAØ DÖÕ LIEÄU 8 BIT: Leänh coäng töùc thôøi vôùi döõ lieäu 8 bit: + Cuù phaùp: ADI D8 1 1 0 0 0 1 1 0 Döõ lieääu 8 bit D8 + Maõ ñoái töôïng: + YÙ nghóa: noäi dung thanh ghi A ñöôïc coäng vôùi döõ lieäu 8 bit D8, keát quaû chöùa trong thanh ghi A. + Leänh naày chöùa 2 byte, soá chu kyø xung clock = 7. + Leänh naày aûnh höôûng ñeán thanh ghi traïng thaùi. Leänh coäng töùc thôøi vôùi döõ lieäu 8 bit coù soá nhôù ban ñaàu: + Cuù phaùp: ACI D8 1 1 0 0 1 1 1 0 Döõ lieääu 8 bit D8 + Maõ ñoái töôïng: + YÙ nghóa: noäi dung thanh ghi A ñöôïc coäng vôùi döõ lieäu 8 bit D8, coäng vôùi bit Cy, keát quaû chöùa trong thanh ghi A. + Leänh naày chöùa 2 byte, soá chu kyø xung clock = 7. + Leänh naày aûnh höôûng ñeán thanh ghi traïng thaùi. ( Töông töï cho caùc leänh khaùc ) Leänh tröø töùc thôøi vôùi döõ lieäu 8 bit: Cuù phaùp: SUI D8 Leänh tröø töùc thôøi vôùi döõ lieäu 8 bit coù soá nhôù ban ñaàu: Cuù phaùp: SBI D8 Leänh and töùc thôøi vôùi döõ lieäu 8 bit: Cuù phaùp: ANI D8 Leänh Ex-or töùc thôøi vôùi döõ lieäu 8 bit: Cuù phaùp: XRI D8 Leänh or töùc thôøi vôùi döõ lieäu 8 bit: Cuù phaùp: ORI D8 Leänh so saùnh töùc thôøi vôùi döõ lieäu 8 bit: Cuù phaùp: CPI D8 VI. NHOÙM LEÄNH NAÏP TÖÙC THÔØI CAËP THANH GHI: Leäänh naïp caëp thanh ghi BC: + Cuù phaùp: LXI B, D16 0 0 0 0 0 0 0 1 8 bit thaáp 8 bit cao + Maõ ñoái töôïng: + YÙ nghóa: döõ lieäu 16 bit D16 ñöôïc naïp vaøo caëp thanh ghi BC. + Leänh naày chieám 3 byte, soá chu kyø xung clock = 10. + Khoâng aûnh höôûng ñeán thanh ghi traïng thaùi. (Töông töï cho caùc leänh khaùc) Leänh naïp caëp thanh ghi DE: Cuù phaùp: LXI D, D16 Leänh naïp caëp thanh ghi HL: Cuù phaùp: LXI H, D16 Leänh naïp caëp thanh ghi SP: Cuù phaùp: LXI SP, D16 VII. NHOÙM LEÄNH PUSH: Leänh caát caëp thanh ghi BC: + Cuù phaùp: PUSH B 1 1 0 0 0 1 0 1 +Maõ ñoái töôïng: +YÙ nghóa: noäi dung caëp thanh ghi BC ñöôïc copy vaøo ngaên xeáp. Noäi dung thanh ghi B ñöôïc caát vaøo ngaên xeáp taïi ñòa chæ (SP-1), thanh ghi C ñöôïc caát vaøo ngaên xeáp taïi ñòa chæ (SP-2), noäi dung thanh ghi SP giaûm ñi 2. + Leänh naøy chieám 1 byte, soá chu kì xung clock =12. +Leänh naøy khoâng aûnh höôûng ñeán thanh ghi traïng thaùi. (Töông töï cho caùc leänh khaùc) Leänh caát caëp thanh ghi DE: Cuù phaùp: PUSH D Leänh caát caëp thanh ghi HL: Cuù phaùp: PUSH H Leänh caát caëp thanh ghi AF: Cuù phaùp: PUSH PSW VIII. NHOÙM LEÄNH POP: Leänh chuyeån noäi dung ngaên xeáp vaøo caëp thanh ghi: + Cuù phaùp: POP B 1 1 0 0 0 0 0 1 + Maõ ñoái töôïng: + YÙ nghóa: chuyeån noäi dung töø ngaên xeáp vaøo caëp thanh ghi BC. Noäi dung ngaên xeáp coù ñòa chæ chöùa trong SP ñöôïc chuyeån cho thanh ghi C, noäi dung cuûa ngaên xeáp coù ñòa chæ (SP+1) ñöôïc chuyeån cho thanh ghi B, sau leänh POP noäi dung cuûa SP taêng leân 2. + Leänh naøy chieám moät byte, soá chu kì clock =12. + Leänh naøy khoâng aûnh höôûng ñeán thanh ghi teaïng thaùi. (Töông töï cho caùc leänh khaùc cuøng nhoùm). Leänh chuyeån noäi dung ngaên xeáp vaøo caëp thanh ghi DE: + Cuù phaùp: POP D Leänh chuyeån noäi dung ngaên xeáp vaøo caëp thanh ghi HL: + Cuù phaùp: POP H Leänh chuyeån noäi dung ngaên xeáp vaøo caëp thanh ghi AF: + Cuù phaùp: POP PSW IX. NHOÙM LEÄNH COÄNG CAËP THANH GHI VÔÙI CAËP THANH GHI: Leänh coäng caëp thanh ghi BC: + Cuù phaùp: DAD B 0 0 0 0 1 0 0 1 + Maõ ñoái töôïng: + YÙ nghóa: noäi dung caëp thanh ghi BC ñöôïc coäng vôùi caëp thanh ghi HL, keát quaû caát trong caëp thanh ghi HL. Thanh ghi L ñöôïc coäng vôùi C, thanh ghi H ñöôïc coäng vôùi B. + Leänh naøy chieám 1 byte, soá chu kyø clock =10. + Leänh naøy chæ laøm aûnh höôûng ñeán bit traïng thaùi Cy. Töông töï cho caùc leänh cuøng nhoùm naøy nhö sau: Leänh coäng caëp thanh ghi DE: + Cuù phaùp: DAD D Leänh coäng caëp thanh ghi HL: + Cuù phaùp: DAD H Leänh coäng caëp thanh ghi SP: + Cuù phaùp: DAD SP X. NHOÙM LEÄNH TAÊNG CAËP THANH GHI:1.Leänh taêng caëp thanh ghi BC: + Cuù phaùp: INX B 0 0 0 0 0 0 0 1 + Maõ ñoái töôïng: +YÙ nghóa: noäi dung caëp thah ghi BC taêng theâm moät ñôn vò. + Leänh naøy chieám 1 byte, soá chu kyø clock =6. + Leänh naøy khoâng laøm aûnh höôûng ñeán thanh ghi traïfg thaùi. (Töông töï cho caùc leänh khaùc) Leänh taêng caëp thanh ghi DE: + Cuù phaùp: INX D Leänh taêng caëp thanh ghi HL: + Cuù phaùp: INX H Leänh taêng caëp thanh ghi SP: + Cuù phaùp: INX SP XI. LEÄNH GIAÛM CAËP THANH GHI: Leänh giaûm caëp thanh ghi BC: + Cuù phaùp: DCX D 0 0 0 0 1 0 1 1 + Maõ ñoái töôïng: + YÙ nghóa: noäi dung caëp thanh ghi BC giaûm theâm 1 ñôn vò. + Leänh naøy chieám 1 byte, soá chu kyø clock=6. + Leänh naøy khoâng laøm aûnh höôûng ñeán thanh ghi traïng thaùi. (Töông töï cho caùc leânh khaùc) Leänh giaûm caëp thanh ghi DE: + Cuù phaùp: DCX D Leänh giaûm caëp thanh ghi HL: + Cuù phaùp: DCX H Leänh giaûm caëp thanh ghi SP: + Cuù phaùp: DCX SP XII. NHOÙM LEÄNH GIAÙN TIEÁP DUØNG CAËP THANH GHI: Leänh löu tröõ giaùn tieáp duøng caëp thanh ghi BC: + Cuù phaùp: STAX B 0 0 0 0 0 0 1 0 + Maõ ñoái töôïng: + YÙ nghóa: noäi dung thanh gi ñöôïc löu tröõ giaùn tieáp vaøo oâ nhôù coù ñòa chæ chöùa trong caëp thanh ghi BC. + Leänh naøy khoâng aûnh höoûng ñeán thanh ghi traïng thaùi. (Töông töï cho caùc leânh khaùc cuøng nhoùm) Leänh löu tröõ giaùn tieáp duøng caëp thanh ghi DE: + Cuù phaùp: STAX D Leänh naïp giaùn tieáp duøng caëp thanh ghi BC: + Cuù phaùp: LDAX B 0 0 0 0 1 0 1 0 + Maõ ñoái töôïng: + YÙ nghóa: noäi dung oâ nhôù coù ñòa chæ chöùa trong caëp thanh ghi BC ñöôïc chuyeån vaøo thanh ghi A. (Töông töï cho caùc leänh khaùc) Leänh löu tröõ giaùn tieáp duøng caëp thanh ghi DE: + Cuù phaùp: LDAX D XIII. NHOÙM LEÄNH TRÖÏC TIEÁP: Leänh löu tröõ tröïc tieáp: + Cuù phaùp: STA ADDR 0 0 1 1 0 0 1 0 8 bit thaáp 8 bit cao + Maõ ñoái töôïng: + YÙ nghóa: noäi dung thanh ghi A ñöôïc löu tröõ vaøo oâ nhôù coù ñòa chæ ADDR. + Leänh naøy chieám 3 byte, soá chu kyø clock=13. + Leänh naøy khoâng aûnh höôûng ñeán thanh ghi traïng thaùi. Leänh naïp tröïc tieáp: + Cuù phaùp: LDA ADDR 0 0 1 1 1 0 1 0 8 bit thaáp 8 bit cao + Maõ ñoái töôïng: + YÙ nghóa: noäi dung oâ nhôù coù ñòa chæ laø ADDR ñöôïc chuyeån vaøo thanh ghi A. + Leänh naøy chieám 3 byte, soá chu kyø xung clock =13. + Leänh naàøy khoâng aûnh höôûng ñeán thanh ghi traïng thaùi. Leänh löu tröõ tröïc ieáp caëp thanh ghi: + Cuù phaùp: SHLD ADDR 0 0 1 0 0 0 1 0 8 bit thaáp 8 bit cao + Maõ ñoái töôïng: + YÙ nghóa: noäi dung caëp thanh ghi HL ñöïoc löu vaøo 2 oâ nhôù lieân tieáp laø ADDR vaø (ADDR+1). Noäi dung thanh ghi L ñöôïc löu tröõ vaøo oâ nhôù coù ñòa chæ laø ADDR, noäi dufg cuûa thanh ghi H ñöôïc löu tröõ vaøo oâ nhôù coù ñòa chæ laø (ADDR+1). + Leänh naày chieám 3 byte, soá chu kyø xung clock = 16. + Leänh naày khoâng aûnh höôûng ñeán thanh ghi traïng thaùi. Leänh naïp tröïc tieáp caëp thanh ghi: + Cuù phaùp: LHLD ADDR 0 0 1 0 1 0 1 0 8 bit thaáp 8 bit cao + Maõ ñoái töôïng: + YÙ nghóa: noäi dung cuûa 2 oâ nhôù coù ñòa chæ lieân tieáp laø ADDR vaø (ADDR+1) ñöôïc löu tröõ vaøo caëp thanh ghi HL. Noäi dung cuûa oâ nhôù coù ñòa chæ ADDR ñöôïc naïp vaøo thanh ghi L, noäi dung cuûa oâ nhôù coù ñòa chæ (ADDR+1) ñöôïc naïp vaøo thanh ghi H. + Leänh naøy chieám 3 byte, soá chu kyø xung clock =13. + Leänh naøy khoâng aûnh höôûng ñeán thanh ghi traïng thaùi. XIV. NHOÙM LEÄNH XOAY THANH GHI A: Leänh dòch thanh ghi A sang traùi: + Cuù phaùp: RLC 0 0 0 0 0 1 1 1 + Maõ ñoái töôïng: + YÙ nghóa: noäi dung thanh ghi A dòch töø phaûi sang traùi, bit MSB ñöôïc chuyeån sang bit Cy vaø bit LSB. + Leänh naøy chieám 1byte, soá chu kyø lock =4. + Leänh naøy chæ aûnh höôûng ñeán bit traïng thaùi Cy. Leänh dòch thanh ghi A sang phaûi: + Cuù p`aùp: RRC 0 0 0 0 1 1 1 1 + Maõ ñoái töôïng: + YÙ nghóa: noäi dung thanh ghi A dòch töø traùi sang phaûi, bit LSB ñöôïc chuyeån sang bit Cy vaø bit MSB. + Leänh naøy chieám 1byte, soá chu kyø lock =4. + Leänh naøy chæ aûnh höôûng ñeán bit traïng thaùi Cy. ( Töông töï cho caùc leänh khaùc). Leänh dòch thanh ghi A sang traùi thoâng qua bit Cy: + Cuù phaùp: RAL Leänh dòch thanh ghi A sang phaûi thoâng qua bit Cy: + Cuù phaùp: RAR XV. NHOÙM LEÄNH NHAÛY: Leänh nhaûy khoâng ñieàu kieän: + Cuù phaùp: JMP ADDR 1 1 0 0 0 0 1 1 8 bat thaáp 8 bit cao + Maõ ñoái töôïng: + yù nghóa: vi xöû lí seõ nhaûy ñeán ñòa chæ ADDR ñeå tieáp tuïc thöïc hieän chöông trình. + Leänh naøy chieám 3 byte, soá chu kyø clock =10. + Leänh naøy khoâng aûnh höôûng ñeán thanh ghi traïng thaùi. Leänh nhaûy khi bit Z=0: +Cuù phaùp: JNZ ADDR 1 1 0 0 0 0 1 0 8 bit thaáp 8 bit cao + Maõ ñoái töôïng: + YÙ nghóa: vi xöû lí seõ nhaûy ñeán ñòa chæ ADDR ñeå tieáp tuïc chöông trình khi bit Z=0, ngay sau khi thöïc hieän leänh aûnh höôûng ñeán bit z cuûa thanh ghi traïng thaùi. + Leänh naøy chieám 3 byte, soá chu kyø clock laø 7/10. + Leänh naøy khoâng aûnh höôûng ñeán thanh ghi traïng thaùi. ( Töông töï cho caùc leänh khaùc). Leänh nhaûy khi bit Z=1: + Cuù phaùp: JZ ADDR Leänh nhaûy khi bit C=0: + Cuù phaùp: JNC ADDR Leänh nhaûy khi bit C=1: + Cuù phaùp: JC ADDR Leänh nhaûy khi bit P=0: + Cuù phaùp: JPO ADDR Leänh nhaûy khi bit P=1: + Cuù phaùp: JPE ADDR Leänh nhaûy khi bit S=0: + Cuù phaùp: JP ADDR Leänh nhaûy khi bit S=1: + Cuù phaùp: JM ADDR XVI. NHOÙM LEÄNH GOÏI: Leänh goïi khoâng ñieàu kieän: + Cuù phaùp: CAAL ADDR 1 1 0 0 1 1 0 1 8 bit thaáp 8 bit cao + Maõ ñoái töôïng: + YÙ nghóa: vi xöû lyù seõ thöïc hieän chöông trình taïi ñòa chæ ADDR sau ñoù seõ trôû veà chöông trình chính khi gaëp leänh trôû veà. + Leänh naøy chieám 3 byte, soá chu kyø clock =18. + Leänh naøy khoâng aûnh höôûng ñeán thanh ghi traïng thaùi. Leänh goïi khi Z=0: + Cuù phaùp: CNZ ADDR 1 1 0 0 1 1 0 1 8 bit thaáp 8 bit cao + Maõ ñoái töôïng: + YÙ nghóa: vi xöû lyù seõ thöïc hieän chöông trình taïi ADDR khi bit Z=0, ngay sau khi thöïc hieän leänh aûnh höôûng ñeán bit Z cuûa thanh ghi traïng thaùi. Sau ñoù seõ trôû veà chöông trình chính khi gaëp leänh trôû veà. + Leänh naøy chieám 3 byte, soá chu kyø clock =9/18. + Leänh naøy khoâng aûnh höôûng ñeán thanh ghi traïng thaùi. ( Töông töï cho caùc leänh khaùc). Leänh goïi khi bit Z=1: + Cuù phaùp: CZ ADDR Leänh goïi khi bit C=0: + Cuù phaùp: CNC ADDR Leänh goïi khi bit C=1: + Cuù phaùp: CC ADDR Leänh goïi khi bit P=0: + Cuù phaùp: CPO ADDR Leänh goïi khi bit P=1: + Cuù phaùp: CPE ADDR Leänh goïi khi bit S=0: + Cuù phaùp: CP ADDR Leänh goïi khi bit S=1: + Cuù phaùp: CM ADDR NHOÙM LEÄNH TRÔÛ VEÀ TÖØ CHÖÔNG TRÌNH CON: Leänh RET khoâng ñieàu kieän: + Cuù phaùp: RET 1 1 0 0 1 0 0 1 1 + Maõ ñoái töôïng: + YÙ nghóa: leänh naøy seû keát thuùc chöông trình con, vi xöû lyù seõ trôû laïi chöông trình chính tieáp tuïc phaàn chöông trình coøn laïi. + Leänh naøy chieám 1 byte, soá chu kyø xung clock=10. + Thanh ghi traïng thaùi khoâng ñoåi. Leänh trôû veà khi Z=0: + Cuù phaùp: RNZ 1 1 0 0 0 0 0 0 0 + Maõ ñoái töôïng: + YÙ nghóa: leänh naøy seõ keát thuùc chöông trình con khi bit Z=0, vi xöû lyù seõ trôû laïi chöông trình chính tieáp tuïc phaàn chöông trình coøn laïi, neáu khoâng thoûa ñieàu kieân chöông trình con seõ thöïc hieän caùc leänh tieáp theo. + Leänh naøy chieám 1 byte, soá chu kyø clock=6/12. + Thanh ghi traïng thaùi khoâng thay ñoåi. ( Töông töï cho caùc leänh khaùc). Leänh trôû veà khi Z=1: + Cuù phaùp: RZ Leänh trôû veà khi C=0: + Cuù phaùp: RNC Leänh trôû veà khi C=1: + Cuù phaùp: RC Leänh trôû veà khi P=0: + Cuù phaùp: RPO Leänh trôû veà khi P=1: + Cuù phaùp: RPE Leänh trôû veà khi S=0: + Cuù phaùp: RP Leänh trôû veà khi S=1: + Cuù phaùp: RM NHOÙM LEÄNH DI CHUYEÅN CAËP THANH GHI Leänh trao ñoåi noäi dung 2 caëp thanh ghi: + Cuù phaùp : XCHG 1 1 1 0 1 0 1 1 + Maõ ñoái töôïng: + YÙ nghóa: noäi dung caëp thanh ghi HL vaø DE ñöôïc trao ñoåi cho nhau. Thanh ghi H trao ñoåi vôùi D thanh ghi L trao ñoåi vôùi E. + Leänh naøy chieám 1 byte, soá chu kyø xung clock = 4. + Thanh ghi traïng thaùi khoâng thay ñoåi. ( Töông töï cho caùc leänh khaùc ). Leänh trao ñoåi noäi dung caëp thanh ghi vôùi oâ nhôù: + Cuù phaùp : XTHG Leänh di chuyeån noäi dung caëp thanh ghi: + Cuù phaùp : SPHL Leänh naïp caëp thanh ghi PC : + Cuù phaùp : PCHL NHOÙM LEÄNH XUAÁT NHAÄP Leänh nhaäp döõ lieäu töø port: + Cuù phaùp: IN port-addr 1 1 0 1 1 0 1 1 port-addr + Maõ ñoái töôïng: + YÙ nghóa: nhaäp noäi dung cuûa coù ñòa chæ port-addr vaøo thanh ghi A. Ñòa chæ port-addr coù ñoä daøi 1 byte. + Leänh naøy chieám 2 byte, soá chu kyø xung clock = 10. + Thanh ghi trang thaùi khoâng thay ñoåi. (Töông töï cho caùc leänh khaùc). Leänh xuaát döõ lieäu ra port: + Cuù phaùp: OUT port-addr Leänh cho pheùp ngaét: + Cuù phaùp: EI Leänh khoâng cho pheùp ngaét: + Cuù phaùp: DI Leänh read interrupt mask: + Cuù phaùp: RIM Leänh set interrupt mask: Baûng tra caùc thanh ghi: Register ddd or sss B 000 C 001 D 010 E 011 H 100 L 101 M 110 A 111 Baûng 2.1 + Cuù phaùp: SIM NHOÙM LEÄNH ÑAËC BIEÄT: Leänh nghòch ñaûo noäi dung thanh ghi A: + Cuù phaùp: CMA Leänh ñaët bit carry: + Cuù phaùp: STC Leänh nghòch ñaûo bit carry: + Cuù phaùp: CMC Leänh ñieàu chænh thaäp phaân: + Cuù phaùp: DAA Leänh nop: + Cuù phaùp: NOP Leänh döøng: + Cuù phaùp: HLT VÍ DUÏ MINH HOÏA TAÄP LEÄNH: Chöông trình nhaáp nhaùy chuoãi "-HAØ-NOÄI-" treân 8 led: Org 7108h ;ñòa chæ baét ñaàu nhaäp maõ chuoåi Db, 40h, 76h, 77h, 40h, 37h, 3fh, 30h, 40, ;khai baùo maõ cuûa chuoãi Org 6200h Vd1: lxi h, 7108h ;naïp ñòa chæ quaûn lyù döõ lieäu vaøo thanh ghiHL Mvi c, 08h ;laøm bieán ñeám cho chöông trình hieån thò Vd2: mov a, m ;laáy döõ lieäu Sta 0a000h ;gôûi ra led hieån thò Inr l ;taêng leân 1 ñeå laáy byte tieáp theo Dcr c ;giaûm bieán ñeám Jnz vd2 ;nhaûy veà vd2 khi chöa gôûi ñuû 8 byte Mvi a, 01h ;naïp thôøi haèng delay1 giaây Call 0310h ;goïi chöông trình con delay Mvi c, 08h ;laøm bieán ñieám cho chöông trình xoùa Mvi a, 00h ;naïp 00 vaøo A Vd3 sta 0a000h ;gôûi ra led ñeå xoùa Dcr c ;giaûm bieán ñeám Jnz vd3 ;quay laïi vd3 neáu chöa xoùa ñuû 8 led Mvi 0, 01h ;naïp thôøi haèng delay Call 0310h ;goïi chöông trình delay Jmp vd1 ;quay laïi laøm laïi chu kyø keá. CHÖÔNG III: GIAO TIEÁP VÔÙI MAÙY TÍNH GIAO TIEÁP SONG SONG: GIAO TIEÁP QUA COÅNG MAÙY IN 1.1 Vaøi neùt cô baûn veà coång maùy in: Vieäc noái maùy in vôùi maùy tính ñöôïc thöïc hieân qua oå caém 15 chaân ôû phía sau maùy tính. Nhöng ñaây khoâng phaûi chæ laø choã noái vôùi maùy in maø khi söû duïng maùy tính vaøo vieäc khaùc, nhö truyeàn döõ lieäu töø maùy tính tôùi moät thieát bò khaùc, hay ñieàu khieån thieát bò baèng maùy tính thì vieäc gheùp noái cuõng ñöôïc gheùp noái qua coång maùy in. Qua coång naøy döõ lieäu ñöôïc truyeàn ñi song song, neân ñoâi khi coøn ñöôïc goïi laø coång gheùp noái song song vaø toác ñoä truyeàn cuõng ñaït ñeán möùc ñaùng keå. Taát caû caùc ñöôøng daãn cuûa coång maùy in ñeàu töông thích vôùi TTL. Nghóa laø chuùng ñeàu cung caáp möùc ñieän aùp naèm giöõa 0V ñeán 5V. do ñoù ta caàn löu yù laø caùc ñöôøng daãn vaøo coång naøy khoâng ñöôïc ñaët möùc ñieän aùp quaù lôùn. Söï saép xeáp caùc chaân cuûa coång eaùy in vôùi taát caû caùc ñöôøng daãn ñöôïc moâ taû nhö sau: 1 25 14 O O O O O O O O O O O O O O O O O O O O O O O O O HÌNH 3.1 Chöùc naêng caùc chaân Chaân Kyù hieäu Out/in Chöùc naêng 1 2 .. 9 10 11 12 13 14 15 16 17 18 ..25 Strobe D0 .. D7 ACK Busy PE SLCT AF ERROR INIT SLCTN GND Out Out In In In In Out In Out Out Byte ñöôïc in Caùc ñöôøng döõ lieäu D0 .. D7. Phaàn thu baùo cho phaàn phaùt bieát ñaõ thu xong moät kí töï Phaàn tín hieäu do phaàn thu baùo cho phaàn phaùt bieát laø phaàn thu ñang baän Baùo heát giaáy Baùo choïn maùy in Maùy tính baùo ra maùy in töï naïp giaáy Baùo caùc loãi cuûa maùy in Reset maùy in Choïn maùy in Noái ñaát 1.3 Trao ñoåi vôùi caùc ñöôøng daãn tín hieäu: LPT1: Goàm coù 3 thanh ghi: thanh ghi döõ lieäu, thanh ghi traïng thaùi vaø thanh ghi ñieàu khieån. Thanh ghi döõ lieäu: goàm coù 8 bit döõ lieäu, coù ñòa chæ laø 378h. HÌNH 3.2 CHAÂN SOÁ : 9 8 7 6 5 4 3 2 D7 D6 D5 D4 D3 D2 D1 D0 Thanh ghi trang thaùi: coù ñòa chæ laø 379h. ERROR SLCT PE ACK BUSY D7 D6 D5 D4 D3 D2 D1 D0 Thanh ghi ñieàu khieån coù ñòa chæ: 37AH Strobe AF INIT SLCTIN ( Ngaét 8259 ) D7 D6 D5 D4 D3 D2 D1 D0 1.4. Hoaït ñoäng cuûa vieäc trao ñoåi döõ lieäu: Hoaït ñoäng cuûa phaàn phaùt: + ñoïc Busy cho ñeán khi Busy\ = 1. + göûi döõ lieäu ra bus döõ lieäu + cho Strobe = 0. + chuaån bò döõ lieäu tieáp theo + quay veà böôùc 1 Hoaït ñoäng cuûa phaàn thu: + ñoïc Strobe cho ñeán khi Strobe = 1. + Busy = 0, ACK = 0. + ñoïc döõ lieäu vaøo. + ñöa ACK = 1. + xöû lyù döõ lieäu. + cho Busy = 1 ñeå phaùt kyù töï tieáp theo + quay veà böôùc 1 BUSY = 1 BEGIN GÔÛI DÖÕ LIEÄU STROBE = 1 ACK = 1 STROBE = 0 HEÁT FILE THOAÙT RA CHUAÅN BÒ DÖÕ LIEÄU TIEÁP THEO HÌNH 3.3 LÖU ÑOÀ PHAÙT BEGIN STROBE =1 BUSY =1 , ACK =0 ÑOÏC DÖÕ LIEÄU XÖÛ LYÙ DÖÕ LIEÄU ACK = 1 BUSY = 1 LÖU ÑOÀ THU HÌNH 3.4 GIAO TIEÁP QUA SLOT CARD. (coù ñòa chæ töø 300..31FH). Trong maùy tính ngöôøi ta cheá taïo saün caùc slot cho pheùp ngöôøi söû duïng tính naêng cuûa maùy vi tính baèng caùch gaén theâm caùc thieát bò vaøo noù. Moãi slot ñeàu coù caùc ñöôøng döõ lieäu (data), ñòa chæ (address), caùc ñöôøng +5V, – 5V, + 12V, -12V vaø caùc ñöôøng ñieàu khieån nhö CLK, IRQ, RESET, /IOW, IOR … vì vaäy neáu thieát keá maïch giao tieáp qua slot seõ giaûm ñöôïc raát nhieàu linh kieän, giaûm ñöôïc boä nguoàn beân ngoaøi, deã ñieàu khieån, giaù thaønh thaáp neân ñoàng thôøi toác ñoä truyeàn döõ lieäu cuõng nhanh. Tuy nhieân beân caïnh nhöõng öu ñieåm noù cuõng coù nhöõng nhöôïc ñieåm nhö: do slot card giao tieáp ñöôïc gaén beân trong maùy neân caùch giao tieáp naøy khoù nhaän ñöôïc döõ lieäu töø beân ngoaøi. Noù bò haïn cheá veà khoaûng caùch laøm vieäc ñoàng thôøi moãi laàn söû duïng phaûi môû raùp maùy gaây baát tieän cho ngöôøi söû duïng. Caùc raõnh caém trong maùy tính PC ÔÛ maùy tính PC/XT raõnh caém trong maùy tính chæ coù 1 loaïi vôùi ñoä roäng laø 8 bit vaø tuaân theo tieâu chuaån ISA (Industry Standard Architecture). Töø maùy tính AT trôû ñi vieäc boá trí chaân treân raõnh caém trôû leân phöùc taïp hôn, tuøy theo tieâu chuaån khi löïa choïn maùy tính, caùc loaïi raõnh caém theo tieâu chuaån khaùc nhau coù theå kieåm tra nhö sau: + Raõnh caém 16 bit theo tieâu chuaån ISA (Industry standard Architecture) + Raõnh caém PS/2 vôùi 16 bit theo tieâu chuaån MCA (Micro Channel Architecture) + Raõnh caém PC/2 vôùi 32 bit theo tieâu chuaån MCA . + Raõnh caém 32 bit theo tieâu chuaån EISA (Extended Micro Channel Architecture) + Raõnh caém 32 bit theo tieâu chuaån VESA + Raõnh caém 32 bit theo tieâu chuaån PCI. Cho ñeán nay phaàn lôùn caùc card gheùp noái duøng trong kyõ thuaät ño löôøng vaø ñieàu khieån ñeàu ñöôïc cheá taïo ñeå ñaët vaøo raõnh caém theo tieâu chuaån ISA. GIAO TIEÁP NOÁI TIEÁP QUA COÅNG COM RS232 VAØI NEÙT CÔ BAÛN VEÀ COÅNG NOÁI TIEÁP: Coång noái tieáp RS232 laø moät loaïi giao dieän phoå bieán roäng raõi nhaát, ta coøn goïi laø coång COM1, COM2 ñeå töï do cho caùc öùng duïng khaùc nhau. Gioáng nhö coång maùy in, coång noái tieáp RS232 cuõng ñöôïc söû duïng raát thuaän tieän trong vieäc gheùp noái maùy tính vôùi caùc thieát bò ngoaïi vi. Vieäc truyeàn döõ lieäu qua coång RS232 ñöôïc tieán haønh theo caùch noái tieáp, nghóa laø caùc bit döõ lieäu ñöôïc gôûi ñi noái tieáp vôùi nhau treân moät ñöôøng daãn. Tröôùc heát loaïi truyeàn naøy coù khaû naêng duøng cho nhöõng khoaûng caùch lôùn hôn, bôûi vì khaû naêng gaây nhieãu laø nhoû ñaùng keå hôn laø khi duøng moät coång song song. Vieäc duøng coång song song coù moät nhöôïc ñieåm ñaùng keå laø caùp truyeàn nhieàu sôïi vaø vì vaäy raát ñaét tieàn, hôn nöõa möùc tín hieäu naèm trong khoaûng 0..5V ñaõ toû ra khoâng thích öùng vôùi khoaûng caùch lôùn . Treân hình 3.5 laø söï boá trí chaân cuûa phích caém RS232 cuûa maùy tính PC: 1 2 3 4 5 6 7 8 9 O O O O O O O O O HÌNH 3.5 13 14 25 O O O O O O O O O O O O O O O O O O O O O O O O O CHAÂN (loaïi 9 chaân ) CHAÂN ( loaïi 25 chaân ) KYÙ HIEÄU YÙ NGHÓA 1 2 3 4 5 6 7 8 9 8 3 2 20 7 6 4 5 22 DCD RxD TxR DTR GND DSR RTS CTS RI Data carrier detect Nhaän döõ lieäu Phaùt döõ lieäu Döõ lieäu ñaàu cuoái saün saøng Noái ñaát Thieát bò thoâng tin saôn saøng Yeâu caàu göûi Thieát bò thoâng tin saün saøng truyeàn Ring in dicator Vieäc truyeàn döõ lieäu xaåy ra treân 2 ñöôøng daãn qua chaân caém ra TxD, göûi döõ lieäu cuûa noù ñeán thieát bò khaùc. trong khi ñoù döõ lieäu maø maùy tính nhaän ñöôïc daãn ñeán chaân RxD. caùc tín hieäu khaùc ñoùng vai troø nhö tín hieäu hoã trôï khi trao ñoåi thoâng tin vaø vì theá khoâng phaûi trong moïi öùng duïng ñeàu duøng ñeán. Möùc tín hieäu treân chaân ra RxD tuøy thuoäc vaøo ñöôøng daãn TxD vaø thoâng tin thöôøng naèm trong khoaûng – 12V.. + 12V caùc bit döõ lieäu ñöôïc ñaûo ngöôïc laïi. Möùc ñieän aùp ôû möùc cao naèm trong khoaûng – 3V vaø – 12V vaø möùc thaáp naèm trong khoaûng töø + 3Vvaø +12V . Traïng thaùi tónh treân ñöôøng daãn coù möùc ñieän aùp – 12V. Baèng toác ñoä baud ta thieát laäp toác ñoä truyeàn döõ lieäu caùc giaù trò thoâng thöôøng laø 300, 600, 1200, 2400, 4800, 9600, vaø 19200 baud, Kyù hieäu baud laø soá löôïng bit truyeàn trong 1s. Coøn moät vaán ñeà nöõa laø khuoân maãu (Format) truyeàn döõ laeäu caàn phaûi ñöôïc thieát laäp nhö nhau caû beân göûi cuõng nhö beân nhaän caùc thoâng soá truyeàn coù theå ñöôïc thieát laäp treân maùy tính PC baèng caùc caâu leänh treân DOS. Ngaøy nay Windows cuõng coù caùc chöông trình rieâng ñeå söû duïng, khi ñoù caùc thoâng soá truyeàn döõ lieäu nhö: toác ñoä baud, soá bit döõ lieäu, soá bit döøng, bit chaün leû (parity) coù theå ñöôïc thieát laäp moät caùch raát ñôn giaûn. SÖÏ TRAO ÑOÅI CUÛA CAÙC ÑÖÔØNG TÍN HIEÄU: Cuõng nhö ôû coång maùy in, caùc ñöôøng daãn tín hieäu rieâng bieät cuõng cho pheùp trao ñoåi qua laïi caùc ñòa chæ trong maùy tính PC. trong tröôøng hôïp naøy ngöôøi ta thöôøng söû duïng nhöõng vi maïch coù ñoä tích hôïp cao ñeå coù theå hôïp nhaát nhieàu chöùc naêng treân 1 chip. ÔÛ maùy tính PC thöôøng coù moät boä phaùt/nhaän khoâng ñoàng boä vaïn naêng goïi taét laø UART: Universal Asynchronous Receiver/Transmister. Ñeå ñieàu khieån söï trao ñoåi thoâng tin giöõa maùy tính vaø caùc thieát bò ngoaïi vi. phoå bieán nhaát laø vi maïch 8250 cuûa haõng NSC hoaëc caùc thieát bò tieáp theo, chaúng haïn nhö 16C550. Boä AURT naøy coù 10 thanh ghi ñeå ñieàu khieån taát caû chöùc naêng cuûa vieäc nhaäp vaøo, xuaát ra döõ lieäu theo caùch noái tieáp lieân quan ñeán noäi dung cuûa phaàn naøy chæ ñeà caäp ñeán `ai ñieàu ñaùng quan taâm ñoù laø: thanh ghi ñieàu khieån modem vaø thanh ghi traïng thaùi modem. a. Thanh ghi ñieàu khieån modem: D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 LOOP OUT2 UOT1 RTS DTR D0 =1 ñöa /DTR =0 D0 =0 ñöa /DTR =1 D1 =1 ñöa /RTS =0 D1 =0 ñöa /RTS =1 OUT1 vaø OUT2 ñieàu khieån ñaàu ra phuï b)Thanh ghi traïng thaùi modem: (ñòa chæ cô baûn +6) 1 neáu RI coù bieán ñoåi 1: neáu coù söï thay ñoå caùc tín hieäu töông öùng Coù caùc giaù trò cuûa caùc bít out 2 out 1 , DTR, RTS, trong MCR khi bit LOOP = 1 RLSD RI DSR CTS DRLSD DRI DDSR DCTR Laïi cuõng gioáng nhö ôû coång gheùp noái vôùi maùy in, caùc Thanh ghi ñöôïc trao ñoåi qua oâ nhôù trong vuøng vaøo/ra (input/output). Ñòa chæ ñaàu tieân coù theå tôùi ñöôïc cuûa coång noái tieáp goïi laø ñòa chæ cô baûn (basic Address) caùc ñòa chæ cuûa caùc thanh ghi tieáp theo ñöôïc ñaït tôùi baèng vieäc coäng theâm soá thanh ghi ñaõ gaëp cuûa boä UART vaøo ñòa chæ cô baûn. Ñòa chæ cô baûn cuûa coång noái tieáp cuûa maùy tính PC ñöôïc toùm taét trong baûng sau: COÅNG ÑÒA CHÆ CÔ BAÛN COM 1 COM 2 COM 3 COM 4 3F8H 2F8H 3E8H 2E8H CHÖÔNG IV: GIÔÙI THIEÄU HEÄ THOÁNG KIT VI XÖÛ LYÙ 8085 GIÔÙI THIEÄU CAÁU TRUÙC PHAÀN CÖÙNG KIT VI XÖÛ LYÙ 8085: Taàn soá laøm vieäc: + Vi xöû lyù 8085 cuûa Intel vôùi taàn soá hoaït ñoäng 6MHz. + Caùc chöông trình veà thôøi gian ñöôïc vieát töông öùng taïi ñòa c`æ naøy. Toå chöùc boä nhôù: Boä nhôù EPROM: Coù dung löôïng 16kbyte söû duïng 2 EPROM 2764, chöông trình heä thoáng chöùa ôû EPROM thöù nhaát, EPROM thöù 2 chöa söû duïng ñöôïc thieát keá ôû daïng socket. Socket cuûa EPROM thöù 2 coù theå söû duïng ñöôïc cho EPROM coù dung löôïng 2 kbyte, 4kbyte, 8kbyte vaø coù theå söû duïng cho boä nhôù RAM coù dung löôïng 8kbyte baèng caùch chuyeån ñoåi caùc Jump treân mainboard. + EPROM 1 coù ñòa chæ töø 0000h – 1FFFh. + EPROM 2 coù ñòa chæ töø 2000h – 3FFFh. Caùch söû duïng caùc Jump treân main: + Khi söû duïng EPROM coù dung löôïng 2kbyte (IC 2716): haõy keát noái chaân soá 2 vaø chaân soá 3 cuûa Jump 1. Vuøng ñòa chæ cuûa EPROM laø 2000h – 27FFh. + Khi söû duïng EPROM coù dung löôïng 4kbyte (IC 2732): haõy keát noái chaân soá 2 vaø chaân soá 1 cuûa Jump 1. Vuøng ñòa chæ cuûa EPROM laø 2000h – 2FFFh. + Khi söû duïng EPROM coù dung 8kbyte ( IC 2764): haõy keát noái chaân soá 2 vaø chaân soá 1 cuûa Jump 1, keát noái chaân soá 2 vaø chaân soá 3 cuûa Jump 2. Vuøng ñòa chæ cuûa EPROM laø 2000h – 3FFFh. + Khi söû duïng RAM coù dung löôïng 8kbyte (IC 6264): haõy keát noái chaân soá 2 vaø chaân soá 1 cuûa Jump 1, keát noái chaân soá 2 vaø chaân soá 1 cuûa Jump 2. Vuøng ñòa chæ cuûa RAM laø 2000h –3FFFh. Boä nhôù RAM: Boä nhôù RAM coù dung löôïng 16kbyte söû duïng 2 IC 6264. + RAM 1 coù ñòa chæ töø 6000h – 7FFFh. +ø RAM 2 coù ñòa chæ töø 8000h – 9FFFh. + Caùc vuøng nhôù RAM ñaõ söû duïng coù ñòa chæ laø 87F8h ñeán 87FFh. Chöông trình coù theå söõ duïng toaøn boä caùc vuøng nhôù RAM coøn laïi. Caùc IC ngoaïi vi: Trong heä thoáng coù söû duïng 3 IC 8255A duøng ñeå giao tieáp vôùi thieát bò ngoaïi vi Ñòa chæ cuûa caùc port 8255-1 8255-2 8255-3 Port A 00H 10H 20H Port B 01H 11H 21H Port C 02H 12H 22H Thanh ghi ñieàu khieån 03H 13H 23H Baûng ñoà oâ nhôù cuûa 3 IC 8255: + IC 8255 –3 duøng ñeå queùt baøn phím cho heä thoáng maùy. + Caùc ngoõ ra cuûa IC 8255 –1, 8255-2 ñöôïc ñöa ra beân ngoaøi baèng connect 64 chaân coù sô ñoà chaân tra ôû baûng tra. Moãi IC 8255 coù 3 port, moãi port coù 8 chaân ñieàu khieån neân soá chaân ñöa ra beân ngoaøi ñeå ñieàu khieån laø 48. Khoái giaûi maõ hieån thò söû duïng IC 8279: Goàm coù 8 led vôùi thöù töï led 1 tôùi led 8 theo höôùng töø phaûi sang traùi nhö hình 4.2. LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1 Hình 4.2 a p g f e d b c Vuøng ñòa chæ söû duïng cuûa IC 8279 laø A000H-A001H, trong ñoù: + Ñòa chæ A000H laø ñaïi chæ duøng ñeå göûi döõ lieäu caàn hieån thò. + Ñòa chæ A001H laø ñòa chæ duøng ñeå gôûi töø ñieàu khieån ra IC 8279. Caáu truùc byte döõ lieäu cuûa led: dp g f e d c b a Heä thoáng söû duïng led loaïi Anode chung neân muoán ñoaïn naøo saùng thì bit döõ lieäu töông öùng vôùi ñoaïn ñoù baèng 1. Ñoaïn naøo taét thì bit töông öùng vôùi ñoaïn ñoù baèng 0. Ví duï muoán saùng soá "9" thì byte döõ lieäu göûi ra led laø: 0 1 1 0 1 1 1 1 Töông öùng vôùi soá HEX laø 6FH. Sau ñaây laø maõ 7 ñoaïn cuûa moät soá chöõ soá vaø chöõ caùi: P g f e d c b a Hex Soá 0 0 0 1 1 1 1 1 1 3F Soá 1 0 0 0 0 0 1 1 0 06 Soá 2 0 1 0 1 1 0 1 1 5B Soá 3 0 1 0 0 1 1 1 1 4F Soá 4 0 1 1 0 0 1 1 0 66 Soá 5 0 1 1 0 1 1 0 1 6D Soá 6 0 1 1 1 1 1 0 1 7D Soá 7 0 0 0 0 0 1 1 1 07 Soá 8 0 1 1 1 1 1 1 1 7F Soá 9 0 1 1 0 1 1 1 1 6F Chöõ A 0 1 1 1 0 1 1 1 77 Chöõ B 0 1 1 1 1 1 0 0 7C Chöõ C 0 0 1 1 1 0 0 1 39 Chöõ D 0 1 0 1 1 1 1 0 5E Chöõ E 0 1 1 1 1 0 0 1 79 Chöõ F 0 1 1 1 0 0 0 1 71 Chöõ P 0 1 1 1 0 0 1 1 73 Chöõ H 0 1 1 1 0 1 1 0 76 Chöõ U 0 0 1 1 1 1 1 0 3E Coù theå tìm caùc maõ töông öùng coøn laïi. Coù 2 caùch hieån thò döõ lieäu caùc led: LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1 Hình 4.3 + Caùch 1: khi göûi döõ lieäu môùi ra ñòa chæ A000H thì döõ lieäu naøy söõ hieån thò ôû led 1, döõ lieäu tröôùc ñoù cuûa led seõ dòch sang traùi theo chieàu muõi teân trong hình 3. Rieâng byte döõ lieäu tröôùc cuûa led 8 seõ dòch maát ñi. Muõi teân naèm ngang chæ chieàu nhaän döõ lieäu töø vi xöû lyù ñöa ñeán led 1, caùc muõi teân voøng cung chæ dòch chuyeån döõ lieäu. Neáu muoán xoaù heát maøn hình 8 led thì gôûi 8 byte 00 lieân tieáp ra A000h. + Caùch 2: Kieåu gôûi döõ lieäu ôû caùch 1 coøn ñöôïc goïi laø kieåu dòch chuyeån döõ lieäu tuaàn töï. Beân caïnh ñoù 8279 coøn cho pheùp gôûi döõ lieäu tröïc tieáp ñeán baát kyø led naøo trong 8 led, toå chöùc cuûa led khoâng coù gì thay ñay ñoåi ñòa chæ gôûi döõ lieäu vaãn laø A000H nhöng moåi led coøn coù theâm moät ñòa chæ ñieàu khieån nhö trong hình 4.4. ñòa chæ cuûa led phaûi gôûi ra ñòa chæ A001H tröôùc khi gôûi döõ lieäu ra ñòa chæ A000H. LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1 Hình 4.3 80H 81H 82H 83H 84H 85H 86H 87H Khoái giaûi maõ baøn phím duøng 8255: Chöông trình con giaûi maõ baøn phím ñöôïc vieát taïi ñòa chæ 0223H, söû dung caùc thanh ghi B, D, E, A, khi goïi chöông trình con 0223H: + Neáu khoâng aán phím thì sau khi thöïc hieän xong chöông trình seõ trôû veà chöông trình chính vôùi noäi dung thanh ghi A = FFH. + Neáu coù aán phím thì maõ cuûa phím aá chöùa trong A. Chöông trình naày neáu coù aán phím hoaëc khoâng coù aán phím ñieàu trôû veà sau khi thöïc hieän xong vaø phaûi caát döõ lieäu trong caùc thanh ghi khi goïi chöông trình con naøy. Baûng maõ caùc phím soá: Phím Maõ 00 01 02 03 1 2 3 Phím Maõ 04 05 06 07 1 2 3 Phím Maõ C 0C D 0D E 0E F 0F Phím Maõ 8 08 9 09 A 0A B 0B Baûng maõ caùc phím soá: Baûng maõ caùc phím chöùc naêng: Phím Maõ T 10 G 11 R 12 13 Phím Maõ S 14 15 P 16 K 17 CHÖÔNG V: GIAO TIEÁP NOÁI TIEÁP DUØNG VI MAÏCH 8251 TRUYEÀN THOÂNG TIN NOÁI TIEÁP Vieäc truyeàn thoâng tin giöõa caùc boä phaän naèm gaàn nhau trong heä vi xöû lyù coù theå ñöôïc thöïc hieän thoâng qua bus song song môû roäng hoaëc caùc maïch phoái gheùp song song. Trong ñoù caùc byte hoaëc caùc töø ñöôïc chuyeån töø boä phaän naøy sang boä phaän khaùc treân moät taäp caùc ñöôøng maïch in hoaëc daây caùp. Trong tröôøng hôïp caàn phaûi truyeàn thoâng tin ôû caùc thieát bò caùch xa nhau laøm sao tieát kieäm ñöôïc soá ñöôøng daây daãn caàn thieát cho vieäc truyeàn. Töø yeâu caàu treân ñaõ ra ñôøi phöông phaùp truyeàn thoâng tin noái tieáp. ÔÛ ñaàu phaùt döõ lieäu song song ñaàu tieân ñöôïc chuyeån thaønh döõ lieâu daïng noái tieáp sau ñoù ñöôïc truyeàn ñi lieân tieáp treân moät ñöôøng daây. ÔÛ ñaàu thu, tín hieäu noái tieáp seõ ñöôïc bieán ñoåi ngöôïc laïi ñeå taùi taïo tín hieäu daïng song song t`ích hôïp cho vieäc xöû lyù tieáp theo. Trong thöïc teá coù 2 phöông phaùp truyeàn thoâng tin kieåu noái tieáp: truyeàn ñoàng boä vaø truyeàn khoâng ñoàng boä. Trong phöông phaùp truyeàn ñoàng boä, döõ lieäu ñöôïc truyeàn theo töøng maûng vôùi toác ñoä xaùc ñònh. Maûng döõ lieäu tröôùc khi ñöôïc truyeàn ñi seõ ñöôïc gaén theâm ôû ñaàu vaø ôû cuoái maûng caùc byte hoaëc moät nhoùm bit ñònh daáu ñaëc bieät. SYN SYN SOH STX TEXT ETX hay ETB BCC HEADER SYN : Kyù töï ñoàng boä SOH : Kyù töï baét ñaàu phaàn maøo ñaàu HEADER : Phaàn maøo ñaàu STX : Kyù töï baét ñaàu vaên baûn TEXT :Thaân vaên baên ETX : Kyù töï keát thuùc vaên baûn ETB : Kyù töï keát thuùc vaên baûn BCC : Kyù töï kieåm tra khoái HÌNH 5.1 ÔÛ hình 5.1 bieåu dieãn moät baûn tin ñeå truyeàn ñoàng boä theo giao thöùc BISYNC (giao thöùc truyeàn thoâng tin heä 2 ñoàng boä, binary synchronous communication protocal) ñaây thöïc chaát laø giao thöùc ñieàu khieån theo byte, vì caùc byte (kyù töï) ñaëc bieät ñöôïc duøng ñeå ñaùnh daáu caùc phaàn khaùc nhau cuûa baûn tin. Trong caùch truyeàn khoâng ñoàng boä, döõ lieäu ñöôïc truyeàn ñi theo töøng kyù tö. Kyù töï caàn truyeàn ñi ñöôïc gaén theâm moät bit ñaùnh daáu ôû ñaàu ñeå baùo baét ñaáu kyù töï (start) vaø 1 hoaëc 2 bit ñaùnh daáu cuoái ñeå baùo keát thuùc kyù töï (stop)ï. Vì cuoái kyù töï ñöôïc fhaän daïng rieâng bieät neân noù coù theå ñöôïc truyeàn ñi theo phöông phaùp khoâng ñoàng boä, ñöôïc theå hieän treân hình 5.1. Chieàu cuûa doøng kyù töï Luoân ôû möùc cao Luoân ôû möùc thaáp Start D0 D1 D2 D3 D4 D5 D6 Parity Stop Stop Maõ cuûa kyù töï caàn truyeàn HÌNH 5.2 : Khung cuûa moät kyù töï ñeå truyeàn khoâng ñoàng boä Tuyø theo loaïi maõ ñöôïc choïn duøng trong khi truyeàn (Baudot, Ascii,… ) ñoä daøi cho maõ kyù töï coù theå laø 5 , 6 , 7, 8 bit. Tuyø theo heä thoáng truyeàn tin, beân caïnh caùc bit döõ lieäu coøn coù theå tuyø choïn coù hay khoâng coù 1 bit parity ñeå kieåm tra loãi khi truyeàn coù theå tuyø choïn 1 hoaêc 2 bit stop, nhöng baét buoäc phaûi coù moät bit start. Nhö vaäy ñeå truyeàn moät kyù töï theo phöông phaùp khoâng ñoàng boä, ngoaøi kyù töï mang tin ta buoäc phaûi truyeàn theâm ít nhaát 2 vaø nhieàu nhaát laø 4 bit phuï ñeå taïo ra khung cho kyù töï ñoù, vì theá phöông phaùp naày tuy ñôn giaûn nhöng coù hieäu suaát khoâng cao. Toác ñoä truyeàn döõ lieäu theo phöông phaùp noái tieáp ñöôïc ño baèng bit/s. Ngoaøi ra ngöôøi ta cuõng hay duøng ñôn vò baud, ñoù laø giaù trò ngòch ñaûo cuûa thôøi gian giöõa caùc laàn thay ñoåi möùc tín hieäu, vôùi döõ lieäu chæ coù hai möùc (0 vaø 1)ø vaø moãi thay ñoåi möùc tín hieäu chæ maõ hoùa moät bit thì coù theå hieåu baud = bit/s, caùc toác ñoä truyeàn thöôøng gaëp trong thöïc teá laø 11, 300, 600, 1200, 2400, 4800, 9600, 19200 baud. Ñeå taïo ñieàu kieän deå daøng cho vieäc phoái gheùp ñöôøng truyeàn noái tieáp vôùi heä vi xöû lyù vaø ñeå giaûm toái ña caùc maïch phuï theâm ôû beân ngoaøi ngöôøi ta ñaõ cheá taïo ra caùc vi maïch toå hôïp côõ lôùn laäp trình ñöôïc coù khaû naêng hoaøn thaønh phaàn lôùn caùc coâng vieäc caàn thieát trong khi phoái gheùp. Ñoù laø caùc maïch thu phaùt di boä vaïn naêng IN8250/16450 cuûa National vaø maïch thu phaùt ñoàng boä – dò boä vaïn naêng 8251 cuûa Intel. II. VI MAÏCH USART 8251: Trong phaàn naøy ta seõ giôùi thieäu maïch 8251A ñoù laø vi maïch USART coù theå duøng cho caû hai kieåu truyeàn thoâng tin noái tieáp ñoàng boä, dò boä. Sô ñoà chaân vaø sô ñoà thanh ghi ñöôïc trình baøy ôû hình 5.3 1. Sô ñoà chaân vaø sô ñoà khoái nhoùm tín hieäu gheùp noái vôùi vi xöû lyù goàm: - /CS noái vôùi boä giaûi maõ ñòa chæ A1.. An ñeå choïn 2 thanh ghi. (A0 = 1ñieàu khieån traïng thaùi, A0 = 0 ñeäm soá lieäu). - C/D noái vôùi ñöôøng daây ñòa chæ A0 ñeå moät trong 2 caëp thanh ghi treân. - /WR noái vôùi chaân /WR cuûa vi xöû lyù. - /RD noái vôùi chaân /RD cuûa vi xöû lyù. - CLK noái vôùi ñöôøng daây CLK cuûa vi xöû lyù. - Reset noái vôùi ñöôøng daây reset cuûa vi xöû lyù. - D0 … D7 noái vôùi caùc ñöôøng daãn D0…D7 cuûa VXL. Nhoùm tín hieäu gheùp noái voái Modem - /DTR - /DSR - /RTS - /CTS Nhoùm tín hieäu geùp noái vôùi ñöôøng daây truyeàn – nhaän vaø KGN: - TxEMTY thanh ghi ñeäm truyeàn roãng. - TxR cho soá lieäu truyeàn. - TxRDy baùo soá lieäu truyeàn ñaõ saün saøng. - RxRDy baùo soá lieäu nhaän ñaõ saün saøng. - Syn det/Break : chæ ñoàng boä/ñöùt doøng tin. Nhoùm tín hieäu gheùp noái vôùi maùy phaùt xung nhòp. - TxD : nhòp truyeàn. - RxC : nhòp nhaän. · 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 8251A D1 D0 Vcc /RxC /DTR /RTS /DSR Reset CLK TxD TxEMPTY/CTS Syndet/BR TxRDY D2 D3 RxD GND D4 D5 D6 D7 /TxC /WR /CS C/D /RD RxRDY /CS /RD /WR C/D D0 D1 D2 D3 D4 D5 D6 D7 CLK RST RxRDY TxRDY TxEMTy Vcc GND /DSR /DTR /CTS /RTS Syn/BRK TxC RxC Thanh ghi truyeàn Thanh ghi ñeäm truyeàn Thanh ghi nhaän Thanh ghi ñeäm nhaän Thanh ghi cheá ñoä Thanh ghi leänh Thanh ghi traïng thaùi TxD RxD Hình 5.3 : Sô ñoà chaân (a) vaø caùc thanh ghi (b) cuûa 8251A (a) (b) /CS chíp choïn vi maïch /RD read – ñoïc /WR write – vieát C/D control/data - ñieàu khieån soá lieäu CLK – clock – nhòp D0..D7 data O/I – bus döõ lieäu vaøo ra /TxC – transmit clock - nhòp truyeàn RxC – receiver clock RST – reset /DTR dada terminal ready /DSR – data set ready /RTS request to send /CTS clear to send TxD – transmit data RxD – receiver data TxRDy – transmit ready RxRDy – receiver ready TxEMTY – transmist register empty Syn/BRK- Break detect Caùc thanh ghi: ÔÛ hình 5.4a vaø hình 5.4b moâ taû boä thanh ghi cuûa 8251, goàm: thanh ghi traïng thaùi vaø thanh ghi ñieàu khieån. Hai thanh ghi treân coù cuøng moät ñòa chæ vôùi A0 = 1, moät duøng ñeå ghi (/WR) leänh ñieàu khieån vaø moät ñeå ñoïc (/RD) traïng thaùi. Hai thanh ghi ñeäm soá lieäu ghi vaø ñoïc coù cuøng moät ñòa chæ (A0 = 0) vaø duøng ñeå ghi vaø ñoïc soá lieäu caàn truyeàn vaø nhaän cuûa KGN. Caùc leänh cho caùc thanh ghi treân nhö baûng sau: /CE C/D /WR /RD LEÄNH 0 0 0 0 1 1 1 0 0 x 0 1 0 1 x 1 0 1 0 x Ghi vaøo thanh ghi ñieàu khieån (cheá ñoä, leänh). Ñoïc thanh ghi traïng thaùi. Ghi soá lieäu vaøo thanh ghi ñeäm truyeàn. Ñoïc soá lieäu töø thanh ghi ñeäm nhaän. Trôû khaùng cao (khoâng duøng). Thanh ghi ñieàu khieån Thanh ghi traïng thaùi Thanh ghi ñieàu khieån: duøng ñeå ghi: + lôøi ñieàu khieån cheá ñoä. Hình 5.4a D7 D6 D5 D4 D3 D2 D1 D0 Toác ñoä truyeàn 00 ñoàng boä 01 khoâng ñoàng boä x1 10 khoâng ñoàng boä x 16 11 khoâng ñoàng boä x64 Ñoä daøi kyù töï 5 bit 6bit 7bit 8 bit Ñieàu khieån khung. khoâng giaù trò moät bit döøng 1.5 bit döøng 2 bit döøng Bit chaün leû X0 khoâng kieåm tra chaún leû kieåm tra leû 10 kieåm tra chaün Lôøi leänh: D7 D6 D5 D4 D3 D2 D1 D0 Cho pheùp phaùt 1= cho pheùp 0= caám Cheá ñoä baát ñoàng boä 1= tìm kyù töï ñoàng boä Sync Ngaét meàm 1= xoaù caùc thanh ghi Yeâu caàu phaùt 1= ñöa tín hieäu RTS/= 0 Xoaù côø baùo loãi 1= xoaù côø PE, OE, FE Göûi tín hieäu caét 1= ñöa TxD = 0 0= hoaït ñoäng bình thöôøng Cho pheùp thu 1= cho pheùp RxRDy 0= caám RxRDy Soá lieäu ñaàu cuoái Saün saøng, DTR\ =1 EH IR RTS ER SBRK RxEN DTR TxEN HÌNH 5.4b thanh ghi traïng thaùi. Duøng ñeå ñoïc lôøi traïng thaùi: Chæ modem ñaõ Saün saøng ñeå truyeàn soá lieïäu Chæ chöõ ñoàng boä ñaõ ñöôïc 8251 nhaän Chæ thanh ghi bieán ñoåi song song - noái tieáp roãng Chæ 8251 saün saøng nhaän 1 chöõ hay leänh ñeå truyeàn Bit baùo sai chaún leû Pe= 1 khi coù sai xoùa baèng ER cuûa leänh Chæ saün saøng nhaän soá lieäu ñeå truyeàn cho VXL Bit chæ loãi traøn Khi VXL chöa ñoïc lôøi tröôùc, lôøi sau ñaõ tôùi thì OE =1 xoaù baèng ER cuûa leänh Bit chæ sai khung (khoâng ñoàng boä) khi soá bit döøng bò sai FE= 1 xoaù baèng ER =1 Hình 5.4c D7 D6 D5 D4 D3 D2 D1 D0 DSR SYNDET FE OE PE TxEM RxRDy TxRDy * Vôùùi lôøi ñieàu khieån cheá ñoä: hình 5.4a Cheá ñoä ñoàng boä: (trong, ngoaøi hai hay moät kyù töï ñoàng boä SYNC) bôûi noäi dung ghi vaøo D7, D6. Toác ñoä truyeàn vôùi giaù trò: + D1D0 = 00: Duøng cho cheá ñoä ñoàng boä, toác ñoä nôi thu baèng toác ñoä nôi phaùt, khoâng coù söï thay ñoåi taàn soá xung nhòp. + D1D0=01 : duøng cho cheá ñoä khoâng ñoàng boä, toác ñoä giöõa nôi thu vaø nôi phaùt khoâng ñoåi. + D1D0=01: toác ñoä thu = toác ñoä truyeàn X1, töùc toác ñoä thu = toác ñoä truyeàn. +D1D0=10: toác ñoä thu =16x toác ñoä truyeàn. + D1D0=11: toác ñoä thu =64x toác ñoä truyeàn. Ñoä daøi kyù töï, töùc ñoä daøi moät ñôn vò tin SDU vôùi caùc giaù trò D3d2 = 00 (5bit), 01(6bit), 10(7bit) vaø 11(8bit) Kieån tra chaün leû D5D4 =00 (khoâng kieåm tra), 01 (kieåm tra leû), 11 (kieåm tra chaün) Ñieàu khieån khung, xaùc ñònh soá bit döøng. Vôùi D7D6 = 01 – moät bit döøng D7D6 = 10 – moät bit röôõi döøng D7D6 = 11 – hai bit döøng Vôùi lôøi leänh (hình5.4b) ta coù theå ghi leänh ñeå: Ñieàu khieån modem: DTR(D1=1), RTS(D5=1) Xoaù meàm( baèng chöông trình coù IR (D6=1) ñeå xoaù veà 0 caùc thanh ghi noäi Xoùa côø baùo loãi ER (D4=1) Ghi cho pheùp truyeàn TxEN (D0=1) cho pheùp nhaän RxE(D2=1) Göûi tín hieäu caét ( caùc bit baèng 0-Break) ñeå caét doøng tin lieân tuïc ñang truyeàn. Tìm kyù töï ñoàng boä EH(D7=1) trong cheá ñoä ñoàng boä Thanh ghi traïng thaùi (hình 5.4c): duøng ñeå ñoïc. Saün saøng truyeàn TxRDY (D0=1), saün saøng nhaän RXRDY( D1=1) Thanh ghi ñeäm soá lieäu roãng TxE (D2=1) Tuy chæ coù moät ñòa chæ (CS\=0, A1=1) nhöng ta coù theå ghi ñöôïc 2 lôøi ñieàu khieån cheá ñoä vaø lôøi leänh ôû 2 thanh ghi ñieàu khieån khaùc nhau vì coøn coù chung moät flip flop noäi ñieàu khieån laàn löôït vaøo hai thanh ghi treân III. ÖÙNG DUÏNG 8251A ÑEÅ TRUYEÀN THOÂNG TIN NOÁI TIEÁP: Truyeàn thoâng tin noái tieáp giöõa 2 kit VXL: TxD RxD DTR\ 8251 DSR\ RTS\ CTS\ TxD RxD DTR\ 8251 DSR\ RTS\ CTS\ VXL2 VXL1 HÌNH 5.5 Khôûi phaùt 8251A: Muoán 8251 hoaït ñoäng ñuùng cheá ñoä (khoâng ñoàng boä), tgác ñoä (300, 600, 1200, 2400, 4800, 9600bps hoaëc lôùn hôn), soá bit tin (5, 6, 7, 8) coù kieåm tra chaün hoaëc leû vaø xaùc ñinh soá bit döøng (1; 1,5; 2 bit) ta phaûi ghi lôøi ñieàu khieån cheá ñoä vaøo thanh ghi ñieàu khieån cuaû 8251. Ví duï: Moät 8251 coù ñiaï chæ goác CS\ vôùi 0FFF0h, caàn trao ñoåi thoâng tin 8 bit, toác ñoä x16 khoâng coù kieåm tra Parity chaün leû, 2bit stop. Lôøi ñieàu khieån laø: 1 1 0 0 1 1 1 0 00h thanh ghi ñieàu khieån Begin 03h AH AH - 1 AH = 0 ? Delay Naïp töø cheá ñoä caøo thanh ghi cheá ñoä Delay End sai Ñuùng HÌNH 5.5 Löu ñoà khôûi taïo 8251A chöông trình khôûi phaùt: MOV DX, 0FFF2h MOV AL,00h OUT DX,AL MOV CX 2h D0 : LOOP D0 OUT DX, AL D1: MOV CX,2h LOOP D1 OUT DX, AL MOV CX,2h D2: LOOP D2 MOV AL, 40h OUT DX, AL MOV CX, 2h D3: LOOP D3 MOV AL, 11001110B OUT DX, AL MOV CX, 2h D4: LOOP D4 END Coång COM cuûa maùy tính Giaûi maõ ñiaï chæ HÌNH 5.6 VXL 8251 Xöû lyù ngaét (8259A hai möùc) CS \ GND D 0 – D7 TxD Rest RxD CLK DTR C/D\ RD \ DSR\ WR\ RTS \ TxD CTS\ RxRDy A 1 – A 11 D 0 –D 7 Reset CLK A 0 RD \ WR \ INTR INTA \ O O O O O O O O O 5 6 9 Truyeàn thoâng tin noái tieáp giöõa kit VXL vaø maùy tính: CHÖÔNG VI: GIAO TIEÁP SONG SONG DUØNG VI MAÏCH 8255 I. GIÔÙI THIEÄU VEÀ VI MAÏCH 8255A: Ñeå vi xöû lyù giao tieáp vôùi nhöõng thieát bò beân ngoaøi, ngöôøi ta thöôøng duøng vi maïch giao tieáp 8255A, vi maïch naøy coù khaû naêng giao tieáp raát roäng, vöøa coù theå xuaát döõ lieäu, vöøa coù theå nhaän döõ lieäu tuøy theo ngöôøi laäp trình ñieàu khieån baèng caùch thay ñoåi t`oâng soá cuûa thanh ghi ñieàu khieån. II. SÔ ÑOÀ CHAÂN, SÔ ÑOÀ LOGIC, CHÖÙC NAÊNG CAÙC CHAÂN CUÛA VI MAÏCH 8255A. Sô ñoà chaân vaø sô ñoà logic cuûa vi maïch 8255A ñöôïc theå hieän qua hình veõ: PA3 PA2 PA1 PA0 RD\ CS\ GND A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB2 PA4 PA5 PA6 PA7 WR\ RESET D0 D1 D2 D3 D4 D5 D6 D7 Vcc PB7 PB6 PB5 PB4 PB3 1 20 21 40 D0 – D7 PA0 – PA7 PB0 – PB7 PC0 – PC7 RD\ WR\ RESET A0 A1 CS\ 8255A 8255A Hình 6.1 : Sô ñoà chaân vaø sô ñoà logic cuûa vi maïch 8255A Trong ñoù: Chaân 1 ¸ 4, 37 ¸ 40 (PA0 – PA7): laø caùc ñöôøng xuaát nhaäp coù teân laø coång A. Chaân 18 ¸ 25 (PB0 – PB7): laø caùc ñöôøng nhaäp xuaát coù teân coång B. Chaân 10 ¸ 13, 14 ¸ 17 (PB0 – PB7): laø caùc ñöôøng nhaäp xuaát coù teân coång C. Chaân 27 ¸ 34 (D0 – D7): laø caùc ñöôøng döõ lieäu (data) hoaït ñoäng hai chieàu, daãn tín hieäu ñieàu khieån töø vi xöû lyù ra caùc thieát bò beân ngoaøi ñoàng thôøi nhaän caùc döõ lieäu töø caùc thieát bò ñieàu khieån beân ngoaøi vaøo vi xöû lyù. Chaân 35 (Reset input): ngoõ vaøo xoùa, chaân reset phaûi ñöôïc noái vôùi tín hieäu reset out cuûa vi xöû lyù ñeå khoâng laøm aûnh höôùng ñeán maïch ñieàu khieån. Khi reset, caùc coång cuûa 8255A laø caùc ngoõ vaøo, ñoàng thôøi taát caû caùc döõ lieäu treân thanh ghi beân trong 8255A ñeàu bò xoùa, 8255A trôû veà traïng thaùi ban ñaàu saên saøng laøm vieäc. Chaân 6 (CS\): tín hieäu ngoõ vaøo chip select (CS\) ñöôïc ñieàu khieån bôûi vi xöû lyù, duøng ñeå löïa choïn 8255A laøm vieäc khi vi xöû lyù giao tieáp vôùi nhieàu thieát bò. Chaân 5 (RD\): ngoõ vaøo ñoïc döõ lieäu (Read Input). Chaân 36 (WR\) : ngoõ vaøo ghi döõ lieäu (Write Input). Chaân 8,9 (A1, A0): ngoõ vaøo ñòa chæ (Address Input), duøng nhaän ñòa chæ vaøo ñeå löïa choïn thanh ghi vaø caùc coång. Baûng ñòa chæ löïa choïn thanh ghi vaø caùc coång: A1 A0 Coång vaø thanh ghi 0 0 Coång A 0 1 Coång B 1 0 Coång C 1 1 Thanh ghi ñieàu khieån Chaân 26 (Vcc) : nguoàn 5 VDC. Chaân 7 (GND) : GND 0 VDC. III. CAÁU TRUÙC BEÂN TRONG VAØ HOAÏT ÑOÄNG CUÛA VI MAÏCH 8255A. 1. Sô ñoà khoái caáu truùc beân trong cuûa vi maïch 8255A. Port A Port C (4 bit cao) Nhoùm A Port C (4 bit thaáp) Port B Nhoùm B Ñieàu khieån nhoùm A Ñieàu khieån nhoùm B Ñeäm bus döõ lieäu Logic ñieàu khieån ghi/ñoïc RD\ WR\ CS\ A0 A1 D7 – D0 PA7 – PA0 PC7 – PC4 PC3 – PC0 PB7 – PC0 Hình 6.2: Sô ñoà khoái caáu truùc beân trong cuûa 8255A 2. Hoaït ñoäng cuûa vi maïch 8255A: Töø sô ñoà khoái caáu truùc beân trong cuûa vi maïch 8255A ta thaáy caùc coång cuûa 8255A ñöôïc chia thaønh 2 nhoùm: Nhoùm A goàm coång A vaø 4 bit cao cuûa coång C. Nhoùm B goàm coång B vaø 4 bit thaáp cuûa coång C. Caáu hình laøm vieäc cuûa 2 nhoùm seõ do noäi dung cuûa thanh ghi ñieàu khieån quyeát ñònh. Vi maïch 8255 giao tieáp vôùi vi xöû lyù thoâng qua caùc ñöôøng sau : - Ñöôøng döõ lieäu: goàm 8 ñöôøng döõ lieäu (D0 - D7). Maõ leänh, caùc döõ lieäu ñeàu ñöôïc truyeàn ñi treân ñöôøng naøy. - Ñöôøng ñòa chæ: goàm 2 ñöôøng (A0 – A1) duøng ñeå löïa choïn coång hoaëc thanh ghi ñieàu khieån nhö ñaõ trình baøy ôû phaàn tröôùc. - Ñöôøng ñieàu khieån: goàm caùc ñöôøng RD\, WR\, CS\, Reset duøng ñeå ñieàu khieån vieäc hoaït ñoäng cuûa 8255A. Ñeå söû duïng caùc coång laøm coâng cuï giao tieáp, ngöôøi söû duïng phaûi göûi töø ñieàu khieån ra thanh ghi ñieàu khieån ñeå 8255A ñònh caáu hình laøm vieäc cho caùc coång ñuùng nhö yeâu caàu cuûa ngöôøi laäp trình. 3. Töø ñieàu khieån: Töø ñieàu khieån laø döõ lieäu ñöôïc gôûi tôùi thanh ghi ñieàu khieån. Giaù trò cuûa töø ñieàu khieån seõ xaùc ñònh caáu hình laøm vieäc cho caùc coång cuûa 8255A, ñoù laø vieäc löïa choïn chöùc naêng nhaäp hay xuaát cuûa caùc coång. a. Caáu truùc cuûa töø ñieàu khieån: Do caùc coång cuûa 8255A ñöôïc chia laøm hai nhoùm neân töø ñieàu khieån cuõng ñöôïc chia laøm hai nhoùm ñieàu khieån töông öùng. Caùc bit D3, D4, D5, D6 duøng ñeå xaùc ñònh caáu hình cho nhoùm A: - Bit D3 duøng ñeå thieát laäp 4 bit cao cuûa coång C. D3 = 0 coång C laø coång xuaát döõ lieäu. D3 = 1 coång C laø coång nhaäp döõ lieäu. - Bit D4 duøng ñeå thieát laäp coång A. D4 = 0 coång A laø coång xuaát döõ lieäu. D4 = 1 coång A laø coång nhaäp döõ lieäu. - Bit D5 vaø D6 duøng thieáp laäp mode ñieàu khieån cuûa nhoùm A. D6D5 = 00 : nhoùm A hoaït ñoäng ôû mode 0. D6D5 = 01 : nhoùm A hoaït ñoäng ôû mode 1. D6D5 = 1x : nhoùm A hoaït ñoäng ôû mode 2. Caùc bit D0, D1, D2 duøng ñeå xaùc ñònh caáu hình cho nhoùm B. - Bit D0 duøng ñeå thieát laäp 4 bit thaáp cuûa coång C. D0 = 0 coång C laø coång xuaát döõ lieäu. D0 = 1 coång C laø coång nhaäp döõ lieäu. - Bit D1 duøng ñeå thieát laäp coång B. D1 = 0 coång B laø coång xuaát döõ lieäu. D1 = 1 coång B laø coång nhaäp döõ lieäu. - Bit D2 duøng thieáp laäp mode ñieàu khieån cuûa nhoùm B. D2 = 0 : nhoùm B hoaït ñoäng ôû mode 0. D2 = 1 : nhoùm B hoaït ñoäng ôû mode 1. D7 D6 D5 D4 D3 D2 D1 D0 Ñaët traïng thaùi côø. 1 = Active Nhoùm B Nhoùm A Coång C (4 bit thaáp) 1 = Input 0 = Output Coång B 1 = Input 0 = Output Mode select 1 = mode 0 0 = mode 1 Coång C (4 bit cao) 1 = Input 0 = Output Coång A 1 = Input 0 = Output Mode select 00 = mode 0 01 = mode 1 1x = mode 2 Hình 6.3 : Caáu truùc töø ñieàu khieån cuûa vi maïch 8255A b. Cô cheá hoaït ñoäng caùc coång cuûa 8255A ôû caùc traïng thaùi. * Nhoùm A vaø Nhoùm B caáu hình ôû mode 0. Khi ñöôïc ñònh ô caáu hình naøy, caùc coång cuûa hai nhoùm hoaït ñoäng xuaát hoaëc nhaäp döõ lieäu ñoäc laäp vôùi nhau. Töø ñieàu khieån: 1 0 0 D4 D3 0 D1 D0 Vôùi D0, D1. D3, D4 tuøy choïn theo yeâu caàu cuûa ngöôøi söû duïng. * Nhoùm A ñöôïc caáu hình ôû mode 1. ÔÛ mode 1, caùc coång laøm vieäc coù choát (Strobed I/O), thieát bò giao tieáp muoán 8255A nhaän döõ lieäu thì thieát bò ñoù phaûi taïo ra moät tín hieäu yeâu caàu 8255A nhaän döõ lieäu vaø ngöôïc laïi, 8255A muoán gôûi döõ lieäu cho moät thieát bò khaùc thì noù phaûi gôûi 1 tín hieäu yeâu caàu thieát bò ñoù nhaän döõ lieäu, tín hieäu ñoù goïi laø tín hieäu choát. + Khi coång A ñöôïc caáu hình laø coång nhaäp döõ lieäu, chöùc naêng caùc ñöôøng tín hieäu ñöôïc trình baøy nhö hình veõ: RD\ PC4 PC5 PC3 PC6,7 PA0–PA7 INTE A STBA\ IBFA INTRA I/O Töø ñieàu khieån : 1 0 1 1 D3 x x x Hình 6.4 : Chöùc naêng caùc ñöôøng tín hieäu khi coång A laø coång nhaäp döõ lieäu Caùc ñöôøng tín hieäu cuûa coång C trôû thaønh caùc ñöôøng ñieàu khieån cuûa coång A. Trong ñoù : Bit INTEA (Interrupt Enable) ñöôïc thieát laäp möùc logic döôùi söï ñieàu khieåf cuûa phaàn meàm duøng caáu truùc Set/Reset cuûa 8255A. Bit PC4 trôû thaønh bit STBA (Strobed Input, taùc ñoäng möùc thaáp), ñöôïc duøng ñeå choát caùc döõ lieäu ôû caùc ngoõ vaøo PA0 – PA7 vaøo maïch choát beân trong. Bit PC5 trôû thaønh bit IBFA (Input Buffer Full, taùc ñoäng möùc cao), duøng ñeå baùo cho beân ngoaøi bieát döõ lieäu ñaõ ñöôïc choát beân tro

Các file đính kèm theo tài liệu này:

  • docGiao tiep may tinh voi KIT vi xy ly 8085.DOC
Tài liệu liên quan