电子密码锁设计报告_第1页
电子密码锁设计报告_第2页
电子密码锁设计报告_第3页
电子密码锁设计报告_第4页
电子密码锁设计报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计报告书题目名称: 基于单片机的电子密码锁 专业: 自动化 学号: 10000000000 学生姓名: xxxxxxxx 指导教师: 徐 鹏 完成日期: 2010年12月17日 摘要:本系统由单片机系统、矩阵键盘、LED显示和报警系统组成。系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能。除上述基本的密码锁功能外,声光提示等功能,依据实际的情况还可以添加遥控功能。本系统成本低廉,功能实用关键词:AT89S51,LCD602,矩阵键盘, 电子密码锁一、 引言随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事

2、件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲昵。设计本课题时构思了两种方案:一种是用以LED数码管为显示器的单片机控制方案;另一种是用以LCD1602为显示器的单片机控制方案。考虑到数码管的显示过于简单,而且不能满足现在的安全需求,所以本实验采用第二种方案。二、总体方案设计与实现 电子密码锁系统核心用AT89S52单片机控制,密码输入按键为4*4矩阵键盘16个按键实现密码输入。报警电路利用三极管驱动小型蜂鸣器实现,通过给蜂鸣器送不同频率的电平信号实现不同声音报警。显示屏用LCD1602实现,通过发不同的指令和数据实现显示和提示。用蜂鸣器的响声来指示密码锁锁的开

3、关和错误密码警告。键盘模块显示模块 报警电路晶振电路复位电路系统框架图:单片机S51原理图: 1、显示模块:lcd1602使用简单,vss和vdd分别接地和5v正极,滑动变阻器调节对比度。Rs/Rw分别是数据/命令选择和读写端口,d0d7为并行数据端口,分别接P1的d0d7。使用 LCD1602可以轻松的实现所有字母和符号显示,显示功能丰富,驱动程序简单。能提高系统的安全行,使系统更人性化,更有可扩展性。下面几幅图是本课题用到的显示和提示语:2、报警电路:声音提示电路采用小蜂鸣器提示。蜂鸣器能够根据脉冲信号,以及信号的频率发出各种不同的声音,这样我们就可以更具系统要求发出密码出入正确和密码输入

4、错误是发出不同的声音提示,已达到报警的要求。蜂鸣器电路如下图所示3、键盘模块:由于本设计中要求使用10个数字和三个功能键输入,数目较多,故使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。本设计中采用矩阵键盘行线和单片机P1.4P1.7相连,列线与单片机P1.0P1.3相连,其电路图如下图所示键盘扫描采用行扫描法,即依次置行线中的每一行为低电平,其余均为高电平,扫描列线电平状态,为低电平即表示该键按下。键盘消抖采用软件延时消抖,可以减小硬件电路复杂程度,控制简单。矩阵键盘的每一条水平(行线)与垂直线(列线)的交

5、叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有NM个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照下图所示的4*4键盘,说明其工作原理。首先辨别键盘中有无键按下,由单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入变量SL中。如果有按键按下,总会有一根行线电平

6、被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。4、时序脉冲输入: 内部时钟方式 5、复位方式:按键电平复位单片机采用AT89S51单片机, AT89S51是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器,与工业80C51产品指令各引脚完全兼容。单片机最小系统主要有两块组成,其一为晶振起振电路,其二为复位电路。在此,我们采用按键手动复位,相对来讲,

7、这种复位方式更加方便人性化,不必要切断电源即可对系统进行复位。6、系统设计总电路图:7、开锁原理;当用户输入的密码正确单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。 在此为节省成本考虑,我省去电磁锁及其驱动,将一切在LCD上面显示,并且利用蜂鸣器声音指示。三、 软件程序设计及流图与硬件电路相关联,本电子密码锁系统的软件设计分为以下几个模块:主程序模块,键盘扫描及识别模块,密码正误对比和密码存储模块,LCD1602显示模块,蜂鸣器模块等等。*本系统程序主要具有如下功能:(1)设置4位密码,密码通过键盘输入,若密码正确,则将锁打开,初始化密码为(0771),初始超级密码为

8、000000(2) 密码可以由用户自己修改设定(支持4位密码,超级密码为6位),锁打开后才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。(3) 报警、锁定键盘功能。密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘20秒后输入超级密码才能解锁。(4) 密码输入功能:按下一个数字键,一个“”就显示在最左边的液晶屏上,同时将先前输入的所有“”向右移动一位。(5) 密码清除功能:当按下清除键时,清除前面输入的一个值,并可以清除所有显示。(6) 密码更改功能:将输入的值作为新的密码。(7) 开锁功能:当按下开锁键,系统将输入

9、与密码进行检查核对,如果正确锁打开,否则不打开下面分别介绍各个模块的程序设计1、主程序模块 在主程序模块中要完成系统初始化,检测按键,调用存储以及调用显示等功能。主程序流程图如7图所示2、 键盘扫描及识别子程序模块密码输入矩阵键盘采用行扫描法,扫描方式为查询的方式,在主程序中调用,无键按下的时候,程序一直在子程序中间循环当有键按下时,及识别按键以及送到LCD显示。密码设置为4位,超级密码为6位,密码输入过程中可以调用清除程序实现密码清除。矩阵键盘扫描及识别用在密码输入和密码修改程序中间!3、 显示子程序模块程序包括LCD/1602驱动程序和显示子程序利用写好的驱动程序和显示子程序,我们只要在想

10、要显示的时候,写好要显示的字符,然后直接调用显示子程序就可以,方便使用液晶。4、密码正误对比及存储模块此程序先把用户密码从存储器调出来,把从键盘获取的密码拿来和用户密码一位一位的对比,当每一位都正确时调用蜂鸣器模块来声音提示并打开电磁锁。此时用户可以修改密码,修改密码时新密码要输入两次,把前后两次的密码分别放入变量,然后对比两个变量,确保不出错!两次输入吻合以后,把新密码存入存储器!5、蜂鸣器模块给蜂鸣器对应端口输入不同频率信号,即可以发出不同声音。密码正确或错误为短提示音,三次密码错误报警信号为连续鸣叫!6、主程序流程图 开始判断错误次数是否3输入密码 N警报20s Y正确 N输入超级密码 Y N 正确开锁 Y见下页开锁无操作返回“开始” 接上页等待10min输入新密码修改密码 N 是否正确确认新密码 Y存储新密码四、调试与总结本系统由单片机系统、矩阵键盘、LCD显示和报警系统组成。系统能完成开锁、错误报警,超次锁定、修改用户密码,恢复初始密码基本的密码锁的功能。除上述基本的密码锁功能外,还有声音提示等功能,依据实际的情况还可以添加遥控功能。本系统利用单片机控制,LCD显示,配合蜂鸣器提示,系统成本低廉,功能强大实用。但是在系统调试过程中,还是发现一些问题,系统不稳定情况时有发生,经过反复调试发现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论