΢»úÔ­Àí¿ÎºóÁ·Ï°Ìâ-´ð°¸ ÏÂÔØ±¾ÎÄ

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