作者:河南工业大学 鲁山山 牛铭豪 周瑞峰
指导教师:樊超
作品简介
本作品采用STC公司的单片机STC15F2K61S2与低功耗CMOS型E2PROM AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、显示、报警、开锁等电路,用汇编语言编写主控芯片的控制程序,设计了一款可以多次更改密码具有报警功能的电子密码锁。
电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。
本设计主要硬件功能部分:
1) 单片机开发板;
2) LCD显示电路模块;
3) 板载键盘模块;
4) 蜂鸣器模块。
平台选型说明
设计说明
硬件设计部分
单片机模块
单片机模块板载自带复位电路及晶振电路。
P2口自带了上拉电阻,上拉电阻:就是从电源高电平引出的电阻接到输出端
1,如果电平用OC(集电极开路,TTL)或OD(漏极开路,CMOS)输出,那么不用上拉电阻是不能工作的, 这个很容易理解,管子没有电源就不能输出高电平了。
2,如果输出电流比较大,输出的电平就会降低(电路中已经有了一个上拉电阻,但是电阻太大,压降太高),就可以用上拉电阻提供电流分量, 把电平“拉高”。(就是并一个电阻在IC内部的上拉电阻上, 让它的压降小一点)。当然管子按需要工作在线性范围的上拉电阻不能太小。当然也会用这个方式来实现门电路电平的匹配。
硬件电路如下图
LCD模块
1602液晶显示屏:
工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
硬件电路如下图
1602采用标准的16脚接口,各引脚说明如下表所示:
板载矩阵键盘模块
将16个按键分为4行4列,如图。当有一个件按下时,通过1,2,3,4引脚赋的低电平,扫描全部引脚,看是否与最初的赋值一样,不一样则根据相应算法(通过改变后的值与初始值相或,根据结果赋值)确定是哪个键按下。
硬件电路如下图
蜂鸣器模块
有源蜂鸣器直接接上额定电源(新的蜂鸣器在标签上都有注明)就可连续发声;而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路中才能发声。
利用板载蜂鸣器在密码输入错误时报警。
硬件电路如下图
继电器模块
它具有控制系统和被控制系统之间的互动关系。使单片机能控制需更高工作电压电压的电磁锁。
硬件电路如下图
软件设计部分
主程序流程图
键值判断程序流程图
开锁程序流程图
密码修改程序流程图
作品特色
特点如下:
1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。
2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。
3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。
4) 无活动零件,不会磨损,寿命长。
5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。
6) 电子密码锁操作简单易行,一学即会。
7)功能简单实用,成本低。
系统演示视频:http://v.eepw.com.cn/video/play/id/2476