我们的课程设计,程序不够完整,没实现功能,求帮忙修改一下
功能要求:(1)总共可以设置8位密码,每位密码值范围为1~8
(2)用户可以自行设定和修改密码
(3)按每个密码按键都有声音提示
(4)若键入的8位开锁密码不完全正确,则报警5s,以提醒他人注意
(5)开锁密码连续错3次要报警1分钟,报警期间输入密码无效,以防窃贼多次试探密码
(6)键入的8位开锁密码完全正确才能开锁,开锁时要有1s的提示音
(7)电磁锁的电磁线圈每次通电5s,然后恢复初态
(8)密码键盘上只允许有8个密码按键,锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的
(9)密码设定完毕后要有2s的提示音
程序清单: ORG 0000H AJMP START
ORG 0030H
START:ACALL BP
MOV R0,#31H
MOV R2,#8
SETA:MOV P1,#0FFH
MOV A,P1
CJNE A,#0FFH,L8
AJMP SETA
L8:ACALL DELAY
CJNE A,#0FFH,SAVE
AJMP SETA
SAVE:ACALL BP
MOV @R0,A
INC R0
DJNZ R2,SETA
MOV R5,#16
D2S:ACALL BP
DJNZ R5,D2S
MOV R0,#31H
MOV R3,#3
AA1:MOV R2,#8
AA2:MOV P1,#0FFH
MOV A,P1
CJNE A,#0FFH,L9
AJMP AA2
L9:ACALL DELAY
CJNE A,#0FFH,AA3
AJMP AA2
AA3:ACALL BP
CLR C
SUBB A,@R0
INC R0
CJNE A,#00H,AA4
AJMP AA5
AA4:SETB 00H
AA5:DJNZ R2,AA2
JB 00H,AA6
CLR P3.5
L3:MOV R5,#8
ACALL BP
DJNZ R4,L3
MOV R3,#3
SETB P3.5
AJMP AA1
AA6:DJNZ R3,AA7
MOV R5,#24
L5:MOV R4,#200
L4:ACALL BP
DJNZ R4,L4
DJNZ R5,L5
MOV R3,#3
AA7:MOV R5,#40
ACALL BP
DJNZ R5,AA7
AA8:CLR 00H
AJMP AA1
BP:CLR P3.7
MOV R7,#250
L2:MOV R6,#124
L1:DJNZ R6,L1
CPL P3.7
DJNZ R7,L2
SETB P3.7
RET
DELAY:MOV R7,#20
L7:MOV R6,#125
L6:DJNZ R6,L6
DJNZ R7,L7
RET
END
电路原理图:
一周热门 更多>