基于单片机设计的电子密码锁设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要:随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子密码锁由于其保密性高,灵活性好,安全系数高,受到了广大用户的亲呢。本设计拟由单片机51系统、矩阵键盘、LED显示和报警系统组成。系统能完成开锁、超时报警、超次锁定、修改用户密码基本的密码锁的功能。同时,也兼顾到产品的使用率,因而本系统成本低廉,功能实用。
目录
一、设计要求 (4)
二、方案论证和比较 (4)
1、整体方案论证 (4)
2、模块论证和比较 (5)
2.1显示模块 (5)
2.2报警模块 (5)
2.3键盘输入模块 (6)
三、设计思路 (7)
1、分模块设计思路 (7)
1.1 主硬件电路 (7)
1.2 显示电路 (7)
1.3 键盘输入电路 (7)
2、整体设计思路 (8)
2.1 总体设计电路图 (8)
2.2 电路元件 (8)
2.3 芯片介绍 (9)
2.3.1 AT89S52芯片 (9)
2.3.2 LM386芯片 (9)
2.3.2.1 LM386内部电路 (9)
2.3.2.2 LM386的引脚图 (10)
四、程序设计 (11)
1、软件实现功能 (11)
1.1 4×4 行列式键盘识别技术 (11)
1.28 位数码显示 (11)
2、程序流程图 (11)
2.1、主程序流程图 (11)
2.2、中断子程序流程图 (12)
3、程序 (12)
五、调试 (12)
六、总结 (13)
七、致谢 (13)
八、参考文献 (13)
一、设计要求
1、具有密码输入功能,密码最多为6位;
2、设置退格键,以便删除输入错误的密码;
3、在输入的密码时数码管上只显示P ,并根据输入位数依次横移;
4、设置确认键,当确认键按下后,判断输入密码是否正确;
5、当输入密码正确时,点亮发光二极管;当输入密码不正确时,发光二极管不亮并且蜂鸣器报警,系统应锁定键盘3s
二、方案论证和比较
1、整体方案论证[2]
方案一:采用以74LS112双JK 触发器构成的数字逻辑电路控制。原理图如2-1所示:
图2-1 数字密码锁电路方案
采用数字密码锁电路的好处就是设计简单。用以74LS112双JK 触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的次数超过3次(一般情况下,用户不会超过3次,若用户觉得不便,还可以修改)电路将报警,若电路连续报警三次,电路将锁定键盘3秒,防止他人的非法操作。
电路主要为密码锁电路,密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。
方案二:采用一种是用以AT89S51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO 端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其原理如图2-2所示。
图2-2单片机控制方案
通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。
开锁控制电路
89S51 单片机 LED 显示电路 矩阵 键盘 控制 指示电路
输入错误锁定键盘 延时报警控制电路
2、模块论证和比较
2.1显示模块[9]
方案一:显示模块由10个发光二极管组成。选择10个发光二极管分别代表0-9的数字,并按一定顺序排列,当程序运行时,键盘模块输入相应值时,对应的发光二极管接通,发光,即显示所代表的数字。具体电路图省略。
方案二:显示模块由LED液晶显示屏及其驱动电路组成。选择1602液晶显示屏,其16个管脚对应89S51的管脚,连接方便,且只需程序控制液晶显示。
方案三:显示模块由LED动态数码管及其驱动电路组成。选择2个四位数码管,2个四位数码管的片选端分别接89S51的8个端口,另外16个管脚统一接在89S51的8个端口,具体如图所示:
图2-3 动态数码管显示
通过比较以上三种方案,第一种方案相对比较简单,但显示效果不算最好,第二种方案显示简单明了,但成本较高,第三种方案显示相对简单,价格便宜,因而选择第三种显示方式,即由四位动态数码管组成显示模块。
2.2报警模块
方案一:报警模块由蜂鸣器驱动电路和8255组成。选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100mA驱动电流。蜂鸣器电路如图4所示。当8255的PB0口输出为高电平时,蜂鸣器产生蜂鸣音,8255输出为低电平时,蜂鸣器不发声。
图2-4 蜂鸣器电路
方案二:报警模块由LM386音频放大器及驱动电路组成。选择芯片LM386及其他电阻、电容器件组成LM386音频放大模块,具体电路如图所示。发生信号从3脚输入,5脚输出,当信号为高电平时,蜂鸣器发出声音,相反,则不发出声音。
图2-5 音频放大电路
通过比较以上两种方案,方案一虽然电路简单,操作方便,但稳定性不高,而方案二虽然电路元件偏多,但性能稳定,且电压输入没有限制,可电池输入也可电源输入。总体比较,选择方案二,即采用LM386音频放大器及驱动电路构成设计的报警模块。
2.3键盘输入模块
方案一:键盘输入模块由独立式按键输入构成。选择16个按键及89S51的2个输入端(共16位)构成输入模块,具体电路如图所示。16个按键分别对应89S51的2个输入端,按键按下,低电平触发。
图2-6 独立式键盘输入
方案二:键盘输入模块由行列式按键输入构成。选择16个按键及89S51的一个输入端(共8位)构成键盘输入模块,具体电路如图所示。由软件编程实现行列扫描,进而显示数字。
图2-7 行列式键盘输入
通过比较以上两种方案,方案一简单明了,容易控制,但所需端正口偏多,适用于少按键的电路,