Thiết kế mạch quang báo kết hợp KIT VXL và máy tính, chương 3

Chia sẻ: Nguyen Van Dau | Ngày: | Loại File: PDF | Số trang:12

0
110
lượt xem
54
download

Thiết kế mạch quang báo kết hợp KIT VXL và máy tính, chương 3

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Trong sơ đồ khối của 8255A, các Port I/O của 8255A chia ra làm 2 nhóm: Nhóm A gồm Port A và 4 bit cao của Port C, nhóm B gồm Port B và 4 bit thấp của Port C. Để sử dụng các Port của 8255A người lập trình phải gởi từ điều khiển ra để thanh ghi điều khiển 8255A định cấu hình cho các Port đúng theo yêu cầu mà người lập trình mong muốn.

Chủ đề:
Lưu

Nội dung Text: Thiết kế mạch quang báo kết hợp KIT VXL và máy tính, chương 3

  1. Chương 3: Caáu truùc phaàn cöùng 8255A 8255A laø IC ngoaïi vi ñöôïc cheá taïo theo coâng ngheä LSI duøng ñeå giao tieáp song song giöõa Microprocessor vaø thieát bò ñieàu khieån beân ngoaøi. Hình 1.6:Sô ñoà chaân vaø sô ñoà logic 8255A Teân caùc chaân 8255A: D7 – D0 Döõ lieäu Bus (Bi – Direction)
  2. RESET Reset input CS\ Chip Select RD\ Read input WR\ Write input A 0, A 1 Port Address PA7 – PA0 Port A PB7 – PB0 Port B PC7 – PC0 Port C 8255A giao tieáp vôùi Microprocessor thoâng qua 3 Bus: Bus döõ lieäu 8 bit D7 – D0, Bus ñòa chæ A1A2, Bus ñieàu khieån RD, WR, CS, Reset. Trong sô ñoà khoái cuûa 8255A, caùc Port I/O cuûa 8255A chia ra laøm 2 nhoùm: Nhoùm A goàm Port A vaø 4 bit cao cuûa Port C, nhoùm B goàm Port B vaø 4 bit thaáp cuûa Port C. Ñeå söû duïng caùc Port cuûa 8255A ngöôøi laäp trình phaûi gôûi töø ñieàu khieån ra ñeå thanh ghi ñieàu khieån 8255A ñònh caáu hình cho caùc Port ñuùng theo yeâu caàu maø ngöôøi laäp trình mong muoán. D7 D6 D5 D4 D3 D2 D1 D0 GROUP B PORT C (LOWER) 1 = INPUT 0 = OUTPUT PORT B 0 = MODE 0 1 = MODE 1 MODE SELECTION 0 = MODE 0 1 = MODE 1 GROUP A PORT C (UPPER) 1 = INPUT 0 = OUTPUT
  3. hình 1.7: Caáu truùc töø ñieàu khieån I.6.2.Caáu truùc phaàn meàm 8255A a> Caùc nhoùm A vaø B ñöôïc caáu hình ôû Mode 0: Töø ñieàu khieån khi 2 nhoùm A vaø B laøm vieäc ôû Mode 0: 1 0 1 D4 D3 1 D1 D0
  4. ÔÛ Mode 0 caùc Port A, Port B, Port C thaáp caø Port C cao laø caùc Port xuaát hoaëc nhaäp döõ lieäu ñoäc laäp. Do coù 4 bit ñeå löïa choïn neân coù 16 töø ñieàu khieån khaùc nhau cho 16 traïng thaùi xuaát/nhaäp cuûa 4 Port. b> Caùc nhoùm A vaø B ñöôïc caáu hình ôû Mode 1:  Nhoùm A laøm vieäc ôû caáu hình Mode 1.  Port A ñöôïc caáu hình laø Port nhaäp döõ lieäu. Chöùc naêng cuûa caùc ñöôøng tín hieäu ñöôïc trình baøy ôû hình veõ 1.8 Caùc ñöôøng tín hieäu cuûa Port C trôû thaønh caùc ñöôøng ñieàu khieån/döõ lieäu cuûa Port A. 1 0 1 1 D3 X X X Hình 1. 8: Cheá ñoä laøm vieäc khi PORT A nhaäp döõ lieäu Bit PC4 trôû thaønh bit STBA ( Strobe Input, taùc ñoäng möùc thaáp nhaát), ñöôïc duøng ñeå choát döõ lieäu ôû ngoõ vaøo PA7 – PA0 vaøo maïch choát beân trong 8255A. Bit PC5 trôû thaønh bit IBFA (Input Buffer Full, taùc ñoäng möùc cao), duøng ñeå baùo cho thieát bò beân ngoaøi bieát döõ lieäu ñaõ ñöôïc choát vaøo beân trong.
  5. Bit PC3 trôû thaønh bit INTRA (interrupt Request, taùc ñoäng möùc cao), bit naøy coù möùc logic 1 khi 2 bit STBA = 1, IBF = 1 vaø bit INTEA (Interrupt Enable) ôû beân trong 8255A baèng 1. Bit INTEA ñöôïc thieát laäp möùc logic 1 hay 0 döôùi söï ñieàu khieån cuûa phaàn meàm duøng caáu truùc bit Set/Reset cuûa 8255A. ÔÛ hình veõ 1.8, bit INTEA = 1 duøng ñeå cho pheùp tín hieäu IBF xuaát hieän taïi ngoõ ra cuûa INTEA coång AND. Tín hieäu INTRA taùc ñoäng ñeán ngoõ vaøo ngaét cuûa Microprocessor ñeå baùo cho Microprocessor bieát: döõ lieäu môùi ñaõ xuaát hieän ôû Port A. Chöông trình phuïc vuï ngaét ñoïc döõ lieäu vaøo vaø xoùa yeâu caàu ngaét. Caùc bit coøn laïi cuûa Port C: PC6, PC7 laø caùc bit xuaát/nhaäp bình thöôøng tuøy thuoäc vaøo bit D3 trong töø ñieàu khieån hình 1.9. Caùc bit xxx duøng ñeå thieát laäp cho nhoùm B.
  6.  Port A ñöôïc caáu hình laø Port xuaát döõ lieäu. Chöùc naêng cuûa caùc ñöôøng tín hieäu ñöôïc trình baøy ôû hình veõ 1.9. Caùc ñöôøng tín hieäu cuûa Port C trôû thaønh caùc ñöôøng ñieàu khieån/döõ lieäu cuûa Port A. 1 0 1 0 D3 X X X Hình 1.9: Cheá ñoä laøm vieäc PORT A xuaát döõ lieäu Bit PC7 trôû thaønh bit OBFA (Output Buffer Full, taùc ñoäng möùc thaáp), khi coù döõ lieäu Microprocessor gôûi ra Port A, tín hieäu OBFA seõ yeâu caàu thieát bò beân ngoaøi nhaän döõ lieäu. Bit BC6 trôû thaønh bit ACKA (AcknowLEDge Input, taùc ñoäng möùc thaáp), thieát bò nhaän döõ lieäu duøng tín hieäu naøy ñeå baùo cho 8255A bieát tín hieäu ñaõ ñöôïc nhaän vaø saün saøng nhaän döõ lieäu tieáp theo. Bit PC3 trôû thaønh INTRA (Interrupt Request, taùc ñoäng möùc cao), bit naøy coù möùc logic 1 khi 2 bit OBFA = 1, ACKA = 1 vaø bit INTEA (Interrupt Enable) ôû beân trong 8255A baèng 1. Tín hieäu INTRA taùc ñoäng ñeán ngoõ vaøo ngaét cuûa Microprocessor ñeå baùo
  7. cho Microprocessor bieát: thieát bò beân ngoaøi ñaõ nhaän döõ lieäu ôû Port A. Caùc bit coøn laïi cuûa Port C: PC4, PC5 laø caùc bit xuaát/nhaäp bình thöôøng tuøy thuoäc vaøo bit D3 trong töø ñieàu khieån hình 1. 8. Caùc bit xxx ñöôïc duøng ñeå thieát laäp nhoùm B.
  8.  Nhoùm B laøm vieäc ôû caáu hình mode 1:  Port B ñöôïc caáu hình laø Port nhaäp döõ lieäu. Chöùc naêng cuûa caùc ñöôøng tín hieäu ñöôïc trình baøy ôû hình veõ 1.10. Caùc ñöôøng tín hieäu Port C trôû thaønh caùc ñöôøng ñieàu khieån /döõ lieäu cuûa Port B. 1 X X X X 1 1 X Hình 1.10: cheá ñoä laøm vieäc khi port B nhaäp döõ lieäu. Chöùc naêng cuûa caùc bit ñieàu khieån gioáng nhö nhoùm A hoaït ñoäng ôû Mode 1.  Port B ñöôïc caáu hình laø Port xuaát döõ lieäu Chöùc naêng cuûa ñöôøng tín hieäu ñöôïc trình baøy ôû hình veõ 1.11. Caùc ñöôøng tín hieäu Port C trôû thaønh caùc ñöôøng ñieàu khieån/döõ lieäu cuûa Port B.
  9. 1 X X X X 1 0 X Hình 1.11: Cheá ñoä laøm vieäc khi PORT B xuaát döõ lieäu Chöùc naêng cuûa caùc bit ñieàu khieån gioáng nhö nhoùmA hoaït ñoäng ôû Mode 1. Caùc bit xxx ñöôïc duøng ñeå thieát laäp cho nhoùm A, bit D0 khoâng coù taùc duïng trong tröôøng hôïp caû 2 nhoùm laøm vieäc ôû mode 1. c> Nhoùm A cuûa 8255A laøm vieäc ôû Mode 2. Mode 2 laø kieåu hoaït ñoäng Strobed Bi – directional 10, söï khaùc bieät vôùi caùc Mode 1 laø Port coù hai chöùc naêng xuaát nhaäp döõ lieäu. Töø ñieàu khieån khi hai nhoùm A hoaït ñoäng ôû Mode 2: 1 1 X X X X X X Chöùc naêng cuûa caùc ñöôøng tín hieäu ñöôïc trình baøy ôû hình veõ 1.12. Caùc ñöôøng tín hieäu cuûa Port C trôû thaønh caùc ñöôøng ñieàu khieån/döõ lieäu cuûa Port A.
  10. 1 0 1 1 D3 X X X Hình 1.12: Nhoùm A laøm vieäc ôû cheá ñoä xuaát/nhaäp döõ lieäu Bit PC7 trôû thaønh bit OBFA, PC6 trôû thaønh ACKA, PC4 thaønh bit STBA, PC5 thaønh bit IBFA vaø bit PC3 trôû thaønh bit INTRA. khi OBFA = 1, INTE1 = 1 hoaëc IBFA = 1, INTE2 = 1. Caùc bit PC2,1,0 coøn laïi coù theå laø caùc bit I/O tuøy thuoäc vaøo caùc bit ñieàu khieån cuûa nhoùm B. Chuù yù khi nhoùm A laøm vieäc ôû Mode2, nhoùm B chæ ñöôïc pheùp hoaït ñoäng ôû Mode 0. Caáu hình naøy coøn cho pheùp Set / Reset töøng bit cuûa Port C. töø ñieàu khieån naøy khaùc vôùi töø ñieàu khieån caáu hình laø bit D7 = 0.
  11. Hình 1.13:Daïng set vaø reset bit Bit D0 duøng ñeå Set/Reset bit INTE, khi D0 = 1 thì INTE = 1 (cho pheùp ngaét), khi D0 = 0 thì INTE = 0 (khoâng cho pheùp ngaét). 3 bit D1D2D3 duøng ñeå choïn 1 bit cuûa Port C, gaùn möùc logic cuûa bit D0 cho bit cuûa Port ñaõ choïn. Trong thöïc teá Port A vaø Port B thöôøng ñöôïc caáu hình vôùi mode khaùc nhau. Ví duï nhoùm A hoaït ñoäng ôû Mode 2, nhoùm B laøm vieäc ôû Mode 0.
Đồng bộ tài khoản