系统功能
51单片机红外电子密码锁系统主要由红外线编码电路、红外线解码开锁电路、掉电保护电路、声光提示报警电路、键盘及显示电路等组成,编写相应的程序代码并进行结果测试和仿真演示。
利用红外遥控技术和单片机的相应技术实现密码锁的开锁、出错报警、超次锁定、修改用户密码等基本的密码锁的功能以及遥控、掉电存储、声光提示等功能。
注:设计的系统既可以通过发送端的按键进行红外控制,也可以通过接收端的按键进行控制,比较灵活,发送端和接收端的控制可以自由切换,比如我发送端操作到一半的时候,接收端可以继续操作,是通过在接收端的按键检测函数keyscan()中增加检测红外键值是否改变的代码:
if(IrKey != 0xff){key = IrKey;IrKey = 0xff;}
其中IrKey的值是通过“读取红外数值的中断函数ReadIr()”中改变的,当接收到红外键值信号时,IrKey便会变成相应的键值。
实物图
红外发射接收原理
发射管:/item.htm?id=16965400408&spm=a220o.1000855.0.0.9KtZiF 接收管:/item.htm?spm=a1z09.2.0.0.XWO4Ir&id=529148623424&_u=o10kp0pj04d8 NEC协议规定的红外发射格式:发送端:先检测矩阵键盘有没有按下,如果有按键按下的话,则调用发射函数将相应的键值发送出去;接收端:HX1838红外接收管接收到的信号和发送的信号正好相反,接收函数从接收到的信号中取出键值,然后根据键值去执行接收端相应的操作(开锁,修改密码等等)。
接收端仿真
在接收端的仿真中密码锁的开锁、出错报警、超次锁定、修改用户密码等基本的密码锁的功能以及掉电存储、声光提示等功能都实现,只剩下红外遥控。输入密码开锁
开机界面: 按A键输入密码,进行开锁: 密码正确,成功开锁(LED灯灭): 密码输入错误:修改存储在24C06里面的密码
按修改密码键,修改密码之前需要输入旧密码: 输入旧密码正确: 输入旧密码错误: 之后输入新的密码: 提醒再次输入新密码:更改密码成功:重置密码
按SET键3s以上,重置24C02存储器中密码:输入错误密码3次以上报警
输入密码错误次数超过3次报警界面(蜂鸣器响):51单片机红外电子密码锁【红外对管矩阵键盘数码管LCD1602显示模块】