单片机课程设计报告--电子密码锁
电子密码锁
一、 课题概述
在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的电子密码锁应运而生。
电子密码锁运用电子电路控制机械部分,使两者紧密结合,从而避免了因为机械部分被破坏而导致开锁功能失常的问题,而且密码输入错误时还有报警声,大大增加了密码锁的防盗功能。同时因为电子密码锁不需要携带钥匙,弥补了钥匙极易丢失和仿造的缺陷,方便了锁具的使用。电子锁由于具有设计、实现简便、制造成本低廉、使用灵活性好、安全系数高等优点,受到了广大用户的青睐。
二、 课程设计任务与要求
2.1 课程设计任务
本课题硬件部分要求在ZY15MCU12BC2实验平台上,设计组成电子密码锁系统,画出系统硬件电路图,设计编写键盘控制、LED显示、声光报警、密码输入和存储子程序供系统主程序调用。在调试程序时,要求整个系统工作正常、显示正确、结果满意,并希望同学能深入思考、精益求精,提出对课题的改进意见。特别是密码存储器和显示部分,
2
密码存储是否考虑采用实验箱的IC 存储器AT24C1024,掌握该芯片的工作原理并完成读、写程序的设计、编写和调试。
基于单片机的电子密码锁系统原理框图如下图1-1所示:
图1-1 基于单片机的电子密码锁系统原理框图
电子密码锁运用电子电路控制机械部分,使两者紧密结合,从而避免了因为机械部分被破坏而导致开锁功能失常的问题,而且密码输入错误时还有报警声,大大增加了密
码锁的防盗功能。同时因为电子密码锁不需要携带钥匙,弥补了钥匙极易丢失和仿造的缺陷,方便了锁具的使用。电子锁由于具有设计、实现简便、制造成本低廉、使用灵活性好、安全系数高等优点,受到了广大用户的青睐。
2.2 课程设计要求 2.2.1 基本设计要求
主要分为以下几个部分:
(1)用户密码通过键盘输入,密码输入正确后,输出开锁信号控制开锁电路开锁并发出两声短“滴”声提示音,密码正确指示灯绿灯亮,3秒延时后开锁信号与已开锁指示清零。
(2)密码输入错误时,发出一声长“滴”声错误指示提示音,密码错误指示灯黄灯亮,3秒延时后密码错误信号与密码错误指示清零;连续三次输入密码错误时,发出长鸣声报警,密码错误报警指示灯红灯闪烁, 6秒延时后锁定键盘,此后键盘将无法再次输入密码。
(3)用户密码可以通过键盘修改密码。密码修改成功时,密码修改成功指示灯绿灯亮,并发出一声长“滴”声提示音,3秒延时后密码修改成功信号指示清零。
(4)系统的工作状态由显示电路提示。 2.2.2 发挥设计要求
(1)显示部分采用LCD显示器代替数码管LED,这样使得显示功能大大增强,不仅可以显示数字、字符,还可以显示汉字,使LCD显示的系统当前操作界面(密码输入、修改密码、开锁、锁键盘等);
(2) 数码管LED部分显示当前键入的数字。
三、 设计方案
3.1 方案论证
用以AT89C52为可信的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口及其控制的精确性,不但能实现基本的密码锁功能,还能添加声光提示、LCD显示的功能。其具体原理图如图3-1所示
图1-2 单片机控制方案
3.2 设计原理
本设计主要由单片机、矩阵键盘、液晶显示屏、数码管和蜂鸣器等部分组成。其中矩阵键盘用于输入数字密码,由用户通过连接单片机的矩阵键盘输入密码后,经过单片机对用户输入密码与自己保存的密码进行比对,从而判断密码是否输入正确,然后控制引脚的高低电
平传到相应的电路表示开锁还是报警。电子密码锁电路包含:密码输入、密码修改、开锁示意电路、声光报警电路、LED显示当前键入数字电路及LCD显示电路。特别说明的是:LED显示当前键入数字电路在电子密码锁的应用中看似不合理,但在当前设计环境下,由于键盘输入不稳定,这样可以知晓键盘键入值,方便对电子密码锁测试的掌控。
本系统共有两部分构成,即硬件部分和软件部分。由于硬件部分是固定的即
ZY15MCU12BC2实验平台,因此这次在课程设计中主要就是根据硬件部分写出对应的软件部分。
其设计原理方框图如图3-2所示:
达到三次
少于三次
图3-2 设计原理方框图
四、 硬件系统说明与电路原理图
4.1 单片机最小系统电路
单片机最小系统由8051、74L373和2764组成,如图4-1所示:
图4-1 单片机最小系统图
4.2键盘输入电路及数码管LED显示当前键入数字电路
采用的是矩阵式按键键盘,它有行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,电子密码锁有键盘输入,同时用六位LED灯实时动态显示当前输入的数字。其与单片机引脚接法如图3-2所示:
FGED
图4-2键盘输入电路及数码管LED显示当前键入数字电路
4.3 声光报警电路
声光报警电路由蜂鸣器和3个LED灯组成,单片机引脚P1.1、P1.2、P1.4和P1.5分别控制绿灯、红灯、蜂鸣器和黄灯,如图3-3所示:
图4-3 蜂鸣器及LED灯电路
4.4 LCD显示电路
LCD显示电路由8255和液晶显示屏12232组成,12232不仅可以显示数字、字
符,还可以显示汉字,使得密码锁系统的操作界面更友好和人性化,其与单片机引脚接法如图3-4所示:
22uF+
VCC
NetLabel106
图4-4点阵式液晶显示屏
五、 软件主要模块流程图
5.1 系统主程序设计
MAIN: MOV SP,#60H SETB EX1
MOV 33H,#01H ;写入初始密码 MOV 34H,#02H MOV 35H,#03H MOV 36H,#09H MOV 37H,#05H MOV 38H,#06H
CLR SEC ;密码正确输入标志初始化 CLR SERR ;密码错误输入标志初始化 CLR SECC ;密码修改成功标志初始化 CLR SECLOCK ;锁键盘标志初始化
LCALL LCDDI
MOV R5,#03H ;密码错误输入次数 MOV R6,#06H ;密码输入位数
MOV DPTR,#5FFFH MOV A,#0DCH MOVX @DPTR,A LP: MOVX A,@DPTR
JB ACC.7,LP ;等待清屏结束 MOV A,#00H MOVX @DPTR,A
MOV A,#34H ;时钟编程 MOVX @DPTR,A
CLR IT1 ;触发方式设置 NOP SETB EA NOP
MOV R0,#39H ;显示缓冲首址送R0 MOV R7,#06H LLP: MOV @R0,#00H INC R0
DJNZ R7,LLP
QC10: LCALL DISY ;等待中断
CJNE R6,#0H,N2
JNB SEC,N2 ;判断密码正确输入标志是否为一 LCALL CHANGE ;SEC=1,转入密码修改程序 N2:
LJMP QC10
(由于源程序过长,具体源程序见DZMMS--20092595.asm)
5.2系统主程序的流程图
系统主程序的流程图如图5-1所示:
六、 课程设计总结
短短的一个星期,从开始选题到完成选题,虽然碰到的很多问题让我头痛的问题,但是通过本次课程设计也是我受益匪浅,温习了以前所学过的知识,用理论联系实际并结合单片机原理课程和解决实际问题,巩固、加深和扩展了有关单片机设计方面的知识,尤其重要的是让我明白无论做什么事情都不能自认为简单或是困难,需要去实践以后才会真正理解。
比如一开始接到这个选题时,看到所需要的 LCD12232显示电路还有每个模块的各种芯片等以前一点没接触过,就觉得根本不可能完成,在这么短的时间内根本不可能完成。但是后来还是静下心来,从最近本的做起,从能实现最基本的功能做起,一点一点完成,在自己的努力下,完成了此次课程设计,到最后看看自己写的源程序代码,一股成就感油然而生。
这次的课程设计对我以后的发展与学习来说,都可以看作一笔不小的财富,不仅仅是知识上的收获,精神上的丰收更加重要。他告诉我们困难虽然在那里,但只要努力,从最基本的做起,就能实现一步一步实现宏伟的蓝图。
最后要谢谢所有在本次课程设计中帮助过我的老师和同学。
参考文献
1.王琼主编.单片机原理及应用(第一版).合肥:合肥工业大学出版社,2008 2.王琼主编.单片机原理及应.实验教程(第一版).合肥:合肥工业大学出版社,2005 3. 薛小铃, 刘志群, 贾俊荣编著.单片机接口模块应用与开发实例详解.北京.北京航空航天大学出版社,2010.1
4. 徐玮等编.C51单片机高效入门.北京.机械工业出版社,2010