JNB ACC.4,P4F JNB ACC.5,P5F JNB ACC.6,P6F JNB ACC.7,P7F SJMP LL2
P0F:LJMP PROM0 P1F:LJMP PROM0 P2F:LJMP PROM0 P3F:LJMP PROM0 P4F:LJMP PROM0 P5F:LJMP PROM0 P6F:LJMP PROM0 P7F:LJMP PROM7 PROM0:
LJMP ERR PROM7:
LJMP STAR1
START1:MOV A,#0FFH
MOV P2,#5BH MOV P1,A MOV A,P1
JNB ACC.0,P0E JNB ACC.1,P1E JNB ACC.2,P2E JNB ACC.3,P3E JNB ACC.4,P4E JNB ACC.5,P5E JNB ACC.6,P6E JNB ACC.7,P7E SJMP START1 P0E:LJMP PROM1 P1E:LJMP PROM1 P2E:LJMP PROM1 P3E:LJMP PROM1 P4E:LJMP PROM1 P5E:LJMP PROM1 P6E:LJMP PROM6 P7E:LJMP PROM1 PROM1:
LJMP ERR1 PROM6:
LJMP STAR2
2 输入第二位密码;显示 附录二:程序
START2:MOV A,#0FFH
MOV P2,#4FH ;显示3输入第三位密码 MOV P1,A MOV A,P1
JNB ACC.0,P0D JNB ACC.1,P1D JNB ACC.2,P2D JNB ACC.3,P3D JNB ACC.4,P4D JNB ACC.5,P5D JNB ACC.6,P6D JNB ACC.7,P7D SJMP START2 P0D:LJMP PROM2 P1D:LJMP PROM2 P2D:LJMP PROM2 P3D:LJMP PROM2 P4D:LJMP PROM2 P5D:LJMP PROM5 P6D:LJMP PROM2 P7D:LJMP PROM2 PROM2:
LJMP ERR2 PROM5:
LJMP STAR3
START3:MOV A,#0FFH
MOV P2,#66H MOV P1,A MOV A,P1
JNB ACC.0,P0C JNB ACC.1,P1C JNB ACC.2,P2C JNB ACC.3,P3C JNB ACC.4,P4C JNB ACC.5,P5C JNB ACC.6,P6C JNB ACC.7,P7C SJMP START3 P0C:LJMP PROM3 P1C:LJMP PROM3 P2C:LJMP PROM3 P3C:LJMP PROM3 P4C:LJMP PROM4
;显示4输入第四位密码 - 35 -
P5C:LJMP PROM5 P6C:LJMP PROM3 P7C:LJMP PROM3 PROM3:
LJMP ERR3 PROM4:
CLR P0.0 ;开锁 MOV P2,#6EH ;显示Y(YES) MOV R1,#65H
LL5:CALL DELAY1 ; JNB P0.2, POL ; DJNZ R1,LL5 LJMP LL4
ERR:MOV A,#0FFH MOV P2,#5BH MOV P1,A MOV A,P1
JNB ACC.0,P0A JNB ACC.1,P1A JNB ACC.2,P2A JNB ACC.3,P3A JNB ACC.4,P4A JNB ACC.5,P5A JNB ACC.7,P7A SJMP ERR
P0A:LJMP ERR1 P1A:LJMP ERR1 P2A:LJMP ERR1 P3A:LJMP ERR1 P4A:LJMP ERR1 P5A:LJMP ERR1 P6A:LJMP ERR1 P7E:LJMP ERR1
ERR1:MOV A,#0FFH
MOV P2,#4FH MOV P1,A MOV A,P1
JNB ACC.0,P0B JNB ACC.1,P1B JNB ACC.2,P2B JNB ACC.3,P3B JNB ACC.4,P4B
延时0.1秒 是否改密码 ;显示2输入第二位密码 3 输入第三位密码 ;显示附录二:程序
JNB ACC.5,P5B JNB ACC.6,P6B JNB ACC.7,P7B SJMP ERR1
P0B:LJMP ERR2 P1B:LJMP ERR2 P2B:LJMP ERR2 P3B:LJMP ERR2 P4B:LJMP ERR2 P5B:LJMP ERR2 P6B:LJMP ERR2 P7B:LJMP ERR3
ERR2:MOV A,#0FFH MOV P2,#66H MOV P1,A MOV A,P1
JNB ACC.0,P0H JNB ACC.1,P1H JNB ACC.2,P2H JNB ACC.3,P3H JNB ACC.4,P4H JNB ACC.5,P5H JNB ACC.6,P6H JNB ACC.7,P7H SJMP ERR2
P0H:LJMP ERR3 P1H:LJMP ERR3 P2H:LJMP ERR3 P3H:LJMP ERR3 P4H:LJMP ERR3 P5H:LJMP ERR3 P6H:LJMP ERR3 P7H:LJMP ERR3
ERR3:MOV P3,#00H MOV P2,#79H INC R2 MOV A,R2
CJNE A,#11H LOOP SJMP START
LOOP: CLR P0.1 - 37 -
显示4输入第四位密码;显示E(ERR );三次则跳转;报警;
SETB EX0 SETB EA
MOV PCON,#01H ;待机 HERR:
CLR EX0 CLR EA
SETB P0.0 ;初始状态时,P0.0为0闭锁 JNB P3.0,$ ;P3.0为0就原地转移 CLR P0.0 ;开锁 STEB P0.1 MOV R1,#65H
LL3:CALL DELAY1 ; JNB P0.2, POL ; DJNZ R1,LL3 SETB EX0 SETB EA
MOV PCON,#01H ; SJMP START
DELAY2: ; MOV R4, #60
L1: MOV R5, #100 L2: MOV R6, #100 L3: MOV R7, #100 DJNZ R7, $ DJNZ R6, L3 DJNZ R5, L2 DJNZ R4, L1 RET
DELAY1: MOV R7,#200
LL1:MOV R6,#250 DJNZ R6,$
DJNZ R7,LL1 RET
;蜂鸣器停叫 延时10秒 是否改密码 待机 延时60s@12MHz 延时 0.1s@12MHz ;