电子密码锁设计报告 本文关键词:密码锁,报告,设计,电子
电子密码锁设计报告 本文简介:湖南工程学院课程设计任务书课程名称单片机原理与应用课题电子密码锁设计专业班级电子信息0801学生姓名学号指导老师周向红、李晓秀、赵葵银审批周向红任务书下达日期2011年5月9日任务完成日期2011年5月25日设计内容与设计要求设计内容:以51系列单片机为核心,以开发板为平台;设计一个电子密码锁,要求
电子密码锁设计报告 本文内容:
湖南工程学院
课
程
设
计
任
务
书
课程名称
单片机原理与应用
课
题
电子密码锁设计
专业班级
电子信息0801
学生姓名
学
号
指导老师
周向红、李晓秀、赵葵银
审
批
周向红
任务书下达日期
2011年
5月
9
日
任务完成日期
2011年
5月
25
日
设计内容与设计要求
设计内容:
以51系列单片机为核心,以开发板为平台;设计一个电子密码锁,要求能完成密码锁的基本功能:能完成密码的输入(4~6位)、显示;并确认,如正确,则开锁,反之,不开锁,重新输入密码;如3次输入密码错误,则报警。设计任务包括控制系统硬件设计和应用程序设计。
设计要求:
1)确定系统设计方案;
2)进行系统的硬件设计;
3)完成必要元器件选择;
4)开发板焊接及测试
5)系统软件设计及调试;
6)系统联调及操作说明
7)写说明书
主
要
设
计
条
件
1、
MCS-51单片机实验操作台1台;
2、
PC机及单片机调试软件,仿真软件proteus;
3、
开发板1块;
4、
制作工具1套;
5、系统设计所需的元器件。
说
明
书
格
式
目
录
第1章、概述
第2章、系统总体方案设计
第3章
硬件设计
第4章
软件设计及调试
第5章
系统联调及操作说明
第6章
参考文献
附录A
系统硬件原理图
附录B
程序清单
进
度
安
排
设计时间分为二周
第一周
星期一、上午:布置课题任务,课题介绍及讲课。
下午:借阅有关资料,总体方案讨论。
星期二、分班级焊接开发板
星期三、确定总体方案,学习与设计相关内容。
星期四、各部分方案设计,各部分设计。
星期五、设计及上机调试。
星期六、设计并调试
第二周
星期一:设计及上机调试。
星期二:调试,中期检查。
星期三:调试、写说明书。
星期四--星期五上午:写说明书、完成电子版并打印成稿。
星期五下午:答辩。
参
考
文
献
1、
王迎旭编.《单片机原理与应用》[M].机械工业出版社.
2、
楼然苗编.《51系列单片机设计实例》[M].北京航空航天大学出版社.
3、
黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社
4、刘乐善编.《微型计算机接口技术及应用》[M].华中科技大学出版社.
5、陈光东编.《单片微型计算机原理及接口技术》[M].华中科技大学出版社.
目
录
第1章
概述
.P7
第2章
系统总体方案设计
.P8
第3章
硬件设计
.P9
第4章
软件设计及调试
.P12
第5章
总结
.P15
第6章
参考文献
.P15
第7章
附录A
系统硬件原理图
.P16
第8章
附录B
程序清单
.P16
第1章
概
述
密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的数字密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其特点是保密性好,随机开锁成功率几乎为零。密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。无活动零件,不会磨损,寿命长。使用灵活性好,不像机械锁必须佩带钥匙才能开锁。数字密码锁操作简单易行,一学就会。
本设计使用软件仿真,实现了既定的功能和要求,能使系统正确地开启密码锁和更改密码,而数码管能够正确地显示输入密码。本实验设计了16个开关按键,每次按下键需要检验是否确实按下,若是则输入密码;否则,就等待按键按下。
关键字:AT89C51、7段LED数码管、74LS247、74LS138、与非门、4*4矩阵键盘等
第2章
系统总体方案设计
3输入错误锁定键盘
用以AT89S51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,完成设计的要求和功能。其原理如图所示。
矩阵
键盘
控制
89S51
单片机
复位电路
开锁控制电路
3次输入错误延时报警电路
串口显示电路
单片机控制方案
初步设计思路如下:
输入密码用矩形键盘,包括数字键和功能键。
LED数码管显示输入密码,用74JS247驱动数码管发光显示数码,用74LS138控制各位显示器分时进行显示。
用发光二极管代替开锁的电路,发光表示开锁。
输入密码错误次数超过3次,系统报警(用红色LED灯代替)。
打开电源后,显示器显示“000000”,设原始密码为“123456”,只要输入此密码便了开门。这样可预防停电后再来电时无密码可用。按“#”键,清除显示器为“000000”。欲重新设定密码,先输入密码在按“*”。
输入密码,再按“D”键。若密码与设定密码相同,则开门。否则显示器清为“000000”。
第3章
硬件电路设计
3.1
键盘电路设计
使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。其原理如下图:
矩阵键盘
每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。
在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。
当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。
对照图所示的4×4键盘,说明线反转个工作原理。
首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。
判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。
具体的功能设计如表:
按键功能表
按
键
键
名
功
能
说
明
1-9键
数
字
键
输
入
密
码
键
重
设
密
码
键
设
定
新
密
码
D键
确
定
键
比
较
密
码
#
键
清
除
键
使
显
示
器
清
零
3.2
LED显示电路
本系统设计的显示电路是为了给使用者以提示而设置的。本系统的显示采用串行显示的方式,只使用单片机的一个串行口,利用74LS247驱动数码管发光显示数码和74LS138控制位选信号,就可以完成单片机的显示功能,显示电路的电路原理图如图所示。LED显示为4位共阳极显示器,用P0.0—P0.3接74LS247的A,B,C,D四端口,74LS247的输出口接LED的七段显示(输出端低电平有效);而P0.4—P0.6接74LS138的A,B,C三个输入口,74LS138的输出口接LED的位显示。通过软件实现数字和位控制。
LED显示电路
3.3
开锁电路
在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。电路图如下所示。当P2.0口输出低电平时,二极管发光,表示开锁。
开锁电路
3.4报警电路
报警模块由红色LED灯和单片机组成。当89C51的P2.1口输出为低电平时,红色LED灯亮,89C51输出为高电平时,红色LED灯处于熄灭状态。
第四章
软件设计
4.1软件设计思路
电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。当输入密码连续输入错误3次时,系统报警。
密码的设定,在此程序中密码是固定40H—45H中,假设预设的密码为“123456“共6位密码。
由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。
4.2
各子程序设计
通过流程图来体现各个子程序的工作原理,及程序执行情况和功能。
4.2.1
、键盘扫描子程序流程图:
键盘扫描流程图
4.2.2
、LED显示子程序流程图:
LED显示流程图
4.2.3、
密码比较和报警程序警流程图:
密码比较和报警流程
4.2.4、延时子程序说明:
我们的延时子程序通过软件延时,也就是先个两个寄存器分别赋予初值,然后减一之后判断是否为零,都为零时延时结束,不为零继续执行,从而实现延时。
第五章
总结
第六章
参考文献
1.王迎旭编.《单片机原理与应用》[M].机械工业出版社.
2.楼然苗编.《51系列单片机设计实例》[M].北京航空航天大学出版社.
3.黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社
4.刘乐善编.《微型计算机接口技术及应用》[M].华中科技大学出版社.
5.陈光东编.《单片微型计算机原理及接口技术》[M].华中科技大学出版社.
第七章
附录A
系统硬件原理图
第八章
附录B
程序清单
ORG
0000H
;程序初始化及原始密码输入程序
MOV
R7,#00H
DJNZ
R7,$
MOV
R7,#10H
MOV
R6,#06H
MOV
R1,#35H
MOV
R5,#00H
L1:
MOV
A,R7
MOV
DPTR,#TABLE
MOVC
A,@A+DPTR
MOV
@R1,A
DEC
R1
INC
R7
DJNZ
R6,L1
START:
MOV
P2,#0FFH
;键盘扫描程序
MOV
R4,#06H
MOV
R0,#40H
CLEAR:
MOV
@R0,#00H
INC
R0
DJNZ
R4,CLEAR
L2:
MOV
R3,#0F7H
MOV
R1,#00H
L3:
MOV
A,R3
MOV
P1,A
MOV
A,P1
MOV
R4,A
SETB
C
MOV
R6,#04H
L4:
RLC
A
JNC
KEYIN
INC
R1
DJNZ
R6,L4
CALL
DISP
MOV
A,R3
SETB
C
RRC
A
MOV
R3,A
JC
L3
JMP
L2
KEYIN:
MOV
A,R1
;判断键值程序
XRL
A,#0BH
JZ
X3
MOV
A,R1
XRL
A,#0FH
JZ
X4
MOV
R7,#10
D1:
MOV
R6,#24
DJNZ
R6,$
DJNZ
R7,D1
D2:
MOV
A,P1
XRL
A,R4
JZ
D2
MOV
A,R1
MOV
DPTR,#TABLE
MOVC
A,@A+DPTR
MOV
R7,A
MOV
A,R7
XRL
A,#0AH
JZ
SET0
MOV
A,R7
XRL
A,#0BH
JZ
START
MOV
A,R7
XRL
A,#0CH
JZ
L2
MOV
A,R7
XRL
A,#0DH
JZ
L2
MOV
A,R7
XRL
A,#0EH
JZ
L2
MOV
A,R7
XCH
A,40H
XCH
A,41H
XCH
A,42H
XCH
A,43H
XCH
A,44H
XCH
A,45H
CALL
DISP
JMP
L2
X3:
JMP
DISP2
X4:
JMP
COMP
DISP:
MOV
R0,#45H
;显示程序
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
SET0:
MOV
R2,#06H
;重设密码程序
MOV
R0,#45H
MOV
R1,#35H
E1:
MOV
A,@R0
XCH
A,@R1
DEC
R0
DEC
R1
DJNZ
R2,E1
CALL
DELAY
E2:
JMP
START
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
R1,#50
;密码正确
CC2:
MOV
R2,#100
C2:
MOV
R6,#100
DJNZ
R6,$
DJNZ
R2,C2
DJNZ
R1,CC2
JMP
START
C3:
CLR
P2.2
;密码错误显示
MOV
R1,#10
CC5:
MOV
R2,#100
C5:
MOV
R6,#100
DJNZ
R6,$
DJNZ
R2,C5
DJNZ
R1,CC5
INC
46H
MOV
A,46H
CJNE
A,#03H,CC4
;错误是否有3次判断
MOV
46H,#00H
ACALL
K1
CC4:
JC
C4
C4:
JMP
START
K1:
SETB
P2.2
MOV
R0,#3
K11:
CLR
P2.1
MOV
R2,#20
KK1:
MOV
R3,#50
KK2:
MOV
R4,#100
DJNZ
R4,$
DJNZ
R3,KK2
DJNZ
R2,KK1
RET
DISP2:
MOV
R0,#35H
;清零程序
CALL
DISP
MOV
A,P1
XRL
A,R4
JZ
DISP2
CALL
DELAY
JMP
START
DELAY:
MOV
R7,#93
;延时子程序
D3:
MOV
R6,#248
DJNZ
R7,D3
RET
ORG
0300H
TABLE:
DB
01H,02H,03H,0CH
DB
04H,05H,06H,0DH
DB
07H,08H,09H,0EH
DB
0AH,00H,0BH,0FH
DB
01H,02H,03H,04H,05H,06H
END
电气与信息工程系课程设计评分表
项
目
评
价
设计方案的合理性与创造性
开发板焊接及其调试完成情况
硬件设计或软件编程完成情况*
硬件测试及软件调试结果*
设计说明书质量
设计图纸质量
答辩汇报的条理性和独特见解
答辩中对所提问题的回答情况
完成任务情况
独立工作能力
组织纪律性(出勤率)
综合评分
指导教师签名:________________
日
期:________________
注:①表中标*号项目是硬件制作或软件编程类课题必填内容;
②此表装订在课程设计说明书的最后一页。课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。
23