LCD显示制作电子密码锁(2)

2020-08-09 18:28

晶振 LCD显示 按键 2 1 5 12MHz 12864 三、软件设计

首先编程实现电子密码锁的功能,然后单独实现控制LCD的初始化和各项控制,两部分功能实现后进行相互嵌套调用即可融合在一起。

程序清单

ORG 0000H AJMP MAIN ORG 0013H AJMP INT_1 RS BIT P2.2 RW BIT P2.1 EN BIT P2.0 CS1 BIT P2.4 CS2 BIT P2.3 DAT EQU 40H COM EQU 41H PAG EQU 42H LINE EQU 43H COLUMN EQU 44H ONOFF EQU 45H SCREEN EQU 46H ORG 0100H

MAIN: MOV SP,#60H SETB IT1 SETB EA

MOV 30H,#01 ;赋初值 MOV 31H,#02 MOV 32H,#03

MOV R3,#00 ;输入密码正确数 MOV R7,#03H

L0: MOV P1,#7FH ;点亮红灯表示锁住

MOV R0,#50H ;输入的密码存放区的首地址 CLR EX1

MOV R1,#00 ;可以输入三个密码 ACALL Initlcd

ACALL Clearscreen ACALL Set_line

MOV SCREEN,#1 MOV PAG,#2 MOV COLUMN,#0 ACALL DISPLAY LJMP D3 SJMP $

SR: CJNE R1,#03,L1 ;判断是否输入三个密码 L6: JB P1.0,$ ;确定键是否按下 ACALL DEL_10MS JB P1.0,L6 JNB P1.0,$

LCALL JY ;开始校验密码

MOV P1,#0BFH ;点亮绿灯表示打开

SETB EX1 ;密码正确后开中断表示可以修改密码 ACALL Clearscreen ACALL ZQ

LCALL DEL_5S ;5秒后不打开自动关闭 CJNE R3,#02,L0 ;允许输入三次 L1:JB P1.1,L2 ;第一个按键 ACALL DEL_10MS JB P1.1,L1 JNB P1.1,$ ACALL XH LCALL PRE_1 SJMP SR

L2:JB P1.2,L3 ;第二个按键 ACALL DEL_10MS JB P1.2,L2 JNB P1.2,$ ACALL XH

LCALL PRE_2 SJMP SR

L3:JB P1.3,L1 ;第三个按键 ACALL DEL_10MS JB P1.3,L3 JNB P1.3,$ ACALL XH

LCALL PRE_3 LCALL SR

PRE_1:MOV @R0,#01 INC R0

INC R1 RET

PRE_2:MOV @R0,#02 INC R0 INC R1 RET

PRE_3:MOV @R0,#03 INC R0 INC R1 RET

JY: MOV R0,#50H ;校验密码 MOV A,@R0 CJNE A,30H,FT INC R0

MOV A,@R0 CJNE A,31H,FT INC R0

MOV A,@R0 CJNE A,32H,FT RET FT: INC R3

MOV P1,#5FH

ACALL Clearscreen ACALL CW ACALL DEL_5S CJNE R3,#03,L9 LX: MOV P1,#0FFH LCALL DEL_10MS MOV P1,#7FH LCALL DEL_10MS DJNZ R7,LX MOV P1,#0FFH

ACALL Clearscreen ACALL DBQ

ACALL Clearscreen

SJMP $ ;输入三次后锁死 L9:LCALL L0 RET

DEL_10MS:MOV TMOD,#01H ;延时10MS MOV TL0,#0F0H MOV TH0,#0D8H

SETB TR0

JNB TF0,$

MOV TL0,#0F0H MOV TH0,#0D8H CLR TF0 RET

DEL_5S: MOV R7,#5 L4: MOV R6,#100 L5: LCALL DEL_10MS DJNZ R6,L5 DJNZ R7,L4 RET

L7: MOV TMOD,#10H MOV TH1,#3CH MOV TL1,#0B0H MOV R5,#5 SETB TR1 LOOP:JNB TF0,$

MOV TH1,#3CH MOV TL1,#0B0H CLR TF1

DJNZ R5,LOOP CPL P0.0 JB P1.4,L7 JNB P1.4,$ RET

INT_1:MOV P1,#1FH ACALL Selectscreen ACALL Clearscreen ACALL XG MOV R0,#30H MOV R1,#00 MOV R3,#00

ZD_1:JB P1.1,ZD_2 ACALL DEL_10MS JB P1.1,ZD_1 JNB P1.1,$ ACALL XH LCALL ZD_4 SJMP ZD_7

ZD_2: JB P1.2,ZD_3 中断开始 ;开始重新输入第一个密码 ;第二个密码

; ACALL DEL_10MS JB P1.2,ZD_2 JNB P1.2,$ ACALL XH

LCALL ZD_5 SJMP ZD_7

ZD_3: JB P1.3,ZD_1 ;第三个密码 ACALL DEL_10MS JB P1.3,ZD_3 JNB P1.3,$ ACALL XH

LCALL ZD_6 SJMP ZD_7

ZD_4:MOV @R0,#01 ;重新赋值给30H INC R1 INC R0 RET

ZD_5:MOV @R0,#02 ;重新赋值给31H INC R1 INC R0 RET

ZD_6:MOV @R0,#03 ;重新赋值给32H INC R1 INC R0 RET

ZD_7:CJNE R1,#03,ZD_1

JB P1.0,$ ;确定键是否按下 ACALL DEL_10MS JB P1.0,$ JNB P1.0,$ MOV P1,#07FH RETI Read_busy:

MOV P0,#00H CLR RS SETB RW SETB EN L10: ANL A,P0 JB ACC.7,L10 CLR EN RET


LCD显示制作电子密码锁(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高考专题:现代文阅读

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: