单片机系统软件设计

点击次数:   更新时间:2017-06-16 20:27     来源:未知 分    享:
 1.软件设计思路
电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。当输入密码连续输入错误3次时,系统报警。
密码的设定,在此程序中密码是固定40H—45H  中,假设预设的密码为"123456"共6位密码。
由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。
2.各子程序设计
1 键盘扫描子程序
键盘扫描流程图如图4.2.1

图4.2.1 键盘扫描流程图
键盘扫描子程序如下:
L2:    MOV R3,#0F7H
       MOV R1,#00H
L3:    MOV A,R3
       MOV P1,A
       MOV A,P1
       MOV R4,A
       SETB C
       MOV R5,#04H
L4:    RLC A
       JNC KEYIN
       INC R1
       DJNZ R5,L4
       CALL DISP
       MOV A,R3
       SETB C
       RRC A
       MOV R3,A
       JC L3
       JMP L2
2 LED显示子程序
LED显示流程图如图4.2.2

图4.2.2 LED显示流程图
LED显示子程序如下:
DISP:MOV R0,#45H
DISP1: MOV A,@R0
       ADD A,#50H
       MOV P0,A
       CALL DELAY
       DEC R0
       MOV A,@R0
       ADD A,#40H
       MOV P0,A
       CALL DELAY
       DEC R0
       MOV A,@R0
       ADD A,#30H
       MOV P0,A
       CALL DELAY
       DEC R0
       MOV A,@R0
       ADD A,#20H
       MOV P0,A
       CALL DELAY
       DEC R0
       MOV A,@R0
       ADD A,#10H
       MOV P0,A
       CALL DELAY
       DEC R0
       MOV A,@R0
       ADD A,#00H
       MOV P0,A
       CALL DELAY
       RET
3 密码比较和报警程序
密码比较和报警流程图如4.2.3

图4.2.3 密码比较和报警流程
密码比较和报警程序:
COMP:  MOV R1,#45H
       MOV R0,#35H
       MOV R2,#06H
C1:    MOV A,@R1
       XRL A,@R0
       JNZ C3
       DEC R1
       DEC R0
       DJNZ R2,C1
       CLR P2.0
       MOV R2,#200
C2:    MOV R6,#248
       DJNZ R6,$
       DJNZ R2,C2
C3:     INC R5
          MOV A,R5
          MOV R5,A
        CJNE  R5 ,#03H,C4
         CLR  P2.1
       MOV R5,#00H
 C4:  JMP START
上海育仰科教设备有限公司
联系人:张经理
联系电话:15216837090
公司电话:021-60766769
公司地址:上海市嘉定区鹤旋路26弄22号