Öб±´óѧ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°Á·Ï°²á
Îå¡¢Ó²¼þÉè¼ÆÌâ
1.ÓÃһƬ8255 AоƬÉè¼ÆÒ»»ùÓÚPCϵͳ×ÜÏßµÄI/O½Ó¿Ú°å£¬ÒªÇó£º
1£©8255AÕ¼ÓõĶ˿ڵØÖ·Îª300H--306H£¬»³öÔÀíͼ¡£
2£©Éè8255AµÄPA¡¢PB¡¢PC¿Ú¾ù¹¤×÷ÔÚ·½Ê½0£¬PA¿ÚΪÊäÈ룬PB¡¢PC¿Ú¾ùΪÊä³ö£¬±àд8255µÄ³õʼ»¯³ÌÐòƬ¶Î£¨ÒÑÖª8255A¿ØÖÆ×ÖΪ10010000B£©¡£
3£©±àд³ÌÐòƬ¶Î£¬½«´ÓPA¿Ú¶ÁÈëµÄ״̬ËÍÖÁPB¿ÚÊä³ö¡£
´ð£º1) ²Î¼ûͼ
2) MOV DX, 306H 3) MOV DX, 300H
MOV AL, 90H IN AL, DX
OUT DX, AL MOV DX, 302H
OUT DX, AL
2.ÒÑÖª8255µÄ¿ØÖƿڵØÖ·Îª236H£¬¿ª¹ØÐÅÏ¢½ÓÔÚPB¿Ú£¬·¢¹â¶þ¼«¹Ü½ÓÔÚPA¿Ú£¬Ê¹ÓÃ8255×÷Ϊ½Ó¿ÚоƬ£¬¶Á¿ª¹ØÁ¿µÄ״̬£¬²¢Ó÷¢¹â¶þ¼«¹ÜÏÔʾÊä³ö¡£ÔÚ½«¿ª¹ØµÄÐÅÏ¢´æ·ÅÔÚFIRSTµ¥ÔªµÄͬʱ£¬·¢¹â¶þ¼«¹ÜÍê³ÉÆäÐÅÏ¢µÄÏÔʾ¡£ÒªÇó»³öÍêÕûµÄÏß·Á¬½Óͼ²¢Éè¼ÆÏàÓ¦µÄ³ÌÐò¡££¨8086¹¤×÷ÔÚ×îСģʽ£¬8255AÏàÓ¦µÄ¿ØÖÆ×ÖΪ82H£©¡£ MOV DX, 236H MOV AL, 82H OUT DX, AL
MOV AX, SEG FIRST MOV DS, AX
MOV SI, OFFSET FIRST LOP: MOV DX, 232H
IN AL, DX MOV [SI], AL MOV DX, 230H OUT DX, AL JMP LOP
7.2 ¿ÎºóÁ·Ï°Ìâ
Ò»¡¢Ìî¿ÕÌâ
1. 8255A¿ØÖÆ×Ö¿ÉÒÔ·ÖΪ ·½Ê½Ñ¡Ôñ¿ØÖÆ×Ö ºÍ C¿ÚÖø´Î»¿ØÖÆ×Ö Á½Àà¡£ 2.8255A¸÷¸ö¶Ë¿ÚµÄ¹¤×÷·½Ê½ÊÇÓÉ ·½Ê½Ñ¡Ôñ¿ØÖÆ×Ö ¾ö¶¨µÄ¡£
¶þ¡¢Ñ¡ÔñÌâ
1. ijϵͳ²ÉÓÃ8255A²¢ÐÐI/O½Ó¿Ú£¬³õʼ»¯Ê±CPUËù·ÃÎʵĶ˿ڵØÖ·Îª0CBH£¬²¢É趨Ϊ·½Ê½1Êä³ö£¬ÔòÁËB¿ÚµÄ¿ÚµØÖ·Ó¦Îª_____B______¡£
A£©0CAH B£©0C9H C£©0C8H D£©0CCH
2. ijϵͳ²ÉÓÃ8255A²¢ÐÐI/O½Ó¿Ú£¬³õʼ»¯Ê±CPUËù·ÃÎʵĶ˿ڵØÖ·Îª0BBH£¬²¢É趨Ϊ·½Ê½1Êä³ö£¬ÔòÁËB¿ÚµÄ¿ÚµØÖ·Ó¦Îª______B____¡£
25
Öб±´óѧ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°Á·Ï°²á
A£©0BAH B£©0B9H C£©0B8H D£©0BCH Èý¡¢¼ò´ðÌâ
³£ÓõļüÅÌɨÃèÓм¸ÖÖ·½Ê½£¿ÊÔÊö¸÷×ÔµÄÌØµã¼°ÔÀí¡£ ´ð°¸£º ÐÐɨÃè·¨ºÍÐз´×ª·¨ ÐÐɨÃè·¨¹¤×÷ÔÀí 1£©¹æ¶¨ÐÐÊä³ö£¬ÁÐÊäÈë
2£©½«È«¡°0¡±Êý¾Ý´ÓÐÐÏßÉÏÊä³ö£¬¶ÁÈ¡ÁÐÏߣ¬ÈôÈ«¡°1¡±£¬ÔòÈÏΪûÓа´¼ü£¬·ñÔòÈÏΪÓа´¼ü¡£ 3£©ÔÚÓа´¼üÇé¿öÏ£¬Öð´ÎʹÆäÖеÄÐÐÏßÊä³ö¡°0¡±£¬ÆäÓàµÄÐÐÏßΪ¡°1¡±£¬¶ÁÈ¡ÁÐÏߣ¬Èô¶ÁÈ¡µÄÊý¾ÝΪȫ¡°1¡±£¬Ôò±íÃ÷¸ÃÐÐûÓа´¼ü£¬Èô¶ÁÈ¡µÄ·ÇÈ«¡°1¡±£¬¸ù¾ÝÐÐÁÐÏßÉϵÄÊý¾Ý£¬¿ÉÒÔΨһȷ¶¨ÄÄÒ»¸ö¼ü°´Ï¡£ Ðз´×ª·¨¹¤×÷ÔÀí
1£©Ê×Ïȹ涨ÐÐÏßΪÊä³ö£¬ÁÐÏßΪÊäÈë¡£
2£©´ÓÐÐÏßÉÏÊä³öÈ«¡°0¡±µÄÊý¾Ý£¬´ÓÁÐÏß¶ÁÈ¡Êý¾Ý£¬Èç¹û¶ÁÈ¡Êý¾ÝΪȫ¡°1¡±£¬Ôò˵Ã÷ûÓмü°´Ï£¬·ñÔòÈÏΪÓа´¼ü¡£
3£©¸Ä±äÊäÈë¡¢Êä³ö¶Ë¿Ú£¬½«2£©»ñµÃµÄÊý¾Ý´ÓÁÐÏßÊä³ö£¬´ÓÐÐÏß¶ÁÈ¡Êý¾Ý£¬¸ù¾ÝÁ½´Î¶ÁÈ¡µÄÊý¾Ý£¬¾Í¿ÉÒÔΨһȷ¶¨Äĸö¼ü°´Ï¡£
ËÄ¡¢Ó²¼þ±à³ÌÌâ
8255AµÄ¹¤×÷·½Ê½¿ØÖÆ×ÖºÍC¿ÚµÄ°´Î»ÖÃλ/¸´Î»¿ØÖÆ×ÖÓкβî±ð£¿Èô½«C¿ÚµÄPC2Òý½ÅÊä³ö¸ßµçƽ£¨ÖÃ룩£¬¼ÙÉè8255A¿ØÖƿڵØÖ·ÊÇ303H£¬³ÌÐò¶ÎÓ¦ÊÇÔõÑùµÄ£¿
8255AµÄ¹¤×÷·½Ê½¿ØÖÆ×ÖºÍC¿ÚµÄ°´Î»ÖÃλ/¸´Î»¿ØÖÆ×ÖÓкβî±ð£¿Èô½«C¿ÚµÄPC2Òý½ÅÊä³ö¸ßµçƽ£¨ÖÃ룩£¬¼ÙÉè8255A¿ØÖƿڵØÖ·ÊÇ303H£¬³ÌÐò¶Î¾ÍÓ¦ÊÇÔõÑùµÄ£¿
´ð°¸£º ¹¤×÷·½Ê½¿ØÖÆ×ÖµÄ×î¸ßλΪ1£¬¶øC¿ÚµÄ°´Î»ÖÃλ/¸´Î»¿ØÖÆ×Ö×î¸ßλΪ0 MOV DX£¬303H MOV AL£¬80H OUT DX£¬AL MOV AL£¬05H OUT DX£¬AL
2 6
Öб±´óѧ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°Á·Ï°²á
Îå¡¢Ó²¼þÉè¼ÆÌâ
1. ÒÑÖª8255AµÄ¿ØÖƿڵØÖ·Îª236H£¬LED²ÉÓù²Ñô¼¶½Ó·¨¡£×ÖÐÍÐÅÏ¢½ÓÔÚPB¿Ú£¬×ÖλÐÅÏ¢½ÓÔÚPA¿Ú,ʹÓÃ8255A×÷Ϊ½Ó¿ÚоƬ£¬ÔÚÁ½¿éLEDÉÏÏÔʾ×Ô¼ºµÄѧºÅ¡£ÒªÇó»³öÍêÕûµÄÏß·Á¬½Óͼ²¢Éè¼ÆÏàÓ¦µÄ³ÌÐò£¨8086¹¤×÷ÔÚ×îСģʽ£¬8255AÏàÓ¦¿ØÖÆ×ÖΪ80H£©¡£ ´ð°¸£º
MOV DX£¬236H
LOP£º LOOP LOP
MOV DX,232H
MOV AL,nn £»Ñ§ºÅ¸ßλ
MOV AL£¬80H OUT DX£¬AL MOV CX£¬000H START£ºMOV DX,232H
OUT DX£¬AL MOV AL£¬2 MOV DX£¬230H
OUT DX£¬AL
MOV AL,nn £»Ñ§ºÅµÍλ OUT DX£¬AL MOV AL£¬1
LOP1£ºLOOP LOP1
JMP START
MOV DX£¬230H OUT DX£¬AL
2.Èô´òÓ¡»ú¼°Æä¹¤×÷ʱÐòÈçͼËùʾ,µ±´òÓ¡»ú²»Ã¦Ê±(BUSY=0)£¬ÏòËüËÍÊý¾Ý£¨Éèÿ´ÎÖ»´«ËÍ1¸ö×Ö½Ú£©²¢ÔÚÊý¾ÝÎȶ¨Ê±Óà ¸ºÂö³å½«Êý¾Ý´æÓÚ´òÓ¡»úÄÚ²¿£¬Í¬Ê±ÉèÖôòÓ¡»úæÐźţ¬¼´BUSY =1¡£
1£©Óÿɱà³Ì½Ó¿ÚоƬ8255A½«´òÓ¡»úÓë×ÜÏßÏàÁ¬½ÓÆðÀ´¡£Èô¹æ¶¨8255AµÄµØÖ·Îª0320H¡«032FHÈÎÑ¡£¬ÊÔ»³öÁ¬½Óµç·ͼ¡£ 2£©Êý¾Ý¶ÎÖÐÊ×µØÖ·ÎªBUFFERµÄÇøÓòÖдæ·Å×Å100×Ö½ÚÒª´òÓ¡µÄ×Ö·û£¬ÊÔ±àд°üÀ¨8255A³õʼ»¯µÄ´òÓ¡³ÌÐò£¬²¢½«100¸ö×Ö·û´òÓ¡³öÀ´¡£ ´ð°¸£º1¡¢
27
Öб±´óѧ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°Á·Ï°²á
2¡¢
MOV DX£¬326H MOV AL£¬81H OUT DX£¬AL
MOV AL£¬[BX]
OUT DX£¬AL MOV DX£¬326H MOV AL£¬8 OUT DX£¬AL
LEA BX£¬BUFFER
MOV CX£¬100 NE£ºMOV DX£¬324H
MOV AL£¬9
IN AL£¬DX
TEST AL£¬01 JZ NE MOV DX£¬322H
OUT DX£¬AL
INC BX
LOOP NE
3.ÔÚÒ»¸öϵͳÖУ¬8255AµÄËĸö¶Ë¿ÚµØÖ··Ö±ðΪ£º420H¡¢422H¡¢424HºÍ426H¡£ÒªÇó£º
1£©³õʼ»¯8255A£¬Ê¹¶Ë¿ÚA¡¢B¡¢C¾ù¹¤×÷ÓÚ·½Ê½0£¬¶Ë¿ÚA×÷ΪÊäÈë¶Ë¿Ú£¬¶Ë¿ÚBºÍC×÷ΪÊä³ö¶Ë¿Ú¡£
2£©½«¶Ë¿ÚAÊäÈëµÄÐÅϢȡ·´ºóÖ±½ÓÊä³öµ½¶Ë¿ÚB¡£
3£©¼ì²â¶Ë¿ÚAÊäÈëµÄÐÅÏ¢µÄPA7λ¡£µ±PA7=1ʱ£¬¶Ë¿ÚCÊä³öFFH,·ñÔò£¬Êä³ö00H¡£ Çë±àд³ÌÐò¶Î£¬Íê³ÉÉÏÊö¹¦ÄÜ£¨³ÌÐòÒª¼Ó×¢½â£©¡£ ´ð°¸£º 1£© MOV AL£¬90H MOV DX£¬426H OUT DX£¬AL 2£© MOV DX£¬420H IN AL£¬DX
2 8

