kết hợp máy tính với kit và vi xử lý, chương 15
lượt xem 40
download
Để vi xử lý giao tiếp với những thiết bị bên ngoài, người ta thường dùng vi mạch giao tiếp 8255A, vi mạch này có khả năng giao tiếp rất rộng, vừa có thể xuất dữ liệu, vừa có thể nhận dữ liệu tùy theo người lập trình điều khiển bằng cách thay đổi thông số của thanh ghi điều khiển. II. SƠ ĐỒ CHÂN, SƠ ĐỒ LOGIC, CHỨC NĂNG CÁC CHÂN CỦA VI MẠCH 8255A. Sơ đồ chân và sơ đồ logic của vi mạch 8255A được thể hiện qua hình vẽ: PA3 PA2 PA1 PA0 RD\ CS\ GND A1...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: kết hợp máy tính với kit và vi xử lý, chương 15
- Chương 15: 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 thoâ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 1 40 PA4 PA2 PA5 PA1 PA6 PA0 PA7 PA0 – PA7 RD\ WR\ D0 – D7 CS\ RESET GND D0 8255A A1 D1 A0 D2 PC7 8255A D3 RD\ PB0 – PB7 PC6 D4 WR\ PC5 D5 PC4 D6 RESET PC0 D7 PC1 Vcc A0 PC2 PB7 PC3 PB6 A1 PC0 – PC7 PB0 PB5 CS\ PB1 PB4 PB2 20 21 PB3 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. PA7 – PA0 Port A Ñieàu khieån nhoùm A PC7 – PC4 Port C Ñeäm bus (4 bit cao) D7 – D0 döõ lieäu Nhoùm A PC3 – PC0 Port C Ñieàu (4 bit thaáp) khieån RD\ nhoùm B PB7 – PC0 Logic WR\ ñieàu Port B CS\ khieån A0 ghi/ñoïc Nhoùm B A1 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 Nhoùm B Coång C (4 bit thaáp) 1 = Input 0 = Output Coång B 1 = Input 0 = Output Mode select 1 = mode 0
- 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õ: PA0–PA7 Töø ñieàu khieån : INTE A PC4 STBA\ PC5 IBFA 1 0 1 1 D3 x x x PC3 INTRA RD\ PC6,7 I/O
- 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ån 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 trong. 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 bit STRA = 1, bit IBFA = 1 vaø bit INTEA = 1. Thoâng thöôøng bit naøy duøng ñeå taùc ñoäng vaøo ngoõ vaøo ngaét cuûa vi xöû lyù ñeå baùo cho vi xöû lyù bieát : döõ lieäu môùi ñaõ xuaát hieän ôû ngoõ vaøo. Caùc bit PC6, PC7 cuûa coång C laø caùc bit xuaát/ nhaäp bình thöôøng tuøy thuoäc vaøo töø ñieàu khieån trong thanh ghi ñieàu khieån. Coøn coång B ñöôïc ñieàu khieån baèng caùc bit D0 – D2 trong thanh ghi ñieàu khieån (neáu coång B hoaït ñoäng ôû mode 1 thì caùc bit PC0 – PC2 laø caùc bit ñieàu khieån). + Coång A ñöôïc caáu hình laø coång xuaát döõ lieäu. Chöùc naêng caùc ñöôøng tín hieäu ñöôïc trình baøy ôû hình veõ:
- Töø ñieàu khieån : PA0–PA7 INTE A PC7 OBFA\ 1 0 1 0 D3 X x x PC6 ACKA\ PC3 INTRA WR\ PC4,5 I/O Hình 6.5 : Chöùc naêng caùc ñöôøng tín hieäu khi coång A laø coång 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 töø vi xöû lyù gôûi ra coång A, tín hieåu OBF seõ yeâu caàu thieát bò beân ngoaøi nhaän döõ lieäu. Bit PC6 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 döõ lieäu ñaõ ñöôïc nhaän vaø saün saøng nhaän döõ lieäu môùi. Bit PC3 trôû thaønh bit INTRA (Interrupt Request, taùc ñoäng möùc cao), bit naøy coù möùc logic baèng 1 khi bit OBFA = 1, ACKA = 1 vaø bit INTEA = 1. Tín hieäu INTRA taùc ñoäng ñeán ngoõ vaøo ngaét cuûa vi xöû lyù ñeå baùo cho vi xöû lyù bieát thieát bò beân ngoaøi ñaõ nhaän döõ lieäu töø coång A. Caùc bit PC4, PC5 vaãn laø bit nhaäp/ xuaát döõ lieäu bình thöôøng tuøy thuoäc vaøo töø ñieàu khieån. Caùc bit D0 – D2 trong thanh ghi ñieàu khieån duøng ñeå thieát laäp caáu hình cho coång B.
- * Nhoùm B ñöôïc caáu hình ôû mode 1. + Coång B ñöôï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õ:
- Töø ñieàu khieån : PB0–PB7 INTE B PC2 STBB\ 1 x x x X 1 1 x PC1 IBFB PC0 INTRB RD\ Hình 6.6 : Chöùc naêng caùc ñöôøng tín hieäu khi coång B laø coång nhaäp döõ lieäu Chöùc naêng cuûa caùc bit ñieàu khieån gioáng nhö khi nhoùm A hoaït ñoäng ôû mode 1 vaø coång A ñöôïc caáu hình laø coång nhaäp döõ lieäu. + Coång B ñöôïc caáu hình laø coång xuaát döõ lieäu. Chöùc naêng caùc ñöôøng tín hieäu ñöôïc trình baøy nhö hình veõ : PB0–PB7 INTE Töø ñieàu khieån: B PC1 OBFB\ PC2 ACKB\ 1 x X x x 1 0 x PC0 INTRB WR\ Hình 6.7 : Chöùc naêng caùc ñöôøng tín hieäu khi coång B laø coång xuaát döõ lieäu
- Chöùc naêng cuûa caùc töø ñieàu khieån gioáng nhö khi nhoùm A hoaït ñoäng ôû mode 1 vaø coång A ñöôïc caáu hình laø coång xuaát döõ lieäu. * Nhoùm A ñöôïc caáu hình ôû mode 2. Mode 2 laø kieåu hoaït ñoäng strobed bi-directional IO : coù hai chöùc naêng nhaäp xuaát döõ lieäu. Töø ñieàu khieån khi nhoùm A ñöôïc caáu hình ôû mode 2 vaø chöùc naêng cuûa caùc ñöôøng tín hieäu ñöôïc trình baøy ôû hình veõ:
- Töø ñieàu khieån : PA0–PA7 1 0 1 1 D3 x x x INTE PC3 A PC7 OBFA\ INTE 1 PC6 ACKA\ INTE 2 PC4 STBA\ WR\ IBFA PC5 RD\ PC2,1,0 I/O Hình 6.8: Chöùc naêng caùc ñöôøng tín hieäu khi nhoùm A hoaït ñoäng ôû mode 2 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. Bit PC7 trôû thaønh bit OBFA, PC6 trôû thaønh bit ACKA, PC4 trôû thaønh bit STBA, PC5 trôû thaønh bit IBFA vaø bit PC3 trôû thaønh bit INTRA, chöùc naêng cuûa caùc bit ñieàu khieån gioáng nhö ôû mode 1, chæ khaùc tín hieäu INTRA = 1 khi OBFA = 1 vaø INTE1 = 1 hoaëc IBFA = 1 vaø INTE2 = 1. Caùc bit PC0 – PC2 laø caùc bit nhaäp xuaát döõ lieäu bình thöôøng tuøy thuoäc vaøo töø ñieàu khieån trong thanh ghi ñieàu khieån. Moät chuù yù caàn thieát laø khi nhoùm A ñöôïc caáu hình ôû mode 2 thì nhoùm B chæ ñöôïc caáu hình ôû mode 0.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Thiết kế mạch quang báo dùng KIT VXL, chương 3
12 p | 218 | 80
-
Thiết kế mạch quang báo kết hợp KIT VXL và máy tính, chương 6
9 p | 167 | 49
-
kết hợp máy tính với kit và vi xử lý, chương 5
7 p | 184 | 48
-
kết hợp máy tính với kit và vi xử lý, chương 17
9 p | 149 | 44
-
kết hợp máy tính với kit và vi xử lý, chương 3
10 p | 365 | 43
-
kết hợp máy tính với kit và vi xử lý, chương 1
6 p | 214 | 41
-
kết hợp máy tính với kit và vi xử lý, chương 2
8 p | 131 | 40
-
kết hợp máy tính với kit và vi xử lý, chương 16
7 p | 173 | 39
-
kết hợp máy tính với kit và vi xử lý, chương 4
7 p | 139 | 36
-
kết hợp máy tính với kit và vi xử lý, chương 11
7 p | 134 | 28
-
kết hợp máy tính với kit và vi xử lý, chương 9
8 p | 123 | 27
-
kết hợp máy tính với kit và vi xử lý, chương 8
7 p | 139 | 25
-
kết hợp máy tính với kit và vi xử lý, chương 12
5 p | 126 | 24
-
kết hợp máy tính với kit và vi xử lý, chương 14
6 p | 108 | 22
-
kết hợp máy tính với kit và vi xử lý, chương 6
5 p | 95 | 18
-
kết hợp máy tính với kit và vi xử lý, chương 13
10 p | 79 | 11
-
kết hợp máy tính với kit và vi xử lý, chương 7
6 p | 98 | 10
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn