基于51单片机的红外遥控密码锁的设计 下载本文

基于51单片机的红外遥控密码锁的设计

【摘要】本文设计了由红外接收头HS0038(红外接收频率为38khz)和AT89C51控制的接收部分构成;由红外发光二极管和AT89C51控制的发射部分来完成密码的发送过程。在本设计中,利用红外接收头的输出接在单片机的INT0口,通过下降沿触发单片机INT0中断,从而可以对编码脉冲进行接收、存储和解码。最后设计上位机对密码锁网络进行管理。

【关键词】密码锁;单片机;红外接收

1.引言

目前国内外密码锁系统的主要发展方向是:接触式密码锁系统、非接触式密码锁系统、智能识别密码锁系统;但是他们都相应的存在着不同的缺点。红外遥控密码锁系统的成本与接触式密码锁系统相当,而且可以进行近距离遥控,使用十分方便。采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,增加遥控功能,提高信号传输的抗干扰性,减少误动作,而且功率消耗低;红外线不会向室外泄露,不会产生信号串扰;反应速度快、传输效率高、工作稳定可靠等。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。所以红外线遥控是目前使用最广泛的一种通信和遥控手段[1]。

为此本文设计由红外接收头HS0038(红外接收频率为38khz)和AT89C51控制的接收部分构成;由红外发光二极管和AT89C51控制的发射部分来完成密码的发送过程。设计中使用电磁继电器来代替所的功能,并且有两个LED灯来对系统的按键和开锁进行指示。采用单片机进行遥控系统的应用设计,具有编程灵活多样,电路结构清晰。特别适合家庭、宾馆、仓库、私家车库等场所。

2.密码锁的总体设计方案

本系统采用AT89C51单片机作为本设计的核心元件,该系统由发射模块和接收模块两部分构成,遥控器发射模块可以随身携带,只要在接收器附近,即可遥控开锁。遥控发射器主要由AT89C51单片机、红外发射二极管、矩阵键盘及遥控开关电路组成。该部分的结构图如图1所示。

红外遥控由发送和接收两部分组成,发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲信号,通过红外发射管发射红外信号。红外接收采用性能可靠的配套的一体化红外接收头接收红外信号,它同时对信号进行放大、检波、整形,得到TTL电平的编码信号,再送给单片机,经单片机解码并进行相关操作[2]。

红外线发射及接收控制电路均采用8051单片机来实现,电路简单,输出控制方式可选择,实用性强。图2为发送与接收示意图:

3.系统主要硬件设计

在本设计中,是以AT89C51单片机为核心的。AT89C51单片机是一款低功耗、低电压、高性能CMOS 8位单片机,其输出引脚和指令系统都与MCS-51兼容。AT89C51是一种功能强,灵活性高且价格合理的单片机,可方便地应用在各个控制领域。

3.1 红外发射与接收装置

这里采用红外发光二极管如SE303·PH303,外形和发光二极管LED相似,发出红外光(近红外线约0.93um)。管压降约1.4V,工作电流一般小于20mA。为了适应不同的工作电压,回路中常串有限流电阻。发射红外线去控制相应的受控装置时,其控制的距离与发射功率成正比。为了增加红外线的控制距离,红外发光二极管工作于脉冲状态,因为脉动光,也就是调制光的有效传送距离与脉冲的峰值电流成正比,只需尽量提高峰值电流,就能增加红外光的发射距离。提高峰值电流的方法,就是减小脉冲占空比,即压缩脉冲的宽度。减小脉冲占空比还可使小功率红外发光二极管的发射距离大大增加。要使红外发光二极管产生调制光,只需在驱动管上加一定频率的脉冲电压[5]。

本设计采用红外一体化接收头HS0038。HS0038将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的TTL信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。

3.2 红外信号的编码处理

3.2.1 红外编码

遥控器信息码是由AT89C51单片机的定时器T1调制成38.5KHz红外载波信号,不同的脉冲个数代表不同的操作码信息,最少为两个脉冲(采用两个),其他信息码的脉冲个数逐个递增。为了使接收尽量可靠,第一位码宽为3ms,其余为1ms,码间距为1ms,遥控码数据间隔大于10ms。遥控器上每个键都有唯一的一个键号,单片机通过查得按下键的键值发送约定个数的脉冲。

3.2.2 红外接收信号的解码

接收信号的解码是根据红外线接收器输出脉冲帧的格式来进行解码的,即用累加器A分别对符合条件的负跳变脉冲进行计数。当红外线接收器输出脉冲帧数据时,第一位码的低电平将启动中断程序,实时接收数据帧。在接收数据帧时,根据发射帧的格式将对第一位(起始)码的码宽进行验证。若第一位低电平码的脉冲宽小于2ms,将作为错误码处理。当间隔位的高电平脉冲大于3ms时,结束接收,然后根据累加器A中的脉冲个数,判断键盘输入六位密码是否与设定密码相同,从而控制继电器开锁与否[4]。图3为红外线接收器输出的一帧遥控码波形图。

3.2.3 通信接口电路

计算机与单片机之间的通讯是采用串口通信方式,串口通信是现阶段PC串口和设备之间的最简单也是应用最广泛的一种数据通信的方式。串口是计算机内的通用设备通信的协议,采用RS-232接口标准就可以实现数据之间的传输,完成温度数据和控制指令传输。

4.系统软件设计

4.1 遥控发射部分程序设计

该部分主要分为主程序、按键扫描程序以及遥控编码脉冲发射程序。主要是对定时器T1定时的方式的设定,计数器的初始化等。

4.2 上位机软件设计

本文还设计了上位机软件,来进行人机交互,能够拓展密码锁的在更广的领域应用。本文采用LabVIEW图形化编程语言,完成了控制平台的设计。系统软件采用模块化的设计思想,LabVIEW程序通过串口通信电路读取密码锁数据,并对数据进行相应的分析处理。4.2.1 用户管理模块

密码锁监控系统的正常运行关系到整个密码锁系统的安全,只有授权用户才能进入系统进行操作。每个授权用户都有一个唯一的身份标识,即用户名,用户凭密码登录系统。用户根据权限可分为三类:管理员、普通用户、测试用户。测试用户只能使用系统的部分功能;普通用户可以使用系统全部功能;管理员用户除了普通用户的权限外,还可以管理其他用户,包括增加用户、修改用户权限、删除用户等[5]。

4.2.2 密码锁状态与显示模块

密码锁状态通过LabVIEW前面板在计算机显示器上逐点显示并连线,便可实时显示被测密码锁。数据采集程序框图如图4所示。

4.2.3 数据存取模块

数据存取模块通过调用LabVIEW中的Write Characters To File,使子程序将检测到的密码锁状态值保存到Excel表格,方便用户今后调出历史密码锁状态数值进行查阅研究。

5.结束语

本设计是利用单片机芯片来控制一个红外线遥控系统,使其克服了传统锁那样一定要将钥匙插进锁里才能开启的缺点,并具有远距离遥控开锁功能。并建立

上位机软件来管理红外遥控密码锁网络的状态。本文研究的红外遥控密码锁具有遥控开锁、密码修改、密码错误报警等功能,并且具备保密性好、安全可靠、成本低廉等特点。如果经优化设计,成本可以进一步降低。红外遥控密码锁具有广阔的市场前景。

参考文献

[1]Kegl B,Krzyzak A.Piecewise Linear Skeletonization Using Principal Curves[J].IEEE Trans.on Pattern Analysis and Machine Intelligence,2002,24(1):59-74.

[2]赵亮,侯国锐.单片机C语言编程与实例[M].北京:人民邮电出版社,2003.

[3]张伟,刘红丽.基于LabVIEW的温度测控系统设计[J].国外电子元器件,2008(12):19-21.

[4]Rick Bitter,Taqi Mohiuddin,Matt Nawrocki. LabVIEW Advanced Programming Techniques CRC Press,2001.

[5]施新华.利用单片机实现的红外遥控技术[J].上海电机学院学报,2006(9):69-71.