[基于AT89C51 单片机的电子密码锁设计] C52单片机

黄 滔 重庆三峡职业学院 重庆市万州区 404155

【文章摘要】

本文拟介绍一种以AT89C51 单片机为核心器件,结合按键电路、LED 数码管显示电路、报警指示电路和开锁机构的电子密码锁,采用数字信号编码和二次调制方式,提高信号传输的抗干扰性,且功率消耗低,反应速度快、传输效率高、工作稳定可靠。

【关键词】

AT89C51; 电子密码锁

日常生活和工作中的住宅与部门的安全防范、文件档案、财务报表、个人资料的保存等一系列安全防盗问题变的尤其突出。传统的机械锁其构造的简单,被撬的事件屡见不鲜,且人们常需携带多把钥匙, 使用极不方便。

为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。应用较广的电子密码锁是以芯片为核心,通过编程来实现的。密码锁因具有安全性高、成本低、功耗低、易操作等优点,受到了广大用户的青睐。

1 系统的总体设计

以AT89C51 单片机为主控制单元,键盘为主要输入单元,结合开锁装置、报警器和显示器完成整个系统设计。配以相应硬件电路,完成密码的设置、存贮、识别和显示、驱动电磁执行器并检测其驱动电流值、接收传感器送来的报警信号、发送数据等功能。

电子密码锁系统的基本功能如下:密码通过键盘输入,若密码正确,则将锁打开;密码输入错误,蜂鸣器将报警提示;用户可以自由设定密码。

系统的运行过程如下:假设初始状态为闭锁,此时整个系统只等待按键输入,数码管也不显示。每按下一个数据键(即每输入一个密码),数码管相应的显示一个“-”标志,当密码全部输入完成后,需按下确认键“#”,此时系统判断密码是否正确,正确则开锁(仿真中以继电器动作导致发光二级管点亮为标志),错误则报警,此后数码管熄灭继续等待按键;若按下密码重置键“*”,则需先输入原密码,正确后请输入新密码,输入密码过程中,数码管显示如上“-”。

2 硬件设计

硬件系统由单片机最小化系统模块、矩阵键盘输入模块、LED 显示模块、报警模块、开锁模块组成。利用单片机丰富的I/O 端口,及其控制的准确性,实现基本的密码锁功能。系统的总体硬件设计如图1 所示。

2.1 单片机最小化系统

以AT89C51 单片机为主控,包含晶振、上电自动复位等基本工作电路。

2.2 矩阵键盘输入模块

密码锁按键数量较多,为了减少I/O 口的占用,采用3*4 矩阵键盘,与AT89C51 的P1 口相连,提供按键输入。1-9 键为数字键,输入密码用;* 号键为重设密码键,设定新密码用;# 号键为确认键, 确认密码输入完毕用。

2.3 LED 显示模块

使用了四个共阴极数码管,使用动态显示方式控制数码管。其4 个位选信号与P2.0-P2.3 相连,当其中某位为低电平时表示选中该位;8 段段选信号与P0 口相连,当其中某段为高电平时导通该段。由于AT89C51 的P0 口的驱动能力较弱,不足以驱动数码管点亮,故在此又引入上拉电阻以驱动数码管。

2.4 报警模块

报警模块由蜂鸣器、PNP 三极管和单片机组成。选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100mA 驱动电流。为提高驱动能力,选用三极管来放大电流驱动蜂鸣器。当89C51 的P3.0 口输出为低电平时,三极管导通,蜂鸣器产生蜂鸣音,89C51 输出为高电平时,蜂鸣器不发声。

2.5 开锁模块

以继电器的来实现锁的开闭。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。为提高驱动能力,添加了PNP 三极管以放大电流,当P3.1 口为低电平时,三极管导通,此时继电器动作(锁开),。二极管具有续流作用以保护器件安全。

为了防止通信线路的人为破坏和电磁执行器因某种原因造成流过电磁线圈的电流过大而烧毁线圈,加入电流监视技术模块。采用MAXIM 公司的电流/ 电压转换芯片MAX471。该芯片能将被测电流I 转化成对地输出电压U,且有测量范围大、精度高、输出电压U 和被测电流I 成正比等特点。电流监视器输出电压送A/D 转换器,单片机通过读取A/D 转换结果, 获知线路中电流的变化情况,通过分析及时发现异常,发出报警信号。

3 软件设计

系统软件由报警子程序、数码管动态显示子程序、按下确认键后执行功能子程序、矩阵键盘扫描子程序、中断服务函数等模块化组成。本设计用到单片机AT89c51 内部中断0,当用户没有在限定30 秒输入密码,这时向CPU 发出中断请求,进行报警。

系统程序设计流程如图2 所示。

4 总结

基于AT89C51 电子密码锁具有软硬件设计简单,易于开发,成本较低,安全可靠,操作方便等特点。在设计之初认真探讨分析了几种方案的优缺点,正是由于单片机的众多优良特性的吸引,最终从经济实用的角度出发,采用单片机AT89C51 作为主控芯片,结合外围的键盘输入、显示、报警、开锁等电路,用C 语言编写主控芯片的控制程序,设计了一款可以多次更改密码具有报警功能的电子密码锁。由于考虑到体积、成本等因素,没有添加语音播报、时钟等功能,可根据用户需求,进行添加。

【参考文献】

[1] 于殿泓,王新年.单片机原理与程序设计实验教程[M].西安:西安电子科技大学出版社,2007,8.

[2] 赵文博,刘文涛.单片机语言C51 程序设计[M].北京:人民邮电出版社,2005,10.

[3] 李爱秋.红外线遥控12 位电子密码锁的设计[J].温州职业技术学院学报第8 卷第一期,2008.

[4] 陈杰,黄鸿.传感器与检测技术[M] .北京: 高等教育出版社,2010,8 .

[5] 曾一江. 单片微机原理与接口技术[M]. 北京:科技出版社,2009, 12.003