红外遥控密码锁设计报告.docx
《红外遥控密码锁设计报告.docx》由会员分享,可在线阅读,更多相关《红外遥控密码锁设计报告.docx(71页珍藏版)》请在冰点文库上搜索。
![红外遥控密码锁设计报告.docx](https://file1.bingdoc.com/fileroot1/2023-5/4/017f3745-3ce2-4d39-9947-12dcfcf42314/017f3745-3ce2-4d39-9947-12dcfcf423141.gif)
红外遥控密码锁设计报告
基于51单片机的红外密码锁
(设计及测试报告)
目录:
第一章绪论
1.1课题背景及目的
在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。
随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。
为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
密码锁具有安全性高、成本低、功耗低、易操作等优点。
在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。
随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。
随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。
但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。
而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。
加上其成本较高,一定程度上限制了这类产品的普及和推广。
鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。
但是接触式密码锁系统都相应的存在着不同的缺点。
例如:
接触式密码锁系统成本较低,体积小,卡片本身无须电源,但使用不太方便,而且有接触磨损。
相比之下,红外遥控密码锁系统的成本与接触式密码锁系统相当,而且可以进行近距离遥控,使用十分方便。
而且它已经与PC机的数据库相结合,可以组成一套酒店房间的门禁管理系统。
由于红外遥控具有许多优点,例如红外线发射装置采用红外发光二极管遥控发射器易于小型化且价格低廉;采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,增加遥控功能,提高信号传输的抗干扰性,减少误动作,而且功率消耗低;红外线不会向室外泄露,不会产生信号串扰;反应速度快、传输效率高、工作稳定可靠等。
工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。
所以红外线遥控是目前使用最广泛的一种通信和遥控手段。
在本设计中,红外遥控密码锁和PC机、数据库相结合,能够实现适时的、强大的管理,使得整个红外遥控系统得到更好的完善。
1.2国内外研究现状
目前大部分的锁采用的都是机械式的,其最大的缺点是利用简单工具就能很容易地把锁打开。
针对这种情况,我们设计了一种红外遥控密码锁,而一般设备都采用专用的遥控编码及解码集成电路,其制作简单、容易,但由于特定功能的限制,只适用于专用的电器产品,其应用范围受到限制。
而设计的红外遥控密码锁系统能提高门禁系统的可靠性和安全性,适应市场需要。
该系统具有普通电子密码锁功能的同时,还增加了遥控功能。
该系统具有较强的实际应用价值,所涉及的技术包括:
红外载波数据传输技术、单片机控制技术、红外遥控系统编码及译码技术、电路设计与演示板制作技术等。
1.3课题研究方法
主要的设计实施过程:
首先,选用ATMEL公司的单片机AT89C51,以及选购其他电子元器件。
第二步,使用PROTEL99完成原理图,并设计PCB图完成人工布线(后因PCB板损坏决定采用万能板焊接的方法)。
第三步,使用KeiluVision3软件编写单片机的C语言程序、仿真、软件调试。
第四部,使用PROTEUS软件进行模拟软、硬件调试。
最后,联合软、硬件调试电路板,完成本次设计。
第二章红外遥控系统介绍
2.1红外通讯原理
红外遥控是单工的红外通信方式,本设计的红外遥控采用以通信方式为基础的红外遥控,而且本设计也使用了红外通信技术,故着重分析红外通信的基本原理。
红外通信是利用红外技术实现两点间的近距离保密通信和信息转发。
它一般由红外发射和接收系统两部分组成。
发射系统对一个红外辐射源进行调制后发射红外信号,而接收系统用光学装置和红外探测器进行接收,就构成红外通信系统。
红外线是波长在750nm至1mm之间的电磁波,它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。
红外通信一般采用红外波段内的近红外线,波长在0.75um至25um之间。
红外数据协会(IrDA)成立后,为了保证不同厂商的红外产品能够获得最佳的通信效果,红外通信协议将红外数据通信所采用的光波波长的范围限定在850至900nm之内。
红外通信的基本原理是发送端将基带二进制信号调制为一系列的脉冲串信号(载波信号),通过红外发射管发射红外信号。
常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。
脉时调制(PPM)是红外数据协会(IrDA)和国际电子电工委员会(IEEE)都推荐的调制方式,本设计采用PPM调制方法,即用两个脉冲串之间的时间间隔来表示二进制信息,数据比特的传送仿照不带奇偶校验的RS232通信,首先产生一个同步头,然后接着8位数据比特。
如图2.1所示。
图2.1PPM调制波形图
普通的红外遥控采用面向指令的帧结构,数据帧由同步码,地址码和指令码组成,指令码长度多为8~16个比特,传送多字节遥控协议时效率偏低,而增加指令码的长度不利于接收器同步,为此本设计选用一种面向字节的帧结构,采用类似于异步串行通信的帧结构,每帧由一个起始位(二进制数0)、8个数据位和2个停止位(二进制数1)构成,如图2.2所示。
每帧传送1个字节的数据,帧与帧间隔大于2ms,帧结构不含地址信息,寻址问题由高层协议解决[8]。
图2.2数据帧结构示意图
由于红外光存在反射,在全双工的方式下发送的信号也可能会被本身接收,因此,红外通信应采用异步半双工方式,即通信的某一方发送和接收是交替进行的。
2.2红外遥控系统结构
红外遥控系统主要分为调制、发射和接收三部分,如图2.3所示:
图2.3
2.2.1调制
红外遥控发射数据时采用调制的方式,即把数据和一定频率的载波进行“与”操作,这样可以提高发射效率和降低电源
功耗。
调制载波频率一般在30khz到60khz之间,大多数使用的是38kHz,占空比1/3的方波,如图2.4所示,这是由发射端所使用的
455kHz晶振决定的。
在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9kHz≈38kHz。
图2.4载波波形
2.2.2发射系统
目前有很多种芯片可以实现红外发射,可以根据选择发出不同种类的编码。
由于发射系统一般用电池供电,这就要求芯片
的功耗要很低,芯片大多都设计成可以处于休眠状态,当有按键按下时才工作,这样可以降低功耗芯片所用的晶振应该有
足够的耐物理撞击能力,不能选用普通的石英晶体,一般是选用陶瓷共鸣器,陶瓷共鸣器准确性没有石英晶体高,但通常
一点误差可以忽略不计。
红外线通过红外发光二极管(LED)发射出去,红外发光二极管内部材料和普通发光二极管不同,在其两端施加一定电压时,
它发出的是红外线而不是可见光。
图2.5A简单驱动电路
图2.5B射击输出驱动电路
如图2.5A和图2.5B是LED的驱动电路,图3a是最简单电路,选用元件时要注意三极管的开关速度要快,还要考虑到LED的正向
电流和反向漏电流,一般流过LED的最大正向电流为100mA,电流越大,其发射的波形强度越大。
图2.5A电路有一点缺陷,当电池电压下降时,流过LED的电流会降低,发射波形强度降低,遥控距离就会变小。
图2.5B所示的
射极输出电路可以解决这个问题,两个二极管把三级管基极电压钳位在1.2V左右,因此三级管发射极电压固定在0.6V左右,
发射极电流IE基本不变,根据IE≈IC,所以流过LED的电流也基本不变,这样保证了当电池电压降低时还可以保证一定的遥
控距离。
2.2.3一体化红外接收头
红外接收电路通常被厂家集成在一个元件中,成为一体化红外接收头。
内部电路包括红外监测二极管,放大器,限副器,带通滤波器,积分电路,比较器等。
红外监测二极管监测到红外信号,
然后把信号送到放大器和限幅器,限幅器把脉冲幅度控制在一定的水平,而不论红外发射器和接收器的距离远近。
交流
信号进入带通滤波器,带通滤波器可以通过30khz到60khz的负载波,通过解调电路和积分电路进入比较器,比较器输出
高低电平,还原出发射端的信号波形。
注意输出的高低电平和发射端是反相的,这样的目的是为了提高接收的灵敏度。
一体化红外接收头,如图2.6所示:
图2.6红外接收头
红外接收头的种类很多,引脚定义也不相同,一般都有三个引脚,包括供电脚,接地和信号输出脚。
根据发射端调制
载波的不同应选用相应解调频率的接收头。
本设计选择HX1383,因为其性价比较高,且易于购得,如图2.7:
图2.7
红外接收头内部放大器的增益很大,很容易引起干扰,因此在接收头的供电脚上须加上滤波电容,一般在22uf以上。
有的厂家建议在供电脚和电源之间接入330欧电阻,进一步降低电源干扰。
2.3红外编码格式
遥控发射器专用芯片很多,红外遥控的编码目前广泛使用的是:
NECProtocol的PWM(脉冲宽度调制)和PhilipsRC-5Protocol的PPM,本设计基于NEC协议。
其编码特征如下:
1、8位地址和8位指令长度;
2、地址和命令2次传输(确保可靠性)
3、PWM脉冲位置调制,以发射红外载波的占空比代表“0”和“1”;
4、载波频率为38Khz;
5、位时间为1.125ms或2.25ms;
NEC码的位定义:
一个脉冲对应560us的连续载波,一个逻辑1传输需要2.25ms(560us脉冲+1680us低电平),占空比1/4;一个逻辑0的传输需要1.125ms(560us脉冲+560us低电平),占空比1/2。
而遥控接收头在收到脉冲的时候为低电平,在没有脉冲的时候为高电平,这样,我们在接收头端收到的信号为:
逻辑1应该是560us低+1680us高,逻辑0应该是560us低+560us高。
如图2.8
图2.8
NEC遥控指令的数据格式为:
同步码头、地址码、地址反码、控制码、控制反码。
同步码由一个9ms的低电平和一个4.5ms的高电平组成,地址码、地址反码、控制码、控制反码均是8位数据格式。
按照低位在前,高位在后的顺序发送。
采用反码是为了增加传输的可靠性(可用于校验)。
如图2.9
图2.9
重复码:
一个命令只发送一次,即使遥控器上的按键一直按着。
但是会每110mS发送一次代码,直到遥控器按键释放。
如图2.10
图2.10
重复码比较简单:
一个9mS的AGC脉冲、2.25mS间隔、560uS脉冲。
如图2.11
图2.11
本设计采用网上购买的LC7641芯片为内核的小型遥控器作为发送端,其编码基于NEC协议。
接收端为HX1383,数据流入51单片机解码。
第3章硬件电路设计
3.1整系统框图
接收部分系统主要由AT89C51(51系列)、lcd、继电器、LED、4×4矩阵键盘、复位电路等组成。
由红外接收头HX1383接收信号,数据流入51单片机解码。
发送部分本设计采用网上购买的LC7641芯片为内核的小型遥控器作为发送端,其编码基于NEC协议。
3.2红外发送/接收
3.2.1红外遥控器
发送部分本设计采用网上购买的LC7641芯片为内核的小型遥控器作为发送端,其编码基于NEC协议。
图3-1
1.外型尺寸:
1.1键数:
1-18键
1.2主尺寸:
86mm〈长〉*38mm〈宽〉*6mm〈厚〉
2.材质:
2.1面贴:
0.125mmPET光面面料
2.2外壳:
ABS料黑色
2.3电池:
CR2025/3V
2.4按键弹力:
180-230克力
3.控制角度:
3.1有效发射角度:
30度
4.控制距离:
4.1有效距离≥8m
5.按键寿命测试:
5.13万次以上
遥控器技术参数及标准
项目
单位
测试条件
最小值
标准值
最大值
静态电流
UA
无键按下
5
10
动态电流
MA
键按下时
6
12
发射距离
M
沿光轴方向
8
30度自选范围
6
工作电压
V
2.2
3
3.5
振荡频率
KHZ
可定制
455
栽波频率
KHZ
可定制
38KHZ
红外波长
Nm
940
功能键数
18
适用环境温度
℃
-10℃
25℃
40℃
相对温度
Rh%
40
90
3.2.2红外接收头
图3-2
规格:
HX1838(铁壳)
●宽电压适应、低功耗、高灵敏度、优良的抗干扰特性;
●应用广泛:
家用电器、空调、玩具等红外遥控接收;
极限参数:
电源电压
VCC(v)
6.0
工作温度
TOPR(℃)
-25—+85
功耗
PD(mw)
35
储存温度
TSTG(℃)
-40—+125
光电参数:
(T=25℃VCC=5Vf0=38KHZ)
参数
符号
测试条件
Min
Type
Max
单位
工作电压
Vcc
2.7
5.5
V
接收距离
L
L5IR5IF=300mA
(测试信号)
10
17
M
载波频率
f0
38k
HZ
接收角度
θ1/2
距离衰减1/2
+/-45
Deg
BMP宽度
fBW
-3DbBandwidth
2
3.3
5
kHz
静态电流
ICC
无信号输入时
----
0.8
1.5
mA
低电平输出
VOL
Vin=0VVcc=5V
0.2
0.4
V
高电平输出
VOH
Vcc=5V
4.5
Vcc
V
输出脉冲
宽度
TPWL
Vin=500μVp-p※
500
600
700
μS
TPWH
Vin=50mVp-p※
500
600
700
μS
※:
光轴上测试,以宽度为600/900μS为发射脉冲,在5CM之接收范围内,取50次接收脉冲之平均值(参见测试波形)。
测试波形:
图3-3
电原理框图:
图3-5
3.3单片机AT89C51简介
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的只读程序存储器(EPROM)和128bytes的随机存取数据序存器(RAM),器件采用ATMEL公司的高密度/非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和FLASH存储单元,AT89C51单片机为许多嵌入式控制系统提供了一种灵活行高且价廉的方案。
3.3.1主要特性
· 8031CPU与MCS-51兼容
·4K字节可编程FLASH存储器(寿命:
1000写/
擦循环)
·全静态工作:
0Hz-24KHz
·三级程序存储器保密锁定
·128*8位内部RAM
·32条可编程I/O线
·两个16位定时器/计数器
· 6个中断源图3—6
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
3.3.2管脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
管脚备选功能:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
3.3.3震荡特性
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
3.3.4芯片擦除
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
3.44×4矩阵键盘
如图所示,本系统采用4×4矩阵键盘,16个按键分为输入数字键:
0、1、2、3、4、5、6、7、8、9;功能键lock、modify、cel、Enter。
矩阵键盘。
图3—7
3.5复位电路
图3—8
时钟电路工作后,在REST管脚上加两个机器周期的高电平,芯片内部开始进行初始复位(如图3—8)。
3.6振荡电路
图3—9
本设计晶振选择频率为12MHZ,电容选择30pF如图(3-9)。
经计算得单片机工作机器周期为:
12×(1÷12M)=1us。
3.71602液晶显示
图3-10
LCD1602可显示两行英文字符,并且内带ASCII字符库。
LCD1602模块内部可以完成显示扫描,单片机只要向LCD1602发送命令和显示内容的ASCII码。
表3-1引脚功能说明
引脚
符号
功能说明
1
VSS
一般接地
2
VDD
接电源(+5V)
3
V0
液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,可以通过一个10K的电位器调整对比度)。
4
RS
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
5
R/W
R/W为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作。
6
E
E(或EN)端为使能(enable)端,下降沿使能。
7
DB0
底4位三态、双向数据总线0位(最低位)
8
DB1
底4位三态、双向数据总线1位
9
DB2
底4位三态、双向数据总线2位
10
DB3
底4位三态、双向数据总线3位
11
DB4
高4位三态、双向数据总线4位
12
DB5
高4位三态、双向数据总线5位
13
DB6
高4位三态、双向数据总线6位
14
DB7
高4位三态、双向数据总线7位(最高位)(也是busyflag)
15
BLA
背光电源正极
16
BLK
背光电源负极
图3.11LCD1602引脚图
表3-2寄存器选择控制表
RS
R/W
操作说明
0
0
写入指令寄存器(清除屏等)
0
1
读busyflag(DB7),以及读取位址计数器(DB0~DB6)值
1
0
写入数据寄存器(显示各字型等)
1
1
从数据寄存器读取数据
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型