Tài liệu môn học: Ghép nối và điều khiển thiết bị ngoại vi

Chia sẻ: Xuan Thuong | Ngày: | Loại File: PDF | Số trang:128

1
547
lượt xem
305
download

Tài liệu môn học: Ghép nối và điều khiển thiết bị ngoại vi

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

Ngày nay, máy vi tính đã được cải tiến, nâng cấp và thị trường hóa đê đạt tốc độ xử lý cực nhanh, giá thành rẻ. Trong những thập niên qua, máy vi tính đã được áp dụng khắp mọi nơi...Tài liệu tham khảo giáo trình môn học Ghép nối và điều khiển thiết bị ngoại vi nhằm cung cấp kiến thức cơ bản trong việc tìm hiểu thiết kế mạch ghép nối ngoại vi với máy vi tính

Chủ đề:
Lưu

Nội dung Text: Tài liệu môn học: Ghép nối và điều khiển thiết bị ngoại vi

  1. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi GHÉP N I VÀ ðI U KHI N THI T B NGO I VI Ngư i so n: TS. Nguy n Văn Minh Trí ThS. Lâm Tăng ð c Các sinh viên l p 03SK Gi ng viên: Nguy n Văn Minh Trí 1
  2. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi TÀI LI U LƯU HÀNH N I B L I NÓI ð U Ngày nay, máy vi tính (MVT) ñã ñư c c i ti n, nâng c p và th trư ng hoá ñ ñ t t c ñ x lý c c nhanh, giá thành r . Trong nh ng th p niên qua, MVT ñã ñư c áp d ng kh p m i nơi, thay th cho các h th ng cũ nhi u như c ñi m. ð c bi t, trong h th ng ñi n, ñi n công nghi p, MVT ñã ñư c ng d ng ngày càng nhi u, mang l i nhi u tính năng ưu vi t cho h th ng. Do ñó yêu c u phát tri n lý thuy t v h th ng có s d ng MVT ñã m ra nhi u lĩnh v c h c m i. M t ví d c th c a vi c ng d ng MVT trong công nghi p là các h th ng ño lư ng và ñi u khi n s d ng MVT. Trong các h th ng này, MVT nh n các d li u ño ñ t tr ng thái v t lý c a h th ng, vi d như nhi t ñ , áp su t, ñi n áp …, và tính toán ñ ñưa ra nh ng quy t ñ nh, tín hi u ñi u khi n tr l i h th ng, nh m ñ t ñư c các yêu c u ñi u khi n ñ ra c a h th ng. Mu n thi t k , v n hành và b o qu n t t h ño-ñi u khi n công nghi p, ngư i k sư c n n m v ng v k thu t máy tính, cách vi t chương trình, k thu t ghép n i thi t b ngo i vi, vi c x lý s li u, lý thuy t ñi u khi n s … Môn h c ghép n i và ñi u khi n thi t b ngo i vi (TBNV) nh m cung c p các ki n th c cơ b n trong vi c tìm hi u, thi t k m ch ghép n i ngo i vi v i MVT. Các m ch thi t k ph c v cho vi c ño lư ng, ñi u khi n, giao ti p gi a MVT v i MVT, MVT v i h vi ñi u khi n. Gi ng viên: Nguy n Văn Minh Trí 2
  3. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi M CL C CHƯƠNG 1: CƠ S GHÉP N I THI T B NGO I VI 1.1. Gi i thi u chung 1.1.1. C u trúc h th ng 1.1.2. Nhi m v c a b ghép n i 1.1.3. Th t c trao ñ i d li u c a máy vi tính 1.2. Gi i thi u m t s vi m ch dùng trong b ghép n i 1.2.1. Các m ch logic cơ b n 1.2.2. Các m ch l t 1.2.3. Các m ch thanh ghi ñ m 1.2.4. Các m ch gi i mã ñ a ch 1.2.5. Các m ch truy n d li u CHƯƠNG 2: GHÉP N I VÀO RA SONG SONG ðI U KHI N B NG CHƯƠNG TRÌNH 2.1 Các l nh vào ra d li u 2.1.1 Các l nh vào ra b ng h p ng 2.1.2 Các l nh vào ra b ng Turbo C 2.1.3 Các l nh vào ra b ng Turbo Pascal 2.2 Ghép n i song song ñơn gi n: có hay không có ñ i tho i 2.2.1 C a vào ñơn gi n không ñ i tho i 2.2.2 C a ra ñơn gi n không ñ i tho i 2.2.3 C a vào ñơn gi n có ñ i tho i 2.2.4 C a ra ñơn gi n có ñ i tho i 2.3 Ghép n i song song ñi u khi n b ng chương trình 2.3.1 Sơ ñ kh i và ch c năng các kh i c a 8255A 2.3.2 Các ch ñ làm vi c c a 8255A 2.3.3 Ghép n i v i 8255A 2.3.4 L p trình cho 8255A CHƯƠNG 3: GHÉP N I TRAO ð I D LI U N I TI P 3.1 Gi i thi u chung v trao ñ i d li u n i ti p 3.1.1 Yêu c u trao ñ i d li u n i ti p 3.1.2 M ch trao ñ i d li u n i ti p Gi ng viên: Nguy n Văn Minh Trí 3
  4. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi 3.1.3 Th t c trao ñ i d li u n i ti p 3.2 M ch thu phát d b v n năng UART 8250 3.2.1 Sơ ñ kh i và ch c năng các kh i c a UART 8250 3.2.2 Ghép n i v i UART 8250 3.2.3 L p trình cho UART 8250 CHƯƠNG 4: GHÉP N I ðI U KHI N NG T 4.1 Khái ni m và phân lo i ng t 4.1.1 Khái ni m 4.1.2 Phân lo i ng t 4.2 X lý ng t c a nhi u thi t b ngo i vi 4.2.1 Cho phép ho c c m ng t 4.2.2 S p x p ưu tiên ng t 4.2.3 Xác ñ nh ngu n gây ng t 4.2.4 T o vector ng t 4.3 Vi m ch ñi u khi n ng t 8259A 4.3.1 Sơ ñ kh i và ch c năng các kh i c a 8259A 4.3.2 C u trúc ho t ñ ng c a vi m ch 8259A 4.3.3 Ghép n i v i 8259A 4.3.4 L p trình cho 8259A CHƯƠNG 5: GHÉP N I VÀO RA ðI U KHI N B NG DMA 5.1 Khái ni m DMA cơ b n 5.1.1 Khái ni m DMA 5.1.2 Ho t ñ ng DMAC (DMA Controller) cơ b n 5.1.3 Các ch ñ trao ñ i d li u DMA 5.2 B ñi u khi n DMA – 8237A 5.2.1 Sơ ñ kh i và ch c năng các kh i c a DMAC 8237A 5.2.2 Ghép n i v i 8237A trong h vi x lý 8088 5.2.3 L p trình cho 8237A CHƯƠNG 6: GHÉP N I TƯƠNG T -S VÀ S -TƯƠNG T 6.1. Gi i thi u m t s m ch khu ch ñ i thu t toán 6.1.1 Các tham s cơ b n c a m ch khu ch ñ i thu t toán 6.1.2 Các sơ ñ cơ b n c a b khu ch ñ i thu t toán 6.2 B chuy n ñ i s -tương t DAC 6.2.1 Ho t ñ ng c a DAC 6.2.2 Các tham s cơ b n c a b chuy n ñ i c a DA 6.2.3 Các m ch DAC ñi n hình 6.2.4 Ghép n i v i DAC 6.2.5 L p trình xu t d li u ra DAC 6.3 B bi n ñ i tương t -s ADC Gi ng viên: Nguy n Văn Minh Trí 4
  5. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi 6.3.1 Nguyên t c làm vi c c a ADC 6.3.2 Các tham s cơ b n c a b chuy n ñ i AD 6.3.3 Các phương pháp chuy n ñ i AD 6.3.4 Ghép n i v i ADC 6.3.5 L p trình nh n d li u t ADC CHƯƠNG 7: NG D NG MÁY VI TÍNH TRONG ðO LƯ NG VÀ ðI U KHI N 7.1. Gi i thi u v c u trúc máy tính 7.2 Thi t k m ch ghép n i gi a h th ng t ñ ng hóa v i các c ng c a máy vi tính Gi ng viên: Nguy n Văn Minh Trí 5
  6. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi CHƯƠNG 1: CƠ S GHÉP N I THI T B NGO I VI 1.1. Gi i thi u chung 1.1.1 C u trúc h th ng Máy vi tính hay h vi x lý ñ u có c u trúc chung do Phôn Nơi-Man ñ xu t g m kh i x lý trung tâm (CPU), b nh (M) và các c a vào/ra (I/O), như trên hình 1.1. Ngoài ra, MVT còn c n ph i trao ñ i d li u và môi trư ng bên ngoài, ví d giao ti p v i ngư i s d ng qua bàn phím-màn hình, trao ñ i d li u v i các thi t b ngoài thông d ng, các thi t b ngoài trong h ño-ñi u khi n, và các MVT khác trong m ng. Do ñó các b ghép n i thi t b ngo i vi (BGN TBNV) ñư c xây d ng, g m: • BGN các thi t b vào chu n như bàn phím, con chu t… • BGN các thi t b ra chu n như màn hình, máy in… • BGN các b nh ngoài chu n như c ng, CD-ROM… • BGN v i MVT khác trong m ng nhi u MVT. • BGN v i h vi ñi u khi n, h vi x lý. • BGN h ño lư ng - ñi u khi n: RAM ROM V ðư ng dây d li u và ñ a ch MVT X L ðư ng dây BGN BGN BGN BGN BGN BGN ñi u khi n Bàn phím Máy in b nh Song song Vào/ra Vào/ra Màn hình ngoài /n i ti p C m bi n Cơ c u Thi t c ng ño lư ng ch p b BGN hành CN CD-ROM Song song /n i ti p MVT /Vi ðK Hình 1.1: C u trúc h GN trao ñ i d li u tin gi a MVT và TBNV Trong ñó: VXL là vi t t t c a vi x lý RAM là random-access memory ROM là read-only memory BGN là b ghép n i CD-ROM là compact disk read-only memory CN là công nghi p ðK là ñi u khi n Gi ng viên: Nguy n Văn Minh Trí 6
  7. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi ð t bi t trong h ño lư ng - ñi u khi n, MVT nh n d li u tr ng thái v t lý c a h th ng (nhi t ñ , áp su t, ñi n áp, dòng ñi n…) dư i d ng tín hi u ñi n, t ñ u dò các b c m bi n (sensor), b chuy n ñ i (tranducer), b phát hi n (detector). Và MVT còn nh n thông tin v tr ng thái s n sàng hay b n c a thi t b ño. MVT sau ñó ñưa tín hi u ch p nh n trao ñ i d li u v i TBNV, thu th p và x lý d li u, tính toán các tín hi u ñi u khi n ñưa ra các cơ c u ch p hành (các van ñóng m , các rơle trong m ch ñi n, các m ch ñ ng l c ñi u t c ñ ng cơ ñi n…), hay ñưa ra các thông s k thu t cho thi t b . Ngoài ra, MVT còn c n lưu tr d li u trên c ng, ñĩa compact (CD-ROM) ñ tra c u lúc c n, hi n th k t qu ño dư i d ng b ng s li u, d ng ñ th hay hình v ñ ho trên màn hình. 1.1.2 Nhi m v c a b ghép n i TBNV ñư c ghép n i v i MVT thông qua các ph n thích ng v công ngh và thích ng logic như hình 1.2. GN công ngh làm nhi m v ñi u ch nh m c tín hi u gi a công ngh s n xu t TBNV và công ngh s n xu t các m ch c u trúc nên BUS c a MVT. GN logic làm nhi m v t o các tín hi u ñi u khi n TBNV t nh ng tín hi u trên BUS h th ng. Nhi m v c a BGN là ph i h p trao ñ i d li u gi a MVT và TBNV. 1. Ph i h p v m c và công su t tín hi u - M c tín hi u c a MVT thư ng là m c TTL (0V, 5V), trong khi TBNV có m c ñi n tho i (±15V, ±48V) hay m c ñi n công nghi p (220V/380V). - Công su t ñư ng dây MVT nh (c ch c mA), trong khi công su t c n cho TBNV là r t l n tùy theo t ng h th ng. Do ñó BGN ph i bi n ñ i ñi n áp và khu ch ñ i công su t cho phù h p gi a MVT và TBNV. Thư ng dùng vi m ch 3 tr ng thái ñ ñưa d `li u ra, ñưa d li u vào. Do ñó vi m ch s tr ng thái tr kháng cao khi không có trao ñ i d li u, ñ cô l p TBNV v i MVT, ñ không tiêu th m t chút công su t nào c a ñư ng dây và ñ b o v MVT. 2. Ph i h p v d ng d li u - D li u trao ñ i c a MVT luôn là song song d ng s nh phân, có th truy n theo 8 bit, 16 bit, 32 bit, 64 bit. - D li u c a TBNV có th song song 8 bit và 16 bit, n i ti p ho c tín hi u liên t c. Do ñó BGN s chuy n ñ i d ng d li u cho phù h p gi a MVT và TBNV, ví d chuy n ñ i t tín hi u liên t c sang tín hi u s . 3. Ph i h p v t c ñ trao ñ i d li u - MVT thư ng ho t ñ ng v i t c ñ cao (t n s lên t i hàng trăm MHz) trong khi TBNV thư ng ho t ñ ng ch m hơn nhi u. Do ñó BGN nh n và lưu d li u t MVT r i truy n cho TBNV theo ph p ch m c a TBNV, gi i phóng cho MVT làm nhi m v khác (ph c v TBNV khác, ch y chương trình x lý s li u hay hi n th trên màn hình). Tương t , BGN nh n d li u c a TBNV và ch MVT ñ c d li u vào. 4. Ph i h p v phương th c trao ñ i d li u - Vi c ñ c/xu t d li u do MVT kh i xư ng: Khi ñó, MVT ñưa l nh ñi u khi n t i kh i ñ ng BGN hay TBNV, MVT ñ c tr ng thái c a TBNV. N u tr ng thái TBNV chưa s n sàng, MVT s ch . Gi ng viên: Nguy n Văn Minh Trí 7
  8. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi N u TBNV tr ng thái s n sàng, MVT s ti n hành ñ c/xu t d li u. - Vi c ñ c/xu t d li u do TBNV kh i xư ng: Khi ñó, TBNV ñưa yêu c u trao ñ i d li u t i b ph n x lý ng t c a BGN. N u có nhi u TBNV ñ ng th i ñưa ra yêu c u, BGN s s p x p theo th t ưu tiên ñ nh s n, r i ñưa t ng yêu c u t i MVT. MVT sau khi nh n tín hi u yêu c u, s chu n b và ñưa tín hi u xác nh n s n sàng trao ñ i. ð n lư c BGN nh n và truy n tín hi u s n sàng ñ n cho TBNV. Sau ñó, MVT và TBNV s trao ñ i d li u qua trung gian là BGN. ñi u khi n ñi u khi n BGN MVT GN GN TBNV s li u logic công s li u ngh Hình 1.2: GN gi a MVT và TBNV 1.1.3 Th t c trao ñ i d li u c a máy vi tính MVT trao ñ i d li u v i TBNV theo m t trong hai ch ñ : - Ch ñ chương trình: G m các l nh VÀO, RA và CHUY N d li u gi a các thanh ghi. - Ch ñ truy c p th ng t i b nh : BGN lúc này ñi u khi n s trao ñ i gi a TBNV và b nh qua trung gian BGN. Các c a vào ra c a VXL tr ng thái tr kháng cao. BGN ñi u khi n m i ho t ñ ng c a b nh và TBNV, bao g m: . Phát ñ a ch cho b nh và TBNV. . Phát l nh ñ c RD hay ghi WR s li u. . Các s li u ñ c, ghi ñư c trao ñ i gi a b nh và TBNV thông qua các thanh ghi ñ m c a BGN. ch ñ trao ñ i d li u theo chương trình, vi c th c hi n có th theo m t trong ba phương pháp sau (hình 1.3): - ð ng b hay không ñ i tho i. - Không ñ ng b hay có ñ i tho i. - Ng t chương trình. 1. Trao ñ i ñ ng b : Sau khi kh i ñ ng TBNV, MVT không c n quan tâm t i TBNV có s n sàng trao ñ i d li u hay không mà ñưa luôn l nh trao ñ i d li u. Do ñó TBNV ph i luôn s n sàng trao ñ i d li u. Phương pháp trao ñ i d li u này có ưu ñi m là nhanh, không t n th i gian ch ñ i. Tuy nhiên nó có như c ñi m là thi u tin c y, ñôi khi b m t d li u vì có th có s c làm TBNV chưa s n sàng trao ñ i. 2. Trao ñ i không ñ ng b : Trình t trao ñ i di n ra như sau: - MVT ñưa tín hi u ñi u khi n t i BGN. - MVT ch và ki m tra tr ng thái s n sàng trao ñ i c a TBNV. N u chưa s n sàng thì ñ c là ki m tra l i tr ng thái này. Gi ng viên: Nguy n Văn Minh Trí 8
  9. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi - MVT trao ñ i d li u v i TBNV khi ñã s n sàng. Phương pháp này thư ng dùng vì t c ñ trao ñ i d li u c a TBNV ch m hơn so v i MVT. Phương pháp trao ñ i d li u này có ưu ñi m là r t tin c y, nhưng l i t n th i gian s d ng MVT. 3. Trao ñ i theo ng t chương trình: Phương pháp này kh c ph c ñư c như c ñi m c a phương pháp trên. Trình t như sau: - MVT ñang th c hi n chu i l nh c a chương trình nào ñó. - TBNV có yêu c u trao ñ i d li u, s g i tín hi u yêu c u trao ñ i (yêu c u ng t - INTR ). - MVT ñưa tín hi u ch p nh n (xác nh n ng t – INTA). - Chương trình chính b ng t, MVT chuy n sang chương trình con ph c v ng t, t c chương trình con trao ñ i d li u cho TBNV ñã yêu c u. - Chương trình chính l i ñư c ti p t c th c hi n ch b ng t. Chương trình Chương trình Chương trình Chưa Trao ñ i TBNV s n sàng ? Ng t Trao ñ i d li u d li u R i Trao ñ i d li u a) ð ng b b) Không ñ ng b c) Ng t chương trình Hình 1.3 : Trao ñ i d li u theo chương trình Gi ng viên: Nguy n Văn Minh Trí 9
  10. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi 1.2. Gi i thi u m t s vi m ch dùng trong b ghép n i Thông thư ng BGN có các thanh ch t d li u, b ñ m 3 tr ng thái ñ n i v i BUS và các m ch l t t o tín hi u ñ i tho i. 1.2.1 Các m ch logic cơ b n M ch AND Vcc 4B 4A 4Y 3B 3A 3Y - SN7408 14 13 12 11 10 9 8 B ng tr ng thái - SN7409 A B Y L L L H L L L H L 1 2 3 4 5 6 7 H H H 1A 1B 1Y 2A 2B 2Y GND M ch OR Vcc 4B 4A 4Y 3B 3A 3Y - SN7432 14 13 12 11 10 9 8 B ng tr ng thái A B Y L L L H L H L H H 1 2 3 4 5 6 7 H H H 1A 1B 1Y 2A 2B 2Y GND M ch NOT - SN7404: Vcc 6A 6Y 5A 5Y 4A 4Y B ng tr ng thái: - SN7405 14 13 12 11 10 9 8 - SN7406 A Y L H H L 1 2 3 4 5 6 7 1A 1Y 2A 2Y 3A 3Y GND M ch EX-OR Vcc 4B 4A 4Y 3B 3A 3Y B ng tr ng thái 14 13 12 11 10 9 8 - SN74136 A B Y L L L H L H L H H 1 2 3 4 5 6 7 H H L 1A 1B 1Y 2A 2B 2Y GND Gi ng viên: Nguy n Văn Minh Trí 10
  11. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi M ch NAND - SN7400 Vcc 4B 4A 4Y 3B 3A 3Y B ng tr ng thái: - SN7401 14 13 12 11 10 9 8 - SN7403 A B Y L L H H L H 1 2 3 4 5 6 7 L H H 1A 1B 1Y 2A 2B 2Y GND H H L M ch NOR B ng tr ng thái - SN7402 Vcc 4B 4A 4Y 3B 3A 3Y 14 13 12 11 10 9 8 - SN7428 A B Y L L H H L L L H L 1 2 3 4 5 6 7 H H L 1A 1B 1Y 2A 2B 2Y GND M ch EX-NOR B ng tr ng thái - SN74HC266 Vcc 4B 4A 4Y 3B 3A 3Y 14 13 12 11 10 9 8 A B Y L L H H L L L H L H H H 1 2 3 4 5 6 7 1A 1B 1Y 2A 2B 2Y GND M ch ñ m 3 tr ng thái kích ho t m c th p - SN74125 Vcc 4C 4A 4Y 3B 3A 3Y 3C B ng tr ng thái - SN74425 14 13 12 11 10 9 8 C A Y H X Z∞ L L L L H H 1 2 3 4 5 6 7 1C 1A 1Y 2C 2A 2Y GND Trong ñó Z∞ là tr ng thái tr kháng cao. M ch ñ m 3 tr ng thái kích ho t m c cao Gi ng viên: Nguy n Văn Minh Trí 11
  12. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi - SN74126 B ng tr ng thái Vcc 4C 4A 4Y 3B 3A 3Y 3C - SN74426 14 13 12 11 10 9 8 C A Y L X Z∞ H L L H H H 1 2 3 4 5 6 7 1C 1A 1Y 2C 2A 2Y GND 1.2.2 Các m ch l t: 2 2 2 - SN7474 Vcc CLR 2D CK PR 2Q 2 Q B ng tr ng thái 14 13 12 11 10 9 8 D PR Q PR CLR CK D Q Q CK CLR CLRQ L H X X H L Q CK H L X X L H D PR Q L L X X H* H* 1 2 3 4 5 6 7 H H ↑ H H L 1 1D 1 1 1Q 1 Q GND CLR CK PR H H ↑ L L H H H L X Q0 Q0 * Trong ñó Q0 là tr ng thái cũ trư c ñó, H là tr ng thái c m. 1.2.3 Các m ch thanh ghi ñ m - SN74LS373, SN74LS374 là lo i vi m ch ch t truy n qua 8 bits cùng ñ m 3 tr ng thái. Ð m và ch t ñư c ñi u khi n ñ c l p b ng các ñ u vào ñi u khi n khác nhau là: OE (Output Enable): M c ng-ñ m LE (Latch Enable): ñi u khi n m ch t CP (Clock Input) : ð u vào xung sư n lên Gi ng viên: Nguy n Văn Minh Trí 12
  13. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi B ng s th t c a 74LS373 MODE Ho t ñ ng Ð u vào Thanh Ð u ra ghi n i OE LE Di Oi Kích ho t và ñ c L H L L L thanh ghi L H H H H Ch t và ñ c thanh ghi L L x Q0 Q0 Ch t và không cho ra H x x x Z∞ B ng s th t c a 74LS373 MODE Ho t ñ ng Ð u vào Thanh Ð u ra ghi n i OE CP Di Oi Kích ho t và ñ c L L L L thanh ghi L H H H Ch t và ñ c thanh ghi L L x Q0 Q0 Ch t và không cho ra H x x x Z∞ B ñi u khi n bus ch t h 8 lo i CMOS 82C82 Gi ng viên: Nguy n Văn Minh Trí 13
  14. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi B ng s th t c a 82C82 STB OE DI DO X H X Z∞ H L L L H L H H ↓ L X Q0 Trong ñó: H là logic 1 L là logic 0 X là b t kỳ Z∞ là tr ng thái tr kháng cao ↓ là sư n xung âm Q0 là ch t giá tr c a d li u sau cùng 1.2.4 Các m ch gi i mã ñ a ch M t s vi m ch ñư c dùng nhi u trong các h th ng gi i mã c a VXL là SN74LS138 (m ch gi i mã 3-8), SN74LS139 (hai gi i mã 2-4). Ð minh ho cho phương pháp này ta ch n vi m ch 74LS138. B ng s th t c a vi m ch cho bi t t i m t th i ñi m ch có m t trong tám ñ u ra có m c logic 0. Ði u ki n c n ñ có m t trong các m c th p ñ u ra là các ñ u vào E1 , E2 , E3 ph i ñư c kích ho t, t c là E1 , E2 m c th p và E3 m c cao. Khi 74LS138 ñã ñư c kích ho t, các ñ u vào ñ a ch A0, A1 và A2 s l a ch n ñ u ra, ñi u này cho phép có th ch n ñư c m t trong tám thi t b nh khác nhau t i m t th i ñi m. Gi ng viên: Nguy n Văn Minh Trí 14
  15. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi B ng s th t c a 74LS138 Ð u vào Output Enable Select E E E3 A2 A1 A0 0 1 2 1 2 3 4 5 6 7 H x x x x x H H H H H H H H x H x x x x H H H H H H H H x x L x x x H H H H H H H H L L H L L L L H H H H H H H L L H L L H H L H H H H H H L L H L H L H H L H H H H H L L H L H H H H H L H H H H L L H H L L H H H H L H H H L L H H L H H H H H H L H H L L H H H L H H H H H H L H L L H H H H H H H H H H H L Ví d v m ch gi i mã ñ a ch cho ROM có th tham kh o trên hình 1.4. Gi ng viên: Nguy n Văn Minh Trí 15
  16. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Hình 1.4: M ch gi i mã ch n ROM dùng 74LS138 1.2.5 Các m ch truy n d li u - SN74LS245 Các chân A1÷A8, B1÷B8 là các chân g i/ nh n d li u 2 hư ng tương ng. Chân 19 ( G ) là chân ch n IC (Chip Enable). Chân 1 (DIR) là chân ch n hư ng g i/ nh n d li u (Direction). B ng s th t c a 74LS245 G DIR Ho t ñ ng L L D li u vào B, ra A L H D li u vào A, ra B H X Z∞ Gi ng viên: Nguy n Văn Minh Trí 16
  17. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi CHƯƠNG 2: GHÉP N I VÀO RA SONG SONG ðI U KHI N B NG CHƯƠNG TRÌNH 2.1. Các l nh vào ra d li u 2.1.1 Các l nh vào ra b ng h p ng : L nh ñ nh n d li u t thi t b vào/ra là INput và m t l nh ñ g i s li u ra thi t b vào/ra là OUTput. Có b n cách dùng khác nhau c a m i l nh này: hai lo i chuy n d li u 8 hay 16 bít thông qua các c ng vào/ra 8 bít, và hai chuy n d li u 8 hay 16 bít thông qua các c ng 16 bít. Ví d hai l nh sau ñây s ñ c các byte c a ñư ng d n d li u t c ng LPT1: MOV DX,378H ; n p ñ a ch c a thanh ghi d li u vào DX IN AL,DX ; ñ c thông tin trên ñư ng d n d li u (D0 ñ n D7) c a LPT1 sang thanh ghi AL B ng 2.1: B ng các l nh vào ra Instruction Data Comment Width IN AL,d8 8 Ð c m t byte t c ng vào/ra 8 bít IN AL,DX 8 Ð c m t byte t c ng vào/ra xác ñ nh b i thanh ghi DX IN AX,d8 16 Ð c m t word t c ng vào/ra 8 bít IN AX,DX 16 Ð c m t word t c ng vào/ra xác ñ nh b i thanh ghi DX OUT d8,AL 8 G i m t byte ra c ng vào/ra 8 bít OUT DX,AL 8 G i m t byte ra c ng vào/ra xác ñ nh b i thanh ghi DX OUT d8,AX 16 G i m t word ra c ng vào/ra 8 bít OUT DX,AX 16 G i m t word ra c ng vào/ra xác ñ nh b i thanh ghi DX Chú ý: d8 ch a ñ a ch là c ng vào/ra 8 bít, và DX ch a ñ a ch là c ng vào/ra 16 bít. Gi ng viên: Nguy n Văn Minh Trí 17
  18. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi 2.1.2.Các l nh vào ra b ng Turbo C B ng 2.2: B ng các l nh vào ra Instruction Data Comment Width outportb(addr_port,data_var) 8 G i m t byte ra c ng vào/ra 8 bít xác ñ nh b i ñ a ch addr_port Data_var=inportb(addr_port) 8 Ð c m t byte t c ng vào xác ñ nh b i ñ a ch addr_port outport(addr_port,data_var) 16 G i m t word ra c ng vào/ra, 8 bít th p xác ñ nh b i ñ a ch addr_port, 8 bít cao xác ñ nh b i ñ a ch addr_port+1 Data_var=inportb(addr_port) 16 Ð c m t word t c ng vào/ra, 8 bít th p xác ñ nh b i ñ a ch addr_port, 8 bít cao xác ñ nh b i ñ a ch addr_port+1 outp(addr_port,data_var) 8 G i m t byte ra c ng vào/ra 8 bít xác ñ nh b i ñ a ch addr_port Data_var=inp(addr_port) 8 Ð c m t byte t c ng vào xác ñ nh b i ñ a ch addr_port outpw(addr_port,data_var) 16 G i m t byte ra c ng vào/ra, 8 bít th p xác ñ nh b i ñ a ch addr_port, 8 bít cao xác ñ nh b i ñ a ch addr_port+1 Data_var=inp(addr_port) 16 Ð c m t word t c ng vào/ra, 8 bít th p xác ñ nh b i ñ a ch addr_port, 8 bít cao xác ñ nh b i ñ a ch addr_port+1 Ví d các l nh sau xu t 5 (8 bít 00000101) qua thanh ghi d li u c a LPT1 #include #define Dat_reg 0x378 char data_var=5; outport(Dat_reg,data_var); 2.1.3 Các l nh vào ra b ng Turbo Pascal B ng 2.3: B ng các l nh vào ra Instruction Data Comment Width Port[addr] := var1; 8 G i m t byte ra c ng vào/ra 8 bít xác ñ nh b i ñ a ch addr 8 Ð c m t byte t c ng vào xác ñ nh b i ñ a ch addr Var := port[addr]; Ví d : Uses crt; Gi ng viên: Nguy n Văn Minh Trí 18
  19. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Port[$378] := X; Xu t ra giá tr bi n X lên ñư ng d n d li u (D0 ñ n D7) c a c ng LPT1 Y := port[$379]; ð c n i dung thanh ghi tr ng thái c a LPT1 vào bi n Y Chú ý: M t ch s h 16 ph i thêm d u: 0x vào trư c s ñó trong ngôn ng C, và $ vào trư c s ñó trong ngôn ng Pascal. 2.1.4 Gi n ñ th i gian các l nh ñ c/ghi d li u: Bus h th ng, bao g m bus d li u (data bus), bus ñi u khi n (control bus) và bus ñ a ch (address bus), là các ñư ng d n truy n thông gi a vi x lý và TBNV. Các VXL 8 bit d li u thư ng có 8 ñư ng dây data bus, và 16 ñư ng dây tương ng 16 ñư ng ñ a ch address bus. Hai tín hi u RD, WR control bus thư ng ñư c s d ng ñ xác ñ nh th i ñi m d li u n ñ nh trên data bus. Hình 1.5 là gi n ñ th i gian tín hi u trên bus h th ng. D li u ñư c D li u ñư c ñ c vào VXL ghi ra TBNV Chu kỳ ñ c Chu kỳ ghi address bus D li u t D li u t TBNV VXL data bus RD WR Hình 1.5: Gi n ñ th i gian tín hi u trên bus h th ng. M i chu kỳ bus (bus cycle) bao g m vi c chuy n 1 t d li u gi a VXL v i b nh ho c TBNV. M i chu kỳ bus b t ñ u khi VXL xu t m t ñ a ch ñ ch n m t v trí b nh ho c các c ng vào ra. Trong gi n ñ này, các bus ñ a ch và d li u ñư c bi u di n b ng 1 c p ñư ng th ng ñ ch thông tin trên bus n ñ nh. Khi các ñư ng trên sơ ñ c t ngang nhau di n t d li u ñã thay ñ i. ðư ng nét ñ t là tr ng thái th n i khi không có thi t b nào lái nó. Gi ng viên: Nguy n Văn Minh Trí 19
  20. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi 2.2 Ghép n i song song ñơn gi n: có hay không có ñ i tho i 2.2.1 C a vào ñơn gi n không ñ i tho i Hình 2.1 mô t m t c a vào ñơn gi n không c n tín hi u ñ i tho i. Tín hi u vào t b c m bi n (BCB) ñư c n i v i bus d li u c a MVT thông qua b ñ m ba tr ng thái. Khi chúng ta l p trình ño n l nh: C: data1 = inport(addrport); Pascal: data1 := port(addrport); Trình biên d ch s chuy n ño n l nh trên thành mã máy, và khi ch y ño n mã máy này, VXL s t o ra các tín hi u: - A0…A15 t addrport - RD kích ho t m c 0. B gi i mã s so sánh các giá tr trên ñư ng ñ a ch v i ñ a ch c ng cho trư c, n u trùng ñ a ch , ñ u ra b gi i mã s kích ho t m c 0. Do ñó ñ u ra m ch OR s m c 0, kích ho t cho b ñ m ba tr ng thái m ra, và d li u t TBNV s ñ vào bus d li u c a VXL. Lúc này, VXL s nh n - D0 ,..., D7 gán vào cho bi n data1. K t thúc chu kỳ l nh, RD tr v m c 1. ð a ch A0…A15 Gi i mã RD D0 BCB 1 D1 BCB 2 D7 BCB 7 Bus MVT BGN TBNV Hình 2.1: C a vào ñơn gi n, không có ñ i tho i Gi ng viên: Nguy n Văn Minh Trí 20

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản