µ¥Æ¬»ú¿ÎºóϰÌâ´ð°¸ ÏÂÔØ±¾ÎÄ

MOV R2, A ; ÁÐɨÃè×ÖËÍR2 AJMP CHKN ; 8ÁÐδÍ꣬¼ì²éÏÂÒ»ÁÐ KEND: AJMP SERKEY ; 8ÁвéÍ꣬δ²éµ½Óмü°´Ï£¬µÈ´ý VARTO: MOV SBUF, A ; ·¢ËÍAÖÐÊý¾Ý

JNB TI, $ ; ·¢Ë͵ȴý CLR TI ; Çå³ý RET DLY1: ¡­¡­ ; ÑÓʱ10ms×Ó³ÌÐò£¨ÂÔ£© END ; ½áÊø 16£®Éè¼ÆÒ»¸öº¬8λ¶¯Ì¬ÏÔʾºÍ2¡Á8¼üÕóµÄÓ²¼þµç·£¬²¢±àд³ÌÐò£¬ÊµÏÖ½«°´¼üÄÚÈÝÏÔʾÔÚLEDÊýÂë¹ÜÉϵŦÄÜ¡£ ½â£º

Ó²¼þÁ¬½Óµç·ͼÈçͼ6.16Ëùʾ¡£

ͼ6.16 6.16ÌâÀ©Õ¹¼üÅÌÏÔʾÆ÷µç·ͼ

³ÌÐòÈçÏ£º

ORG 1000H

KD1:

MOV A, #0000 0011B ; 8155³õʼ»¯£¬PA£¬PB»ù±¾Êä³ö·½Ê½£¬PCÊäÈ뷽ʽ MOV DPTR, #7F00H MOVX @DPTR, A KEY1:

ACALL KS1 ; µ÷ÓÃÅжÏÊÇ·ñÓмü±ÕºÏ×Ó³ÌÐò JNZ LK1 ; Óмü±ÕºÏתLK1 ACALL DSP8155 ; µ÷ÓÃ8155¶¯Ì¬ÏÔʾ×Ó³ÌÐò£¬ÑÓʱ6ms AJMP KEY1 LK1:

ACALL DSP8155 ACALL DSP8155 ; µ÷ÓÃÁ½´ÎÏÔʾ£¬ÑÓʱ12ms ACALL KS1 JNZ LK2

ACALL DSP8155 ; µ÷ÓÃ8155¶¯Ì¬ÏÔʾ×Ó³ÌÐò£¬ÑÓʱ6ms AJMP KEY1 LK2: MOV

R2, #0FEH

45

MOV R4, #00H LK3: MOV DPTR, #7F01H

MOV A, R2 MOVX @DPTR, A INC DPTR INC DPTR MOVX A, @DPTR JB ACC.0, LONE MOV A, #00H AJMP LKP LONE: JB ACC.1, LTWO

MOV A, #08H AJMP LKP LKP: ADD A, R4

PUSH ACC LK4: ACALL DSP8155

ACALL KS1 JNZ LK4 POP ACC NEXT: INC R4

MOV A, R2 JNB ACC.7, KND RL A MOV R2, A AJMP LK3 KND: AJMP KEY1 KS1: MOV DPTR, #7F01H

MOV A, #00H MOVX @DPTR, A INC DPTR INC DPTR MOVX A, @DPTR CPL A ANL A, #0FH RET

DSP8155: MOV DPTR, #7F00H MOV A, #00000011B

MOVX @DPTR, A DISP1: MOV R0, #7EH MOV A, #80H LOOP: MOV R2, A

MOV DPTR, #7F01H MOVX @DPTR, A MOV A, @R0 MOV DPTR, #PTRN MOVC A, @A+DPTR MOV DPTR, #7F02H MOVX @DPTR, A CALL D1MS DEC R0 MOV A, R2 CLR C RRC A JC PASS AJMP LOOP PASS: RET D1MS: MOV R7, #02H DMS: MOV R6, #0FFH

46

; Ö¸Ïò8155ÃüÁî¼Ä´æÆ÷

; É趨PA¿Ú¡¢PB¿ÚΪ»ù±¾Êä³ö·½Ê½; Êä³öÃüÁî×Ö

; Ö¸Ïò»º³åÇøÄ©µØÖ·

; ɨÃè×Ö£¬PA7Ϊ1£¬´Ó×óÖÁÓÒɨÃè ; ÔÝ´æÉ¨Ãè×Ö ; Ö¸Ïò8155µÄPA ; Êä³öλѡÂë

; ¶ÁÏÔʾ»º³åÇøÒ»×Ö·û ; Ö¸Ïò¶ÎÊý¾Ý±íÊ×µØÖ· ; ²é±í£¬µÃ¶ÎÊý¾Ý ; Ö¸Ïò8155µÄPB ; Êä³ö¶ÎÊý¾Ý ; ÑÓʱ1ms ; µ÷ÕûÖ¸Õë ; ¶Á»ØÉ¨Ãè ; Çå½øÎ»±êÖ¾ ; ɨÃè×ÖÓÒÒÆ ; ½áÊø

; ¼ÌÐøÏÔʾ ; ·µ»Ø

; ÑÓʱ1ms×Ó³ÌÐò

PTRN:

DJNZ DJNZ RET DB DB DB ¡­¡­ END

R6, $

R7, DMS

0C0H, 0F9H, 0A4H, 0B0H, 99H ¡­¡­ ¡­¡­

; ¶ÎÊý¾Ý±í

17£®Éè¼ÆÒ»¸öÓÃ8155¿ØÖÆ32¸ö°´¼üµÄ¼üÅ̽ӿڵç·¡£±àд³ÌÐòʵÏÖÒÔϹ¦ÄÜ£ºÓÃ8155¶¨Ê±Æ÷¶¨Ê±£¬Ã¿¸ô2s¶ÁÒ»´Î¼üÅÌ£¬²¢½«¶Á³öµÄ¼üÖµ´æÈë8155ƬÄÚRAMÒÔ20H¿ªÊ¼µÄµ¥ÔªÖС£ ½â£º

Ó²¼þÁ¬½Óµç·Èçͼ6.17Ëùʾ¡£8155¿ØÖƿڵĿڵØÖ·Îª£º7F00H£»PA¿ÚµØÖ·£º7F01H£»PB¿ÚµØÖ·£º7F02H£»PC¿ÚµØÖ·£º7F03H¡£Æ¬ÄÚRAMµØÖ·£º7E00H~7EFFH¡£¶¨Ê±Æ÷µÍλµØÖ·£º7F04H£»¶¨Ê±Æ÷¸ßλµØÖ·£º7F05H¡£

ͼ6.17 6.17ÌâÀ©Õ¹¼üÅ̵ç·ͼ

³ÌÐòÈçÏ£º

ORG 0000H LJMP MAIN ORG 0013H LJMP IEX1 ORG 0030H

MAIN£º MOV SP£¬#60H

MOV R5£¬#200

MOV DPTR£¬#7FF8H MOV A£¬#11000001 MOVX @DPTR£¬A MOV DPTR£¬#7FFCH MOV A£¬#52H MOVX @DPTR£¬A INC DPTR MOV A£¬#27H MOVX @DPTR£¬A MOV DPTR£¬#7E40H SETB EX1 SETB EA SJMP $ ORG 0200H

IEX1£º DJNZ R5,RETI_0

LCALL KEY1

MOVX @DPTR£¬A INC DPTR

RETI_0£º RETI

£»ÖжϴÎÊý¼ÆÊýÖµ

£»8155³õʼ»¯

£»Ð´¶¨Ê±Æ÷³õÖµ

£»8155ƬÄÚRAMµØÖ·

£»µ÷ÓüüÅÌɨÃè¼°Çó¼üÖµ×Ó³ÌÐò £»´æ¼üÖµ £»Ð޸ĵØÖ· £»ÖжϷµ»Ø

47

ʱ

AJMP KEY1 £»ÎÞ¼ü°´Ï·µ»Ø

LK1£º ACALL T12MS £»µ÷ÑÓʱ12 ms×Ó³ÌÐò

ACALL KS1 £»²éÓÐÎÞ¼ü°´Ï£¬ÈôÓÐÔòΪ¼üȷʵ°´Ï JNZ LK2 £»¼ü°´Ï£¬£¨A£©¡Ù0£¬×ªÖðÁÐɨÃè AJMP KEY1 £»²»ÊǼü°´Ï·µ»Ø

LK2£º MOV R4£¬#00H £»Ê×ÁкÅÈëR4

MOV R2£¬#0FEH £»Ê×ÁÐɨÃè×ÖËÍR2

LK3£º MOV A£¬R2 £»µÚÒ»´ÎÁÐɨÃè

MOV DPTR£¬#7FF9H £»ÁÐɨÃè×ÖËÍÖÁ8155PA¿Ú MOVX @DPTR£¬A £»Ê¹µÚ0ÁÐÏßΪ0 INC DPTR £»Ö¸Ïò8155PC¿Ú INC DPTR MOVX A£¬@DPTR £»8155PC¿Ú¶ÁÈëÐÐ״̬ JB ACC.0£¬LONE £»µÚ0ÐÐÎÞ¼ü°´Ï£¬×ª²éµÚ1ÐÐ MOV A£¬#00H £»µÚ0ÐÐÓмü°´Ï£¬¸ÃÐÐÊ×¼üºÅ#00¡úA AJMP LKP £»×ªÇó¼üºÅ

LONE£º JB ACC.1£¬LTWO £»µÚ1ÐÐÎÞ¼ü°´Ï£¬×ª²éµÚ2ÐÐ

MOV A£¬#08H £»µÚ1ÐÐÓмü°´Ï£¬¸ÃÐÐÊ×¼üºÅ#08¡úA AJMP LKP

LTWO£º JB ACC.2£¬LTHR £»µÚ2ÐÐÎÞ¼ü°´Ï£¬×ª²éµÚ3ÐÐ

MOV A£¬#10H £»µÚ2ÐÐÓмü°´Ï£¬¸ÃÐÐÊ×¼üºÅ#10H¡úA LJMP LKP

LTHR£º JB ACC.3£¬LOOP £»µÚ3ÐÐÎÞ¼ü°´Ï£¬×ª²éÏÂÒ»ÁÐ

MOV A£¬#18H £»µÚ3ÐÐÓмü°´Ï£¬¸ÃÐÐÊ×¼üºÅ#18H¡úA

LKP£º ADD A£¬R4 £»¼üºÅ=ÐÐÊ×½¨ºÅ+ÁкÅ

PUSH ACC £»¼üºÅ½øÕ»±£»¤

LK4£º ACALL KS1 £»µÈ´ý¼üÊÍ·Å

JNZ LK4 £»Î´ÊÍ·Å£¬µÈ´ý POP ACC £»¼üÊÍ·Å£¬¼üºÅ¡úA RET £»¼üɨÃè½áÊø£¬³ö¿Ú״̬£º£¨A£©=¼üºÅ

LOOP£º INC R4 £»Ö¸ÏòÏÂÒ»ÁУ¬ÁкżÓ1

MOV A£¬R2 £»ÅжÏ8ÁÐɨÃèÍêûÓÐ JNB ACC.7£¬KND £»8ÁÐɨÃèÍ꣬·µ»Ø RL A £»É¨Ãè×Ö×óÒÆÒ»Î»£¬×ª±äΪÏÂÒ»ÁÐɨÃè×Ö MOV R2£¬A £»É¨Ãè×ÖÈëR2 AJMP LK3 £»×ªÏÂÒ»ÁÐɨÃè

KND£º AJMP KEY1 KS1£º MOV DPTR£¬#7FF9H £»Ö¸ÏòPA¿Ú

MOV A£¬#00H £»È«É¨Ãè×Ö#00H=00000000B MOVX @DPTR£¬A £»È«É¨Ãè×ÖÈëPA¿Ú INC DPTR £»Ö¸ÏòPC¿Ú INC DPTR MOVX A£¬@DPTR £»¶ÁÈëPC¿ÚÐÐ״̬

CPL A

ANL A£¬#0FH RET £»³ö¿Ú״̬£º£¨A£©¡Ù0ʱÓмü°´Ï T12MS£º MOV R7£¬#18H T12MS1£º MOV R6£¬#0FFH

DJNZ R6£¬$ DJNZ R7£¬T12MS1

RET

END

ORG 0100H

KEY1£º ACALL KS1

JNZ LK1

£»µ÷ÓÃÅжÏÓÐÎÞ¼ü°´ÏÂ×Ó³ÌÐò £»Óмü°´ÏÂʱ£¬£¨A£©¡Ù0£¬×ªÏû¶¶¶¯ÑÓ

18£®Éè¼ÆÒ»¸öTP¦ÌP-40AµÄ´òÓ¡»ú½Ó¿Ú£¬½«´òÓ¡»º³åÇøÖдÓ30H¿ªÊ¼µÄ10×Ö½ÚÊý¾Ý´«Êäµ½´òÓ¡»ú£¬±àд³ÌÐò¡£

48