单片机课程设计电子密码锁Word格式.docx
- 文档编号:21810055
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:23
- 大小:400.64KB
单片机课程设计电子密码锁Word格式.docx
《单片机课程设计电子密码锁Word格式.docx》由会员分享,可在线阅读,更多相关《单片机课程设计电子密码锁Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
③开锁功能:
当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。
主要的设计实施过程:
首先,选用ATMEL公司的单片机AT89C51,以及选购其他电子元器件。
第二步,使用DXP2004
设计硬件电路原理图,并设计PCB图完成人工布线(后因PCB板损坏决定采用万能板焊接的方法)。
第三步,使用KeiluVision3软件编写单片机的C语言程序、仿真、软件调试。
第四部,使用PROTEUS软件进行模拟软、硬件调试。
最后,联合软、硬件调试电路板,完成本次毕业设计。
关键词:
4矩阵键盘;
AT89C51;
密码锁;
密码二次确认;
电子密码锁
第一章:
系统的总体方案设计
1.1系统方案的选择:
综合其他多种方案设计的优缺点,采用以AT89S51为核心的单片机控制方案。
利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。
其原理如图1-2所示。
图2-2单片机控制方案
该方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。
本方案采用一种是用以89S51为核心的单片机控制方案。
利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。
1.2系统的设计思路:
1.输入密码用矩形键盘,包括数字键和功能键。
2.LED数码管显示输入密码,用74JS247驱动数码管发光显示数码,用74LS138控制各位显示器分时进行显示。
3.用发光二极管代替开锁的电路,发光表示开锁。
4.输入密码错误次数超过3次,系统报警。
5.打开电源后,显示器显示“000000”,设原始密码为“123456”,只要输入此密码便了开门。
这样可预防停电后再来电时无密码可用。
6.按“C”键,清除显示器为“000000”。
7.欲重新设定密码,先输入密码在案“*”。
8.输入密码,再按“D”键。
若密码与设定密码相同,则开门。
否则显示器清为“000000”。
9.软件的设计主要包括键盘键值的读取,LED显示程序,密码比较程序和报警程序。
第2章硬件电路设计
2.1键盘电路设计
使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。
其原理如图2.1
。
图2.1矩阵键盘
每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需N条行线和M条列线,即可组成具有N×
M个按键的键盘。
在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。
当确认有按键按下后,下一步就要识别哪一个按键按下。
对键的识别通常有两种方法:
一种是常用的逐行扫描查询法;
另一种是速度较快的线反转法。
对照图2.1所示的4×
4键盘,说明线反转个工作原理。
首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。
方法是:
向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。
如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。
判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。
依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;
如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。
具体的功能设计如表2.1:
表2.1按键功能
按键
键名
功能说明
1-9键
数字键
输入密码
*键
重设密码键
设定新密码
D键
确定键
比较密码
#键
清除键
使显示器清零
2.2LED显示电路
本系统设计的显示电路是为了给使用者以提示而设置的。
本系统的显示采用串行显示的方式,只使用单片机的一个串行口,利用74LS247驱动数码管发光显示数码和74LS138控制位选信号,就可以完成单片机的显示功能,显示电路的电路原理图如图2.2所示。
用P0.0—P0.3接74LS247的A,B,C,D四端口,74LS247的输出口接LED的七段显示;
而P0.4—P0.6接74LS138的A,B,C三个输入口,74LS138的输出口接LED的位显示。
通过软件实现数字和位控制。
图2.2LED显示电路
用74LS247可以控制输出什么字型。
74LS247的逻辑功能表如表2.2:
表2.274LS247的逻辑功能表
用74LS138控制位循环显示,其逻辑功能表如表2.3:
表2.374LS138逻辑功能表
C
B
A
Y1
Y2
Y0
Y3
Y4
Y5
Y6
Y7
1
1
0
2.3开锁电路
在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;
灭,表示没有开锁。
电路图如2.3所示。
当P2.0口输出低电平时,二极管发光,表示开锁。
图3.3开锁电路
2.4报警电路
图2.4报警电路
报警模块由蜂鸣器和单片机组成。
选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100mA驱动电流。
蜂鸣器电路如图2.4所示。
当89C51的P2.1口输出为低电平时,蜂鸣器产生蜂鸣音,89C51输出为高电平时,蜂鸣器不发声。
第三章软件设计
3.1软件设计思路
电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。
当输入密码连续输入错误3次时,系统报警。
密码的设定,在此程序中密码是固定40H—45H中,假设预设的密码为"
123456"
共6位密码。
由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。
在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;
或者输入确认功能键之后,才能完成密码的输入过程。
进入密码的判断比较处理状态并给出相应的处理过程。
3.2各子程序设计
1.键盘扫描子程序
键盘扫描流程图如图3.2.1
图3.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
RRCA
MOVR3,A
JCL3
JMPL2
2.LED显示子程序
LED显示流程图如图3.2.2
图3.2.2LED显示流程图
LED显示子程序如下(请结合总程序进行阅读):
DISP:
MOVR0,#45H
DISP1:
MOVA,@R0
ADDA,#50H
MOVP0,A
CALLDELAY
DECR0
ADDA,#40H
ADDA,#30H
ADDA,#20H
ADDA,#10H
ADDA,#00H
RET
3密码比较和报警程序
密码比较和报警流程图如3.2.3
图3.2.3密码比较和报警流程
密码比较和报警程序(请结合总程序进行阅读):
COMP:
MOVR1,#45H
MOVR0,#35H
MOVR2,#06H
C1:
MOVA,@R1
XRLA,@R0
JNZC3
DECR1
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
第四章系统调试
4.1系统硬件连接示意图:
4.2系统测试的局部
本次调试采用Protues软件仿真。
首先设计电子密码锁的源程序,源程序经过汇编后,生成的目标文件经过仿真调试。
依次按下1,2,3,4,5,6后,LED显示如图4.1
图4.1LED显示
按下确定键后,二极管亮,表示密码正确开门。
如图4.2
图4.2密码正确开门
第6章心得体会
课程设计旨在让学生养成独立思考研究进而对现实中的问题进行开发解决的过程,是使学生提高发现、提出、解决问题的能力,锻炼学生实践能力的关键,也是对学生综合能力和工作能力的具体训练和考察过程。
随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,
在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回顾起此次两个星期的单片机课程设计过程,至今我仍感慨颇多。
从最初的选定课题,到后来辛勤努力的查找资料研究设计,当中有苦也有甜。
苦的是每天都忙忙碌碌的研究问题解决问题,甜的自然是从解决问题的过程中得到了快乐得到了前所未有的满足感。
从中我们不但学习到了新的知识,也对再课堂上学习的理论知识进行了有效的实践,既是巩固有事发展。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,在同学的帮助下,终于游逆而解。
非常感谢!
第7章参考文献
[1]《单片机原理及及应用》王迎旭编机械工业出版社2001
[2]《单片机应用程序设计技术》周航慈著北京航空航天大学出版社
[3]黄志君,高峰,王建.轮胎压力监测系统[J].广西工学院学报.2006(4):
9~12.
[4]其他网路知识论坛以及XX文库等。
附录
源程序清单
ORG00H
MOVR7,#00H
DJNZR7,$
MOVR7,#10H
MOVR6,#06H
MOVR1,#35H
L1:
MOVA,R7
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOV@R1,A
INCR7
DJNZR6,L1
START:
ORLP2,#0FFH
MOVR4,#06H
MOVR0,#40H
CLEAR:
MOV@R0,#00H
INCR0
DJNZR4,CLEAR
KEYIN:
MOVA,R1
XRLA,#0BH
JZX3
XRLA,#0FH
JZX4
MOVR7,#10
D1:
MOVR6,#24
DJNZR7,D1
D2:
XRLA,R4
JZD2
MOVR7,A
XRLA,#0AH
JZSET0
JZSTART
XRLA,#0CH
JZL2
XRLA,#0DH
XCHA,40H
XCHA,41H
XCHA,42H
XCHA,43H
XCHA,44H
XCHA,45H
X3:
JMPDISP2
X4:
JMPCOMP
MOVR0,#45H
SET0:
MOVR1,#30H
E1:
XCHA,@R1
DJNZR2,E1
E2:
JMPSTART
DISP2:
JZDISP2
DELAY:
MOVR7,#C3
D3:
DJNZR7,D3
ORG300H
TABLE:
DB01H02H03H0CH
DB04H05H06H0DH
DB07H08H09H0EH
DB0AH00H0BH0FH
DB01H02H03H04H05H06H
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 电子 密码锁