Thiết kế và thi công máy thu phát ký tự 8 bit

LỜI MỞ ĐẦU Trong nửa cuối thế kỷ này, nhân loại đã chứng kiến cuộc cách mạng khoa học kỹ thuật diễn ra trên các lĩnh vực. Trong đó mạnh mẽ và vũ bão nhất là lĩnh vực công nghệ Vi Điện Tử, đặc biệt là Kỹ Thuật Số. Các sản phẩm của công nghệ kỹ thuật cao. Những điều kỳ diệu do thế giới kỹ thuật số đem lại cho con người thì không cần phải kể sau đây. Tìm hiểu và ứng dụng được kiến thức kỹ thuật số nhằm phục vụ cho nhu cầu thực tế đang là vấn đề quan tâm của sinh viên ngành Điện Tử, các ngành có liên quan và những người yêu thích lĩnh vực này. Việc giảng dạy và học tập môn học Vi Mạch Số sẽ được hiệu quả cao hơn khi các vấn đề trong lý thuyết được triển khai cụ thể vào các bài thực hành. Nhu cầu cần thiết hiện nay của phòng thí nghiệm là các thiết bị chuyên dụng phục vụ cho yêu cầu các bài thí nghiệm môn học Vi Mạch Số. Tuy nhiên, điều kiện thực tế của trường thì chưa đáp ứng được nhu cầu này. Do đó đề tài “Thiết Kế và Thi Công Máy Thu Phát Ký Tự 8 Bit” được thực hiện nhằm đáp ứng một phần nào đó cho nhu cầu trên. Do thời gian thực hiện đề tài tương đối ngắn, nên tập luận văn này sẽ không thể tránh khỏi những hạn chế cũng như sai sót. Chúng tôi kính mong được sự chỉ dẫn quý báo của quý thầy cô, những góp ý của các bạn sinh viên để đề tài ngày càng được hoàn thiện hơn. Xin chân thành cảm ơn.

doc145 trang | Chia sẻ: banmai | Lượt xem: 1947 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Thiết kế và thi công máy thu phát ký tự 8 bit, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
g, tröø, taêng, giaûm: Coäng: Coâng baát kyø moät soá 8 bit, hoaëc noäi dung cuûa thanh ghi, hoaëc noäi dung cuûa moät oâ nhôù coù theå coâng vôùi moät noäi dung cuûa moät thanh ghi tích luõy vaø keát quaû ñöôïc ñöa vaøo thanh ghi tích luõy. Hai thanh ghi hoaëc oâ nhôù khoâng theå coäng tröïc tieáp vôùi nhau. Leänh LAD laø moät ngoaïi leä, noù coäng tröïc tieáp döõ lieäu 16 bit trong caùc caëp thanh ghi. Tröø: Tröø baát kyø moät soá 8 bit, hoaëc noäi dung cuûa moät thanh ghi tích luõy. Leänh tröø ñöôïc thöïc hieän ôû daïng buø 2, keát quaû neáu aâm ñöôïïc bieåu dieãn ôû daïng soá buø 2. Hai thang ghi hoaëc oâ nhôù khoâng theå tröø tröïc tieáp. Taêng giaûm: Noäi dung 8 bit cuûa moät thanh ghi hoaëc oâ nhôù coù theå ñöôïc taêng hoaëc giaûm moãi laàn moät ñôn vò. Töông öï nhö noäi dung 16 bit cuûa moät caëp thanh ghi 16 bit coù theå ñöôïc taêng hoaëc giaûm ñi moät. Caùc hoaït ñoäng taêng vaø giaûm khaùc vôùi pheùp coäng vaø tröø ôû moät caùch thöùc raát quan troïng laø chuùng coù theå thöïc hieän trong baát kyø thanh ghi hoaëc oâ nhôù naøo. Nhoùm leänh hoaït ñoäng Logic. Caùc leänh naøy thöïc hieän caùc hoaït ñoäng Logic khaùc nhau vôùi noäi dung cuûa thanh ghi tích luõy. AND, OR, XOR. Baát kyø moät soá 8 bit hoaëc noäi dung cuûa moät thanh ghi hoaëc noäi dung cuûa oâ nhôù coù theå ñöôïc Logic AND, OR hoaëc XOR vôùi noäi dung cuûa thanh ghi tích luõy. Xoay: Moãi bit trong thanh ghi tích luõy coù theå ñöôïc dòch traùi hoaëc phaûi ñeán vò trí keá tieáp. So saùnh: Baát kyø moät soá 8 bit hoaëc noäi dung cuûa moät thanh ghi, hoaëc noäi dung cuûa moät oâ nhôù coù theå so saùnh lôùn hôn, baèng, hoaëc nhoû hôn vôùi noäi dung cuûa thanh ghi tích luõy. Buø: Noäi dung cuûa thanh ghi tích luõy ñöôïc laáy buø taát caû bit 0 ñöôïc thay theá baèng 1 vaø toaøn boä caùc bit 1 ñöôïc thay theá baèng 0. Nhoùm leänh reõ nhaùnh. Nhoùm leänh naøy laøm thay ñoåi tình töï thi haønh cuûa chöông trình: Nhaûy: Caùc leänh nhaûy laø ñieàu kieän quan troïng ñeå ñöa ra quyeát ñònh trong laäp trình. Caùc leänh nhaûy kieåm tra moät ñieàu kieän naøo ñoù (côø Zero hoaëc côø Carry) ñeå laøm thay ñoåi trình töï thi haønh khi gaëp ñieàu kieän, ngoaøi ra coøn coù leänh nhaûy khoâng ñieàu kieän. Goïi, trôû veà vaø khôûi ñoäng laïi: Caùc leänh naøy laøm thay ñoåi trình töï cuûa moät chöông trình baèng caùch goïi chöông trình con hoaëc trôû veà moät chöông trình con. Caùc leänh goïi vaø trôû veà cuõng coù theå kieåm tra caùc côø ñieàu kieän. Nhoùm leänh hoaït ñoäng vaø ñieàu khieån. Caùc leänh naøy ñieàu khieån caùc chöùc naêng vaän haønh nhö laø döøng, ngaét hoaëc khoâng laøm gì caû (NOP). Taäp leänh cuûa CPU 8085A ñöôïc hia laøm 3 nhoùm tuøy theo kích côû cuûa töø leänh. Caùc leänh moät töø hoaëc1 byte. Caùc leänh hai töø hoaëc 2 byte. Caùc leänh ba töø hoaëc 3 byte. Leänh moät byte chöùa maõ hoaït ñoäng (opcode) vaø toaùn töû (operand) trong cuøng moät byte. Trong leänh 2 byte, byte thöù nhaát noùi leân maõ hoaït ñoäng vaø byte thöù hai noùi leân toaùn töû. Ñoái vôùi 3 byte, byte ñaàu tieân laø maõ hoaït ñoäng, hai byte sau laø döõ lieäu 16 bit ( noäi dung hoaëc ñò chæ) 1.5.Maïch choát ñeäm ñòa chæ vaø tuyeán döõ lieäu cho vi xöû lyù CPU 8085A. Maïch choát ñòa chæ tuyeán thaáp. Trong heä thoáng CPU 8085 baét buoäc phaûi choát (latch) tuyeán ñòa chæ ñeå ña hôïp (Demultiplex) tuyeán AD0 - AD7 thaønh hai tuyeán rieâng bieät. Tuyeán ñòa chæ thaáp: A0 – A7 Tuyeán döõ lieäu: D0 – D7 Hình 4.1 trình baøy sô ñoà moät maïch choát duøng tín hieäu ALE ñeå giaûi ña hôïp tuyeán. Hình 1.5.sô ñoà maïch choát tuyeán ñòa chæ thaáp Tuyeán AD0 – AD7 ñöôïc keát noái ñeán ngoõ vaøo cuûa maïch choát 74LS373. Tín hieäu choát ñöôïc noái chaân G cuûa 74LS373. Tín hieäu ñieàu khieån ngoõ ra (OC) cuûa maïch choát luoân luoân ñöôïc noái ñaát (luoân chaáp nhaän). Chaân choát ALE luoân ôû möùc cao trong moãi chu kyø T1. Khi ALE ôû möùc cao, ngoõ ra cuûa maïch choát thay ñoåi tuøy theo döõ lieäu (ñòa chæ ngoõ vaøo). trong moãi chu kyø T1 ngoõ ra cuûa maïch choát laø 0,5H. khi ALE xuoáng thaáp byte 0,5H ñöôïc choát cho ñeán khi coù ALE tieáp theo, ngoõ ra cuûa maïch choát ñaïi dieän tuyeán ñòa chæ thaáp A0 – A7. Hình 1.6.Giaûn ñoà thôøi gian khi truyeàn moät byte töø boâï nhôù ñeán vi xöû lyù 1.6.Maïch ñieäm tuyeán ñòa chæ cao Maïch ñeäm (Buffer) laø moät maïch Logic ñeå khueách ñaïi doøng ñieän hoaëc coâng suaát ñöôïc söû duïng ñeå laøm taêng khaû naêng laùi (Drive) cuûa moät tín hieäu Logic. Hình 1.7 trình baøy moät maïch ñeäm moät chieàu 74LS244 vì tuyeán ñòa chæ laø tuyeán moät chieàu höôùng töø vi xöû lyù ñeán caùc ngoaïi vi. Caùc tuyeán ñòa chæ cuûa CPU 8085 coù theå caáp doøng 400mA (IOH = 400mA) vaø ruùt doøng 2mA (IOH = 2mA) Maëc duø beân trong CPU 8085A ñaõ coù caùc maïch ñeäm döõ lieäu vaø ñòa chæ, nhöng theo khueán caùo cuûa nhaø cheá taïo, neáu trong heä thoáng vi xöû lyù coù töø 10 thaønh phaàn trôû leân thì phaûi duøng caùc maïch ñeäm. Maïch 74LS244 coù khaû naêng caáp doøng ñeán 15mA vaø ruùt doøng 24mA. Hình 1.7. Maïch ñeäm tuyeán ñòa chæ cao 1.7.Maïch ñeäm döõ lieäu Hình 1.8.Trình baøy maïch 74LS245 laø maïch ñeäm hai chieàu vì tuyeán döõ lieäu laø tuyeán hai chieàu, höôùng cuûa doøøng döõ lieäu ñöôïc ñieàu khieån bôûi chaân DIR. Hình 1.8. Mach ñeäm döõ lieäu. Höôùng doøng döõ lieäu ñöôïc xaùc ñòng baèng caùch noái tín hieäu töø CPU 8085A ñeán tín hieäu DIR. Khi CPU ghi (Write) vaøo moät ngoaïi vi, khi leân cao vaø doøng döõ lieäu töø CPU ñeán ngoaïi vi. Khi CPU ñoïc (Read) töø moät ngoaïi vi xuoáng thaáp vaø doøng döõ lieäu höôùng ñeán CPU, coøn tuyeán ñòa chæ thaáp ñaõ ñöôïc ñeäm bôûi 74LS373. Trong heä thoáng vi xöû lyù, caùc ngoaïi vi ñöôïc keát noái ôû daïng song song giöõa tuyeán ñòa chæ , tuyeán döõ lieäu vaø tuyeán ñieàu khieån. CPU thoâng tin vôùi moät trong caùc thieát bò taïi moät thôøi ñieåm. Khi ñoù phaûi caùch ly vôùi taát caû caùc thieát bò coøn laïi. Do ñoù phaûi duøng maïch 3 traïng thaùi (Tri – State) ñeå giaûi quyeát. 1.8.Giaûi maõ ñòa chæ. Trong moät heä thoáng vi xöû lyù, ngoaøi caùc phaàn töû nhôù (RAM, ROM) CPU coøn phaûi thoâng baùo cho caùc I/O ngoaïi vi (8251A, 8253, 8255A, 8279…) ñeå baùo raèng CPU ñang caàn thoâng tin vôùi boä nhôù vaøo ROM hay RAM, hoaëc vôùi I/O naøo, vôùi phaàn töû naøo trong thieát bò (oâ nhôù, thanh ghi…) traïng thaùi, ñieàu khieån hay döõ lieäu. Do ñoù baét buoäc phaûi coù heä thoáng giaõi maõ. 1.8.1.Caùc phöông phaùp giaûi maõ ñòa chæ. Coù 3 phöông phaùp giaûi maõ ñòa chæ: Giaûi maõ töøng phaàn (Partial Address Decoding). Giaûi maõ ñòa chæ toaøn phaàn (Full Address Decoding). Giaûi maõ ñòa chæ theo khoái (Block Address Decoding). Tuy nhieân coù nhieàu caùch khaùc nhau ñeå thöïc hieän moåi caùch trong 3 phöông phaùp treân: Giaûi maõ ñòa chæ duøng Logic ngaåu nhieân (Address Decoding Using Random Logic) Giaûi maõ ñòa chæ duøng boä giaûi maõ m sang n ñöôøng (Address Decoding Using m – Line Decoders). Giaûi maõ ñòa chæ baèng PROM (Address Decoding With PROM). Giaûi maõ ñòa chæ duøng boä Logic laäp trình PLA (Address Decoding Using Program Logic Array). Caùc kyõ thuaät treân ñeàu coù theå aùp duïng cho boä nhôù I/O vaø ngoaïi vi. Ñoái vôùi I/O ngoaïi vi, cho pheùp löïa choïn moät trong hai phöông phaùp. Giaûi maõ I/O ngoaïi vi (Peripheral I/O) hay coøn goïi laø I/O caùch ly. Giaûi maõ I/O coù laäp baûng ñoà nhôù (Memory Mapped I/O). 1.9.Giaûi maõ ñòa chæ cho ñôn vò CPU. Trong heä thoáng naøy, phaàn giaûi maõ ñòa chæ söû duïng kieåu giaûi maõ ñòa chæ duøng caùc boä giaûi maõ töø m ñöôøng n ñöôøng. 1.9.1.giaûi maõ ñòa chæ cho heä thoáng boä nhôù. Cô sôû löïa choïn dung löôïng boä nhôù ñoù chính laø dung löôïng phaàn meàm. Paàn meàm ôû ñaây bao goàm chöông trình heä thoáng (chöông trình Monitor) vaø chöông trình cuûa ngöôøi duøng cho soaïn thaûo. Heä thoáng boä nhôù ôû ñaây goàm coù: Moät EPROM coù dung löôïng 8KB x 8 bit (loaïi 2764). Moät Ram coù dung löôïng 8KB x 8 bit (loaïi 6264). Baûng ñoà nhôù cuûa heä thoáng Hình 1.9.Baûn ñoà boä nhôù heä thoáng. Hình 1.9.Sô ñoà maïch giaûi maõ boä nhôù vaø ngoaïi vi cho heä thoáng. Hình 1.10. Maïch giaõi maõ ñòa chæ cho boä nhôù vaø ngoaïi vi Boä nhôù ROM (Read Only Memory) coù nhieäm vuï löu giöõ chöông trình quaûn lyø heä thoáng. Boä nhôù RAM (Random Accsess Memory) löu giöõ taïm thôøi döõ lieäu soaïn thaûo. Trong heä thoángnaøy taát caû boä nhôù ROM vaø RAM caùc ngoaïi vi ñieàu ñöôïc giaûi maõ theo kieåu Memory. Baûng 1.3.Ñòa chæ cuûa heä thoáng. Boä nhôù A15 A14 A13 A12®A0 Vuøng ñiaï chæ ROM 1 0 0 0 0 0 0 0®0 1®1 0000H 1FFFH RAM 1 0 0 0 0 1 0 0®0 1®1 2000H 3FFFH 1.9.2.Giaûi maõ ñòa chæ cho heä thoáng ngoaïi vi. Moät ñòa chæ giuùp vi xöû lyù ñònh vò moät thanh ghi töông öùng trong moät ngoaïi vi naøo ñoù. Soá löôïng thanh ghi caàn ñöôïc ñònh vò trong moãi ngaoïi vi, chaúng haïn 8251 vaø 8279 coù hai thanh ghi caàn ñöôïc ñònh vò, trong khi 8255 vaø 8253 coù ñeán 4 thanh ghi caàn ñöôïc ñònh vò. Muoán thöïc hieän ñöôïc phöông phaùp giaûi maõ theo khoái, baét buoäc phaûi quy ñònh veà khoái thanh ghi trong moãi khoái baèng soá löôïng toái ña caàn ñònh vò trong moät ngoaïi vi. Töùc laø trong heä thoáng naøy, moãi khoái coù ñeán 4 thanh ghi. Do ñoù söû duïng IC giaûi maõ 74LS138 töø 3 ñöôøng sang 8 ñöôøng theo moät kieåu giaûi maõ MEMORY thì hai ngoõ ra Q0 vaø Q1 daønh cho ñònh vò ñòa chæ cuûa ROM 1 vaø RAM 1. Do ñoù coøn 6 ngoõ ra coøn laïi seõ ñeå ñuùng ñònh vò cho caùc boä nhôù khi môû roäng dung löôïng boä nhôù cho heä thoáng. Baûng 1.4. Ñòa chæ ngoaïi vi cuûa heä thoáng Ngoaïi vi A15 A14 A13 A12®A0 Vuøng ñòa chæ 8251A 0 0 1 1 0 0 0®0 1®1 4000H 4003H 8253 0 0 1 1 1 1 0®0 1®1 6000H 6003H 8255A 1 1 0 0 0 0 0®0 1®1 8000H 8003H 8279(I) 1 1 0 0 1 1 0®0 1®1 A000H A003H 8279(II) 1 1 1 1 0 0 0®0 1®1 C000H C00H 74244 1 1 1 1 1 1 0®0 1®1 E000H 2.GIÔÙI THIEÄU VI MAÏCH 8251. 2.1.Giôùi thieäu chung. Vi maïch 8251A laø moät linh kieän laäp trình ñöôïc thieát keá cho vieäc truyeàn döõ lieäu noái tieáp ñoàng boä vaø baát ñoàng boä. Vi maïch 8251A coù daïng DIP 28 chaân. Noù bao goàm naêm phaàn. Logic ñieàu khieån Ñoïc/Ghi. Boä truyeàn, boä nhaän, maïch ñeäm tuyeán döõ lieäu vaø ñieàu khieån Modem. 2.2.Caáu truùc vi maïch 8251A. Hình 2.1. Sô ñoà khoái 8251A Logic ñieàu khieån giao tieáp vôùi vò trí xöû lyù, quyeát ñònh chöùc naêng cuûa chip tuøy theo töø ñieàu khieån trong thanh ghi cuûa noù vaø kieåm soaùt doøng döõ lieäu. Phaàn chuyeån ñoåi daïng song song (Parallel Word) ñöôïcv tieáp nhaän töø vi xöû lyù thaønh caùc bit noái tieáp vaø truyeàn chuùng ñi treân ñöôøng TXD ñeán moät thieát bò ngoaïi vi. Phaàn tieáp nhaän caùc bit noái tieáp töø moät ngoaïi vi chuyeån chuùng thaønh moät töø song song vaø truyeàn ñi töø naøy ñeán vi xöû lyù. Ñieàu khieån Modem ñöôïc söû duïng ñeå truyeàn thoâng tin qua caùc Modem treân caùc ñöôøng daây ñieän thoaïi. Vi maïch 8251A laø moät thieát bò phöùc taïp coù khaû naêng thöïc hieän ñöôïc caùc chöùc naêng khaùc nhau. Hình 2.2. Sô ñoà khoái khai trieån cuûa phaàn phaùt vaø phaàn thu trong 8251A Logic ñieàu khieån ghi/ñoïc vaø caùc thanh ghi. Phaàn naøy bao goàm Logic ñieàu khieån R/W vaø 3 thanh ghi ñeäm: Thanh ghi döõ lieäu, thanh ghi ñieàu khieån, vaø thanh ghi traïng thaùi. Caùc tín hieäu vaøo ñeán Logic ñieàu khieån nhö sau: : Chip select: choïn chip khi tín hieäu naøy xuoáng thaáp, 8251A ñôïc choïn. Tín hieäu naøy thöôøng ñöôïc noái vôùi moät ngoõ ra cuûa boä giaûi maõ ñòa chæ. C/: Control/Data: Ñieàu khieån/ Döõ lieäu. Khi tín hieäu naøy ôû möùc cao thanh ghi ñieàu khieån hoaëc thanh ghi traïng thaùi ñöôïc ñònh ñòa chæ khi noù xuoáng thaáp thì boä ñeám döõ lieäu ñöôïc ñònh ñòa chæ. Thanh ghi ñieàu khieån vaø thanh ghi traïng thaùi ñöôïc phaân bieät bôûi caùc tín hieäu vaø moät caùch töông öùng. : Write: Ghi khi tín hieäu naøy xuoáng thaáp, vi xöû lyù ghi vaøo thanh ghi ñieàu khieån hoaëc gôûi döõ lieäu ra boä ñeäm döõ lieäu. : Read: Ñoïc. khi tín hieäu naøy xuoáng thaáp, vi xöû lyù ñoïc moät traïng thaùi töø thanh ghi traïng thaùi hoaëc tieáp nhaän döõ lieäu töø boä ñeäm döõ lieäu. RESET: RESET: Ñaët laïi: khi tín hieäu naøy ôû möùc Logic cao seõ ñaët laïi vi maïch 8251A vaø ñöa noù veà mode khoâng laøm vieäc (Idle Mode) CLK – Clock: Xung ñoàng hoà, ñaây laø ngoõ vaøo cuûa heä thoáng. Xung ñoàng hoà naøy khoâng theå ñieàu khieån toác ñoä hoaëc toác ñoä truyeàn hoaëc toác ñoä nhaän. Xung ñoàng hoà caàn thieát cho vieäc thoâng tin vôùi vi xöû lyù. Thanh ghi ñieàu khieån: Thang ghi naøy 16 bit cho moät töø ñieàu khieån bao goàm 2 byte ñoäc laäp: byte thöù nhaát ñöôïc goïi laø töø choïn Mode (Word Mode), byte thöù hai ñöôïc goïi laø töø leänh (Command Word). Thang ghi naøy coù theå ñöôïc xaâm nhaäp nhö laø moät coång xuaát khi chaân C/ ôû möùc cao. Thanh ghi traïng thaùi: thanh ghi naøy kieåm tra traïng thaùi saún saøng cuûa moät thieát bò ngoaïi vi. Thanh ghi naøy ñöôïc ñònh ñòa chæ nhö laø moät coång xuaát nhaäp khi chaân C/ ôû möùc cao, noù coù cuøng ñòa chæ vôùi thanh ghi ñieàu khieån. Boä ñeäm döõ lieäu: Ñaây laø thanh ghi loaïi hai chieàu coù theå ñöôïc ñònh ñòa chæ nhö laø moät coång xuaát nhaäp khi chaân C/ ôû möùc thaáp. Baûng 2.1: Toùm taét taát caû caùc tín hieäu giao tieáp vaø ñieàu khieån C/ Chöùc naêng 0 1 1 0 Vi xöû lyù ghi caùc leänh vaøo thanh ghi ñieàu khieån 0 1 0 1 Vi xöû lyù ñoïc traïng thaùi töø thanh ghi traïng thaùi 0 0 1 0 Vi xöû lyù ghi döõ lieäu vaøo boä ñeäm döõ lieäu 0 0 0 1 Vi xöû lyù ñoïc soá lieäu ôû boä ñeäm döõ lieäu 1 X X X USAT khoâng ñöôïc choïn Phaàn phaùt: Phaàn phaùt tieáp nhaän döõ lieäu daïng song töø vi xöû lyù vaø chuyeån ñoåi chuùng thaønh döõ lieäu noái tieáp. Noù coù 2 thanh ghi: moät thanh ghi ñeäm ñeå duy trì 8 bit sang moät chuoåi caùc bit noái tieáp. Vi xöû lyù ghi moät byte vaøo thanh ghi ñeäm, moãi khi thanh ghi xuaát ñang roãng (Empty), noäi dung cuûa moät thanh ghi ñeäm ñöôïc truyeàn ñeán thanh ghi xuaát. Phaàn naøy truyeàn döõ lieäu treân chaân TxD cuøng vôùi caùc bit taïo khung (framming bits) töông öùng vôù START vaø STOP. Phaàn phaùt coù ba tín hieäu xuaát vaø moät tín hieäu nhaäp. TxD – TransmitData phaùt döõ lieäu caùc bit noái tieáp ñöôïc phaùt treân ñöôøng naøy. TxC: Transmitter Clock: Xung ñoàng boä cuûa boä phaùt tín hieäu naøy ñieàu khieån toác ñoä maø ôû ñoù caùc bit ñöôïc phaùt bôûi USART. Taàn soá xung ñoàng hoà coù theå baèng 1,16 hoaëc 64 laàn toác ñoä Baud. TxRDY – Transmitter Ready: Boä phaùt saún saøng. Ñaây laø moät tín hieäu xuaát. Khi ôû möùc cao noù chæ thò raèng thanh ghi cuûa boä ñeäm ñang roãng vaø USART saún saøng tieáp nhaän moät byte. Noù ñöôïc söû duïng hoaëc ñeå ngaét vi xöû lyù hoaëc ñeå chæ traïng thaùi. Tín hieäu naøy ñöôïc ñaët laïi (Reset) khi moät byte döõ lieäu ñöôïc taûi vaøo boä ñeám. TxE: Transmitter Empty: Boä phaùt roãng. Ñaây laø tín hieäu xuaát, khi ôû möùc cao treân chaân naøy chæ thò raèng thanh ghi xuaát ñang roãng. Tín hieäu naøy ñöôïc ñaët laïi khi moät byte ñöôïc truyeàn töø boä ñeäm ñeán thanh ghi xuaát. Phaàn thu: Phaàn thu tieáp nhaän döõ lieäu noái tieáp treân ñöôøng RxD töø moät ngoaïi vi vaø chuyeån chuùng thaønh döõ lieäu daïng song. Phaàn thu coù hai thanh ghi: thanh ghi nhaäp vaø thanh ghi ñeäm. Khi RxD ôû möùc thaáp, Logic ñieàu khieån xem noù nhö laø moät bit START, ñôïi moät khoaûng thôøi gian baèng nöûa bit vaø laáy maãu ñöôøng truyeàn vaãn coøn ôû möùc thaáp, thanh ghi tieáp nhaän caùc bit theo sau, thaønh laäp moät kyù töï, vaø taûi noù vaøo thanh ghi ñeäm. Cuoái cuøng byte döõ lieäu song song ñöôïc truyeàn ñeán vi xöû lyù khi ñöôïc yeâu caàu. Ôû Mode baát ñoàng boä, hai tín hieäu nhaäp vaø moät tín hieäu xuaát laø caàn thieát, ñöôïc dieãn taû sau ñaây. RxD: Receive Data: Nhaän döõ lieäu. Caùc bit ñöôïc tieáp nhaän moät caùch noái tieáp treân ñöôøng truyeàn naøy vaø ñöôïc chuyeån ñoåi sang moät byte song song trong thanh ghi nhaän cuûa boä thu. - Receiver Clock: Xung ñoàng hoà cho boä thu. Ñaây laø moät tín hieäu xung ñoàng hoà ñeå ñieàu khieån toác ñoä maø ôû ñoù caùc bit ñöôïc tieáp nhaän bôûi USART. Ôû Mode baát ñoàng boä xung ñoàng hoà coù theå ñaït 1,16 hoaëc 64 laàn toác ñoä Baud. RxRDY: Receiver Ready: Boä thu saún saøng. Ñaây laø tín hieäu xuaát. Noù leân möùc cao khi coù moät kyù töï trong thanh ghi ñeäm vaø saún saøng truyeàn noù ñeán vi xöû lyù. Ñöôøng naøy ñöôïc söû duïng hoaëc ñeå chæ thò traïng thaùi hoaëc ñeå ngaét vi xöû lyù. 2.3.LAÄP TRÌNH CHO VI MAÏCH 8251 A: Ñeå thöïc hieän vieäc truyeàn tin noái tieáp, vi xöû lyù phaûi thoâng tin cho 8251 A taát caû caùc tín hieäu thoâng tin nhö: Mode hoaït ñoäng, toác ñoä Baud, caùc bit: STOP, START, Parity,…. Do ñoù tröôùc khi truyeàn döõ lieäu, moät taäp hôïp caùc töø ñieàu khieån phaûi ñöôïc taûi vaøo thanh ghi ñieàu khieån 16 bit cuûa 8251 A. Ngoaøi ra vi xöû lyù coøn phaûi kieåm tra söï saún saøng cuûa moät ngoaïi vi baèng caùch ñoïc thanh ghi traïng thaùi. Töø ñieàu khieån ñöôïc chia thaønh hai daïng caùc töø choïn Mode vaø töø leänh. Töø choïn Mode neâu roõ caùc ñaët tính chung cuûa hoaït ñoäng (nhö toác ñoä Baud chaún leû, soá löôïng caùc bit döøng). Töø leänh cho pheùp vieäc truyeàn hoaëc nhaän döõ lieäu töø traïng thaùi cung caáp thoâng tin lieân quan ñeán traïng thaùi thanh ghi vaø caùc loãi trong vieäc truyeàn. Hình 2.3: Trình baøy söï ñònh nghóa cho caùc töø naøy. Ñeå khôûi taïo 8251 A ôû Mode ñoàng boä, moät trình töï naøo ñoù cuûa caùc töø ñieàu khieån phaûi tuaân theo. Sau khi Reset (Reset heä thoáng hoaëc thoâng qua leänh), moät töø choïn Mode phaûi ñöôïc ghi vaøo thanh ghi ñieàu khieån theo sau moät töø leänh. Baát kyø töø ñieàu khieån naøo ñöôïc ghi vaøo thanh ghi ñieàu khieån ngay sau moät töø choïn Mode seõ ñöôïc hieåu nhö laø moät töø leänh. Ñieàu ñoù coù nghóa laø moät töø leänh coù theå thay ñoåi baát cöù luùc naøo trong quaù trình hoaït ñoäng. Hình 2.4 . Caáu truùc töø leänh. Tuy nhieân, 8251 A seõ ñöôïc ñaët laïi tröôùc luùc ghi moät töø choïn Mode môùi vaø coù theå ñaët laïi nhôø söû duïng bit Reset beân trong (D6) trong töø leänh. Thanh ghi ñieàu khieån: Duøng ñeå ghi: Töø ñieàu khieån cheá ñoä (choïn Mode) Töø leänh Duøng ñeå ñoïc töø traïng thaùi Hình 2.5. Caáu truùc töø traïng thaùi Bit traïng thaùi TxRDY khaùc vôùi chaân TxRDY. Bit TxRDY khoâng ñöôïc ñònh ñieàu kieän bôûi CTS vaø TxEN. Chaân TxRDY phuï thuoäc vaøo ñieàu kieän cuûa caû hai CTS vaø TxEN. Phaùt moät kyùtöï: Ñeå phaùt moät kyù töï, bit TxEN trong thanh ghi leänh phaûi ôû logic cao vaø chaân phaûi ôû möùc thaáp. Ñôïi cho ñeán khi chaân TxRDY ôû möùc cao hoaëc cho ñeán khi bit TxRDY trong tranh ghi traïng thaùi ôû möùc cao. Ghi kyù töï caàn phaùt vaøo thanh ghi ñeäm phaùt. Thu moät kyù töï: Ñeå thu moät kyù töï vaø kieåm tra traïng thaùi loãi cuûa kyù töï naøy, caàn phaûi thöïc hieän caùc böôùc sau: Ñôïi cho ñeán khi RxRDY ôû möùc cao hoaëc cho ñeán khi bit RxRDY trong thanh ghi traïng thaùi ôû möùc cao. Ñoïc traïng thaùi loãi töø thanh ghi traïng thaùi (coù theå keát hôïp vôùi caùc böôùc tröôùc khi ñoïc bit RxRDY). Ñoïc kyù töï töø thanh ghi ñeäm thu. Ñaët laïi traïng thaùi loãi baèng caùch ghi bit ER = 1 trong thanh ghi leänh. Toác ñoä phaùt vaø thu bit ñöôïc quyeát ñònh bôûi taàn soá cuûa xung ñoàng hoà ñöa vaøo chaân vaø chia theo heä soá (1,16 hoaëc 64) ñaõ ñöôïc choïn trong töø choïn Mode. 2.4.GIAO TIEÁP GIÖÕA 8251 A VÔÙI VI XÖÛ LYÙ 8085 A Ñoái vôùi heä thoáng naøy, 8251 A phaûi ñöôïc khôûi taïo ôû Mode baát ñoàng boä noái tieáp vì xung ñoàng hoà caáp cho vaø khaùc vôùi xung ñoàng hoà cuûa maùy vi tính. Xung ñoàng hoà caáp cho hai phaàn thu vaø phaùt cuûa 8251 A ñöôïc laáy töø ngoõ OUT … Muoán cho 8251 A truyeàn döõ lieäu vôùi toác ñoä bao nhieâu Baud chæ caàn laäp trình soá ñeám cho boä ñeám COUNTER vaø laäp trình heä soá toác ñoä (1, 16 vaø 64) trong 8251 A. Thoâng tin giöõa maùy thu phaùt kyù töï vaø maùy tính ñöôïc truyeàn taûi thoâng qua caùp chuaån RS232C. Baûng 2.2: Teân caùc chaân caám cuûa RS-232C Chaân Chöùc naêng (teân goïi) Loái vaøo – ra 1 2 3 4 5 6 7 8 9 DCD – Data Carrier Detect RxD – Receive Data TxD – Transmit Data DTR – Data Teminal Ready GND – Ground (Noái ñaát) DSR – Data – Set – Ready RTS – Request To – Send CTS – Clear – To Send RI – RingIndicator Loái vaøo Loái vaøo Loái ra Loái ra Chung Loái ra Loái ra Loái vaøo Trôû khaùng ra vaø tín hieäu TTL cuûa USART khoâng thích hôïp ñeå phaùt tröïc tieáp leân ñöôøng daây xoaén ñoâi hoaëc caùp ñoàng truïc neân thöôøng ñoøi hoûi caùc maïch kích phaùt vaø thu nhöõng maïch naøy coù theå söû duïng caùc möùc ñieän aùp hoaëc doøng ñieän lôùn hôn tieâu chuaån cuûa IC soá. Nhôø tính phoå bieán cuûa giao tieáp RS232C ngöôøi ta cheá taïo caùc IC kích hoaït phaùt vaø thu. Hai vi maïch nhö vaäy ñöôïc haõng MOTOROLA saûn xuaát laø IC kích phaùt MC 1488 vaø IC thu MC 1489 coù daïng DIP. Moãi IC kích phaùt MC 1488 nhaän tín hieäu möùc TTL vaø chuyeån thaønh tín hieäu ngoõ ra töông thích vôùi möùc ñieän aùp RS232C. IC thu MC 1489 phaùt hieän caùc möùc vaøo cuûa RS232C vaø chuyeån chuùng thaønh caùc ngoõ ra coù möùc TTL. Chuaån RS 232C xem Mode nhö laø DCE vaø caùc maùy tính hoaëc laø thieát bò ñaàu cuoái nhö DTE. Chuaån naøy duøng toác ñoä truyeàn döõ lieäu laø 20Kps vôùi khoaûng caùch truyeàn lôùn nhaát laø 15m. Ñaây laø moät daïng giao tieáp laoïi TTL vaø boä kích ñöôøng truyeàn khoâng caân baèng. Maëc duø RS232C cuûa EIA ñöôïc thieát keá daønh rieâng cho aùp duïng keát noái moâ-dun vôùi thieát bò ñaàu cuoái, nhöng RS232C coù theå ñöôïc söû duïng hai thieát bò ñaàu cuoái ñöôïc noái vôùi nhau (ôû ñaây laø maùy thu phaùt kyù töï vaø maùy tính). Trong tröôøng hôïp naøy Mode roãng (Null Modem) caùc ñöôøng tín hieäu ñieàu khieån phaûi ñaët cheùo nhau. Hình 2.6.Nguyeân taéc gheùp noáiTTL- RS-232C vaøRS-232C-TTL. Hình 2.7.Sô ñoà keát noái 8251A vôùi vi xöû lyù 8085A vaø caùc vi maïch kích chuaån. 3.GIÔÙI THIEÄU VI MAÏCH LAÄP TRÌNH 8279L 3.1.CAÁU TRUÙC VI MAÏCH 8279L Hình 3.1. Sô ñoà chaân vaø sô ñoà khoái caáu truùc 8279 8279 laø vi maïch chuyeân veà giaûi maõ hieån thò LED 7 ñoaïn vaø queùt phím theo nhieàu phöông phaùp khaùc nhau. Söû duïng 8279 laø phöông phaùp duøng phaàn cöùng ñeå giao tieáp vôùi baøn phím ma traän vaø hieån thò ña hôïp. Baát lôïi cuûa phöông phaùp duøng phaàn meàm laø vi xöû lyù baän trong luùc kieåm tra vaø laøm töôi hieån thò. Do ñoù 8279 seõ thay theá vi xöû lyù ñaûm traùch hai nhieäm vuï naøy. Hình 3.2.Sô ñoà khoái caáu truùc cuûa 8279 Vi maïch 8279 laø linh kieän daïng DIP coù 40 chaân coù hai phaàn chính laø: baøn phím vaø hieån thò. Phaàn baøn phím coù theå ñöôïc noái vôùi 1 ma traän toái ña laø 64 phím, söï goõ phím ñöôïc giaûi naåy vaø giaûi maõ phím ñöôïc löu tröõ trong boä nhôù FIFO beân trong (Firt In – Firt Out). Vaøo tröôùc – Ra tröôùc vaø moät laàn tín hieäu ngaét phaùt ra moãi laàn goõ phím. Phaàn hieån thò coù theå cung caáp moät hieån thò toái ña 16 LED hieån thò, phaàn naøy coù boä nhôù RAM16X8, coù theå söû duïng ñeå ñoïc/ghi thoâng tin cho caùc muïc ñích hieån thò. Phaàn hieån thò coù theå khôûi taïo ôû daïng ghi phaûi (Right Entry) hoaëc ghi traùi (Left Entry). Taàn soá xung ñoàng hoà caáp cho 8279 toái ña laø 3,125 MHZ. Sô ñoà khoái logic (Hình 3.2) trình baøy boán phaàn chính cuûa 8279: baøn phím, queùt , hieån thò vaø giao tieáp vôùi vi xöû lyù. Chöùc naêng cuûa caùc phaàn naøy ñöôïc dieån taû nhö sau: Phaàn baøn phím: Phaàn naøy coù 8 ñöôøng (RLO – RL7) coù theå noái vôùi 8 coät cuûa baøn phím coäng theâm vôùi hai ñöôøng theâm vaøo: SHIFT vaø CNTL/STB. Traïng thaùi cuûa phím SHIFT vaø phím CONTROL coù theå ñöôïc löu tröû theo söï ñoùng phím. Khung maõ döõ lieäu cuûa phím bò aán nhö sau: CNTL SHIFT SCAN RETURN Caùc phím töï ñoäng ñöôïc giaûi naåy, baøn phím coù theå hoaït ñoäng ôû hai Mode: Khoùa ngoaøi hai phím (two – key ockout) hoaëc xoay voøng N phím (N – key rollover). Mode khoùa ngoaøi hai phím: neáu hai phím ñöôïc aán haàu nhö ñoàng thôøi thì chæ coù caùc phím ñaàu tieân ñöôïc xaùc nhaän. Mode xoay voøng N phím, caùc phím ñoàng thôøi ñöôïc xaùc nhaän vaø maõ cuûa chuùng ñöôïc löu tröõ vaøo boä ñeäm beân trong, noù cuõng coù theå ñöôïc ñaët sao cho khoâng coù phím naøo ñöôïc xaùc nhaän cho ñeán khi chæ coøn 1 phím ñöôïc aán. Phaàn baøn phím chöùa boä nhôù RAM FIFO 8X8. RAM FIFO chöùa taùm thanh ghi coù theå löu tröõ taùm söï ghi nhaän cuûa baøn phím, moãi noäi dung döõ lieäu ñöôïc ñoïc ra theo thöù töï ghi vaøo. Logic traïng thaùi giöõ daáu veát coù thöù töï cuûa söï ghi nhaän phím vaø cung caáp moät tín hieäu yeâu caàu ngaét laø IRQ khi FIFO khoâng roãng (Empty). Phaàn queùt: Phaàn queùt coù moät boä ñeám queùt vaø 4 ñöôøng queùt (SLO – SL3). Boán ñöôøng naøy coù theå ñöôïc giaûi maõ nhôø söû duïng boä giaûi maõ 4 sang 16 ñöôøng ñeå taïo ra 16 ñöôøng queùt. Caùc ñöôøng queùt naøy coù theå ñöôïc noái ñeán caùc haøng cuûa moät baøn phím daïng ma traän vaø caùc maïch laùi soá cuûa moät hieån thò ña hôïp. Phaàn hieån thò: Phaàn hieån thò coù taùm ñöôøng ñöôïc chia thaønh hai nhoùm: A0 – A3 vaø B0 – B3. Caùc ñöôøng naøy coù theå söû duïng hoaëc nhö moät nhoùm taùm ñöôøng hoaëc hai nhoùm boán ñöôøng, trong söï lieân heä vôùi caùc ñöôøng queùt cho moät hieån thò ña hôïp. Hieån thò coù theå ñöôïc nhaáp nhaùy nhôø vaøo chaân . Phaàn naøy chöùa RAM hieån thò 16 X 8. Vi xöû lyù coù theå ghi vaøo hoaëc ñoïc döõ lieäu töø caùc thanh ghi naøy. Phaàn giao tieáp vi xöû lyù: Phaàn naøy bao goàm 8 ñöôøng döõ lieäu hai chieàu (DB0 – DB7), moät ñöôøng yeân caàu ngaét (IRQ) vaø 6 ñöôøng giao tieáp luoân caû ñöôøng ñòa chæ cuûa boä ñeäm. Khi AO ôû möùc cao, caùc tín hieäu ñöôïc hieåu nhö laø caùc töø ñieàu khieån vaø traïng thaùi, khi AO ôû möùc thaáp caùc tín hieäu ñöôïc hieåu nhö laø döõ lieäu. Tín hieäu IRQ ñöôïc söû duïng ñeå ngaét vi xöû lyù nhaèm chæ thò tính khaû duïng cuûa döõ lieäu, khi IRQ leân möùc cao thì vieäc ghi nhaän döõ lieäu vaøo FIFO 3.2.LAÄP TRÌNH CHO 8279: Caáu truùc phaàn meàm cuûa 8279: IC 8279 coù moät ñöôøng ñòa chæ laø Ao coù chöùc naêng choïn löïa nhö sau: Ao = 0: 8279 xem döõ lieäu töø vi xöû lyù gôûi ñeán laø döõ lieäu ñeå hieån thò. Ao = 1: 8279 xem döõ lieäu töø vi xöû lyù gôûi ñeán laø döõ lieäu cuûa leänh ñieàu khieån 8279. 3.2.1.CAÙC LEÄNH ÑIEÀU KHIEÅN CUÛA 8279: Ñaët Mode hieån thò/ baøn phím. Trong ñoù: DD: laø Mode hieån thò KKK: laø Mode baøn phím DD 00 - Hieån thò 8 kyù töï, 8 bit – Ghi traùi (Left Entry) 01 - Hieån thò 16 kyù töï, 8 bit – Ghi traùi (Left Entry) 10 - Hieån thò 8 kyù töï, 8 bit – Ghi phaûi (Right – Entry) Hieån thò 16 kyù töï, 8 bit – Ghi phaûi (Right – Entry) YÙ nghóa cuûa vieäc ghi traùi, ghi phaûi ñöôïc dieãn taû ôû hình 3.3 Hình 3.3: Moái lieân heä giöõa Ram 8279 vaø vò trí hieån thò. KKK 000 Baøn queùt phím coù laäp maõ – Khoùa ngoaøi 2 phím 001 Baøn queùt coù giaûi maõ – Khoùa ngoaøi 2 phím 010 Baøn queùt phím coù laäp maõ – Khoùa voøng N phím 011 Baøn queùt coù giaûi maõ – Khoùa voøng N phím 100 Ma traän caûm bieán, queùt coù laäp maõ 101 Ma traän caûm bieán, queùt coù giaûi maõ 110 Ngoõ vaøo Strob, queùt hieån thò coù laäp maõ Ngoõ vaøo Strob, queùt hieån thò coù giaûi maõ Khi queùt phím coù giaûi maõ ñöôïc ñaët trong Mode baøn phím, hieån thò seõ giaûm xuoáng 4 kyù töï, khoâng phuï thuoäc vaøo vieäc ñaët Mode hieån thò. Ôû Mode coù laäp maõ, caùc ngoõ ra SL (Scan Lines) taùc ñoäng möùc cao vaø theo sau laø maãu bit nhò phaân töø 0 ñeán 7 hoaëc töø 0 ñeán 15 tuøy theo hieån thò 8 hoaëc 16 kyù töï ñöôïc choïn. Ôû Mode giaûi maõ, caùc ngoõ ra (Scan Lines) taùc ñoäng möùc thaáp vaø ôû moät trong 4 ngoõ ra ôû möùc thaáp taïi moät thôøi ñieåm baát kyø ñöôïc cho. Caùc ngoõ ra giaûi maõ laëp laïi maãu: 1110, 1101, 1011, 0111. Ôû Mode Strob, moät xung taùc ñoäng möùc cao ôû chaân CN/ST seõ Strob döõ lieäu töø caùc chaân SL vaøo FIFO beân trong nôi maø chuùng ñöôïc duy trì cho vi xöû lyù. 3.2.2.LAÄP TRÌNH XUNG ÑOÀNG HOÀ: Caùc tín hieäu ñònh thôøi vaø ña hôïp cho 8279 ñöôïc phaùt ra bôûi moät boä ñònh thôøi ñaët tröôùc (Prescaler) beân trong. Boä chia ñaët tröôùc chia xung ñoàng hoà beân ngoaøi cho moät soá nguyeân coù theå laäp trình caùc bit PPPPP duøng ñeå xaùc ñònh soá chia naèm trong khoaûng töø 2 ñeán 31. Taàn soá hoaït ñoäng cuûa maïch queùt hieån thò vaø choáng doäi cuûa 8279 laø 100 KHz neáu taàn soá ngoõ vaøo laø 2 MHz thì phaûi chia cho 20 ñeå ñöôïc taàn soá 100 KHz, khi ñoù caùc bit PPPPP phaûi laø 10010 ÑOÏC FIFO/RAM CAÛM BIEÁN: X: khoâng quan taâm Töø ñieàu khieån naøy choïn ñòa chæ cuûa maõ phím caàn ñoïc trong RAM FIFO/RAM caûm bieán. Ôû Mode baøn phím, côø taêng töï ñoäng AI (Automatic Increament) vaø caùc bit ñòa chæ RAM (AAA) khoâng coøn khaû duïng, 8279 seõ töï ñoäng laùi tuyeán döõ lieäu cho moãi laàn ñoïc tieáp theo (Ao = 0) theo ñuùng trình töï ban ñaàu döõ lieäu ñöôïc nhaäp vaøo FIFO. Taát caû nhöõng laàn ñoïc tieáp theo seõ ñeán töø FIFO cho ñeán khi moät leänh khaùc ñöôïc taïo ra. Mode ma traän caûm bieán, caùc bit ñòa chæ RAM (AAA) ñöôïc choïn moät trong 8 haøng cuûa RAM caûm bieán. Neáu côø AI ñöôïc ñaët (AI = 1) moãi laàn ñoïc keá tieáp seõ ñeán töø haøng tieáp theo cuûa RAM caûm bieán. ÑOÏC RAM HIEÅN THÒ: Töø ñieàu khieån naøy choïn ñòa chæ cuûa byte döõ lieäu caàn ñoïc trong RAM hieån thò. Caùc bit AAAA ñöôïc choïn moät trong 16 haøng cuûa RAM hieån thò, neáu côø AI ñöôïc ñaët laïi (AI = 1) ñòa chæ haøng naøy seõ ñöôïc taêng töï ñoäng sau moãi laàn ñoïc hoaëc ghi tieáp theo. Vì cuøng moät boä ñeäm hoaëc ghi. Töø leänh naøy ñaët ñòa chæ ñoïc hoaëc ghi keá tieáp vaø caûm bieán nhaän Mode töï ñoäng taêng cho caû hai hoaït ñoäng ñoïc/ghi. GHI VAØO RAM HIEÅN THÒ: Töø ñieàu khieån naøy choïn ñòa chæ trong RAM hieån thò nôi caàn ghi döõ lieäu vaøo. sau ñoù töø leänh AO = 1 taát caû nhöõng laàn ghi keá tieáp vaøo AO = 0 seõ ôû trong RAM hieån thò. Caùc chöùc naêng ñònh ñòa chæ vaø taêng töï ñoäng gioáng nhö ñoïc RAM hieån thò. Tuy nhieân töø leänh naøy khoâng aûnh höôûng ñeán nguoàn cuûa nhöõng laàn ñoïc döõ lieäu keá tieáp. Vi xöû lyù seõ ñoïc döõ lieäu baát kyø RAM naøo. (Hieån thò/FIFO/Caûm bieán) ñöôïc neâu roõ sau cuøng. Leõ ra RAM hieån thò ñöôïc neâu roõ sau cuøng, vieäc ghi vaøo RAM hieån thò, tuy nhieân seõ laøm thay ñoåi vò trí ñoïc tieáp theo. NHAÁP NHAÙY/CAÁM GHI VAØO HIEÅN THÒ: Caùc bit IW coù theå ñöôïc söû duïng che nöûa byte A vaø nöûa byte B. Trong nhöõng öùng duïng ñoøi hoûi caùc coång hieån thò 4 bit taùch bieät baèng caùch ñaët côø IW (IW = 1) ñoái vôùi moät trong caùc coång, coång seõ ñöôïc ñaùnh daáu sao cho vieäc ghi vaøo RAM hieån thò töø CPU khoâng aûnh höôûng ñeán coång ñoù. Neáu moãi nöûa cuûa byte ñöôïc nhaäp vaøo boä giaûi maõ BCD, CPU coù theå ghi vaøo moät soá RAM hieån thò maø khoâng aûnh höôûng ñeán soá khaùc ñang hieån thò. Bit Bo töông öùng vôùi bit Do treân tuyeán döõ lieäu cuûa CPU vaø bit A3 töông öùng vôùi bit D7. Neáu ngöôøi söû duïng muoán nhaáp nhaùy hieån thò, caùc côø BL coù khaû duïng ñoái vôùi moãi nöûa byte. Leänh xoùa sau cuøng ñöôïc phaùt ra xaùc ñònh maõ söû duïng nhö moät “nhaáp nhaùy” taát caû baèng 0 sau söï ñaët laïi. Chuù yù caû hai côø BL phaûi ñöôïc ñaët nhaáp nhaùy moät laàn hieån thò keát hôïp vôùi moät coång ñôn 8 bit. XOÙA: Caùc bit CD ñöôïc coù saún trong töø leänh naøy ñeå xoùa taát caû caùc haøng cuûa RAM hieån thò theo moät maõ coù theå choïn löïa nhö sau: Trong suoát thôøi gian RAM hieån thò ñang bò xoùa (~ 160mS) noù khoâng theå ñöôïc ghi vaøo. Bit coù trong soá lôùn nhaát (MSB) cuûa töø traïng thaùi ñöôïc ñaët trong suoát thôøi gian naøy. Khi RAM hieån thò trôû neân khaû duïng trôû laïi, caùc bit naøy töï ñoäng ñaët laïi. Neáu CF = 1, traïng thaùi FIFO bò xoùa vaø caùc ngoõ ra ngaét ñöôïc ñaët laïi vaø con troû RAM caûm bieán ñöôïc ñaët laïi taïi haøng 0, CA bit xoùa taát caû, coù söï aûnh höôõng cuûa CD vaø CF. Noù söû duïng CD xoùa maõ treân RAM hieån thò vaø xoùa traïng thaùi FIFO. Hôn theá nöõa noù coøn ñoàng boä laïi boä ñònh thôøi beân trong. ÑAËT LAÏI MODE BAÙO LOÃI/NGAÉT ÔÛ CUOÁI: Ñoái vôùi Mode Ma traän caûm bieán töø leänh naøy haï ñöôøng IRQ xuoáng thaáp vaø cho pheùp ghi vaøo RAM khi ñöôøng IRQ naâng leân phaùt hieän moät söï thay ñoåi trong moät giaù trò caûm bieán. Ñieàu naøy cuõng seõ caám ghi vaøo RAM cho ñeán khi ñöôïc ñaët laïi. Ñoái vôùi Mode xoay voøng N phím, neáu bit E ñöôïc ñaët baèng 1, 8279 seõ hoaït ñoäng ôû Mode baùo loãi. KHÔÛI TAÏO 8279: Khi khôûi taïo 8279 thöù töï caùc töø ñieàu khieån sau ñaây laø caàn thieát: Ñaët Mode hieån thò/baøn phím. Laäp trình xung ñoàng hoà. Xoùa RAM hieån thò hoaëc FIFO hoaëc caû hai. Caùc töø ñieàu khieån coøn laïi coù theå gôûi ra thanh ghi ñieàu khieån trong luùc caàn thieát hoaëc ñoàng thôøi. Vieäc ñoïc maõ cuûa phím coù theå ñöôïc thöïc hieän baèng moät trong hai caùch: Duøng ngaét (Interrup) hoaëc kyõ thuaät hoûi voøng (Polling). Khi moät phím ñöôïc aán xuoáng, chaân IRQ cuûa 8279 seõ taïo ra moät möùc logic cao, neáu duøng ngaét, chaân naøy phaûi ñöôïc noái ñeán chaân ngaét cuûa 8085 hay CPU, chöông trình phuïc vuï ngaét seõ ñoïc maø phím aán. Neáu duøng kyõ thuaät hoûi voøng, phaûi kieåm tra traïng thaùi FIFO tröôùc khi muoán ñoïc FIFO ñeå laáy maõ phím aán. Trong ñeà taøi naøy, ñeå thöïc hieän vieäc queùt baøn phím ñaõ söû duïng kyõ thuaät hoûi voøng (Polling). 4.GIÔÙI THIEÄU IC ÑÒNH THÔØI GIAN/MAÏCH ÑEÁM THÔØI GIAN 8253: 4.1GIÔÙI THIEÄU CHUNG: Maïch ñònh thôøi gian laäp trình ñöôïc 8253 A laø moät maïch phuï raát quan troïng trong caùc heä xöû lyù cuûa Intel. Noù coù theå ñaùp öùng moät soá yeâu caàu öùng duïng khaùc nhau trong heä vi xöû lyù nhö: ñeám thôøi gian, ñeám söï kieän, chia taàn soá, taïo ra daõy xung. 8253 laø moät thieát bò coù 24 chaân, daïng DIP ñoøi hoûi nguoàn ñôn +5V. Noù phaùt ra nhöõng trì hoaõn thôøi gian chính xaùc vaø coù theå öùng duïng nhö laø ñoàng hoà thôøi gian thöïc (real time clock) boä ñeám söï kieän (event counter) maïch dao ñoäng ñôn oån, maùy phaùt soùng vuoâng (Square Wave generator) vaø maùy phaùt daïng soùng phöùc taïp (Complex Wave form generator). 8253 chöùa 3 boä ñeám 16 bit coù theå hoaït ñoäng ñoäc laäp ôû baát kyø moät trong 6 Mode. Ñeå kích hoaït moät boä ñeám, töø ñieàu khieån vaø moät soá ñeám 16 bit ñöôïc naïp vaøo thanh ghi cuûa noù, boä ñeám baét ñaàu suy giaûm cho ñeán khi soá ñeám baèng 0, khi ñoù noù phaùt ra moät xung, xung naøy coù theå duøng ñeå maét vi xöû lyù. Moãi boä ñeám coù theå ñeám ôû daïng nhò phaân hoaëc daïng BCD. Ngoaøi ra moät soá ñeám coù theå ñöôïc ñoïc bôûi vi xöû lyù trong khi boä ñeám ñang giaûm. 4.2.CAÁU TRUÙC 8253: Hình 4.1 trình baøy sô ñoà khoái cuûa 8253. Noù chöùa 3 boä ñeám (0,1 vaø 2), moät boä ñeám tuyeán döõ lieäu, logic ñieàu khieån ñoïc/ghi vaø moät thanh ghi ñieàu khieån. Xung ñoàng boä CLK vaø coång kích GATE vaø moät tín hieäu ra OUT. Boä ñeám tuyeán döõ lieäu: Ñaây laø moät boä ñeám hai chieàu, 8 bit, 3 traïng thaùi ñöôïc keát noái ñeán tuyeán döõ lieäu cuûa vi xöû lyù. Logic ñieàu khieån: Phaàn logic ñieàu khieån coù 5 tín hieäu: , , vaø caùc ñöôøng ñòa chæ A0 vaø A1 ñöôïc noái ñeán caùc ñöôøng ñòa chæ A0 vaø A1 cuûa vi xöû lyù moät caùch töông öùng, ñöôïc noái ñeán moät chaân cuûaboä giaûi maõ ñòa chæ. Thanh ghi ñieàu khieån vaø caùc boä ñeám ñöôïc tuøy choïn theo caùc tín hieäu Ao vaø A1 nhö trình baøy döôùi ñaây. A1 0 0 1 1 A0 0 1 0 1 Choïn löïa Boä ñeám 0 Boä ñeám 1 Boä ñeám 2 Thanh ghi ñieàu khieån Hình 4.2.Sô ñoà nguyeân lyù maïch taïo xung Clock Thanh ghi töø ñieàu khieån: Thanh ghi naøy ñöôïc xaâm nhaäp khi caùc ñöôøng Ao vaø A1 ôû logic 1. Noù ñöôïc söû duïng ñeå ghi moät töø leänh, töø naøy neâu roõ boä ñeám naøo seõ ñuôïc duøng, Mode cuûa noù vaø moät hoaït ñoäng ñoïc hoaëc ghi. Tuy nhieân thanh ghi töø ñieàu khieån khoâng khaû duïng ñoái vôùi hoaït ñoäng ñoïc. Caùc Mode hoaït ñoäng 8253 coù hoaït ñoäng ôû 6 Mode khaùc nhau. Coång GATE cuûa moät boä ñeám ñöôïc söû duïng hoaëc ñeå caámhoaëc ñeå cho pheùp hoaït ñoäng. Mode O: Taïo yeâu caàu ngaét khi ñeám xong (Terminal Count, TC) Töø ñieàu khieån laø CW = 10H, Mode naøy chæ ñoïc/ghi LSB vaø cheá ñoä ñeám heä 16 cho boä ñeám O. Khi naïp LSB = N thì sau N +1 xung ñoàng hoà ta coù OUT = 1, boä ñeám sau khi ñaït 0000H thì seõ tieáp tuïc luøi töø FFFFH neáu nhö noù khoâng ñöôïc naïp theâm giaù trò môùi. Mode 1: Ña haøi ñôïi vôùi thôøi gian laäp trình ñöôïc. Töø ñieàu khieån laø CW = 12H, chæ ñoïc/ghi LSB vaø cheá ñoä ñeám theo heä 16 cho boä ñeám O. Khi naïp LSB = N vaø GATE = 1 thì OUT = 0 trong N xung ñoàng hoà. Boä ñeám sau ñaït 0000H thì seõ tieáp tuïc luøi töø FFFFH neáu nhö noù khoâng ñöôïc naïp giaù tròñeám môùi vaø khi coù xung GATE = 1 noù laïi taïo ra xung OUT = 0 keùo daøi N xung ñoàng hoà. Mode 2: Taïo ra xung coù taàn soá FIN/N. Töø ñieàu khieån, CW = 14 H, chæ ñoïc/ghi LSB vaø cheá ñoä ñeám theo heä 16 cho boä ñeám O. Naïp LSB = N vaøo boä ñeám thì sau N xung ñoàng hoà, ta coù ôû ñaàu ra OUT = 0 trong thôøi gian moät xung ñoàng hoà. Mode 3: Taïo ra xung cho pheùp baèng chöông trình töø ñieàu khieån CW = 18H, chæ ñoïc/ghi LSB vaø cheá ñoä ñeám theo heä 16 cho boä ñeám O. Naïp soá ñeám N thì sau N + 1 xung ñoàng hoà ta seõ coù ñöôïc xung cho pheùp tích cöïc thaáp keùo daøi moät xung ñoàng hoà. Mode 4: Taïo ra xung cho pheùp baèng xung ñieàu khieån GATE. Töø ñieàu khieån CW = 1AH, chæ ñoïc/ghi LSB vaø cheá ñoä ñeám theo heä 16 cho boä ñeám O. Naïp soá ñeám laø N vaø kích phaùt boä ñeám baèng xung GATE = 1 thì sau N + 1 xung ñoàng hoà seõ coù ñöôïc xung cho pheùp tích cöïc thaáp keùo daøi moät xung ñoàng hoà. Hình 4.3.Giaûn ñoàthôøi gian cuûa caùc mode cuaû 8235 4.3.LAÄP TRÌNH CHO 8253: Moãi boä ñeám coù theå laäp trình rieâng bieät baèng caùch ghi töø ñieàu khieån tröôùc, theo sau laø soá ñeám ban ñaàu. Hình lieät keâ caùc daïng thöùc thanh ghi ñieàu khieån cuûa vi maïch 8253. Töø ñieàu khieån cho pheùp ngöôøi laäp trình choïn löïa boä ñeám, moát hoaït ñoäng, vaø daïng cuûa hoaït ñoäng (Ñoïc/Ghi). Töø ñieàu khieån cuõng söû duïng ñeå choïn hoaëc soá ñeám nhò phaân hoaëc soá ñeám BCD. Moãi boä ñeám coù theå ñöôïc laäp trình vôùi soá ñeám töø 1 ñeán FFFFh. Soá ñeám baèng O vôùi (FFFFh + 1), (töùc laø 65.536) hoaëc laø 10.000 ôû BCD. Mode 2 vaø Mode 3 coù soá ñeám nhoû nhaát laø 1. Moãi boä ñeám coù moät töø ñieàu khieån ñöôïc söû duïng ñeå choïn caùch maø boä ñeám hoaït ñoäng. Neáu 2 byte ñöôïc laäp trình cho boä ñeám thì byte ñaàu tieân laø LSB seõ laøm döøng soá ñeám vaø byte thöù hai (MSB) seõ khôûi ñoäng boä ñeám vôùi soá ñeám môùi. Thöù töï cuûa vieäc laäp trình raát quan troïng ñoái vôùi moãi boä ñeám, nhöng vieäc laäp trình cho caùc boä ñeám khaùc nhau coù theå ñöôïc xen keû vôùi nhau. 8253 coù theå ñöôïc laäp trình ñeå cung caáp caùc ngoõ ra khaùc nhau thoâng qua hoaït ñoäng ñoïc/ghi ñeå kieåm tra moät soá ñeám trong khi ñeám thoâng qua hoaït ñoäng ñoïc. 4.3.1.HOAÏT ÑOÄNG GHI: Ñeå khôûi taïo boä ñeám, caàn thieát phaûi theo caùc böôùc sau: Ghi moät töø ñieàu khieån vaøo thanh ghi ñieàu khieån, Naïp byte thaáp cuûa soá ñeám vaøo thanh ghi ñieàu khieån. Naïp byte cao cuûa soá ñeám vaøo thanh ghi ñieàu khieån. Neáu chæ naïp LSB hoaëc MSB, 8253 seõ töï ñoäng hieåu byte khoâng duøng coù giaù trò 00h. Muoán khôûi taïo ñoàng thôøi nhieàu boä ñeám. Chaúng haïn hai boä ñeám coù theå theo moät trong hai phöông phaùp sau ñaây: Phöông phaùp 1: LAÄP TRÌNH TÖØ ÑIEÀU KHIEÅN 1; Khôûi taïo boä ñeám 1. LAÄP TRÌNH TÖØ ÑIEÀU KHIEÅN 2; Khôûi taïo boä ñeám 2. LAÄP TRÌNH LSB1 ; Döøng boä ñeám 1 vaø laäp trình LSB1. LAÄP TRÌNH LSB2 ; Döøng boä ñeám 2 vaø laäp trình LSB2. LAÄP TRÌNH MSB1; Laäp trình MSB1 vaø khôûi ñoäng boä ñeám 1. LAÄP TRÌNH MSB2; Laäp trình MSB2 vaø khôûi ñoäng boä ñeám 2. Phöông phaùp 2: LAÄP TRÌNH TÖØ ÑIEÀU KHIEÅN 1; Khôûi taïo boä ñeám 1. LAÄP TRÌNH LSB1 ; Döøng boä ñeám 1 vaø laäp trình LSB1. LAÄP TRÌNH MSB1; Laäp trình MSB1 vaø khôûi ñoäng boä ñeám 1. LAÄP TRÌNH TÖØ ÑIEÀU KHIEÅN 2; Khôûi taïo boä ñeám 2. LAÄP TRÌNH LSB2 ; Döøng boä ñeám 2 vaø laäp trình LSB2. LAÄP TRÌNH MSB2; Laäp trình MSB2 vaø khôûi ñoäng boä ñeám 2. 4.3.2.HOAÏT ÑOÄNG ÑOÏC: Trong moät soá öùng duïng, ñaëc bieät laø trong caùc boä ñeám söï kieän, caàn thieát phaûi ñoïc giaù trò cuûa boä ñeám trong khi boä ñeám ñang ñeám. Ñieàu naøy coù theå ñöôïc thöïc hieän baèng hai phöông phaùp. Phöông phaùp thöù nhaát lieân quan ñeán vieäc ñoïc moät soá ñeám sau khi ñaõ laøm döøng boä ñeám caàn ñoïc. Phöông phaùp thöù hai lieân quan ñeán vieäc ñoïc moät soá ñeám khi soá ñeám ñang thay ñoåi. Ôû phöông phaùp thöù nhaát vieäc döøng boä ñeám baèng caùch kích hoaït vaøo coång gate, hoaëc ngoõ vaøo xung ñoàng hoà (Clock) cuûa boä ñeám ñöôïc choïn vaø hoaït ñoäng I/O ñöôïc thöïc hieän bôûi vi xöû lyù. Hoaït ñoäng I/O thöù nhaát laø ñoïc byte thaáp. Hoaït ñoäng I/O thöù hai laø ñoïc byte cao. Ôû phöông phaùp thöù hai, moät töø ñieàu khieån töông öùng ñöôïc ghi vaøo thanh ghi ñieàu khieån ñeå choát laïi soá ñeám taïi maïch choát ngoõ ra, vaø hoaït ñoäng I/O thöïc hieän bôûi vi xöû lyù. Taàn soá xung ñoàng hoà vaø thôøi gian trì hoaõn. Taàn soá xung ñoàng hoà toái ña taïi ngoõ vaøo cuûa vi maïch 8253 laø 2,6 MHz. Vi maïch 8254 laø 8 MHz Vi maïch 8254 – 2 laø 10 MHz. Goïi fCLK laø taàn soá xung ñoàng hoà ñöa vaøo boä ñeám. N laø giaù trò soá ñeám naïp cho boä ñeám ñoù thì thôøi gian trì hoaõn do ñeám laø TD. 4.3.GIAO TIEÁP VÔÙI VI MAÏCH 8253 VÔÙI CAÙC NGOAÏI VI VAØ CPU: Trong heä thoáng naøy 8253 coù nhieäm vuï: Taïoxung ngaét coù chu kyø cho vi xöû lyù. Cung caáp xung ñoàng hoà cho caùc nhieäm vuï truyeàn (TxC) vaø nhaän (RxC) cuûa vi maïch 8251 A ñeå laäp trình toác ñoä truyeàn (baud). Taïo neân taàn doá coù doá chia thay ñoåi laäp trình ñöôïc töø ñôn vò Hz, KHz, MHz. Muoán vi maïch 8251 A truyeàn döõ lieäu vôùi maùy tính vôùi toác ñoä bao nhieâu (75, 110, 300, 600, 900, 1200, 2400, 4800 hay 9600 bit/S). Chæ caàn laäp trình cho vi maïch 8253 phaùt ra xung ñònh thôøi (taïi chaân OUT) coù taàn soá töông öùng. Trong heä thoáng naøy 8253 ñöôïc söû duïng caû 3 boä ñeám 0,1 vaø 3. Boä ñeám O ñöôïc söû duïng ñeå chia taàn soá ñöôïc laáy töø ngoõ ra xung CLOCK OUT cuûa vi xöû lyù 8085 coù taàn soá laø 3 MHz. Ngoõ vaøo CLC cuûa boä ñeám coù taàn soá laø 3MHz sau ñoù ñöôïc chia ñeå cho ngoõ ra OUT O laø 1MHz. Boä ñeám 1 ñöôïc söû duïng ñeå chia taàn soá 1MHz laáy töø boä ñeám O ñeå chia taàn soá vaø cho ngoõ OUT 1 coù taàn soá coù ñôn vò laø KHz. Boä ñeám 2 ñöôïc söû duïng ñeå taàn soá ngoõ vaøo laø KHz ñeå cho ngoõ OUT 2 coù taàn soá coù ñôn vò laø Hz. Trong heä thoáng duøng vi maïch 4017 ñeå choïn ñôn vò taàn soá ñöôïc chia ôû ngoõ ra thoâng qua phím UNIT vaø 3 ñeøn LED hieån thò ñôn vò taàn soá Hz, KHz, MHz. Ngoõ ra xung CLOCK cuoái cuøng sau khi ñaõ ñöôïc chia seõ qua coâng taéc (SW) chuyeån maïch ñeå ñöa ñeán caùc nguoàn nhaän sau: Ñöa ñeán ngoõ vaøo RST 7.5 ñeå taùc ñoäng ngaét vi xöû lyù 8085 khi truyeàn döõ lieäu. Caáp xung Clock cho thieát bò nhaän vôùi möùc taùc ñoäng, hoaëc taùc ñoäng leân söôøn leân, hoaëc taùc ñoäng söôøn xuoáng cuûa xung Clock nhôø vaøo SW chuyeån maïch. Caáp xung Clock cho vi maïch 8251 ñeå thöïc hieän ñoàng boä vieäc thu (RxC) hoaëc phaùt (TxC) döõ lieäu. 5.GIÔÙI THIEÄU IC NGOAÏI VI 8255 A: Hình 5.1. Caáu truùc beân trong cuûa IC 8255 A: 5.1GIÔÙI THIEÄU CHUNG: IC 8255 A laø moät thieát bò ngoaïi vi giao tieáp song song laäp trình ñöôïc, söû duïng roäng raõi do Intel cheá taïo. Noù coù theå laäp trình ñeå truyeàn döõ lieäu bôûi caùc ñieàu kieän khaùc nhau, töø I/O ñôn giaûi ñeán I/O coù ngaét, IC 8255 khaù linh hoaït, ña naêng vaø tinh teá (Khi coù nhieàu coång I/O ñoøi hoûi). Noù laø moät thieát bò phoå duïng coù theå söû duïng töông thích vôùi haàu heát caùc boävi xöû lyù. 8255 coù 40 chaân daïng DIP, veà cô baûn ñöôïc phaân nhoùm thaønh hai coång (Port) song song 8 bit: A vaø B, vôùi 8 bit coøn laïi cuûa Port C coù theå ñöôïc söû duïng ñoäc laäp hoaëc theo hai nhoùm 2 coång 8 bit. Cu (Upper: Cao vaø CL (Lower: thaáp) Hình 5.2. Trình baøy taát caû caùc chöùc naêng cuûa 8255 A Ñöôïc xeáp theo hai nhoùm moát (Mode). Mode ñaët/Ñaët laïi bit (BSR) vaø Mode I/O. Mode BSR ñöôïc söû duïng ñeå ñaët laïi caùc bit trong coång C. Mode I/O ñöôïc chia thaønh 3 Mode: Mode 0, Mode 1 vaø Mode 2. Ôû Mode 0, taát caû caùc coång coù chöùc naêng nhö nhau ñeàu laø caùc coång I/O ñôn giaûn. Ôû Mode 1 laø Mode baét tay (Hand shake Mode) nhôø ñoù caùc coång A vaø/ hoaëc B söû duïng caùc bit töø coång C nhö laø tín hieäu baét tay. Ôû Mode baét tay, hai daïng truyeàn döõ lieäu I/O coù theå ñöôïc thi haønh: Kieåm tra traïng thaùi vaø ngaét. ÔÛ Mode 2: Coång A coù theå ñöôïc ñaët ñeå truyeàn döõ lieäu hai chieàu nhôø söû duïng caùc tín hieäu baét tay töø coång C vaø coång B coù theå ñöôïc ñaët ôû Mode 0 hoaëc Mode 1. Sô ñoà khoái hình 6.3 trình baøy hai coång 8 bit (A vaø B) vaø hai coång 4 bit (CU vaø CL), boä ñeäm tuyeán döõ lieäu, logic vaø ñieàu khieån. Sô ñoà khoái naøy trình baøy taát caû caùc phaàn töû cuûa moät thieát bò laäp trình, coång C thöïc hieän chöùc naêng töông töï chöùc naêng cuûa thanh ghi traïng thaùi, ngoaøi ra coøn cung caáp tín hieäu baét tay. Logic ñieàu khieån: Phaàn ñieàu khieån coù 6 ñöôøng, chöùc naêng vaø vieäc keát noái cuûa chuùng nhö sau: : (Read) ñoïc, tín hieäu ñieàu khieån naøy cho pheùp hoaït ñoäng ñoïc. Khi tín hieäu naøy ôû möùc logic thaáp, vi xöû lyù ñoïc tín hieäu töø coång I/O ñöôïc choïn cuûa 8255A. : (Write): Ghi tín hieäu naøy cho pheùp hoaït ñoäng ghi. Khi tín hieäu naøy ôû möùc thaáp, vi xöû lyù ghi vaøo thanh ghi hoaëc coång I/O ñaõ ñöôïc choïn. Ñoái vôùi heä thoáng naøy, hai chaân naøy ñöôïc keát noái tröïc tieáp vôùi chaân vaø cuûa vi xöû lyù. RESET (Reset): Ñaët laïi: Ñaây laø moät tín hieäu taùc ñoäng ôû möùc cao, noù xoùa thanh ghi ñieàu khieån vaø ñaët laïi toaøn boä caùc coång ôû mode nhaäp chaân naøy coù theå ñöôïc noái tröïc ñeán chaân RESET OUT cuûa vi xöû lyù. , A0, A1 Ñaây laø tín hieäu choï thieát bò. ñöôïc oái ñeán moät chaân giaûi maõ, cuï theå laø chaân … cuûa 74LS 138 giaûi maõ. A0 vaø A1 thöôøng ñöôïc noái ñeán caùc ñöôøng ñòa chæ A0 vaø A1 cuûa vi xöû lyù töông öùng. Traïng thaùi toå hôïp cuûa , A0 vaø A1 nhö sau A1 A0 Traïng thaùi choïn löïa 0 0 0 0 1 0 0 1 1 x 0 1 0 1 x Coång A Coång A Coång A Thanh ghi ñieàu khieån 8255A khoâng choïn löïa 5.2.TÖØ ÑIEÀU KHIEÅN Hình 5.3. Trình baøy moät thanh ghi goïi laø thanh ghi ñieàu khieån (Control Register). Noäi dung cuûa thanh ghi naøy goïi laø töø ñieàu khieån (Control Word) neâu roõ moät chöùc naêng I/O cho moãi coång. Thanh ghi naøy coù theå xaâm nhaäp ñeå ghi töø ñieàu khieån. Bit D7 cuûa thanh ghi ñieàu khieån neâu roõ hoaëc chöùc naêng I/O hoaëc chöùc naêng ñaët / ñaët laïi bit. Neáu bit D7 = 1 coøn caùc bit D6 – D5 quyeát ñònh caùc chöùc naêng I/O ôû caùc Mode khaùc nhau. Neáu bit D7 = 0, coång C hoaït ñoäng ôû caùc Mode ñaët / ñaët laïi bit (BSR). Töø ñieàu khieån BSR khoâng aûnh höôûng ñeán caùc chöùc naêng cuûa caùc chöùc naêng cuûa caùc coång A vaø B. Hình 5.3.Daïng töø ñieàu khieån ñoái vôùi Mode I/O cuûa IC 8255A. Ñeå thoâng tin vôùi caùc thieát bò ngoaïi vi, thoâng qua 8255A caàn thöïc hieän ba böôùc sau ñaây. Xaùc ñònh ñòa chæ coång A, B vaø C cuû thanh ghi theo Logic choïn chip() vaø caùc ñöôøng ñòa chæ A0 – A1. Ghi töø ñieàu khieån vaøo thanh ghi ñieàu khieån. Ghi caùc leänh I/O ñeå thoâng tin vôùi caùc ngoaïi vi thoâng qua caùc coång A, B vaø C. Ñoái vôùi heä thoáng naøy, choï 8255A laøm vieäc ôû Mode 0 laø thích hôïp nhaát. Caùc ñaëc dieåm I/O ôû möùc 0 nhö sau: Caùc ngoõ ra ñöôïc choát (Latch). Caùc ngoõ vaøo khoâng ñöôïc choát. Caùc coång khoâng coù khaû naêng baét tay vaø khaû naêng ngaét. Ñeå coång A laø coång xuaát (8 bit), B vaø C laø hai coång nhaäp (16 bit), töø ñieàu khieån gôûi vaøo thanh ghi ñieàu khieån cuûa 8255A coù giaù trò laø 8BH. TAØI LIEÄU THAM KHAÛO 1. CHAÂU KIM LANG Phöông phaùp nghieân cöùu khoa hoïc. Ban Sö Phaïm Kyõ Thuaät. Tröôøng Ñaïi Hoïc Sö Phaïm Kyõ Thuaät TP. HCM, 1989. DÖÔNG MINH TRÍ Linh kieän quang ñieän trôû. Nhaø xuaát baûn khoa hoïc vaø kyõ thuaät TP. HCM, 1989. NGUYEÃN HÖÕU PHÖÔNG Giaùo trình Maïch soá Taäp 2. Tröôøng Ñaïi Hoïc Toång Hôïp TP. HCM, 1988. NGOÂ DIEÂN TAÄP Laäp trình baèng hôïp ngöõ. Nhaø xuaát baûn khoa hoïc kyõ thuaät, Haø Noäi, 1988. Trang 31 – 97. Giaùo trình hôïp ngöõ. Khoa Tin hoïc, Ñaïi hoïc môû baùn coâng TP. HCM, 1995. LEÂ VAÊN VIEÄT Caáu truùc maùy tính. Khoa Tin hoïc. Ñaïi Hoïc Baùch Khoa TP. HCM, 1988. NGOÂ DIEÂN TAÄP Ño löôøng vaø ñieàu khieån baèng maùy tính. Nhaø xuaát baûn khoa hoïc vaø kyõ thuaät, Haø Noäi, 1996. DÖÔNG MINH TRÍ Sô ñoà chaân linh kieän baùn daãn. Nhaø xuaát baûn khoa hoïc vaø kyõ thuaät TP. HCM, 1994. HOÀNG MINH NHAÄT vaø caùc taùc giaû Thieát keá vaø laép raùp maùy vi tính baèng VI XÖÛ LYÙ Z 80. Thieát keá cô baûn, taäp 1. Nhaø xuaát baûn giaùo duïc, 1994. Trang 77 – 190. TRAÀN VÓNH AN Taøi lieäu giaûng daïy moân hoïc thieát keá maïch ñieän töû. Löu haønh noäi boä, Tröôøng Ñaïi Hoïc Sö Phaïm Kyõ Thuaät TP. HCM, 1997. TRAÀN VAÊN TROÏNG Kyõ thuaät vi xöû lyù 8085 A. Ñaïi Hoïc Sö Phaïm Kyõ Thuaät TP. HCM, 1995. VAÊN THEÁ MINH Kyõ thuaät vi xöû lyù, Nhaø xuaát baûn giaùo duïc, 1997. HUYØNH ÑAÉC THAÉNG Caåm nang thöïc haønh vi maïch tuyeán tính TTL/LS CMOS, Nhaø xuaát baûn khoa hoïc vaø kyõ thuaät, Haø Noäi, 1994, trang 7 – 130. NGUYEÃN MAÏNH GIANG Kyõ thuaät gheùp noái maùy vi tính, taäp 1. Nhaø xuaát baûn giaùo duïc, 1998. ROBETJ. BARON LEE HIGBIE Kieán truùc maùy tính. Nguyeãn Minh Tuaán (dòch) Khoa coâng ngheä thoâng tin. Tröôøng Ñaïi Hoïc Khoa Hoïc Töï Nhieân, 1999. PAUL BATES, P. ENG Truyeàn döõ lieäu söû duïng vi maïch LSI. TOÁNG VAÊN ON (dòch). Ñaïi Hoïc Baùch Khoa TP. HCM, 1994. BARRY B. BREY The Z80 Microprocessor. Hardware, Software, Programming, Inter facing Prentice – Hall International, 1992, Page 97 – 245. MPF – I Experiment Manual (Sofware/Hardware) Multitech Industrial Crop, 1981, Page 21 – 87. SAVAN. RODEN. CAPPENTER Electronic Design, Ciruits and Systems the Benjamin/Cummings Publishing Company, InC, 1991, Page 724 – 828. MICROPROCESSORS and IC families DATA hand book, Intel Comporation, 1993, Page 17 – 97.

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

  • docLUANVAN.DOC
  • prnMONITOR.PRN