Kỹ thuật vi xử lý - Chương 5
lượt xem 28
download
Vào ra dữ liệu bằng cách thăm dò 1. Giới thiệu chung về các phương pháp điều khiển vào/ra dữ liệu Qua chương 4, chúng ta đã tìm hiểu về một số mạch thường dùng cho việc phối ghép CPU với thiết bị ngoại vi. Ta đã tiến hành các phương pháp (phương thức) điều khiển việc trao đổi dữ liệu. Các mạch phối ghép vào/ra đã trình bày trước đây có thể được ứng dụng để phục vụ cho mục đích này. Máy tính trao đổi thông tin (vào/ra dữ liệu) với thieets bị ngoại vi theo một trong...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Kỹ thuật vi xử lý - Chương 5
- http://www.ebook.edu.vn Tr−êng ®¹i häc kü thuËt C«ng NghiÖp Ch−¬ng 5 Vµo ra d÷ liÖu b»ng c¸ch th¨m dß 1. Giíi thiÖu chung vÒ c¸c ph−¬ng ph¸p ®iÒu khiÓn vµo/ra d÷ liÖu Qua ch−¬ng 4, chóng ta ®· t×m hiÓu vÒ mét sè m¹ch th−êng dïng cho viÖc phèi ghÐp CPU víi thiÕt bÞ ngo¹i vi. Ta ®· tiÕn hµnh c¸c ph−¬ng ph¸p (ph−¬ng thøc) ®iÒu khiÓn viÖc trao ®æi d÷ liÖu. C¸c m¹ch phèi ghÐp vµo/ra ®· tr×nh bµy tr−íc ®©y cã thÓ ®−îc øng dông ®Ó phôc vô cho môc ®Ých nµy. M¸y tÝnh trao ®æi th«ng tin (vµo/ra d÷ liÖu) víi thieets bÞ ngo¹i vi theo mét trong 2 chÕ ®é sau: Kh«ng héi tho¹i (trùc tiÕp) Th¨m dß (polling) Vµo/ra theo ch−¬ng tr×nh: Cã héi tho¹i Ng¾t (Interrupt) Truy nhËp trùc tiÕp bé nhí (DMA – Direct Memorry Access Víi c¸ch vµo/ra d÷ liÖu theo ch−¬ng tr×nh cã thÓ ph©n thµnh c¸c ph−¬ng ph¸p cô thÓ h¬n lµ: §ång bé (Kh«ng ®iÒu kiÖn – kh«ng héi tho¹i) Sau khi ®· khëi ®éng (khëi t¹o) thiÕt bÞ ngo¹i vi, CPU Vµo/ra (vµ thiÕt bÞ ngo¹i vi) kh«ng –quan t©m– tíi viÖc thiÕt bÞ d÷ liÖu ngo¹i vi cã s½n sµng cho viÖc trao ®æi d÷ liÖu hay kh«ng. Nã lu«n thùc hiÖn c¸c lÖnh trao ®æi d÷ liÖu (IN, OUT) mét c¸ch trùc tiÕp. Ph−¬ng ph¸p nµy yªu cÇu: ThiÕt bÞ ngo¹i vi lu«n s½n sµng trao ®æi d÷ liÖu. Tèc ®é trao ®æi d÷ liÖu cña CPU vµ thiÕt bÞ ngo¹i vi lµ phï hîp nhau (TBNV cã tèc ®é lµm viÖc nhanh). VÝ dô, trong mét hÖ ®o nhiÖt ®é ghÐp nèi víi m¸y tÝnh, ®iÖn ¸p trªn cÆp nhiÖt ®iÖn ®−îc khuÕch ®¹i lªn, tiÕp theo lµ ®−îc biÕn ®æi thµnh tÝn hiÖu sè råi ®−îc ®äc vµo m¸y tÝnh. Ta thÊy r»ng tÝn hiÖu nµy lóc nµo còng s½n sµng cho CPU ®äc v× nhiÖt ®é lµ mét ®¹i l−îng biÕn ®æi rÊt chËm so víi tèc ®é cña m¸y tÝnh vµ cïng víi nã, CPU còng cã thÓ bÊt kú lóc nµo ®−a sè liÖu hiÓn thÞ sè ®o ®ã. §©y gäi lµ qu¸ tr×nh vµo/ra ®ång bé hay kh«ng cã mãc nèi (kh«ng cã héi tho¹i). Kh«ng ®ång bé (Cã ®iÒu kiÖn – cã héi tho¹i) Polling: CPU vµ thiÕt bÞ ngo¹i vi chØ trao ®æi d÷ liÖu khi cã tÝn hiÖu mãc nèi b¸o s½n sµng (Ready/Akc) cña c¸c phÝa. Sau khi m¸y tÝnh khëi ®éng thiÕt bÞ ngo¹i vi (khèi 86 NguyÔn TiÕn Duy – Trung t©m Kü thuËt m¸y tÝnh – Bé m«n Kü thuËt m¸y tÝnh
- http://www.ebook.edu.vn Tr−êng ®¹i häc kü thuËt C«ng NghiÖp ghÐp nèi), m¸y tÝnh lu«n chê vµ kiÓm tra tr¹ng th¸i s½n sµng cña thiÕt bÞ ngo¹i vi gåm c¸c b−íc: (1) §äc th«ng tin vÒ tr¹ng th¸i s½n sµng cña thiÕt bi ngo¹i vi §äc th«ng tin (2) KiÓm tra: NÕu thiÕt bÞ ngo¹i vi s½n sµng th× trao ®æi d÷ liÖu, ng−îc l¹i th× vÒ b−íc (1) ®Ó kiÓm tra l¹i. Ph−¬ng ph¸p nµy ®−îc dïng khi tèc ®é trao ®æi d÷ liÖu F TNNV s½n cña c¸c bªn (CPU vµ thiÕt bÞ ngo¹i vi) rÊt kh«ng b»ng nhau vµ sµng? nã cã mét sè ®Æc ®iÓm sau: ViÖc trao ®æi th«ng tin lµ tin cËy v× chØ trao ®æi khi thiÕt T bÞ ngo¹i vi s½n sµng. Vµo/ra d÷ liÖu Tèn thêi gian CPU v× ph¶i kiÓm tra tr¹ng th¸i s½n sµng cña thiÕt bÞ ngo¹i vi (viÖc kiÓm tra nµy co CPU ®¶m nhiÖm) nªn gi¶m hiÖu suÊt cña hÖ thèng. Phï hîp víi nh÷ng hÖ thèng kh«ng ®ßi hái cao vÒ tèc ®é trao ®æi d÷ liÖu, hÖ thèng cã Ýt thiÕt bÞ ngo¹i vi. Chóng ta sÏ xem xÐt cô thÓ ph−¬ng ph¸p vµo/ra nµy trong phÇn sau. Vµo/ra d÷ liÖu ®iÒu khiÓn b»ng ng¾t ch−¬ng tr×nh (ng¾t bé vi xö lý – Interrupt): B×nh th−êng m¸y tÝnh thùc Ch−¬ng tr×nh hiÖn mét ch−¬ng tr×nh (c«ng viÖc) nµo ®ã. hiÖn t¹i cña CPU Khi thiÕt bÞ ngo¹i vi cã yªu cÇu trao ®æi d÷ liÖu, nã sÏ göi tÝn hiÖu yªu cÇu ng¾t CPU dõng c«ng viÖc hiÖn t¹i, phôc vô cho trao ®æi d÷ liÖu th«ng qua tÝn hiÖu yªu Yªu cÇu ng¾t cÇu Ch−¬ng tr×nh con ng¾t IRQ (Interrupt Request) t¸c ®éng vµo phôc vô ng¾t ch©n INTR (ch©n tiÕp nhËn yªu cÇu (trao ®æi d÷ liÖu) ng¾t) cña CPU. CPU nhËn ®−îc yªu cÇu ng¾t, nÕu chÊp nhËn nã sÏ ®−a ra xung INTA x¸c nhËn tíi thiÕt bÞ ngo¹i vi, sau ®ã CPU t×m ch−¬ng tr×nh con phôc vô ng¾t t−¬ng øng sè hiÖu ng¾t vµ thùc hiÖn nã. §ã chÝnh lµ ch−¬ng tr×nh con thùc hiÖn trao ®æi (vµo/ra) d÷ liÖu do thiÕt bÞ ngo¹i vi yªu cÇu. Khi trao ®æi xong (ISR – Interrupt Service Routine) kÕt thóc th× CPU tiÕp tôc c«ng viÖc (ch−¬ng tr×nh) ®· bÞ gi¸n ®o¹n. Vµo/ra d÷ liÖu ®iÒu khiÓn b»ng phÇn cøng phô ®Ó th©m nhËp trùc tiÕp bé nhí (DMA – Direct Memorry Access): Trong c¸c ph−¬ng ph¸p vµo/ra d÷ liÖu b»ng ch−¬ng tr×nh kÓ trªn, d÷ liÖu ph¶i ®−îc chuyÓn qua l¹i tõ bé nhí ®Õn CPU råi ®Õn thiÕt bÞ ngo¹i vi hoÆc ng−îc l¹i b»ng viÖc thùc hiÖn tõng lÖnh (MOV, IN hoÆc OUT) cña CPU víi sù tham gia cña c¸c thanh ghi. D÷ liÖu cña mçi lÇn vËn chuyÓn lµ byte hoÆc word (2 byte), tèc ®é trao ®æi d÷ liÖu phô thuéc rÊt nhiÒu vµo tèc ®é thùc hiÖn c¸c lÖnh trao ®æi d÷ liÖu kÓ trªn. Nãi chung, tèc ®é trao ®æi d÷ liÖu lµ kh«ng thÓ nhanh ®−îc. Víi c¸c thiÕt bÞ lµm viÖc víi bé nhí khèi nh− mµn h×nh, æ ®Üa, ... yªu cÇu trao ®æi c¶ m¶ng d÷ liÖu th× ph−¬ng ph¸p vµo/ra d÷ liÖu b»ng ch−¬ng tr×nh lµ kh«ng phï hîp. Khi ®ã ng−êi ta nghÜ ®Õn viÖc ®iÒu khiÓn d÷ liÖu vµo/ra trùc tiÕp tõ bé nhí ®Õn thiÕt bÞ ngo¹i vi hoÆc ng−îc l¹i mµ kh«ng th«ng qua CPU b»ng nh÷ng lÖnh trao ®æi d÷ liÖu nh− MOV, IN hoÆc OUT. §ã lµ ph−¬ng ph¸p vµo/ra d÷ liÖu b»ng c¸ch truy nhËp trùc tiÕp bé nhí (DMA – Direcr Memory Access). Trong tr−êng NguyÔn TiÕn Duy – Trung t©m Kü thuËt m¸y tÝnh – Bé m«n Kü thuËt m¸y tÝnh 87
- http://www.ebook.edu.vn Tr−êng ®¹i häc kü thuËt C«ng NghiÖp hîp nµy CPU trao quyÒn ®iÒu khiÓn cho mét m¹ch phÇn cøng phô ®iÒu khiÓn viÖc vµo/ra d÷ liÖu, ®ã lµ DMAC – DMA Controller. Chi tiÕt vÒ ph−¬ng ph¸p nµy sÏ ®−îc tr×nh bµy kü trong phÇn sau. Qua viÖc tr×nh bµy s¬ l−îc vÒ c¸c ph−¬ng ph¸p ®iÒu khiÓn viÖc vµo/ra d÷ liÖu trªn ta thÊy mçi ph−¬ng ph¸p cã nh÷ng ®Æc ®iÓm kh¸c nhau (−u nh−îc ®iÓm), chóng ®−îc øng dông phï hîp trong nh÷ng hoµn c¶ch cô thÓ kh¸c nhau. Mét trong nh÷ng ph−¬ng ph¸p ®iÒu khiÓn ®¬n gi¶n nhÊt mµ chóng ta xem xÐt trong ch−¬ng nµy lµ ph−¬ng ph¸p trao ®æi kh«ng ®ång bé (cã héi tho¹i) hay gäi lµ ph−¬ng ph¸p th¨m dß tr¹ng th¸i s½n sµng cña thiÕt bÞ ngo¹i vi (polling) tr−íc khi thùc hiÖn vµo/ra d÷ liÖu. 2. Vµo/ra d÷ liÖu b»ng c¸ch th¨m dß tr¹ng th¸i s½n sµng cña thiÕt bÞ Ph−¬ng ph¸p vµo/ra d÷ liÖu b»ng c¸ch th¨m Ch−¬ng tr×nh dß tr¹ng th¸i s½n sµng cña thiÕt bÞ ngo¹i vi lµ ®iÒu khiÓn ph−¬ng ph¸p ®iÒu khiÓn vµo/ra d÷ liÖu b»ng ch−¬ng tr×nh – cã héi tho¹i. TÝn hiÖu héi tho¹i (handshaking signal) ë ®©y lµ tÝn hiÖu b¸o tr¹ng F th¸i s½n sµng cña thiÕt bÞ ngo¹i vi. TNNV1 s½n sµng? ViÖc ®iÒu khiÓn vµo/ra d÷ liÖu sÏ trë nªn rÊt ®¬n gi¶n nÕu thiÕt bÞ ngo¹i vi lóc nµo còng s½n T sµng chê lµm viÖc (trao ®æi d÷ liÖu) víi CPU – Nh− ®· ®Ò cËp ®Õn trong phÇn giíi thiÖu – ®ã lµ Vµo/ra d÷ liÖu víi ph−¬ng ph¸p vµo/ra d÷ liÖu ®ång bé (trùc tiÕp – TBNV1 kh«ng héi tho¹i). Tuy nhiªn trong thùc tÕ kh«ng ph¶i lóc nµo CPU còng lµm viÖc víi c¸c thiÕt bÞ ngo¹i vi –liªn tôc s½n sµng– nh− trªn, v× tèc ®é F lµm viÖc cña thiÕt bÞ ngo¹i vi vµ CPU lµ rÊt chªnh TNNV1 s½n sµng? lÖch. Th«ng th−êng khi CPU muèn trao ®æi d÷ liÖu víi mét thiÕt bÞ ngo¹i vi nµo ®ã, th«ng qua ch−¬ng T tr×nh nã liªn tôc kiÓm tra tr¹ng th¸i s½n sµng cña thiÕt bÞ ngo¹i ®Ó xem cã yªu cÇu trao ®æi d÷ liÖu Vµo/ra d÷ liÖu víi (yªu cÇu phôc vô) hay kh«ng? §Õn khi cã mét TBNV1 thiÕt bÞ ngo¹i vi nµo ®ã cã yªu cÇu trao ®æi d÷ liÖu (tøc lµ cã tÝn hiÖu b¸o tr¹ng th¸i s½n sµng – readly) th× ch−¬ng tr×nh sÏ chuyÓn sang thùc hiÖn ... viÖc trao ®æi d÷ liÖu (c«ng viÖc trao ®æi nµy cã thÓ lµ c¸c lÖnh ngay trong ch−¬ng tr×nh chÝnh hoÆc lµ mét ch−¬ng tr×nh con phôc vô – hoÆc ISR) råi l¹i F tiÕp tôc kiÓm tra thiÕt bÞ ngo¹i vi kÕ tiÕp. Qu¸ tr×nh TNNV1 nµy ®−îc thùc hiÖn tiÕp tôc ®Õn thiÕt bÞ ngo¹i vi s½n sµng? cuèi cïng råi l¹i ®−îc lÆp l¹i tõ ®Çu. VËy, nÕu lµm viÖc theo ph−¬ng ph¸p th¨m dß th× th«ng th−êng T CPU ph¶i ®−îc dµnh riªng cho c«ng viÖc trao ®æi d÷ liÖu v× nã ph¶i liªn tôc kiÓm tra tr¹ng th¸i s½n Vµo/ra d÷ liÖu víi sµng cña thiÕt bÞ ngo¹i vi th«ng qua c¸c tÝn hiÖu TBNV1 mãc nèi. C¸c tÝn hiÖu nµy ®−îc lÊy tõ m¹ch phèi ghÐp, do ng−êi thiÕt kÕ m¹ch t¹o ra ®Ó cho ch−¬ng tr×nh cã thÓ kiÓm tra nã. ViÖc nµy ®−îc tÝnh H×nh vÐ: L−u ®å ®iÒu khiÓn cña to¸n ®ång bé khi x©y dùng m¹ch vµ ch−¬ng tr×nh Ph−¬ng ph¸p th¨m dß tr¹ng th¸i s½n sµng ®iÒu khiÓn. 88 NguyÔn TiÕn Duy – Trung t©m Kü thuËt m¸y tÝnh – Bé m«n Kü thuËt m¸y tÝnh
- http://www.ebook.edu.vn Tr−êng ®¹i häc kü thuËt C«ng NghiÖp Nãi chung, ph−¬ng ph¸p nµy ®¬n gi¶n trong tæ chøc phÇn cøng vµ phÇn mÒm nh−ng gÆp ph¶i nh−îc ®iÓm lµ khi sè l−îng thiÕt bÞ ngo¹i vi t¨ng lªn th× sÏ lµm l·ng phÝ thêi gian CPU cho viÖc kiÓm tra tr¹ng th¸i s½n sµng vµ kh¶ n¨ng ®¸p øng tøc thêi víi phôc vô cña CPU lµ rÊt thÊp. H×nh vÏ cho thÊy l−u ®å cña ch−¬ng tr×nh ®iÒu khiÓn theo ph−¬ng ph¸p th¨m dß khi sè l−îng sè thiÕt bÞ ngo¹i vi > 1. NÕu th«ng tin ®−îc ph¸t hoÆc nhËn tõ mét thiÕt bÞ ngo¹i vi nµo ®ã sÏ thiÕt lËp mét cê tr¹ng th¸i thÝch hîp (th«ng th−êng lµ b»ng mét m¹ch lËt tr¹ng th¸i bëi xung STB cña thiÕt bÞ ngo¹i vi). Bé vi xö lý sÏ kiÓm tra cê tr¹ng th¸i nµy vµ sÏ thùc hiÖn modul ch−¬ng tr×nh trao ®æi d÷ liÖu khi cê tr¹ng th¸i b¸o r»ng thiÕt bÞ ngo¹i vi s½n sµng cho viÖc trao ®æi d÷ liÖu. Nã nh− mét tÝn hiÖu yªu cÇu phôc vô (thô ®éng) cho viÖc vµo/ra d÷ liÖu. Sau ®©y lµ mét vÝ dô vÒ c¸ch t¹o tÝn hiÖu mãc nèi trong tæ chøc phÇn cøng vµ l−u ®å thuËt to¸n (ch−¬ng tr×nh ®iÒu khiÓn) dïng cho viÖc trao ®æi d÷ liÖu gi÷a CPU vµ thiÕt bÞ ngo¹i vi. §Ó ®¬n gi¶n, trong vÝ dô nµy M¹ch M¹ch Input D0 ta gi¶ thiÕt CPU chØ lµm viÖc víi 1 Bus D1 3 tr¹ng chèt Device d÷ ... thiÕt bÞ ngo¹i vi vµ vµ 1 thiÕt bÞ th¸i 8 bit (1) liÖu ngo¹i vi ra. ViÖc tæ chøc phèi ghÐp /OC /G D7 phÇn cøng ®−îc thùc hiÖn trªn c¸c STB vi m¹ch (IC) cì võa ®Ó dÔ theo dâi c¸c tÝn hiÖu. ISP01 +5V pr Mét cæng vµo cã ®Þa chØ 00 Q D ®−îc dïng ®Ó ®äc tr¹ng th¸i s½n lck sµng cña thiÕt bÞ ngo¹i vi sè 1 vµ clr sè 2. (TB1: vµo; TB2: ra). TÝn hiÖu ISP00 b¸o s½n sµng cña thiÕt bÞ ngo¹i vi ISP01 sè 1 (cã ®Þa chØ 01) ®−îc ®Æt vµo bit D0 vµ tÝn hiÖu b¸o s½n sµng cña thiÕt bÞ ngo¹i vi sè 2 (cã ®Þa chØ 02) M¹ch M¹ch Output ®−îc ®Æt vµo biit D1 cña bus d÷ Chèt 3 tr¹ng Device liÖu. C¸c bit tÝn hiÖu nµy sÏ cã gi¸ 8 bit th¸i (2) /G /OC trÞ b»ng 1 khi thiÕt bÞ ngo¹i vi t−¬ng øng ë tr¹ng th¸i s½n sµng trao ®æi ACK d÷ liÖu víi CPU vµ chóng sÏ ®−îc ®−a vµo bus d÷ liÖu khi CPU ®äc OSP02 +5V pr nã b»ng lÖnh ®äc cæng cã ®Þa chØ Q D 00. Ch−¬ng tr×nh ®iÒu khiÓn trao ®æi d÷ liÖu sÏ kiÓm tra c¸c bit b¸o lck clr s½n sµng nµy vµ cã c¸c ®¸p øng thÝch hîp. OSP00 OSP02 Cô thÓ ho¹t ®éng cña phÇn m¹ch vµo d÷ liÖu nh− sau: Khi thiÕt H×nh vÏ: S¬ ®å m¹ch phÇn cøng t¹o tÝn hiÖu mãc nèi bÞ vµo (TB1) cã (1 byte) d÷ liÖu cÇn (trao ®æi) ®−a vµo hÖ thèng, nã ®−a ra xung STB ®Ó cho phÐp m¹ch chèt 8 bit chèt lÊy d÷ liÖu ®ã ®ång thêi kÝch cho m¹ch lËt D (m¹ch t¹o tÝn hiÖu s½n sµng) lµm viÖc ®Çu ra Q = 1. Bé vi xö lý (CPU) th«ng qua lÖnh ®äc cæng 00 ®Ó th¨m dß tr¹ng th¸i s½n sµng cña thiÕt NguyÔn TiÕn Duy – Trung t©m Kü thuËt m¸y tÝnh – Bé m«n Kü thuËt m¸y tÝnh 89
- http://www.ebook.edu.vn Tr−êng ®¹i häc kü thuËt C«ng NghiÖp bÞ ngo¹i vi sè 1 th«ng qua bit D0. Khi thÊy D0 = 1, nã ®äc 1 byte d÷ liÖu vµo ®ång thêi xo¸ lu«n Q (Q = 0, thiÕt bÞ ngo¹i vi kh«ng s½n sµng) ®Ó chuÈn bÞ lÇn ®äc byte d÷ liÖu kh¸c. T−¬ng tù nh− vËy ta cã thÓ thÊy ®−îc sù ho¹t ®éng cña phÇn m¹ch ra d÷ liÖu – thiÕt bÞ ngo¹i vi sè 2. Begin Begin Yªu LËp cÇu: tr×nh theo §äc cæng §äc cæng l−u ®å (a) – 00 00 ®−êng nÐt liÒn ®Ó thùc hiÖn viÖc ®äc vµo mét F F byte d÷ liÖu D0=1? D1=1? mçi khi cæng T T 01 b¸o s½n sµng råi hiÓn thÞ byte §äc cæng Ghi cæng d÷ liÖu ®ã. 01 01 Gi¶ thiÕt cã 100 byte d÷ liÖu ph¶i ®äc F F vµ cã s½n HÕt d÷ liÖu? HÕt d÷ liÖu? thñ tôc thùc hiÖn hiÓn thÞ T T gi¸ trÞ trong thanh ghi al End End lªn mµn h×nh cã tªn lµ hien_thi. (a) L−u ®å ®äc d÷ liÖu tõ cæng 01 (a) L−u ®å ghi d÷ liÖu vµo 02 H×nh vÐ: L−u ®å ®iÒu khiÓn vµo/ra d÷ liÖu – Mov cx, 100 ;Sè byte LÆp: In al, 0 ;§äc cæng 00 Test al, 1 ;D0 = 1? Jz LÆp ;kh«ng, ®äc l¹i cæng 00 In al, 1 ;ph¶i, ®äc cæng 01 Call Hien_thi ;hiÓn thÞ kÕt qu¶ Loop LÆp ;ch−a hÕt d÷ liÖu, quay l¹i Ra: – Trong tr−êng hîp thiÕt bÞ ngo¹i vi vµo/ra ho¹t ®éng theo c¸ch kh¸c: mçi khi cê b¸o tr¹ng th¸i s½n sµng, cho phÐp CPU ®äc/ghi nhiÒu byte d÷ liÖu cïng lóc th× ta cã nh¸nh ®i theo ®−êng nÐt ®øt trªn l−u ®å. Khi nµy ta cÇn thiÕt söa ®æi c¶ tæ chøc phÇn cøng vµ ch−¬ng tr×nh ®Ó hÖ thèng ho¹t ®éng chÝnh x¸c. 90 NguyÔn TiÕn Duy – Trung t©m Kü thuËt m¸y tÝnh – Bé m«n Kü thuËt m¸y tÝnh
- http://www.ebook.edu.vn Tr−êng ®¹i häc kü thuËt C«ng NghiÖp Trë vÒ vÝ dô 4 trong ch−¬ng tr−íc ta thÊy: tæ chøc phÇn cøng vµ ch−¬ng tr×nh ®iÒu khiÓn vµo/ra lµ theo ph−¬ng ph¸p nµy (polling – th¨m dß tr¹ng th¸i s½n sµng cña thiÕt bÞ ngo¹i vi). ë ®ã ta sö dông vi m¹ch cæng chuyªn dông PPI 8255 lµm viÖc trong chÕ ®é 1 (mode 1) vµ b¶n th©n vi m¹ch nµy cã kh¶ n¨ng t¹o ra c¸c tÝn hiÖu mãc nèi ®−îc c¶ víi CPU vµ thiÕt bÞ ngo¹i vi. ViÖc ®äc (th¨m dß) ®¬n gi¶n chØ lµ ®äc bit PC3 cña cæng PC (theo vÝ dô ®ã). TÝn hiÖu cña bit nµy chÝnh lµ tÝn hiÖu INTR. NÕu ta kh«ng kiÓm tra bit nµy b»ng c¸ch ®äc cæng PC mµ nèi th¼ng nã tíi ch©n tiÕp nhËn yªu cÇu ng¾t cña CPU lµ ch©n INTR th× ta cã mét ph−¬ng ph¸p phèi ghÐp kh¸c ®Ó vµo/ra d÷ liÖu – ®ã lµ ®iÒu khiÓn vµo/ra d÷ liÖu b»ng c¸ch ng¾t CPU. Ph−¬ng ph¸p nµy sÏ ®−îc tr×nh bµy chi tiÕt trong ch−¬ng sau. PA D7-D0 D7-D0 A0 Input device PC4 STB A1 PC5 ACK CPU 8088 RD PPI 8255 WR PC1 STB Reset PC2 ACK Output device INTR PC3, PC0 D7-D0 IRQi PB A19-A2 CS Decoder S¬ ®å ghÐp nèi dïng PPI 8255 – Mode 1 NÕu kiÓm tra PC3, PC0 (lµ tÝn hiÖu b¸o s½n sµng t−¬ng øng cho c¸c cæng PA vµ PB), b»ng lÖnh ®äc cæng PC trong ch−¬ng tr×nh th× ta cã ph−¬ng ph¸p vµo/ra d÷ liÖu lµ th¨m dß tr¹ng th¸i s½n sµng cña thiÕt bÞ ngo¹i vi. NguyÔn TiÕn Duy – Trung t©m Kü thuËt m¸y tÝnh – Bé m«n Kü thuËt m¸y tÝnh 91
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Thiết kế mạch nguồn ổn định 5V - 1A
6 p | 1344 | 278
-
Thí nghiệm vi xử lý
15 p | 465 | 156
-
Tài liệu vi xử lý - Các hệ thống số dùng trong máy tính và các loại mã
21 p | 447 | 136
-
Bài giảng Kỹ thuật Vi xử lý P1
50 p | 266 | 132
-
Bài giảng Kỹ thuật Vi xử lý _Chương 5
33 p | 205 | 124
-
Thiết kế mạch điều khiển mô hình cánh tay máy 5 bậc tự do dùng vi xử lý 8085
74 p | 245 | 70
-
Các hệ thống số - Hệ nhị phân - Hệ thập lục phân
50 p | 320 | 51
-
Lý thuyết : Điện áp cực của cảm biến
7 p | 157 | 46
-
Giáo trình kỹ thuật vi xử lý part 5
24 p | 149 | 40
-
Giáo trình Kỹ thuật vi xử lý: Tập 5 - TS. Hổ Khánh Lâm
532 p | 153 | 30
-
Bài giảng xử lý tiếng nói part 5
6 p | 129 | 26
-
Thí nghiệm vi xử lý - Bài 5
10 p | 119 | 22
-
Cơ sở đo lường điện tử part 5
10 p | 85 | 11
-
Thiết kế mạch bằng máy tính part 5
30 p | 93 | 10
-
GIÁO TRÌNH VI XỬ LÝ_CÁC MODULE NGOẠI VI CỦA MCS-51
0 p | 98 | 9
-
Bài giảng vi xử lý- Thiết kế các cổng kiểu I/O
33 p | 119 | 7
-
Giáo trình hình thành ứng dụng kỹ thuật xử lý các lệnh số học logic của bộ đếm mã lệnh p7
10 p | 56 | 4
-
Giáo trình phân tích quy trình ứng dụng kỹ thuật xử lý các lệnh số học logic của bộ vi xử lý p6
12 p | 58 | 2
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