基于AT829S5的密码锁汇编程序,实现不了功能,帮忙修改一下

2019-07-15 19:54发布


我们的课程设计,程序不够完整,没实现功能,求帮忙修改一下

功能要求:(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       

电路原理图:           基于AT89S52的密码锁设计 电路原理图
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。