图4 1602液晶显示模块
图4为1602液晶显示模块,该设计的显示采用了LCD1602作为显示模块,LCD1602能够同时显示32个字符,在系统中一共负责12条操作提示,其D0-D7引脚对应接单片机的P1口,VSS和VDD对应接电源和地址,VEE为液晶亮度调节按钮,RS为数据或命令的选择端接P3.0,RW是读写的选择端接P3.1,E为使能信号接P3.2。当用户需要对密码锁开锁时,首先利用键盘上的0-9数字键输入密码,每当按下一个数字键在显示器上显示一个“*”,输入多少位数字就显示多少“*”,这是为了保证客户的密码不被窃取,当密码输入完成时,如果密码正确则LCD1602显示“Unlock ok”,发光二极管也随即变亮,表示锁被打开;当密码错误时显示电路则显示“ERROR”,发光二极管不会变亮,表示电子密码锁没有被打开。通过LCD1602显示屏也可以清楚的判断出电子密码锁此时的状态。
2.3 开锁电路模块
通过单片机传送信号给开锁机构,电路驱动电磁锁吸合,从而达到开锁的目的。当用户输入密码正确,单片机便输出开锁信号,送到开锁驱动电路,然后驱动电磁锁,达到开锁的目的。电磁锁的选用要视情况而定,但是吸合力要足够且有一定的余量。
图5 开锁电路模块
图5为开锁电路模块,如果用户输入的密码正确,单片机自动识别,系统使单片机其中一引脚发出信号,经过三极管放大后,由继电器驱动电磁阀动作将锁打开,在本设计中,基于节省材料的原则,暂时使用继电器模拟开锁,当密码输入正确后,实物中继电器会发出“咔”的一声,代表开锁成功。
2.4 掉电存储模块
掉电存储电路的作用是在电源断开的时候,存储当前设定的开锁信息。该设计中为了在系统掉电时能够保存系统设置的密码,使用了具有I2 C总线接口的EE2PROM的AT24C02芯片来保存密码锁的密码。AT24C02是一个2K位串行CMOS EEPROM,内部含有256个8位字节,AT24C02芯片可执行电擦出、可编程、有记忆的并行EEPROM存储芯片,它采用两线并行的总线和单片机通讯,芯片内的资料可以在断电的情况下保存。在利用+5V电压清除EEPROM时,通常不需要设置单独的清除操作,而是在写入的过程中自动清除即可。
图6 掉电存储模块
图6为掉电存储模块,AT24C02的A0、A1、A2的作用是确定芯片的硬件地址,它们都接地,VCC和GND分别为正、负电源。SDA为串行数据输入/输出,与单片机的P3.3连接。SCK为串行时钟输入线,与单片机的P3.4连接。引脚WP的功能是写保护,如果WP管脚连接到VCC,所有的内容都被写保护只能读,当WP管脚连接到地或者悬空允许器件进行正常的读/写操作。
2.5 报警模块
为了满足安全性和可靠性的要求,防止多次输入密码试探意外开锁,所以电子密码锁应该有报警部分。通常的报警部分是利用蜂鸣器和发光二极管进行声光报警,当输入密码三次错误时发光二极管会不停地闪烁,蜂鸣器发出蜂鸣声。
图7 报警模块
图7为报警模块,本设计报警部分由蜂鸣器和外围电路组成,通电后不发出声音,当密码输入三次错误时,AT89S52的P3.5引脚为低电平,三极管导通执行蜂鸣器发出警笛报警。
2.6 振荡电路模块
晶振就像是单片机的心脏,提供时钟激励,保证单片机内部和外部电路的时序逻辑电路协调动作。虽然晶振不能自激振荡,但是用晶振和电容可以组成一个选频网络,利用单片机内部时钟,就可以产生一个和晶振频率一样的时钟信号.
图8 振荡电路模块
AT89S52的XTAL1和XTAL2引脚与晶体振荡器及电容C1、C2按图8振荡电路模块所示连接,晶振、电容C1/C2和片内与非门构成了电容三点式振荡器,振荡信号的频率和晶振频率及电容C1、C2的容量有关[3],根据实际情况,本设计中采用了12MHZ作为系统的外部晶振,电容C1、C2采用30PF的电容。 AT89S52单片机密码可更改的电子密码锁设计+源码(3):http://www.youerw.com/tongxin/lunwen_395.html