1¡¢ÒÑÖª8255µÄ¿ØÖƿڵØÖ·Îª236H£¬LED²ÉÓù²Ñô¼¶½Ó·¨¡£×ÖÐÍÐÅÏ¢½ÓÔÚPB¿Ú£¬×ÖλÐÅÏ¢½ÓÔÚPA¿Ú,ʹÓÃ8255×÷Ϊ½Ó¿ÚоƬ£¬ÔÚÁ½¿éLEDÉÏÏÔʾ×Ô¼ºµÄѧºÅ¡£ÒªÇó»³öÍêÕûµÄÏß·Á¬½Óͼ²¢Éè¼ÆÏàÓ¦µÄ³ÌÐò£¨8086¹¤×÷ÔÚ×îСģʽ£¬8255ÏàÓ¦¿ØÖÆ×ÖΪ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£©Óÿɱà³Ì½Ó¿ÚоƬ8255½«´òÓ¡»úÓë×ÜÏßÏàÁ¬½ÓÆðÀ´¡£Èô¹æ¶¨8255µÄµØÖ·Îª0320H¡«032FHÈÎÑ¡£¬ÊÔ»³öÁ¬½Óµç·ͼ¡£
2£©Êý¾Ý¶ÎÖÐÊ×µØÖ·ÎªBUFFERµÄÇøÓòÖдæ·Å×Å100×Ö½ÚÒª´òÓ¡µÄ×Ö·û£¬ÊÔ±àд°üÀ¨8255³õʼ»¯µÄ´òÓ¡³ÌÐò£¬²¢½«100¸ö×Ö·û´òÓ¡³öÀ´¡£ ´ð°¸£º1¡¢
2¡¢
MOV DX£¬326H MOV AL£¬81H
OUT DX£¬AL
LEA BX£¬BUFFER MOV CX£¬100
NE£ºMOV DX£¬324H
IN AL£¬DX
TEST AL£¬01
JZ NE
MOV DX£¬322H
MOV AL£¬[BX]
OUT DX£¬AL
MOV DX£¬326H MOV AL£¬8
OUT DX£¬AL
MOV AL£¬9 OUT DX£¬AL INC BX LOOP NE
3¡¢ÔÚÒ»¸öϵͳÖУ¬8255AµÄËĸö¶Ë¿ÚµØÖ··Ö±ðΪ£º420H¡¢422H¡¢424HºÍ426H¡£ÒªÇó£º 1£©³õʼ»¯8255£¬Ê¹¶Ë¿ÚA¡¢B¡¢C¾ù¹¤×÷ÓÚ·½Ê½0£¬¶Ë¿ÚA×÷ΪÊäÈë¶Ë¿Ú£¬¶Ë¿ÚBºÍC×÷ΪÊä³ö¶Ë¿Ú¡£
2£©½«¶Ë¿ÚAÊäÈëµÄÐÅϢȡ·´ºóÖ±½ÓÊä³öµ½¶Ë¿ÚB¡£
3£©¼ì²â¶Ë¿ÚAÊäÈëµÄÐÅÏ¢µÄPA7λ¡£µ±PA7=1ʱ£¬¶Ë¿ÚCÊä³öFFH£¬·ñÔò£¬Êä³ö00H¡£ Çë±àд³ÌÐò¶Î£¬Íê³ÉÉÏÊö¹¦ÄÜ£¨³ÌÐòÒª¼Ó×¢½â£©¡£
´ð°¸£º 1£© 2£© 3£© KO£º
MOV AL£¬90H MOV DX£¬426H OUT DX£¬AL MOV DX£¬420H IN AL£¬DX MOV DX£¬422H NOT AL OUT DX£¬AL MOV DX£¬420H
IN AL£¬DX TEST AL£¬80H
MOV AL£¬0 JZ KO MOV AL£¬0FFH
MOV DX£¬424H
OUT DX£¬AL
£»´Ó¶Ë¿ÚAÊäÈëÐÅÏ¢
£»²âÊÔPA7ÊÇ·ñΪ0
£»Èç¹ûΪ0£¬Êä³ö0
£»·ñÔòÊä³ö0FFH
£»¶Ë¿ÚCµÄµØÖ·
1¡¢8086ÖжÏϵͳÓÐÄļ¸Àà
´ð°¸£º ÖÖÀàÓÐ·ÇÆÁ±ÎÖжϡ¢¿ÉÆÁ±ÎÖжϡ¢Èí¼þÖжϺÍÈí¼þÏÝÚå¡£
2¡¢CPUÏìÓ¦¿ÉÆÁ±ÎÖжÏÓÐÄÄЩ»ù±¾Ìõ¼þ¡£ ´ð°¸£º
ÖжÏÊÇÔÊÐíµÄ£» ÓÐÖжÏÇëÇó£» Ã»ÓÐ×ÜÏßÇëÇóºÍÏìÓ¦£»
ûÓиßÓÅÏȼ¶ÖжÏÔÚ·þÎñ£»µ±Ç°Ö¸ÁîÖ´ÐÐÍꣻ
Èç¹ûÊǶԶμĴæÆ÷µÄ²Ù×÷£¬Ö´ÐÐÍê´ËÖ¸Áîºó±ØÐëÔÙÖ´ÐÐÒ»ÌõÖ¸Á
Èç¹ûµ±Ç°Ö¸ÁîÊÇ´øREPµÄ´®Ö¸ÁÔòÒ»¸ö×Ö½Ú»ò×ֵIJÙ×÷Íê³É£¬Ã»ÓбØÒªÍêȫִÐÐÍê¸ÃÖ¸Á Èôµ±Ç°Ö¸ÁîÊÇ·âËøÖ¸ÁÔò±ØÐëÖ´ÐÐÍêÆäºóµÄÒ»ÌõÖ¸Áî¡£
µÚʮһÕÂ
Ò»
1¡¢±È½Ï¼ÆÊýʽ£¬Ë«»ý·ÖʽºÍÖð´Î±Æ½üʽA/Dת»»µÄÓÅȱµã¡£ ´ð°¸£º
¼ÆÊýʽA/Sת»»µÄËٶȱȽÏÂý£¬µ«¼Û¸ñµÍ£¬¹ÊÊÊÓÃÓÚÂýËÙϵͳ¡£
Ë«»ý·ÖʽA/Dת»»·Ö±æÂʸߣ¬¿¹¸ÉÈÅÐÔÒ²±È½Ï¸ß£¬ÊÊÓÃÓÚÖеÈËٶȵÄϵͳ¡£
Öð´Î±Æ½üʽA/Dת»»ËÙ¶È×î¿ì£¬·Ö±æÂʸߣ¬ÔÚ¼ÆËã»úϵͳÖжà²ÉÓô˷½Ê½µÄA/D¼¯³Éµç·оƬ¡£
2¡¢ÔÚÊý×ÖÁ¿ºÍÄ£ÄâÁ¿²¢´æµÄϵͳÖУ¬µØÖ·ÏßÁ¬½ÓʱҪעÒâʲôÎÊÌâ
´ð°¸£ºÔÚÊý×ÖÁ¿ºÍÄ£ÄâÁ¿²¢´æµÄϵͳÖУ¬ÓÐÁ½Ààµç·оƬ¡£Ò»ÀàÊÇÄ£Äâµç·оƬ£¬Ò»ÀàÊÇÊý×Öµç·оƬ¡£ÕâÁ½ÀàоƬҪÓÃÁ½×é¶ÀÁ¢µÄµçÔ´¹©µç¡£Ò»·½ÃæÒª°Ñ¸÷¸ö\Ä£ÄâµØ\Á¬ÔÚÒ»Æð£¬¸÷¸ö\Êý×ÖµØ\Á¬ÔÚÒ»Æð£¬Á½ÖÖ\µØ\²»Äܱ˴ËÏà»ìµØÁ¬½ÓÔÚÒ»Æð;ÁíÒ»·½Ã棬Õû¸öϵͳÖÐÒªÓÃÒ»¸ö¹«¹²µØµã°ÑÄ£ÄâµØºÍÊý×ÖµØÁ¬ÆðÀ´£¬ÒÔÃâÐγɵػ·Á÷£¬ÈËΪµØÔì³É¸ÉÈÅ¡£ ¶þ¡¢
1¡¢Ò»¸ö8λD/Aת»»Æ÷Á¬½ÓÓÚ8086ϵͳÖУ¬Æä¶Ë¿ÚµØÖ·Îª3FH£¬Çë±à³ÌʵÏÖÔÚD/Aת»»Æ÷µÄÊä³ö¶ËÊä³öÒ»¸ö¾â³Ý²¨¡£ ´ð°¸£º MOV AL£¬0 NEXT£º OUT 3FH£¬AL INC AL
Call delay JMP NEXT
´ð°¸£º 1£© 0FFB0H £¨2·Ö£©
2£© 0FFB1H £¨2·Ö£©
3£© MOV BX,OFFSET BUF TEST AL,1 MOV CX,10 JZ LOP1 LOP0: MOV DX,0FFB0H MOV DX,0FFB0H MOV AL,07H IN AL,DX OUT DX,AL MOV [BX],AL MOV DX,0FFB1H INC BX LOP1: IN AL,DX LOOP LOP0