自动化实训密码锁功能与程序.docx

上传人:b****5 文档编号:7101405 上传时间:2023-01-17 格式:DOCX 页数:12 大小:38.70KB
下载 相关 举报
自动化实训密码锁功能与程序.docx_第1页
第1页 / 共12页
自动化实训密码锁功能与程序.docx_第2页
第2页 / 共12页
自动化实训密码锁功能与程序.docx_第3页
第3页 / 共12页
自动化实训密码锁功能与程序.docx_第4页
第4页 / 共12页
自动化实训密码锁功能与程序.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

自动化实训密码锁功能与程序.docx

《自动化实训密码锁功能与程序.docx》由会员分享,可在线阅读,更多相关《自动化实训密码锁功能与程序.docx(12页珍藏版)》请在冰豆网上搜索。

自动化实训密码锁功能与程序.docx

自动化实训密码锁功能与程序

基于单片机的电子密码锁设计

 

一.设计思路及功能

本次设计使用ATMEL公司的AT89C51实现一基于单片机的电子密码锁的设计,其主要具有如下功能:

(1)密码通过键盘输入,若输入密码正确,信号绿灯亮则表示将锁打开。

(2)报警、锁定键盘功能。

密码输入错误数码显示器会出现错误提示,并且信号灯红灯亮,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。

电子密码锁的设计主要由三部分组成:

4×4矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。

另外系统还有LED提示灯,发光二极管,报警蜂鸣器等。

密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能:

(1)密码输入功能:

按下一个数字键,一个“-”就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位。

(2)密码清除功能:

当按下清除键时,清除前面输入的所有值,并清除所有显示。

(3)开锁功能:

当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开(即绿灯亮),否则不打开即红灯亮。

初步设计思路如下:

输入密码用矩形键盘(4×4矩阵键盘接口电路),包括数字键和功能键。

LED数码管显示输入密码,用74JS247驱动数码管发光显示数码,用74LS138控制各位显示器分时进行显示。

用发光二极管代替开锁的电路,发光二极管绿灯发光表示开锁。

输入密码错误次数超过3次,系统报警(蜂鸣器报警)。

打开电源后,显示器显示“000000”,设原始密码为“123456”,只要输入此密码便了开门。

这样可预防停电后再来电时无密码可用。

按“C”键,清除显示器为“000000”。

欲重新设定密码,先输入密码在案“*”。

输入密码,再按“D”键。

若密码与设定密码相同,则开门。

否则显示器清为“000000”。

软件的设计主要包括键盘键值的读取,LED显示程序,密码比较程序和报警程序。

二.系统总体方案设计

采用一种是用以AT89S51为核心的单片机控制方案。

利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。

其原理如图1-2所示。

矩阵

键盘

控制

4×4键盘

89S51

单片机

输入正确开锁信号灯(绿)

报警器(蜂鸣器)

时钟电路

指示电路LED

复位电路

图2-2单片机控制方案

本方案采用一种是用以89S51为核心的单片机控制方案。

利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。

 

软件设计思路

电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。

当输入密码连续输入错误3次时,系统报警。

密码的设定,在此程序中密码是固定40H—45H中,假设预设的密码为"123456"共6位密码。

由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。

在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。

进入密码的判断比较处理状态并给出相应的处理过程。

(一).各子程序设计

1键盘扫描子程序

键盘扫描流程图如图4.2.1

图4.2.1键盘扫描流程图

键盘扫描子程序如下:

L2:

MOVR3,#0F7H

MOVR1,#00H

L3:

MOVA,R3

MOVP1,A

MOVA,P1

MOVR4,A

SETBC

MOVR5,#04H

L4:

RLCA

JNCKEYIN

INCR1

DJNZR5,L4

CALLDISP

MOVA,R3

SETBC

RRCA

MOVR3,A

JCL3

JMPL2

2.LED数码管显示子程序

LED显示流程图如图4.2.2

图4.2.2LED显示流程图

LED显示子程序如下:

DISP:

MOVR0,#45H

DISP1:

MOVA,@R0

ADDA,#50H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#40H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#30H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#20H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#10H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#00H

MOVP0,A

CALLDELAY

RET

3密码比较和报警程序

密码比较和报警流程图如4.2.3

图4.2.3密码比较和报警流程

密码比较和报警程序:

COMP:

MOVR1,#45H

MOVR0,#35H

MOVR2,#06H

C1:

MOVA,@R1

XRLA,@R0

JNZC3

DECR1

DECR0

DJNZR2,C1

CLRP2.0

MOVR2,#200

C2:

MOVR6,#248

DJNZR6,$

DJNZR2,C2

C3:

INCR5

MOVA,R5

MOVR5,A

CJNER5,#03H,C4

CLRP2.1

MOVR5,#00H

C4:

JMPSTART

 

附录

源程序清单

ORG00H

MOVR5,#00H

MOVR7,#00H

DJNZR7,$

MOVR7,#10H

MOVR6,#06H

MOVR1,#35H

L1:

MOVA,R7

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOV@R1,A

DECR1

INCR7

DJNZR6,L1

START:

ORLP2,#0FFH

MOVR4,#06H

MOVR0,#40H

CLEAR:

MOV@R0,#00H

INCR0

DJNZR4,CLEAR

L2:

MOVR3,#0F7H

MOVR1,#00H

L3:

MOVA,R3

MOVP1,A

MOVA,P1

MOVR4,A

SETBC

MOVR5,#04H

L4:

RLCA

JNCKEYIN

INCR1

DJNZR5,L4

CALLDISP

MOVA,R3

SETBC

RRCA

MOVR3,A

JCL3

JMPL2

KEYIN:

MOVA,R1

XRLA,#0BH

JZX3

MOVA,R1

XRLA,#0FH

JZX4

MOVR7,#10

D1:

MOVR6,#24

DJNZR6,$

DJNZR7,D1

D2:

MOVA,P1

XRLA,R4

JZD2

MOVA,R1

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOVR7,A

XRLA,#0AH

JZSET0

MOVA,R7

XRLA,#0BH

JZSTART

MOVA,R7

XRLA,#0CH

JZL2

MOVA,R7

XRLA,#0DH

JZL2

MOVA,R7

XCHA,40H

XCHA,41H

XCHA,42H

XCHA,43H

XCHA,44H

XCHA,45H

CALLDISP

JMPL2

X3:

JMPDISP2

X4:

JMPCOMP

DISP:

MOVR0,#45H

DISP1:

MOVA,@R0

ADDA,#50H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#40H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#30H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#20H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#10H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#00H

MOVP0,A

CALLDELAY

RET

SET0:

MOVR2,#06H

MOVR0,#40H

MOVR1,#30H

E1:

MOVA,@R0

XCHA,@R1

INCR0

INCR1

DJNZR2,E1

CALLDELAY

E2:

JMPSTART

COMP:

MOVR1,#45H

MOVR0,#35H

MOVR2,#06H

C1:

MOVA,@R1

XRLA,@R0

JNZC3

DECR1

DECR0

DJNZR2,C1

CLRP2.0

MOVR2,#200

C2:

MOVR6,#248

DJNZR6,$

DJNZR2,C2

C3:

INCR5

MOVA,R5

MOVR5,A

CJNER5,#03H,C4

CLRP2.1

MOVR5,#00H

C4:

JMPSTART

DISP2:

MOVR0,#35H

CALLDISP

MOVA,P1

XRLA,R4

JZDISP2

CALLDELAY

JMPSTART

DELAY:

MOVR7,#C3

D3:

MOVR6,#248

DJNZR7,D3

RET

ORG300H

TABLE:

DB01H02H03H0CH

DB04H05H06H0DH

DB07H08H09H0EH

DB0AH00H0BH0FH

DB01H02H03H04H05H06H

END

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 财会金融考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1