基于AT89C51的电子密码锁设计毕业设计1

上传人:夏** 文档编号:458280895 上传时间:2023-07-21 格式:DOC 页数:22 大小:1.64MB
返回 下载 相关 举报
基于AT89C51的电子密码锁设计毕业设计1_第1页
第1页 / 共22页
基于AT89C51的电子密码锁设计毕业设计1_第2页
第2页 / 共22页
基于AT89C51的电子密码锁设计毕业设计1_第3页
第3页 / 共22页
基于AT89C51的电子密码锁设计毕业设计1_第4页
第4页 / 共22页
基于AT89C51的电子密码锁设计毕业设计1_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《基于AT89C51的电子密码锁设计毕业设计1》由会员分享,可在线阅读,更多相关《基于AT89C51的电子密码锁设计毕业设计1(22页珍藏版)》请在金锄头文库上搜索。

1、基于单片机的电子密码锁设计摘要本次设计使用AT89C51实现一基于单片机的电子密码锁。本系统由单片机系统、矩阵键盘、LED显示和报警系统组成。系统能完成开锁、超次锁定、修改用户密码基本的密码锁的功能。除上述基本的密码锁功能外,还具有温度显示、时间显示等功能,依据实际的情况还可以添加遥控功能。本系统成本低廉,功能实用。关键词: 单片机AT89C51 LED显示 矩阵键盘 自动报警19 目录1引言12方案的比较与论证23系统模块电路的设计43.1系统总框图43.2系统的模块电路设计4 3.2.1单片机的最小系统模块.4 3.2.2波形产生模块.5 3.2.3键盘模块.8 3.2.4显示模块.9 3

2、.2.5电源模块11 3.2.6温度检测模块设计13 3.2.7开锁电路和报警电路模块144系统的软件设计15 4.1软件设计思路.15 4.2系统主流程图.155总结166致谢187参考文献188附录191引言目前,最常用的锁是20世纪50年代意大利人设计的机械锁,其机构简单、使用方便、价格便宜。但在使用中暴露了很多缺点:一是机械锁是靠金属制成的钥匙上的不同齿形与锁芯的配合来工作的。据统计,每4000把锁中就有两把锁的钥匙齿牙相同或类似,故安全性低。二是钥匙一旦丢失,无论谁捡到都可以将锁打开。三是机械锁的材料大多为黄铜,质地较软,容易损坏。四是机械锁钥匙易于复制,不适于诸如宾馆等公共场所使用

3、。由于人们对锁的安全性,方便性等性能有更高的要求,许多智能锁也相继问世,但这类产品的特点是针对特定指纹或有效卡,但能适用于保密要求高且仅供个别人使用的箱、柜、房间,其成本一般较高,在一定程度上限制了这类产品的普及和推广。随着人们生活水平的提高,电子密码防盗锁作为防盗卫士的作用日趋重要。电子密码防盗锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁保密性差的缺点。随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,机械锁的这些弊端为一种新型的锁-电子密码锁,提供了发展的空间。随着人们对安全的重视和科技的发展,许多电

4、子智能锁已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的欢迎。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。2方案比较与论证方案一:采用数字电路控制。其原理方框图如图1所示。图1 数字密码锁电路方案采用数字密码锁电路的好处就是设计简单。用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输

5、入键,其中只有6个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;若电路连续报警三次,电路将锁定键盘10秒,防止他人的非法操作。电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。方案二:以AT89C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加温度显示、时间显示甚至添加遥控控制功能。通过

6、比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。3系统模块电路的设计31 系统总框图密码输入电路显示电路单片机密码检测电路时钟电路报警电路数据锁存电路温度传感器开锁电路 图2系统框图数据锁存电路指什么?下文中没有介绍!密码检测电路指什么?32系统的模块电路设计321 单片机最小系统模块AT89C51是一种低功耗,高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储

7、器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和系统可编程Flash,使得AT89SC51为众多嵌入式控制应用系统提供高灵活,超有效地解决方案。AT89C51是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器, AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图3 AT89C51管脚图 322时钟电路模块采用专

8、用时钟芯片DS1302,该芯片性能简介如下:DS1302的结构及工作原理 :DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 (1) 引脚功能及结构 图1示出DS1302的引脚排

9、列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中

10、RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。 图4 DS1302的管脚图(2) DS1302的控制字节 DS1302 的控制字如图2所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始

11、输出。 图5 DS1302的控制字节(3) 数据输入输出(I/O) 在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。 (4) DS1302的寄存器 DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表1。 图6 日历,时间寄存器及其控制字此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读

12、写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 (5) DS1302与单片机连接如图7所示:图7 DS1302与单片机连接图323键盘模块使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样的方法。其原理如图8所示:图8 矩阵键盘每条水平(行线)与垂

13、直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需N条行线和M条列线,即可组成具有N*M个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描法;另一种是速度较快的线反转法。对照图8所示的4*4键盘,说明线反转个工作原理。首先辨别键盘中有无按键按下,由单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向列线输出全扫描字00H,把全部列线置为低电平,然后将行线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断哪个键被按下:将P1.0P1.3都置低,检测P1.4P1.7是否有低的,若有,则证明有键按下,记下低的端口。然后,将P1.4P1.7置低,检测P1.0P1.3是否有低的端口,如有,则证明端口与上次的一个为地的端口交叉位置的键被按下。按键键名功能说明09键数字键输入密码*键重设密码键设定新密码D键确定键比较密码C键清除键使显示器清零B键开启键开启键盘A键关闭键关闭键盘#键调整键调整时间32

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号