摘要电子密码锁己广泛的应用于日常生活中,随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。
由于单片机具有体积小,耗电少,控制精度高,运行可靠等的特点,所以广泛应用于生产实际中。
电子密码锁是每个行业和生活中的重要参数之一。
为了更好地推广电子锁在各领域中的应用,在此根据任务要求设计了一种基于AT89S52单片机控制的电子密码锁。
并介绍了单片机控制的矩阵式开关与数码管控制装置及其工作原理、设计思想、以及硬件电路和软件程序等。
装置应用AT89S52单片机,通过单片机编写密码程序,并用74LS47和3-8译码器74LS138驱动的数码管来显示密码。
数码管可以时时显示当前输入的六位数字。
当输入密码正确时,对应的指示灯亮;当密码不正确时,另一个对应的指示灯亮且并且发出声音报警。
关键词:矩阵式键盘,单片机,数码管显示,电子密码锁,译码器AbstractElectronic locks have been widely used in daily life, as electronicproducts to intelligent and miniaturization, SCM has become electronic product research and development in the preferred controller。
Since the microcontroller with small, low power consumption, high precision control, reliable, and more features,it is widely used in production。
Electronic code lock is the life of each industry and one of the important parameters。
In order to better promote electronic locks in all areas of application,we designed an application MCU AT89S52 microcontroller-based control design of a matrix switch with digital control devices and their working principle, design, and hardware and software of electronic lock。
AT89S52 microcontroller device applications, the password program written by SCM, and 3-8 with 74LS47Decoder 74LS138-driven digital control to display the password。
Digital tube can always display the current input of six digits。
When you enter the password correctly, the corresponding indicator light;When the password is incorrect, the other, and the corresponding indicator light and sound alarm。
Key word:Matrix keyboard,SCM,Digital display ,Electronic locks目录摘要 (Ⅰ)Abstract (Ⅱ)引言 (1)第1章.系统方案选择和论证 (2)1.1 设计要求 (2)1.2 系统基本方案 (2)1.2.1 系统框图 (2)1.2.2 各模块方案选择和论证 (3)1.2.3 系统各模块的最终方案 (4)第2章.系统的硬件设计与实现 (6)2.1 系统硬件概述 (6)2.2 主要单元电路的设计 (6)2.2.1 键盘扫描模块电路的设计 (6)2.2.2 单片机控制模块电路的设计 (7)2.2.3 声光报警模块电路的设计 (8)2.2.4 数码显示模块电路的设计 (9)第3章.系统的软件设计 (11)3.1 系统软件概述 (11)3.1.1 软件系统分析 (11)3.1.2 主程序流程图: (12)3.2 子程序的设计 (13)3.2.1 自检子程序 (13)3.2.2 键盘扫描子程序 (14)3.2.3 移位子程序 (15)3.2.4 显示子程序 (16)3.2.5 密码显示子程序 (17)3.2.6 开锁子程序 (18)3.2.7 修改密码子程序 (19)第4章.分析与结论 (20)第5章.致谢辞 (20)第6章.参考文献 (21)附录A:系统电路图 (22)附录B:系统主要元件清单 (24)附录C:系统程序清单 (25)附录D:系统使用说明书 (36)引言在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存大多需要加锁。
若使用传统的钥匙锁,人们常需携带多把钥匙, 而且使用极不方便, 钥匙丢失后安全隐患就凸显出来了。
随着科学技术的不断发展,人们生活水平的不断提高,人们在日常生活中对安全保险的要求越来越高。
为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应时而生。
密码锁具有安全性高、成本低、功耗低、易操作等优点。
在人们的日常生活中,如何实现家庭防盗这一问题独占鳌头,传统的机械锁由于其构造的简单,被撬的事件习空见惯。
电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的锁具,它采用触摸键盘方式输入开锁密码,操作方便。
触摸式电子锁的输入部分采用触摸开关(键盘输入),其优势在于传统的机械开关之出在于其保密性高,使用灵活性好,安全系数高,无活动零件,不会磨损,寿命长等受到了广大用户的亲呢。
出于安全、方便等方面的需要许多电子密码锁已相继问世。
但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高且供个人使用的箱、柜、房间等。
而且卡片式IC卡还有易丢失等特点,加上其成本一般较高,所以很难大面积的推广普及。
在科技不断发展的今天,电子密码锁防盗的作用也变得越来越重要。
一般来说大部分电子密码锁以单片机为核心,设计出一款具有报警和本机开锁功能的电子密码锁,简单而且实用。
设计这类系统中主要由单片机系统、矩阵键盘、液晶显示、密码存储和报警系统组成。
设置开锁密码,利用软件与硬件结合的方法来实现。
系统能完成本机开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能。
除上述基本的密码锁功能外,有的电子密码锁系统还具有调电存储、声光提示等功能,依据实际的情况还可以添加遥控功能,此类系统成本较低,功能实用。
运用自上而下的模块化设计思想,使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。
测试结果表明,设计达到电子密码锁的功能。
本文从经济实用的角度出发,采用AT89C51单机,研制了一款具有防盗自动报警功能的电子密码锁。
该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。
第1章.系统方案选择和论证1.1 设计要求1.1.1 初始密码设定为“123456”。
1.1.2 要求电子密码锁具有开机自检功能。
1.1.3 0~9十个数字按键、一个清零键、一个确认键和一个重置密码键共13个按键,所以选用4X4的矩阵按键。
1.1.4 用六位数码管时时显示阵列式开关输入的数据。
1.1.5 当开锁按钮被按下时,如果数码管当前显示值与密码值相同则点亮绿灯;如果与密码值不同则点亮红灯,并发出报警。
1.2 系统基本方案1.2.1 系统框图简易电子密码锁是由5 个部分组成,如图1.1 所示:图1.1 电子密码锁控制系统电源模块:由+5V 的直流稳压电源供电给整个系统工作。
键盘模块:由16 个轻触式开关组成。
单片机控制模块:采用支持ISP 在线编程技术的单片机AT89S52 便于烧写程序。
显示模块:采用六个数码管时时显示当前输入数据;报警模块:采用发光二极管和蜂鸣器做声光报警。
1.2.2 各模块方案选择和论证(1)单片机的选择方案一:采用AT89C51 单片机,它可以与其它51 系列的单片机兼容、内部ROM 全部采用FLASH ROM、最高时钟频率可达24MHz 且能以3V 超低压工作。
但不支持ISP 在线编程技术、内部ROM 仅为4KB 不利于功能扩展。
方案二:采用AT98S52 单片机,它具同时被AT98C51 的全部功能外,还支持ISP 在线编程技术且内部ROM 为8KB 有利于功能扩展。
(2)键盘的选择方案一:使用独立式按键来控制使用独立式按键来控制数码管的显示,这样需要很多的按键,每个按键实现一个能,易于控制,程序编写简单,但是每个按键都要接上拉电阻,占用了单片机大量的I/O 接口资源,要对单片机外扩I/O 口,并且在电路焊接方面又不方便,还要浪费大量的资源,提高了成本。
方案二:采用矩阵式键来控制把按键按行列组成矩阵,在行列交点上都对应有一个键,这样使用的按键要少,为判定有无键被按下以及被按键的位置,这种称为键扫描法。
这样虽然提高了编程难度,但是节约了单片机大量的I/O 口,免去了上拉电阻为焊接带来了方便,提高了整块电路板的美观度。
(3)显示模块的选择方案一:数码管静态显示采用LED 数码管静态显示方法,电路容易理解,驱动程序简单,但需要每个数码管都要一块74LS47 来驱动显示,增高了成本,浪费系统硬件资源,而需要占用单片机多个I/O 口。
方案二:数码管动态显示采用LED 数码管动态扫显示方法,只需一块数码管驱动器芯片和一块译码器芯片就可以驱动多个数码管,价格便宜,只需要7 个I/O 口就可以同时驱动8 个数码管显示。
硬件利用效率高,驱动程序容易理解和编程。
方案三:液晶显示采用LCD 液晶显示,显示的位数多,由单片机驱动。
此方案有美观、显示清晰多样的优点。
但同时液晶显示器的驱动程序复杂,编程困难,成本高,价格昂贵,浪费大量的资源。
(4)数码管驱动选择采用74LS47 驱动数码管和74LS138 译码器来控制数码管的COM 端,因为74LS47 只能驱动共阳数码管,而74LS138 的输出为低电平有效。
因此,在74LS138 的输出端加入反向器才可以接到数码管的COM 端。
方案一:74LS04 芯片的选择采用74LS04 芯片做反向器,74LS47 是集成六反向器芯片,刚好可驱动六个数码管,但是它的输入输出引脚两边均分布,造成跳线较多给电路焊接时带来麻烦影响了整块电路的美观度。