红外遥控电子密码锁设计大学学位论文.docx
《红外遥控电子密码锁设计大学学位论文.docx》由会员分享,可在线阅读,更多相关《红外遥控电子密码锁设计大学学位论文.docx(50页珍藏版)》请在冰豆网上搜索。
![红外遥控电子密码锁设计大学学位论文.docx](https://file1.bdocx.com/fileroot1/2023-1/22/59262d3b-ad46-4184-ba0c-3198189d7665/59262d3b-ad46-4184-ba0c-3198189d76651.gif)
红外遥控电子密码锁设计大学学位论文
红外遥控电子密码锁设计
作者:
孙磊磊
(陕西理工学院物理与电信工程学院电子信息工程专业11级5班,陕西723000)
指导老师:
梁芳
[摘要]:
本文论述了基于AT89C51单片机的红外遥控电子密码锁系统设计。
给出了具体的实现方案。
该条件在分析了单片机的串行通信工作原理的基础上,同时也设计了红外发送接收器电路,以及电子密码锁的电路设计等。
该设计可以实现密码设定、密码显示、密码修改、本机开锁、远程遥控开锁、密码输入错误报警等等。
红外发送器和红外接收器的电路以及电子密码锁设计电路和应用方法。
[关键词]:
单片机;红外线;报警器
InfraredRemoteControlElectronicSecretCodeLockDesign
Author:
SunLeilei
(Grade11,Class05,MajorinElectronics&Informationengineering,Physics&TelecommunicationsengineeringDept.,ShaanxiUniversityofTechnology,Hanzhong723003,Shaanxi)
Tutor:
LiangFang
Abstract:
ThisdissertationisaboutconcretedesignofthehardwareandprogramstepsofInfraredraytestinstrument’sdesignandrealizationbasedonAT89C51.Thisdesigncanachievethepasswordselection;passwordtomodifythepasswordofthemachinelock,remotekeylessentry,thepasswordisincorrectalarmfunction.Thepapergivestheworkingprincipleofthesingle-chipserialcommunication,infraredtransmitterandinfraredreceivercircuit,andthetypicaldesignofthecircuitoftheelectroniclockapplicationmethods.
Keywords:
Sing-chip;Infraredray;Alarm
1绪论
1.1电子密码锁的发展现状及其研究意义
在现实中,人们出于安全的需要,所以锁也就是人们日常生活中和工作中不可缺少的一部分。
从古来有之,由原来机械锁到现在电子密码锁,锁带给我们功能是越来越方便、可靠。
现在人们通常都用的是弹子锁,成本低但缺点是钥匙容易丢失所以造成了安全性低。
并且保险箱也大都是用的是机械密码锁,然而安全性虽有所提高但结构还是比较复杂,成本高并且很容易出现故障,造成了人们出门常需要携带好多把钥匙也容易混淆并且使用起来极不方便并且钥匙丢失后造成安全性也从中大打折扣。
随着科技的迅速发展,密码代替钥匙的密码锁是应运而生。
密码锁可以实现具有安全性高、易操作、成本低、报警提示等好多优点。
现实中,随着科技的迅速发展,密码锁的种类变得也是越来越多。
生活中例如指纹识别、声控锁、磁卡锁以及IC卡识别等等。
但对于这类的密码锁是对特定的指纹、有效卡或者特殊声音有效,并且也是不能进行远程控制,所以只能适用于保密要求相比较高而且仅仅是供于个人使用的房间、保险柜等等。
本文设计的密码锁是一种由AT89C51单片机实现是可以远程控制电路,而且具有按键提示、输入密码错误提示、密码有效提示、本机开锁控制、错误报警控制、遥控开锁等功能,同时也可以处于意外泄漏密码的情况下及时的修改密码,所以也就具有保密性强、灵活度高,适用范围广,尤其适合的场合是家庭、车库、仓库、宾馆等场所。
电子密码锁的特点描述如下:
(1)安全系数比较高。
随机能开锁成功率很低。
(2)误码输入保护,在密码多次输入错误的情况下就立即启动报警系统。
(3)密码是可以更改,为了防止密码被盗,同时也可以避免因为人员的变换而造成密码锁的安全系有所下降。
(4)功耗低,成本低,使用寿命长。
(5)结构简单,操作灵活,故障率低。
(6)灵活性好并且通用性强,可根据自己需要将其安装在其它需要的设备上。
1.2红外遥控电子密码锁的功能
(1)密码选择
将已经编好的密码程序存储在AT24C04中,用户是可以通过密码选择键进行选择。
具体操作过程现实如下:
先熟悉矩阵键盘,找到在AT89C51中的P1.6口上相连的按键,然后按一下,最后按键再输入自己的密码数字,最后确认好就按下确认键“#”即可。
(2)密码显示
为了帮助用户识别是否有按键按下,特定在电路中设置了模拟显示密码电路。
同时也这也是为了防止密码的泄露,输入显示时,并没有显示出用户按下对应的数字,而是将其用一个特定的字符“*”代替来提醒用户是否有按键按下。
这样既能巧妙的提醒用户有有效的保护了密码。
此处是本次设计可靠性的优点之一。
(3)密码修改
本文为了防止密码因被盗窃以及由于人员的更替而导致密码锁的密级,所以也设计密码用户自行修改密码功能。
在输入两次正确密码后,按下“修改密码键”根据提示输入新密码并且按确认键后再次输入一次新的密码,两次的输入相同则新密码生效,原来的密码则失效。
此处是本设计可靠性优点之二。
(4)红外遥控开锁
当用户把这种密码锁用以仓库车库等重要场所时,用户也是可以不用自己进入仓库,在远处在遥控器上输入正确密码,密码锁识别正确,仓库便自动开锁。
并且在其开锁的同时也会有指示灯变亮作为提示输入正确。
若输入密码判定为错误,继续锁闭,三次输入错误将启动报警系统报警。
此处是本设计可靠性优点之三。
(5)本机按键开锁
通过本机的键盘开锁,用户在键盘上输入正确的密码后,再按下“确认”键,判定正确便会自动开锁。
但是输入密码时用户应当注意:
此设计中输入密码中输入密码之间的间隔时间不得超过5秒。
例如正确密码为123123,当输入第一个数字1后应应当要在5秒内输入其第二个数字2,否则系统就将此次会视为无效。
也比如输入完正确密码后长时间没有按“确认”键,系统也将会当放弃其开锁。
(6)密码错误报警
当系统判定其用户输入的密码是错误时,系统不会开锁,但会有错误提示,累计三次输入错误,系统将立即报警提示,报警是由蜂鸣器发出持续10秒报警声。
所以此时要关闭报警就按复位键可以停止报警。
此处是安全可靠性之四。
1.3红外遥控电子密码锁的结构设计
本次设计都包括红外发射功能模块、红外接收功能模块、单片机模块、报警器功能模块、1602液晶显示模块、按键功能模块、开锁功能模块等。
其系统框图如下:
图1.3红外遥控电子密码锁系统框图
1.4本次论文设计的特点
在通常的情况下人们所认知的电子密码锁只能进行动手操作,例如在宾馆里我们用的的房卡,指纹识别等等。
他们在使用时都存在着有一定的局限性。
在本次的设计,是将红外遥控技术与我们常见键盘式密码锁将其有效合理结合起来,所以也就可以实现本机键盘输入将其解锁,修改密码,而且还能实现远距离通过红外遥控使其开锁,所以实现了一锁多解,一锁多用的高效的目的。
也使我们理解电子密码锁的功能变得多样化而且将其适用的范围变得更加广泛。
同时也在设计采用LM0162L液晶用来作为显示模块来提示以及在密码输入判定错误的同时启动报警系统从而使得电子密码锁的安全保密系数有所提高。
2红外遥控原理
2.1红外遥控介绍
光可分为可见光和不可见光。
可见光分有红、橙、黄、绿、青、蓝、紫,其波长的范围390nm~770nm。
在此范围之外的光统称不可见光。
光谱是位于红色光之外,波长为0.76~1.5um,比红色光的波长相比还长,这样的光就称为红外线。
红外线遥控技术是对于目前使用非常广泛的一种通信和遥控手段,采用红外线作为传输媒介进行数据通信,是一种既方便又经济实用的选择,在对于小型移动设备中得到了广泛的应用和认可。
红外线遥控器就是在于利用了波长0.76μm~1.5μm之间的近红外线来传送控制信号的。
红外线的特点对于是不干扰其他电器设备的正常工作,也不会对周边环境造成影响影响。
而且电路调试比较简单,如果对发射信号进行编码,就可以实现多路红外遥控功能。
红外遥控系统一般都是有红外发射器、红外接收器和微控制器及其外围电路等三部分组成。
如图2.1所示。
图2.1红外遥控系统
2.2红外遥控系统的工作原理
红外遥控的系统分为发射电路和接收电路两部分。
2.2.1红外发射电路
红外遥控器是由遥控编码电路、放大器、键盘电路和红外发光二级管等主要部分组成。
当检测到键盘有按键按下,遥控编码电路则会通过键盘行列循环扫描将会获取得所按键的键值编码,键值是通过编码得到一串键值的代码,然后是用编码脉冲去调制载波信号将其放大后再通过发光二级管将信号发射出去。
本次设计中是用ATMEL公司的AT89C51单片机作为设计核心,其实际发射部分主要有AT89C51单片机完成其编码,然后通过用振荡器产生的1MHz的振荡电路对其所得到编码进行调制,最后也是经过红外发射头将编码信号放大发射出去。
这是发射端所使用的是12MHz晶振所决定的因素。
并且是要在发射端要对晶振进行的整数分频,分频系数一般是取12,所以也就得出12MHz/12=1MHz。
硬件电路中的晶振电路如图2.2所示。
图2.2晶振电路
AT89C52单片机端口上XTAL1和XTAL2分别接有22PF的电容,中间再并接一个12MHz的晶振,形成发射电路,这也是单片机的晶振电路。
2.2.2红外接收电路
图2.2.2红外接收原理图
一般情况下红外发光二级管的发射功率都比较小大约在100mW,光敏二极管接收到
的信号相比就比较弱,因此就我们也就需要相应的增加一个高增益放大电路。
同时在受到外界干扰时会对红外接收部分影响会特别大,所以为了防止干扰其他信号进入,红外接收头通常情况下只漏出一个接受红外光线的小孔,使其达到严格屏蔽接收头的目的。
红外遥控的接收部分主要是由光电转换、放大、解调、解码等几部分组成。
其中光电转换、放大、解调是由红外一体化接收头来完成实现的。
接收部分的单片机主要功能是完成其解码功能。
本文设计是采用了一体化红外接收头。
2.2.3红外遥控工作过程
红外发射时:
经内部调制的数据从串行发射口TXD端口将其信号送出再经过红外发射二极管发射出去,发射距离大约为8~10米。
红外接收时:
采用与发射头配套一体化红外接收头,会将接收到的数据送到串行口端口P3.0中,再由系统进行确认接收数据是否判定与存储的数据是否一致,一致就开锁,不一致就放弃开锁。
3系统硬件设计
3.1主控芯片AT89C51
在本次设计中我选用了ATMEL公司的AT89C51单片机作为主控芯片。
它是一款低功耗,AT89C51就是一款广泛应用的,高性能CMOS8位单片机,由于系统控制简单,数据量需求不是很大,也考虑到电路的比较简单和功耗成本等因素,所以在本次设计中选用ATMEL公司的AT89C51单片机作为主控芯片。
主控模块采用单片机最小系统是由于AT89C51芯片内含有8B的E2PROM,无需外扩存储器,电路简单可靠,其时钟频率为0~24MHz,我们需要的时钟是12MHZ,并且相比而言他的价格低廉,批量价在10元以内。
而且AT89C51也是一款功能强大的微型计算机,它可为许多嵌入式控制应用系统提供高性价比。
这里主要看一下电容和晶振的选择,晶振的大小与单片机的振荡频率有关,电容的大小影响着振荡器振荡的稳定性和起振的快速性,通常选择10~30pF的瓷片电容。
本系统电容选择为33pF,晶振为12MHz之所以选择这一频率的晶振是为了在进行单片机与电脑进行串口通信时容易产生和电脑时钟同步的波特率,另外在设计电路时,晶振和电容应尽可能的靠近芯片,这样可以提高系统的抗干扰能力,电源部分,电源与地之间可以接一个0.1uF的电容,它用来滤除电源的纹波,使单片机稳定工作,单片机最小系统如图3.1所示。
图3.1单片机最小系统
单片机引脚说明:
VCC:
电源电压输入端。
GND:
电源地。
P0口:
P0口是一个8位漏极开路双向I/O端口,每个引脚可以吸收8TTL门电流。
P0口当作数据输出时需要加上拉电阻,当P0口的I/O口被写“1”后,被定义为高阻抗输入状态。
P0可以用于外部程序数据存储器,P0口可以是地址的低八位以及数据输出口。
P1口:
P1口是一个8位双向的I/O端口单片机内部加上了上拉电阻的端口,P1口缓冲器可接收的4TTL栅极电流输出。
P1口的I/O口被写“1”后,内部上拉的是高的,可以作为输入,P1口外部下拉低时输出电流,这是因为有内部上拉的缘故。
P2口:
P2口是一个8位双向的I/O端口单片机内部加上了上拉电阻的端口,P2口缓冲器可接收的4TTL栅极电流输出。
当P2口的I/O口被写“1”后,内部上拉的是高的,可以作为输入,P2口外部下拉低时输出电流,这是因为有内部上拉的缘故。
当P2口用于外部程序存储器或外部数据存储器时P2口是地址高八位输出。
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(T0定时器的外部计数输入)
P3.5T1(T1定时器的外部计数输入)
P3.6/WR(外部数据存储器的写选通)
P3.7/RD(外部数据存储器的读选通)
RST:
复位引脚高电平时MCU复位,复位信号输入端口,当MCU要复位时,给与此引脚高电平,高电平持续时间是不少于两个机器周期的时间。
ALE/PROG:
地址锁存使能以及编程脉冲信号端口。
当单片机访问外部的存储器时,地址锁存使能锁存地址低八位。
通常情况下,ALE引脚输出单片机外部振荡器的频率的1/6的频率输出。
应该注意到的是:
当用于单片机扩展外部的数据存储器时,它会少一个ALE脉冲。
如果你想禁止ALE输出可以设置为0在SFR8EH地址。
此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。
此外,ALE引脚倍稍微拉高。
如果微处理器在外部执行状态ALE的禁令,设置无效。
PSEN:
程序存储器允许输出控制端,在读外部程序存储器时PSEN低电平有效,以实现外部程序存储器单元的读操作。
EA/VPP:
外部程序存储器访问允许。
当/EA接高电平时,单片机读取内部程序序存储器,当扩展有外部ROM时,当读完内部ROM后自动读取外部ROM,当/EA接低电平时,单片机直接读取外部程序存储器。
XTAL1:
片内振荡器反相放大器和时钟发生器的输入端。
XTAL2:
片内振荡器反相放大器的输出端。
3.2存储模块AT24C02
存储模块的设计是把WP引脚接到GND上因为要让器件进行正常的读/写操作,把SDA串行数据/地址与单片机的P3.7引脚使AT24C02与单片机进行所有数据的发送或接收,把SCK串行时钟引脚与单片机的P3.6引脚相连接,让单片机产生一个AT24C02工作的时钟,使其正常的工作。
存储模块电路如图3.2所示
图3.2存储模块电路
AT24C02的特点:
数据线看门狗定时器;可编程复位门级;高数据传输速率400kHz速率和I2C总线;2.7V至7V电压;低功耗CMOS工艺兼容;16bespate写缓冲区;反撇写保护芯片;高低电平复位信号输出;100万擦除周期;保存长达100年。
定义如下的总线状态,见图3.3。
图3.3总线时序图
1 总线空闲(状态A)
数据线和时钟线都保持高电平状态。
2 起始信号(状态B)
时钟线保持高电平期间,数据线从高电平到低电平的跳变作为I2C总线的起始信号。
所有操作都必须以起始信号为前提。
3 停止信号(状态C)
时钟线保持高电平期间,数据线从低电平到高电平的跳变作为I2C总线的停止信号。
所有操作都必须以停止信号结尾。
4 数据有效(状态D)
数据传输都必须以起始信号开头,以停止信号结尾。
在起始信号和停止信号期间传输数据的总量大小由主器件决定,理论上是没有限制的。
但是在写状态下只有最后16个周期传送的数据会被写入。
如果待写入的数据超出了这个限制,会根据先入先出的原则覆盖掉前面的数据。
每一个被寻址到的从设备,在成功接收一个字节的数据后,都必须产生一个应答信号。
主设备必须增加一个额外的时钟信号,接收从器件对收到数据的响应。
器件应答的方式是在响应时钟周期时将SDA线拉低,表示其已收到一个8位数据。
如图3-4。
当然,调整时间和保持时间都必须计算在内。
主器件在传送完最后一个字节的数据之后,不传送应答信号,从而向从器件标明数据传送结束。
在这种情况下,从器件必须保持SDA高电平,使主器件可以产生停止信号。
当AT24C02在内部读写周期内是不会产生任何响应信号的。
3.3上拉电阻的介绍
1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。
2、OC门电路必须加上拉电阻,才能使用。
3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。
4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。
5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。
6、提高总线的抗电磁干扰能力。
管脚悬空就比较容易接受外界的电磁干扰。
7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。
上拉电阻阻值的选择的原则:
1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。
2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。
3、对于高速电路,过大的上拉电阻可能边沿变平缓。
综合考虑
以上三点,通常在1k到10k之间选取。
对下拉电阻也有类似道理
3.4显示模块LCD1602
如果我们想要了解一下系统的运行,那么工作状态显示器是不可缺少的,显示器是一个典型的输出设备并且它的实际应用也是相比而言极为广泛的,现实中我们认识的电子产品都会使用到显示器而其差别仅在于显示器的结构类型不同。
最简单的显示器可以是LED发光二极管或者数码管,它可以给我们展现出一个简单的开关信息或者数字显示,而我们如果需要显示复杂的完整的信息上述的这些器件就不能胜任,而对于液晶的出现就很好的解决了这一以前我们所面临的问题,它不仅能显示内容比较丰富而且更好节约单片机的管脚资源。
本次设计是采用LCD1602。
LCD1602内部的字符已经储存了不同的字符形式,每一个字符都会有一个固定的代码,他们的代码与标准的ASCII字符代码是一致的。
因此我们使用时只要写入显示字符的ASCII码即可,运用这种标准化的设计给我们的使用带来很大的方便。
比如输入英文字母“C”的ASCII代码是01000011(43H),显示时单片机往液晶LCD1602模块写入显示指令,模块就会把地址为43H中的点阵字符图形识别出,并会在液晶屏的相应位置上我们会看到字母“C”。
LCD1602液晶显示与单片机的连接可以分为两种方式:
总线方式和模拟口线方式。
在实验中,我们常采用模拟口线连接方式。
如图3.7所示。
图3.7显示模块硬件结构
现在市场中的字符液晶绝大多数都是基于HD44780的液晶芯片,他们的控制原理是完全相同的,因此在基于HD44780的写控制程序是很容易地应用到市场上大部分的字符液晶。
所以LCD1602液晶的会有以下几种特性:
+5V电压、对比度可调、内含复位电路;提供控制命令,如:
清屏、字符闪烁、光标闪烁、显示移位等多种功能;有80字节显示数据存储器DDRAM;内建有160个5X7点阵的字型的字符发生器CGROM8个可由用户自定义的5X7的字符发生器CGRAM。
3.5矩形键盘的介绍
本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。
每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。
在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。
4×4矩阵键盘的工作原理
在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图5所示。
在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。
这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。
由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。
3.6晶振电路的介绍
本设计中红外遥控发射模块和本机键盘锁模块都会用到晶振电路,其工作原理红外遥控模块都已经介绍过,在此不在过多的解说。
3.7密码锁电路的介绍
我们知道一般情况下,在proteus软件仿真中实现密码解锁成功时只是在液晶显示模块里模拟的可以看出密码解锁成功。
但在本设计中为了使电子密码锁在密码解锁成功时显得具有直观效果,所以在本文的设计上添加了一个发光二极管灯,通过按键输入密码锁将其正确的解锁。
当输入正确密码时,AT89C51单片机的P2.7管脚就会产生高电平,使其解锁并且发光二极管点亮,使其达到提示解锁成功的效果。
当输入密码不正确时报警提示蜂鸣器发出声响。
为了更加突出电子密码锁的功能,在编程方面多考虑了一下,使其可以完成当输入密码正确时发出到解锁成功和报警电路,使其解锁灯亮和蜂鸣器报警提示。
3.8串行通信方式
串行数据传输有单工、全双工、半双工三种线路形式。
本设计中采用的线路方式是全双工形式。
全双工的数据传输是双向的,可以同时发送和接收数据,因此,全双工形式的串行通信需要两条数据线。
如下图所示。
图3.8全双工形式通信
3.9串行通信中串行I/0和数据的实现
为了实现串行通信,需要有硬件电路解决串行数据传输中的一系列协调问题,这些硬件就是串行接口电路或简称串行口。
串行口主要有发送寄存器、接受寄存器和移位寄存器等组成。
通常把实现异步通信的串行口称为异步接收器/发送器UART。
串行口的主要功能是实现数据的串行化/反串行化。
串行化是把并行数据转换为串行数据,而反串行化是把串行数据转换为并行数据。
串行口的数据发送是一个串行化过程,在这一过程中,把写入发送寄存器的并行数据,按帧格式哟啊球插入格式信息,构成一个串行位串,经TXD引脚串行送出。
而串行口的数据接收是一个反串行化过程。
在这一过程中,串行数据通过引脚RXD进入,经移位寄存器把帧中的格式信息滤除保留数据位,从而在就收缓冲器中得到并行数据,并送上内部总线。
4系统硬件的设计
4.1软件方案设计
图4.1红外发射模块程序流程图
图4.2本机锁模块流程图
4.2软件仿真过程
(1)硬件