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