4位电子密码锁设计
Electronic combination lock is a password or to control circuit, so as to control mechanical switches closed, lock, lock task of electronic products. It's a lot of more phyletic, has simple circuit products, also has a high cost performance products based on the chip. Widely used electronic coded lock based on chip as the core, through the programming.
而随着人们生活水平的提高,电子密码防盗作为防盗卫士的作用越来越重要,电子密码锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁保密性差的缺点,如果采用4位密码,则密码组合可达到10000,每增加1位,密码组合就增加10倍,同时可设多组密码,其中一组是管理密码,可以增加用户密码又清除所有用户的密码,设计的电子密码防盗锁利用串行EEPROM存储器,将设计的电子密码存入EEPROM中,从而克服了旧式电子密码锁电路断电后所设置密码丢失的缺点,另外,该锁还具有报警等辅助功能,是典型的机电一体化产品。
摘要
电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。应用较广的电子密码锁是以芯片为核心,通过编程来实现的。
本系统由STC89C52单片机系统(主要是STC89C52单片机最小系统)、4×4矩阵键盘、LCD1602显示和报警系统等组成,具有设置、修改4位电子密码、连续输入三次密码错误报警等功能。
4
单片机(Microcontrollers)是一种集成电路芯片,是采用超大集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
关键词:STC89C52;LCD1602;4×4矩阵键盘;4位电子密码锁
Abstract
In daily life and work, for security reasons, the department of housing and security, unit documents, financial statements and some personal information to save more in order to lock the ways to solve. Locking method with the traditional mechanical lock and emerging electronic combination lock. Compared with the traditional mechanical lock, because the electronic combination lock, the secrecy good, the large amount of programming, password variable, can call the police and other characteristics, so the performance and security of the electronic combination lock far from traditional mechanical lock.
2.3
1.单片机对矩阵键盘连接的P1口进行扫描,判断是否有键按下。2,通过判断读按下的键值,通过P0口的I/0口送到LCD1602进行编码显示。3.在输入完4位密码后,判断其是否与设置的密码相同,正确就给P26位送高电平,使外围电路的绿灯点亮,模拟开锁状态,错误就给P27位保持高电平点亮模拟关锁和待机状态的红灯。4.连续3次输入错误选通P25位通过蜂鸣器使其报警10s。
14. PDIP 封装
4.2
单片机要完成一个应用系统的功能,还需要连接晶振、复位电路等。此外单片机的各个引脚可以连接LED灯,蜂鸣器等器件组成指示灯系统以及报警系统等。
4.2.1
利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路便产生自激振荡。现在采用的就是XTAL1和XTAL2之间连接晶体振荡器和电容构成的自激振荡器。其电路图如图4.2.1所示。
4.1 STC89C52
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
Key words:STC89C52; LCD1602; Electronicpassword lock; 4×4 keyboard
引言
在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。加锁的方法有机械锁和电子密码锁,相对于传统的机械锁,电子密码锁具有保密性强,编程量大,密码可变,操作简单等优点,因此也得到了很大的关注,有了很大的发展。
5.1 LCD1602
5.1.1 LCD1602
显示容量:16×2个字符
芯片工作电压:4.5—5.5V
图4.2.1
4.2.2
MCS-51单片机通常采用上电自动复位和按键复位。这里我选用的是按键复位电路,如图4.2.2所示。在RESET引线上加载10ms以上高电平,单片机就能有效地复位。
图4.2.2
4.2.3
如图4.2.3所示,通过单片机编程控制P2.7位和P2.6位给LED高电平或者低电平来控制灯的亮灭。D1为绿灯,表示为开锁状态。D2位红灯,表示为关锁状态。
4.1.1 STC89C52
图4.1.1
4
主要特性如下:
1. 增强型8051 单片机,6 时钟/机器周期和12 时钟/机器周期可以任意 选择,指令代码完全兼容传统8051.
2. 工作电压:5.5V~3.3V(5V 单片机)/3.8V~2.0V(3V 单片机)
3. 工作频率范围:0~40MHz,相当于普通8051 的0~80MHz,实际工作 频率可达48MHz
2
首先对课题进行整体设计。
2.1
(1)掌握单片机最小系统的设计方法;
(2)掌握数码管动态扫描原理与实现方法;
(3)掌握矩阵键盘的工作原理和使用方法;
(4)利用矩阵键盘实现4位密码的输入;
(5)利用4位数码管显示工作状态,如待机,开锁,关锁,修改密码,输入密码,密码是否正确等状态信息;
(6)输入密码为数字0~9,具有确定输入及密码修改功能;连续三次密码输入错误将锁定10秒并报警。
1
电子密码锁发展的背景随着社会物质财富的日益增长和人们生活水平的提高,安全防盗已成为现代居民最关心的社会问题之一。
目前,最常用的锁是20世纪50年代意大利人设计的机械锁,其结构简单,使用方便,价格便宜,但在使用中暴露了很多缺点:一是机械锁是靠金属制成的钥匙上的不同齿形与锁芯的配合来工作的,据统计,每4000把锁中就有两把锁的钥匙齿牙相同或类似,故安全性低,根据国外的统计资料,装有电子防盗装置的商业区或居民区盗窃犯罪率平均下降30%左右,二是钥匙一旦丢失,无论谁捡到都可以将锁打开,三是机械锁的材料大多为黄铜,质地较软,容易损坏,四是机械锁钥匙易于复制,不适于诸如宾馆等公共场合使用,出于安全,方便等方面的需要,许多智能锁(如指纹辨别,IC卡识别)已相继问世,但这类产品的特点是针对特定指纹或有效卡,只能使用于保密要求高且仅供个人使用的箱,柜,房间,另外,卡片式的IC卡易丢失,加上其成本一般较高,在一定程度上限制了这类产品的普及和推广。
图4.2.3
4.2.4
报警系统有一个三极管和一个蜂鸣器组成,由单片机的P2口的P2.5位控制。当连续三次密码输入错误将锁定10秒并报警,锁定时间由单片机定时器控制。电路图如图4.2.3所示。
5.
为了显示更多的信息,我选用了LCD1602来做显示模块。相对于7段数码管而言,LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符,自带字库,能显示英文字母上集成512 字节RAM
6. 通用I/O 口(32 个),复位后为:P1/P2/P3/P4 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。
7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片
2.4
总体流程图如下:
3
是单片机外部设备中所使用的排布类似于矩阵的键盘组在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍。
3.1
首先,不断循环地给低四位独立的低电平,然后判断键盘中有无键按下。将低位中其中一列线(P1.0~P1.3中其中一列)置低电平然后检测行线的状态(高4位,即P1.4~P1.7,由于线与关系,只要与低电平列线接通,即跳变成低电平),只要有一行的电平为低就延时一段时间以消除抖动,然后再次判断,假如依然为低电平,则表示键盘中真的有键被按下而且闭合的键位于低电平的4个按键之中任其一,若所有行线均为高电平则表示键盘中无键按下。再其次,判断闭合键所在的具体位置。在确认有键按下后 ,即可进入确定具体闭合键的过程。其方法是: 依次将列线置为低电平,即在置某一根列线为低电平时,其它列线为高电平。同时再逐行检测各行线的电平状态 ;若某行为低 ,则该行线与置为低电平的列线交叉处的按键就是闭合的按键。