一种简易红外遥控密码锁设计与实现

2010-09-25 10:26:08来源: 现代电子技术

O 引言

    随着科学技术的进步和社会经济的发展,电子密码锁取代传统的机械锁已成为一种必然的趋势。以往基于单片机的密码锁系统,直接将编好的密码程序存储在片内EPROM中,但不易实现密码的修改;如要完成修改密码功能,多采用片外串行E2PROM实现。本文研究并设计的一种基于单片机的红外遥控电子密码锁,不但具有普通密码锁智能控制上锁、开锁、报警等特点,而且在不扩展E2PROM的情况下,可以实现8位密码任意修改的功能,节省了硬件资源,减小了系统体积,这是本设计的一个创新点。另外还增加了遥控开锁的特点。所以该系统不但成本低、保密性强,更适用于那些正常人体不宜接近的特殊场合,比如高辐射区、高传染区等。

1 系统硬件设计方案

1.1 系统总体设计

    系统主要由红外发射模块和本机处理接收模块两部分构成,系统总体设计框图如图1所示。发射模块和本机处理接收模块的核心分别采用AT89C2051和AT89S52单片机。红外信号的收发通过串口进行通信,两部分的串口工作方式及通信波特率的设置相同。


    AT89C2051单片机是AT89C51的一种精简版本,只有20个引脚,体积小;具有2.7~6 V的宽电压工作范围;具备低功耗空闲和掉电模式。该单片机满足本系统低电压供电、低功耗、方便随身携带的要求。

    在本机处理接收模块中,采用了AT89S52单片机,该单片机有3个定时器。设置密码和按键开锁时,均设计了按键间隔超过3s自动复位的功能,分别采用定时器T0和T1定时实现;定时器T2设置串口通信波特率。

1.2 红外发射模块的设计

    红外发射模块仅仅是一手持遥控器,由AT89C2051单片机及键盘电路、按键K及红外发光二极管组成。发射电路原理图如图2所示。


    发射模块设置的密码必须与本机接收模块相同(设置密码方法见2.2.1节),所设密码保存在RAM存储器的31H~38H单元。在待机状态下,系统工作在空闲方式,当按键K按下时,系统上电工作,依次发送密码信号。这样做的优点是,密码不但能跟随主机任意改动,而且遥控开锁时,仅按一键就可完成开锁,方便了用户。

1.3 本机处理接收电路的设计

    本机处理接收电路的控制核心是AT89S52单片机。外接键盘电路、红外接收电路、开锁电路、报警电路和按键指示电路等,电路原理图如图3所示。

1.3.1 红外接收电路的设计

    红外接收电路中使用一体化红外接收头TLl838接收红外信号。TLl838集红外接收和放大于一体,不需任何外接元件,就能完成从红外接收到输出与TTL电平兼容的所有工作,而体积和普通的塑封三极管大小一样。TL1838的输出波形如图4所示。当接收到频带内的红外信号时,TLl838会输出低电平,否则数据高电平,从而将“时断时续”的红外信号解调成原来的连续方波信号。

20d.jpg


1.3.2 报警电路的设计

    报警电路采用了蜂鸣器发声模拟报警,蜂鸣器接在CPU的引脚P2.1上,通过NPN型三极管做电流放大,通过单片机控制蜂鸣器的频率及蜂鸣时间。当输入错误的密码进行开锁时,由P2.1口输出高电平使得NPN型三极管9014导通,蜂鸣器两端加电,由蜂鸣器发出3 s的报警声,当连续三次出现密码错误时,系统将长时间报警,有效起到了防盗作用。

1.3.3 电源电路的设计

    电源部分使用LM7805芯片进行稳压后提供单片机5 V的电压,其电路如图5所示。主要采用家用交流电,同时采用9 V电池作为备用电源。这样做的优点是,即使断电也不至于无法开锁。

1.3. 4 其他外围电路的设计

    由于AT89S52单片机有4个并行输入输出口,硬件资源比较充足,键盘电路采用了相对简单的独立式按键;电路中用一继电器控制一绿色发光二极管代替具体的锁,当密码正确时,开锁5 s,然后自动上锁;P2.O口接一红色发光二极管,用其亮与灭来提醒用户按键是否按下。这样既巧妙地提醒了用户又有效地保护了密码。

2 系统软件设计及实现

    软件部分的设计基于汇编语言,采用模块化设计思想,以主程序为核心设置了多个功能模块子程序。主程序主要起到一个导向和决策功能,决定什么时候系统该做什么,系统的各种功能主要是通过调用具体的子程序来实现。

2.1 红外发射模块程序的设计

    发射模块的编码与调制工作是由软件编程实现的。当按键K按下时,密码信号依次送往数据缓冲器SBUF,然后利用“0”电平调制、“1”电平不调制的方法,将二进制信号调制成频率为38.5 kHz的间断脉冲串信号,通过P3.O口输出,驱动红外发光二极管,最后以波长940 nm的红外光发出红外遥控信号。红外发射模块程序流程图如图6所示。

    38.5 kHz已调波的实现是依据汇编语言具有严格的指令周期来实现的,低电平与高电平均持续13个机器周期,这里采用的时钟晶振是12 MHz,所以产生的调制波的精确频率为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的情况下,实现了任意修改密码的功能,且采用软件复位的方法取消无效按键。通过对本系统设置密码、键盘开锁、红外遥控开锁等各方面的情况进行试验测试,验证了系统的精确性和安全性。实验证明该系统成本低、可靠性高,值得推广与应用。

关键字:电子密码锁  红外遥控  单片机  自动复位

编辑:金海 引用地址:http://www.eeworld.com.cn/gykz/2010/0925/article_3402.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
电子密码锁
红外遥控
单片机
自动复位

小广播

独家专题更多

TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved