毕业论文

打赏
当前位置: 毕业论文 > 电子通信 >

AT89C51单片机的电子密码锁及报警系统设计+电路图+源码(4)

时间:2016-12-16 12:12来源:毕业论文
另外还有接地与接电源未标出: GND:接地。 VCC:接+5V电压。 图6 掉电存储电路 2.5 开锁电路及报警电路设计 本设计用继电器驱动电磁锁构成开锁电路如图


另外还有接地与接电源未标出:
GND:接地。
VCC:接+5V电压。
图6  掉电存储电路
2.5 开锁电路及报警电路设计
本设计用继电器驱动电磁锁构成开锁电路如图7。单片机通过P0.4发出信号给继电器,使继电器常闭开关断开,常开开关闭合,使电磁锁通电,实现开锁动作[5]。在此通过发光二极管的亮灭,来表示电磁锁是否打开。
电磁锁通常需要12V、24V或许更高。而单片机的工作电压是5V,这样就不能直接驱动电磁锁,通过继电器控制旁路开关,可以控制电磁锁电路的导通。既安全又简便。
 
图7  密码锁驱动电路
本设计采用蜂鸣器进行报警。通过NPN型小功率三极管进行放大,以提高报警声音。如图8所示:
 
图8  蜂鸣器电路图
3. 软件程序设计
3.1 主程序介绍
本设计程序分为两部分:主机接收程序如图9、遥控发射程序如图10。
主机接收程序由主程序、键盘扫描程序、红外接收程序、LCD显示程序、E2PROM读写程序以及各功能按键程序等。
遥控发射程序由主程序、键盘扫描程序、红外发射程序、初始化程序。
主机接收程序执行时,首先进行初始化操作,然后进行检测键盘是否锁定,如果锁定,检测用户是否按下管理员按键进行键盘解锁。如果未锁定,进行键盘扫描,同时接收红外发射数据,检测用户是否按下输入密码按键,进行密码录入。程序中设有几个功能按键,删除、复位、修改密码、管理员、输入、确认751个按键。当用户按下相应功能按键进入相应功能模式。若用户按下删除按键,程序会删除用户上次输入的字符,进行重新录入。当用户在除键盘锁定状态下,任意时刻按下复位,程序都会跳转并进入欢迎界面。当进入修改密码模式,首先对用户进行管理员权限检测,若是管理员,则要求输入旧密码,输入正确,提示输入新密码,实现密码的修改。当进入输入密码模式时,启动定时中断,对用户录入密码进行计时,如果超出规定时间,按输入错误密码进行报警。当输入正确时进行开锁,错误时进行报警。并对错误次数进行计算,超过3次,进行键盘锁定。当键盘锁定后,程序不在进行所有按键的扫描,只对管理员按键进行扫描,判断用户是否进入管理员模式,进行解锁。
 图9  主机接收程序流程图
红外发射程序执行时,首先进行初始化操作,然后对键盘进行逐行扫描,若有按键按下,并判断按键号,将按键号通过红外发射编码协议进行编码、调制,然后通过红外发射管发射出去。
 
图10  遥控发射程序流程图
3.2 掉电存储编程原则
当比较密码的时候,需要读AT24C02程序,将存储在芯片内的数据读到单片机RAM中,然后和输入的密码相比较。当修改密码的时候,需要把输入的密码保存到AT24C02中。
AT24C02支持I²C,总线数据传送遵守I²C协议。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,由于A0、A1和A2可以组成000~111八种情况,即通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上,通过进行不同的配置进行选择器件[6]。由于本次设计只需要一片AT24C02,所以程序不需要考虑识别从机。
单片机与AT24C02之间数据传递时,应按I²C协议进行起始、终止信号及应答信号的传送如图11。I²C总线规定: 
SCL 线是高电平时,SDA 线从高电平向低电平转变时,这个情况表示起始条件;
SCL 线是高电平时,SDA 线由低电平向高电平转变时,这个情况表示停止条件。 AT89C51单片机的电子密码锁及报警系统设计+电路图+源码(4):http://www.751com.cn/tongxin/lunwen_1035.html
------分隔线----------------------------
推荐内容