微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于单片机的简易红外遥控密码锁设计与实现

基于单片机的简易红外遥控密码锁设计与实现

时间:12-10 来源:互联网 点击:

的精确频率为38.46 kHz。

2.2 本机接收处理模块程序的设计

本机处理部分可以实现密码设置和修改、本机按键*、按键提示、密码错误报警、超次提示、遥控*和按键之间超过3 s自动复位等所有的功能。本机处理的主程序流程图如图7所示。

2.2.1 密码设置子程序的设计

系统只有内部上电复位的时候才能设置或者修改密码。当系统复位时,即进入了等待用户按键设置新密码状态,用户输入的8位密码依次保存在RAM存储单元的41H~48H单元。当8位密码设置完成后,蜂鸣器鸣响1 s提示密码已成功设置。当按键*时,输入的密码依次和RAM存储器中41H~48H单元的数相比较,只要有1位不相同,门锁不但不能打开,而且还发出报警信号。

2.2.2 按键间隔超时的判断及复位

前文提到了当按键间隔超过3 s有自动复位的功能,设置密码和按键*时分别采用定时器T0和T1来实现。两定时器均设为50 ms定时中断,连续产生60次中断的时间是3 s。当确实有键按下并弹起时,打开相应定时器中断并允许其计数。假如在下一按键按下时,发生定时中断还不到60次,则定时器停止计数并重设计数初值及定时中断次数;如果在下一按键按下之前,定时器已发生60次中断,表示3 s已到,则系统自动进行软件复位。设置密码时按键间隔超时的复位程序代码如下:

以上程序当执行完RETI指令后,PC指针指向0000H,程序从地址0000H处开始执行,即实现了软件复位。

当键盘*时,如果按键间隔超过3 s,这时的程序“复位”并不是从地址0000H处执行,而是回到“密码设置结束提示音”后的那一条指令处开始执行,利用单步执行指令的方法得到了此条指令的地址:0FC00H。

3 结语

该设计的亮点在于没有扩展任何E2PROM的情况下,实现了任意修改密码的功能,且采用软件复位的方法取消无效按键。通过对本系统设置密码、键盘*、红外遥控*等各方面的情况进

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top