ORG 0000HMOV P3,#0BFHMOV R4,#00HBEGIN: MOV R0,#01FHMOV R3,#02HKEY : MOV P1,#0FHMOV A,P1ANL A,#0FHCJNE A,#0FH,KEY1SJMP KEYKEY1: MOV R4,#0BFHLCALL DEL12MOV A,#0EFHKEY2: MOV R2,AMOV P2,AMOV A,P2ANL A,#0F 展开
ORG 0000HMOV P3,#0BFHMOV R4,#00HBEGIN: MOV R0,#01FHMOV R3,#02HKEY : MOV P1,#0FHMOV A,P1ANL A,#0FHCJNE A,#0FH,KEY1SJMP KEYKEY1: MOV R4,#0BFHLCALL DEL12MOV A,#0EFHKEY2: MOV R2,AMOV P2,AMOV A,P2ANL A,#0FHCJNE A,#0FH,KEY3MOV A,R2RLC AJC KEY2SJMP KEYKEY3: MOV B,#0FBHKEY4: RRC AINC BJC KEY4MOV A,R2SWAP AKEY5: RRC AINC BINC BINC BINC BJC KEY5KEY6: MOV A,P1ANL A,#0FHCJNE A,#0FH,KEY6LCALL DEL12LCALL OPREATLJMP KEYORG 0101HDEL12: MOV R6,#02EHDEL2: MOV R7,#63HDEL1: DJNZ R7,DEL1DJNZ R6,DEL2RETORG 0200HOPREAT:INC R1MOV A,BMOV @R0,ACJNE A,#0FH,COUNTCJNE R3,#08H,ERRORMOV R1,#21HMOV B,#00HMOV DPTR,#TABLOOP: MOV A,BMOVC A,@A+DPTRSUBB A,@R1JNZ ERRORINC R1INC BDJNZ R3,LOOPOPEN: MOV R4, #0BEHLJMP $ERROR: MOV R4,#0BDHINC R4CJNE R4,#03H,AGAINALARM: MOV R4,#0B9HLJMP $AGAIN: LJMP BEGINCOUNT: INC R3RETTAB:DB 02H,00H,00H,08H,02H,00H,00H,09HEND 收起