΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨ËÕÖÝ´óѧ³ö°æÉ磩 - Ï°Ìâ´ð°¸ ÁªÏµ¿Í·þ

·¢²¼Ê±¼ä : ÐÇÆÚ¶þ ÎÄÕÂ΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨ËÕÖÝ´óѧ³ö°æÉ磩 - Ï°Ìâ´ð°¸¸üÐÂÍê±Ï¿ªÊ¼ÔĶÁ1f6e1ec3680203d8ce2f24d6

INC SI JNE MAIN1 MAIN3: .EXIT END

8.20 ¼òÊöDMA´«Ë͵Ĺý³Ì¡£

Ï° Ìâ

½â£ºÒ»´ÎDMA´«Ë͹ý³ÌÓÉ´«ËÍÇ°µÄÔ¤´¦Àí¡¢Êý¾Ý´«ËÍ¡¢´«ËͽáÊø3¸ö½×¶Î×é³É¡£

Ô¤´¦ÀíÊÇÓÉCPUÍê³ÉµÄ¡£µ±CPUÖ´Ðе½¶ÁдI/OÉ豸µ÷ÓÃÓï¾äʱ£¬Æô¶¯DMA´«Ë͹ý³Ì£¬ÏòDAM¿¨ËÍÈëÉ豸ʶ±ðÐźš¢Æô¶¯É豸£¬²âÊÔÉ豸ÔËÐÐ״̬£¬ËÍÈëÄÚ´æµØÖ·³õÖµ£¬´«ËÍÊý¾Ý¸öÊý£¬DMAµÄ¹¦ÄÜ¿ØÖÆÐźŵȣ¬Ö®ºó£¬CPU¼ÌÐøÖ´ÐÐÔ­À´³ÌÐò¡£

Êý¾Ý´«ËÍÔÚDMA¿¨¿ØÖÆÏÂ×Ô¶¯Íê³É¡£DMA¿¨ÏòCPU·¢³öÇëÇó×ÜÏßʹÓÃȨµÄÐźţ¬Èô×ÜÏß¿ÕÏУ¬×ÜÏß¿ØÖÆÆ÷½«ËÍÏìÓ¦»Ø´ðÐźŸøDMA¿¨£¬DMA¿¨È¡µÃ×ÜÏßʹÓÃȨ£¬Çå¡°0¡±DMAÇëÇó´¥·¢Æ÷ÒÔ³·ÏûÇëÇó×ÜÏßµÄÐźţ¬²¢Æô¶¯Êý¾Ý´«Ë͹ý³Ì¡£DMAÔÚ´«Ë͹ý³ÌÖл¹ÒªÍê³É¶ÔÄÚ´æµØÖ·¼ÆÊýÆ÷ºÍÊý¾ÝÊýÁ¿¼ÆÊýÆ÷µÄ¼ÆÊý²Ù×÷£¬²¢Í¨¹ý¼ì²éÊý¾ÝÊýÁ¿¼ÆÊýÆ÷ÊÇ·ñΪ0£¬¾ö¶¨ÒªÆô¶¯ÏÂÒ»´Î´«ËÍ£¬»¹ÊǽáÊø±¾ÅúÈ«²¿Êý¾ÝµÄ´«Ë͹ý³Ì¡£

´«ËͽáÊø´¦Àí£¬ÊÇÓÉÊý¾ÝÊýÁ¿¼ÆÊýÆ÷µÄֵΪ0Òý·¢³öÀ´µÄ¡£µ±Êý¾ÝÊýÁ¿¼ÆÊýÆ÷µÄֵΪ0ʱ£¬DMA½«ÏòCPU·¢³öÖжÏÇëÇóÐźţ¬CPUÏìÓ¦ÕâÒ»ÇëÇóºó£¬×ªÈëÖжϷþÎñ³ÌÐò£»¼ì²éÊÇ·ñ½áÊøÊý¾Ý´«ËÍ¡£ 8.21 8089IOPÔÚ΢ÐͼÆËã»úϵͳÖеÄ×÷ÓÃÊÇʲô£¿

½â£º8089ÊÇרÃÅÓÃÓÚÅäºÏ8086/8088½øÐÐI/O²Ù×÷µÄоƬ¡£ËüÓÐ×Ô¼ºµÄÖ¸Áîϵͳ²¢ÇÒÖ§³ÖDMA´«ËÍ£¬ËüÓëCPU²¢Ðй¤×÷£¬´Ó¶ø°ÑCPU´Ó´óÁ¿µÄI/O²Ù×÷Öнâ·Å³öÀ´£¬Ê¹ÏµÍ³µÄÕûÌåЧÂÊ´ó·ù¶ÈÌá¸ß¡£ 8.22 Ò»°ã´ÓÄļ¸¸ö·½ÃæÆÀ¼ÛÒ»ÖÖ×ÜÏßµÄÐÔÄÜ£¿

½â£º¢Å×ÜÏߵĴø¿í£ºÖ¸µÄÊǵ¥Î»Ê±¼äÄÚ×ÜÏßÉÏ¿É´«Ë͵ÄÊý¾ÝÁ¿¡£ ¢Æ×ÜÏßµÄλ¿í×ÜÏßµÄλ¿íÖ¸×ÜÏßÄÜͬʱ´«Ë͵ÄÊý¾ÝλÊý¡£

¢Ç×ÜÏߵŤ×÷ƵÂÊ£º¹¤×÷ƵÂÊÔ½¸ß£¬×ÜÏß¹¤×÷ËÙ¶ÈÔ½¿ì£¬×ÜÏß´ø¿íÔ½¿í¡£ 8.23 ¼òÊöSPP¡¢EPP¡¢ECP½Ó¿ÚµÄÓÃ;ÓëÌص㡣

½â£ºSPP£¬¼´Standard Parallel Port£¬±ê×¼²¢¿Ú¡£ÕâÊÇ×î³õµÄ²¢¿Úģʽ£¬Êý¾ÝÊÇ°ëË«¹¤µ¥Ïò´«ÊäµÄ.´«ÊäËÙÂÊΪ15KB/S,ËٶȽÏÂý£¬ÏÖÔÚ¼¸ºõËùÓеIJ¢¿ÚÍâÉ趼֧³Ö¸Ãģʽ¡£

EPP£¬¼´Enhanced Parallel Port£¬ÔöÇ¿Ð͸ßËÙ²¢¿Ú¡£ÕâÊÇÒ»ÖÖÔÚSPPµÄ»ù´¡ÉÏ·¢Õ¹ÆðÀ´µÄÐÂÐͲ¢¿Úģʽ£¬Ò²ÊÇÏÖÔÚÓ¦ÓÃ×î¶àµÄ²¢¿Úģʽ£¬²ÉÓÃË«Ïò°ëË«¹¤Êý¾Ý´«Êä,´«ÊäËٶȴï2MB/S¡£Ä¿Ç°ÊÐÃæÉϵĴó¶àÊý´òÓ¡»ú¡¢ ɨÃèÒǶ¼ÄÜÓëPC½øÐÐË«ÏòͨѶ£¬¶¼Ö§³ÖEPPģʽ¡£

ECP£¬¼´ Extended Capability Port£¬À©³ä¹¦Äܲ¢¿Ú¡£Õâ¿ÉÒÔËãÊÇÄ¿Ç°×îÏȽøµÄ²¢¿Úģʽ£¬²ÉÓÃË«ÏòÈ«Ë«¹¤Êý¾Ý´«Êä,´«ÊäËÙÂʱÈEPP¸ß£¬µ«ÊǸÃģʽÐèÒªÉèÖÃDMAͨµÀ£¬¼ÈÏûºÄ×ÊÔ´£¬ÓÖÈÝÒ×ÒýÆð³åÍ»£¬Ä¿Ç°Ö§³ÖECPµÄÍâÉèºÜÉÙ¡£

8.24 ¼òÊöRS-232CµÄµçÆøÌØÐÔ¡£

½â£ºÔÚTxDºÍRxDÉÏ£ºÂß¼­1(MARK)=-3V¡«-15V Âß¼­0(SPACE)=+3¡«£«15V

ÔÚRTS¡¢CTS¡¢DSR¡¢DTRºÍDCDµÈ¿ØÖÆÏßÉÏ£º ÐźÅÓÐЧ£¨½Óͨ£¬ON״̬£¬Õýµçѹ£©£½+3V¡«+15V ÐźÅÎÞЧ£¨¶Ï¿ª£¬OFF״̬£¬¸ºµçѹ)=-3V¡«-15V

8.25 ÓÃRS-232½Ó¿Ú½øÐÐÁ½Ì¨¼ÆËã»úÖ®¼äµÄË«ÏòͨÐÅ×îÉÙÐèÒª¼¸¸ùÁ¬Ïߣ¿

½â£º3¸ù£¬·¢ËͶˣ¨TXD£©£¬½ÓÊܶˣ¨RXD£©ºÍµØ£¨GND£© ÎļþÃû£ºÎ¢»úÔ­ÀíÓë½Ó¿Ú¼¼ÊõÏ°Ìâ

µÚ 41 Ò³ ¹² 61 Ò³

´íÎó£¡Î´Ö¸¶¨ÊéÇ©¡£Óë½Ó¿Ú¼¼Êõ

8.26 USB×ÜÏßÓÐʲôÓŵ㣿

½â£ºUSB×ÜÏß¾ßÓеͳɱ¾¡¢Ê¹Óüòµ¥¡¢Ö§³Ö¼´²å¼´Óá¢Ò×ÓÚÀ©Õ¹µÈÓŵ㣬Òѱ»¹ã·ºµØÓÃÔÚPC»ú¼°Ç¶ÈëʽϵͳÉÏ¡£

Ï°Ìâ¾Å

9.1 I/O½Ó¿ÚµÄ»ù±¾¹¦ÄÜÊÇʲô£¿

½â£º(1)½øÐж˿ڵØÖ·ÒëÂëÉ豸ѡÔñ

(2)ÏòCPUÌṩI/OÉ豸µÄ״̬ÐÅÏ¢ºÍ½øÐÐÃüÁîÒëÂë

(3)½øÐж¨Ê±ºÍÏàӦʱÐò¿ØÖÆ

(4)¶Ô´«ËÍÊý¾ÝÌṩ»º³å£¬ÒÔÏû³ý¼ÆËã»úÓëÍâÉèÔÚ¡°¶¨Ê±¡±»òÊý¾Ý´¦ÀíËÙ¶ÈÉϵIJîÒì,ÌṩÓйصçÆø (5)»¹¿ÉÒÔÖжϷ½Ê½ÊµÏÖCPUÓëÍâÉèÖ®¼äÐÅÏ¢µÄ½»»» ½â£º(1)I/O½Ó¿ÚоƬ (2)I/O½Ó¿Ú¿ØÖÆ¿¨ 9.3 8255AÓм¸¸ö¶Ë¿Ú£¿

½â£ºËĸö¶Ë¿Ú£¬Èý¸öÊý¾Ý¶Ë¿ÚºÍÒ»¸ö¿ØÖƶ˿ڡ£ 9.4 8255AÓжàÉÙ¸ö¿É±à³ÌµÄI/OÒý½Å£¿

½â£º32

9.5 8255AÓÐÄÄÈýÖÖ¹¤×÷·½Ê½£¿¸÷ÓÐʲôÌص㣿

½â£º·½Ê½0£º·½Ê½0Ϊ»ù±¾µÄÊäÈ룯Êä³ö·½Ê½£¬´«ËÍÊý¾Ýʱ²»ÐèÒªÁªÂçÐźš£A¿Ú¡¢B¿ÚºÍc¿Ú(»òC¸ß4λ¿Ú¼°cµÍ4λ¿Ú)¾ù¿É¶ÀÁ¢ÉèÖóɷ½Ê½0ÊäÈë¿Ú»ò·½Ê½0Êä³ö¿Ú¡£

·½Ê½1£º·½Ê½lΪѡͨÊäÈ룯Êä³ö·½Ê½£¬¼´ÐèÒª½øÐÐÁªÂçµÄÊäÈ룯Êä³ö¡£A×é¡¢B×éµÄ8λ¿Ú(A¿Ú»òB·½Ê½2£º·½Ê½2Ϊ˫Ïò´«ËÍ¡£¸Ã·½Ê½ÒªÊ¹ÓÃc¿ÚµÄ5¸ùÏß×÷ÁªÂçÏß¡£ÓÉÓÚc¿ÚÖ»ÓÐ8¸ùÏߣ¬Òò´ËÖ»ÄÜ¿Ú)¿É±»ÉèÖÃΪ·½Ê½1ÊäÈË¿Ú»ò·½Ê½1Êä³ö¿Ú£¬¶øÕâʱҪÓÃÏàÓ¦C¿ÚµÄ3¸ùÏß×÷ÁªÂçÏß¡£

ÓÐÒ»×éʹÓ÷½Ê½2È·¶¨ÎªA×é¡£µ±A×é±»ÉèÖóɷ½Ê½2ʱ£¬A¿Ú±»ÉèÖóÉË«Ïò¶Ë¿Ú£¬¼´¼È¿ÉÒÔÊäÈëÊý¾Ý£¬Ò²¿ÉÒÔÊä³öÊý¾Ý£¬c¿ÚµÄ5¸ùÏß±»Ö¸¶¨ÎªÁªÂçÏß¡£

9.6 µ±8255A¹¤×÷ÔÚ·½Ê½1ʱ£¬¶Ë¿ÚC±»·ÖΪÁ½¸ö²¿·Ö£¬·Ö±ð×÷Ϊ¶Ë¿ÚAºÍ¶Ë¿ÚBµÄ¿ØÖÆ/״̬ÐÅÏ¢¡£ÕâÁ½¸ö²¿·ÖÊÇÈçºÎ»®·ÖµÄ£¿

½â£ºA×é¡¢B×éµÄ8λ¿Ú(A¿Ú»òB¿Ú)¿É±»ÉèÖÃΪ·½Ê½1ÊäÈË¿Ú»ò·½Ê½1Êä³ö¿Ú£¬¶øÕâʱҪÓÃÏàÓ¦C¿ÚµÄ3¸ùÏß×÷ÁªÂçÏß¡£

9.7 8255AµÄ·½Ê½Ñ¡Ôñ¿ØÖÆ×ֺͰ´Î»ÖÃλ/¸´Î»¿ØÖÆ×Ö¶¼ÊÇдÈë¿ØÖƶ˿ڵģ¬ÄÇô£¬ËüÃÇÊÇÓÉʲôÀ´Çø·ÖµÄ£¿

½â£ºÓÉ¿ØÖÆ×ÖµÄ×î¸ßλÀ´Çø·Ö¡£×î¸ßλÈôΪ1£¬ÔòÊÇ·½Ê½Ñ¡Ôñ¿ØÖÆ×Ö£»ÈôΪ0£¬ÔòÊÇ°´Î»ÖÃλ/¸´Î»¿ØÖÆ×Ö¡£

9.8 8255AµÄ¶Ë¿ÚAµÄ¹¤×÷·½Ê½ÊÇÓÉ·½Ê½Ñ¡Ôñ¿ØÖÆ×ÖµÄÄÄһλ¾ö¶¨µÄ£¿

½â£ºµÚ5ÓëµÚ6룬¾ö¶¨¶Ë¿ÚAµÄ¹¤×÷·½Ê½¡£

9.9 8255AµÄ¶Ë¿ÚBµÄ¹¤×÷·½Ê½ÊÇÓÉ·½Ê½Ñ¡Ôñ¿ØÖÆ×ÖµÄÄÄһλ¾ö¶¨µÄ£¿

µÄÊÊÅä

9.2 I/O½Ó¿ÚÓм¸ÖÖ»ù±¾ÀàÐÍ£¿

ÎļþÃû£ºÎ¢»úÔ­ÀíÓë½Ó¿Ú¼¼ÊõÏ°Ìâ µÚ 42 Ò³ ¹² 61 Ò³

½â£ºµÚ3λ

Ï° Ìâ

9.10 8255A½Ó¿ÚоƬµØַΪ60H¡«63H£¬ÇëÖ¸³öÏÂÁгÌÐò¶Î¹¦ÄÜ

£¨1£© MOV AL£¬80H £¨2£© MOV AL£¬08H OUT 63H£¬AL

OUT 63H£¬AL

½â£º£¨1£©ÉèÖÃ8255AµÄ¶Ë¿ÚA¹¤×÷ÓÚ·½Ê½0Êä³ö£¬¶Ë¿ÚB¹¤×÷ÓÚ·½Ê½0Êä³ö£¬¶Ë¿ÚCÒ²ÊÇÊä³ö¡£

£¨2£©ÖÃPC4Ϊ0

9.11 Éè8255AµÄµØÖ··¶Î§ÊÇ100H¡«103H£¬ÊÔ±àд·Ö±ðÍê³ÉÏÂÁй¦Äܵijõʼ»¯³ÌÐò¡£

£¨1£©A¿Ú¹¤×÷ÓÚ·½Ê½0¡¢ÊäÈ룻B¿Ú¹¤×÷ÓÚ·½Ê½0¡¢Êä³ö£»PC7ÊäÈë¡¢PC0Êä³ö¡£ £¨2£©A¿Ú¹¤×÷ÓÚ·½Ê½1¡¢Êä³ö£¬PC7¡¢PC6ÊäÈ룻B¿Ú¹¤×÷ÓÚ·½Ê½0¡¢ÊäÈ룻PC2ÊäÈë¡£ ½â£º£¨1£©MOV AL,98H MOV DX,103H OUT DX,AL £¨2£©MOV AL,0ABH MOV DX,103H OUT DX,AL

9.12 8255AµÄµØÖ·ÓÉÄÄÁ½²¿·Ö¹¹³É£¿ÊÔÀûÓÃ74LS138ÒëÂëÆ÷Éè¼ÆÒ»¸öµØַΪ260H¡«263HµÄ8255A½Ó¿Úµç·¡£

½â£º¶Ë¿ÚµØÖ·£¬¿ØÖÆ¿ÚµØÖ·¡£

9.13 8255AµÄ3¸öÊý¾Ý¶Ë¿ÚÔÚʹÓÃÉÏÓÐʲô²»Í¬£¿

½â£º¶Ë¿ÚA¿ÉÒÔ¹¤×÷ÔÚ3ÖÖ¹¤×÷·½Ê½µÄÈÎÒ»Ò»ÖÖ£¬¶øÇÒA¿Ú×÷ΪÊäÈë»òÕßÊä³öʱ£¬Êý¾Ý¾ùÊܵ½Ëø´æ£¬A¿Ú³£×÷Ϊ¶ÀÁ¢µÄÊäÈë»òÊä³ö¶Ë¿Ú£»¶Ë¿ÚBÓÐÁ½ÖÖ¹¤×÷·½Ê½£¬µ±ÓÃ×÷Êä³öʱ£¬Êý¾ÝÊܵ½Ëø´æ£¬Ò²ÊÇ×÷Ϊ¶ÀÁ¢µÄÊäÈë»òÊä³ö¿Ú£»¶Ë¿ÚCͨ¹ý¿ØÖÆÁî±»·ÖΪ2¸ö4λ¶Ë¿Ú£¬·Ö±ðΪA¿ÚºÍB¿ÚÌṩ¿ØÖÆÐźźÍ״̬Ðźš£ 9.14 µ±Êý¾Ý´Ó8255AµÄ¶Ë¿ÚC¶Áµ½CPUʱ£¬8255AµÄ¿ØÖÆÐźÅCS¡¢RD¡¢WR¡¢A1¡¢A0·Ö±ðÊÇʲôµçƽ£¿

½â£ºCS=0£¬RD=0£¬WR=1£¬A1A0=11.

9.15 ʹÓÃ8255AÓë´òÓ¡»ú½Ó¿ÚµÄʾÒâͼÈçͼ9-38Ëùʾ¡£µ±A15¡«A2=10100011010101ʱ£¬ÒëÂëÆ÷Êä³öΪ0¡£±àд³ÌÐò½«

A1A0D7¡«D0A1A0D7¡«D0RESET WR RDA15?A2ÒëÂëÆ÷8255ACSPB7¡«PB0PC7PC2STBBUSY´òÓ¡»úÎļþÃû£ºÎ¢»úÔ­ÀíÓë½Ó¿Ú¼¼ÊõÏ°Ìâ

IOW IORµÚ 43 Ò³ ¹² 61 Ò³

´íÎó£¡Î´Ö¸¶¨ÊéÇ©¡£Óë½Ó¿Ú¼¼Êõ

´æ´¢µ¥ÔªBUFµÄÄÚÈÝËÍ´òÓ¡»ú´òÓ¡¡££¨BUSYΪ1±íʾ´òÓ¡»ú棬PC7Êä³öÒ»¸ö¸ºÂö³åÆô¶¯´òÓ¡¡££©

½â£º MOV DX,0A357H

MOV AL,10000001B OUT DX,AL MOV AL,00001111B OUT DX,AL

PRINTC AL,04H

AL,00001111B

OUT DX,AL POP DX POP AX RET ENDP

PROC PUSH AX PUSH DX MOV DX,0A356H IN AL,DX

PC×ÜÏß A7 A6 A5 A4 A3 A2 A1 A0 D7~D0 RESET WR RD G1 G2a G2b C B A Y7 CS PA0 RED A1 PC2 A0 D7¡«D0 RESET PC0 WR RD 5VK0 5V

PRN:

ͼ9-38

DX,0A354H

GREEN AND

JNZ PRN

MOV

MOV AL,AH OUT DX,AL NOP NOP

MOV

PRINTC

9.16ÉèijѹÁ¦±¨¾¯¿ØÖÆϵͳµç·Èçͼ9-39Ëùʾ¡£Ñ¹Á¦Õý³£Ê±£¬¿ª¹ØK0¶Ï¿ª£¬Â̵ÆÁÁ£¬ºìµÆÃð¡£Ñ¹Á¦½µµÍʱ£¬¿ª¹ØK0±ÕºÏ£¬ºìµÆÁÁ£¬Â̵ÆÃð¡£ÊÔд³ö8255AµÄ4¸ö¶Ë¿ÚµØÖ·²¢±àд³õʼ»¯³ÌÐòºÍ¿ØÖƳÌÐò¡£

ÎļþÃû£ºÎ¢»úÔ­ÀíÓë½Ó¿Ú¼¼ÊõÏ°Ìâ

µÚ 44 Ò³ ¹² 61 Ò³