红外遥控电子密码锁的设计.doc

上传人:小飞机 文档编号:4296093 上传时间:2023-04-14 格式:DOC 页数:41 大小:614.50KB
返回 下载 相关 举报
红外遥控电子密码锁的设计.doc_第1页
第1页 / 共41页
红外遥控电子密码锁的设计.doc_第2页
第2页 / 共41页
红外遥控电子密码锁的设计.doc_第3页
第3页 / 共41页
红外遥控电子密码锁的设计.doc_第4页
第4页 / 共41页
红外遥控电子密码锁的设计.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《红外遥控电子密码锁的设计.doc》由会员分享,可在线阅读,更多相关《红外遥控电子密码锁的设计.doc(41页珍藏版)》请在三一办公上搜索。

1、本科生毕业设计(论文)红外遥控电子密码锁的设计 院 系 信息科学与工程系 姓 名 尹 强 学 号 112608060112 专 业 电子信息工程 指导老师 黄建廷 职称 讲师 二0一五 年 四 月 三十 日摘要本设计是以STC89C52为主要芯片,以中断、计数等基本工作方式来控制、判断外部器件的工作、工作状态,结合采用数字信号编码的基本算法,用红外遥控器遥控发送密码、再用红外接收管接收密码,单片机根据红外接收管导通与否和持续时间结合二次调制方式的基本算法还原遥控器发送的密码,再与外部储存器AT24C02储存的密码对比,判断密码是否正确,辅助以LCD12864显示用户的操作结果,以蜂鸣器提醒,再

2、通过矩阵键盘实现输入或修改密码等基本功能实现红外电子密码锁的设计。该设计运用了C语言编写程序,简单、明了,很好的实现了红外通信的要求。在以往设计的基础上,该设计添加了在线烧写程序,极大的方便了用户使用,特别是为工业生产带来了极大的便利。红外电子密码锁具有成本较低、操作方便、体积小、无污染、反应速度快等优势,具有很好的市场价值。关键词: 红外遥控;红外接收;报警器;电子密码锁;单片机AbstractThis design is based on STC89C52 as the main chip to interrupt, counting the basic work such as ways

3、 to control, judge the external devices work, work status, combined with the basic algorithms of digital signal coding, with infrared remote control remote sending the password), then use the infrared receiving tube receive password, SCM according to the infrared receiving tube conduction or not and

4、 the duration of the reduction of modulation mode algorithm combining with the remote control to send password, compared with external packet AT24C02 stored password again, to determine whether a password correctly, auxiliary to LCD12864 display the users operating results, with a buzzer to remind,

5、again by matrix keyboard input or change the password of basic functions such as infrared electronic combination lock design.This design USES the c language program, simple, clear, good for infrared communication requirements.On the basis of the previous design, the design added online burning progr

6、am, great convenience to users, and especially for the industrial production has brought great convenience.Infrared electronic combination lock has low cost, convenient operation, small volume, no pollution, the advantages of the reaction speed, has the very good market value.Keywords: infrared remo

7、te control ,infrared receiving ,alarm ,electronic password lock ,single chip 目录一、 绪论11.1 设计背景11.2 市场前景21.3 设计任务31.4设计思路3二、 硬件电路设计与实现52.1 AT24C02模块52.1.1器件及原理介绍52.1.2电路实现62.2 红外通信模块62.2.1遥控发射器及其编码62.2.2电路实现82.3矩阵键盘模块92.4显示模块92.4.1 LCD12864介绍92.4.2LCD12864电路图102.5蜂鸣器模块102.6单片机最小系统模块11三、 软件设计113.1 程序流程

8、图123.1.1主程序流程图123.1.2 键值判断流程图123.1.3 开锁流程图133.1.4 密码修改流程图143.1.5 红外接收流程图153.1.6 按键扫描流程图163.2 程序设计(见附录二)17四、 总结17参考文献18致谢20附录20附录一21附录二21一、 绪论1.1 设计背景现代社会盗窃事件频频发生,主要因为传统的机械锁具结构简单、制作工艺落后,无法阻止技术手段的破坏。面对这一现状,新时代提出了锁具必须革命的迫切的要求。20世纪70年代,随着微电子技术的应用,出现了磁控锁、声控锁、超声波锁、红外线锁、电磁波锁、电子卡片锁、视网膜锁、遥控锁等。这些高科技锁有机械锁所无法比拟

9、的高保密性能。红外遥控电子密码锁结合电子技术、通信技术、遥控技术为一体,具有编码量多、安全性强、可修改密码、密码错误报警、低功耗等优点,同时可以实现远程控制,能为保卫系统提供极强的可靠性和安全性,因此有很高的实际应用价值。 电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子设备。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其编码数量巨大,随机开锁的可能性几乎为零,性能和安全性已大大超过了机械锁。红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用

10、。由于红外线在频谱上位于可见光之外,所以抗干扰性强,具有光波的直线传播特性,不易产生相互间的干扰,是很好的信息传输媒体。信息可以直接对红外光进行调制传输,例如,信息直接调制红外光的强弱进行传输,也可以用红外线产生一定频率的载波,再用信息对载波进调制,接收端再去掉载波,取到信息。从信息的可靠传输来说,后一种方法更好,这就是目前大多数红外遥控器所采用的方法。由于红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,在红外遥控技术时,不必要像无线电遥控器那样,每套要有不同的遥控频率或编码,所以同类产品的红外线遥控器,可以有相同的遥控频率或编码,也不会出现遥控信号“串门”的情况。这对于大批量

11、生产以及在家用电器上普及红外线遥控提供了极大的方便。而且红外线为不可见光,因此对环境影响很小,再红外光波动波长远小于无线电波的波长,所以红外线遥控不会影响其他家用电器,也不会影响临近的无线电设备。同时反应速度快、传输效率高、工作稳定可靠,可以应用工业设备中。在高压、辐射、有毒气体、粉尘等环境下,采用红外遥控技术不仅完全可靠而且能有效地隔离电气干扰,还可避免人体直接接触危险因素。所以红外遥控是目前使用很广泛的一种通信手段。1.2 市场前景红外遥控是目前家用电器中用得较多的遥控方式,在数字投影机、DVD、VCD、录像机、电视机、车载影音导航系统等被广泛的应用。由于红外遥控不影响周边环境、不干扰其他

12、电器设备,其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。近年来随着生活水平的提高,人们更加注重生活质量,更乐意去享受方便快捷的生活方式,而红外密码锁恰恰具有使用方便、操作简单、价格低廉等特点,可以给人们的生活带来了极大方便而受到广大人们的欢迎。又因其有着广泛的应用,因此其发展前景可观。1.3 设计任务 设计一个采用红外遥控的电子密码锁软硬件。其特点如下:1)保密性好,编码量多远远大于弹子锁。随机开锁成功率几乎为零。2)密码可变,用户可以随时更改密码,防止密码被盗,同时也可

13、以避免人员的更替而使锁的密级下降。 3)误码输入保护,当输入密码多次错误时,报警系统自动启动。4)无活动零件,不会磨损,寿命长。5)使用灵活性好,不像机械锁必须佩带钥匙才能开锁。6)电子密码锁结构简洁,故障率低,密码输入操作简单易行。7)通用性强,可根据需要安装在不同的设备上。8) 硬件成本低廉,软件简洁可靠,易于批量生产。1.4设计思路本设计是以STC89C52为核心控制器件。本设计是通过STC89C52与AT24C02之间交换密码后,再与用户通过键盘或红外遥控器发送过来的密码作对比,再用LCD12864显示操作结果,用蜂鸣器提示电子锁是否打开,从而实现红外遥控电子密码锁的设计,其工作原理图

14、如图1.1所示:编码调制红外发射接收放大输入密码解调解码验证密码图1.1工作原理图二、 硬件电路设计与实现2.1 AT24C02模块2.1.1器件及原理介绍AT24C02串行E2PROM具有I2C总线接口功能,功耗低,宽电源电压(根据不同型号2.56.0V),工作电流约为3mA,静态电流随电源电压不同为30A110A。AT24C02引脚如图2.1所示:图2.1 AT2402引脚I2C通信原理:I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化,如图2.2所示。SCL线为高电平期间,SDA线由高电平

15、向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号,如图2.3所示:图2.2 波形图1图2.3波形图22.1.2电路实现A0 、A1 、A2作为地址线,因在此只有一个器件,故全都接GND。SDA作串行数据读写端接P1.2口,SCL作为时钟信号接P1.1口。图2.4 AT24C02硬件结构2.2 红外通信模块2.2.1遥控发射器及其编码 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的UPD6121G 组成发射电路为例说明编码原理, 我们使用的超薄型红外线遥控器使用的就是6121

16、编码。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms 的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms 的组合表示二进制的“1”, 其波形如图2.5所示: 图2.5 编码波形图上述“0”和“1”组成的32 位二进制码经38kHz 的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射。UPD6121G 产生的遥控编码是连续的32 位二进制码组,其中前16 位为用户识别码,能区别不同

17、的电器设备,防止不同机种遥控码互相干扰,如我们可以同时使用电视机、机顶盒、功放等遥控器,但它们不会产生误触发。该芯片的用户识别码固定为十六进制01H;后16位为8 位操作码(功能码)及其反码。UPD6121G 最多额128 种不同组合的编码。 遥控器在按键按下后,周期性地发出同一种32 位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在4563ms 之间。 图2.6 发射波形图当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms 的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8 位地址码(

18、9ms18ms),高8 位地址码(9ms18ms),8 位数据码(9ms18ms)和这8 位数据的反码(9ms18ms)组成。如果键按下超过108ms 仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。 代码格式(以接收代码为准,接收代码与发射代码反向) 1) 位定义 图2.72) 单发代码格式 图2.83) 连发代码格式 图2.92.2.2电路实现一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的TTL 信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。在本系统中我们采用红外一体化接收头HS0038

19、,外观图如图2.10所示:图2.10 HS0038实物图HS0038 黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35m。它能与TTL、COMS 电路兼容。HS0038 为直立侧面收光型。它接收红外信号频率为38 kHz,周期约26 s,同时能对信号进行放大、检波、整形,得到TTL 电平的编码信号。三个管脚分别是地、5 V 电源、解调信号输出端。利用外部中0断进行数据的接收。图2.11 HS0038硬件结构2.3矩阵键盘模块将12个按键分为4排3列排列好,如图:矩阵键盘硬件结构。当有一个键按下时,通过某一边引脚赋低电

20、平,扫描全部引脚看是否与最初的赋值一样,不一样则根据相应的算法(通过改变后的值与初始值相或,根据结果赋值)确定是哪个键按下。图2.12 键盘硬件结构2.4显示模块2.4.1 LCD12864介绍LCD12864分为带字库和不带字库两种,带字库的在显示文本时更方便,不带字库的在显示图像时更有优势。本系统采用带字库的LCD12864,采用标准的20脚接口,各引脚接口说明如表2.1所示:表2.1 LCD12864引脚说明 编号符号引脚说明编号符号引脚说明1VSS电源地11D4数据2VDD电源正极12D5数据3V0对比度亮度调整13D6数据4RS数据/命令选择14D7数据5R/W读/写选择15PSB串

21、行通信选择端6E使能信号16NC空脚7D0数据17RET复位8D1数据18VOUTLCD驱动负电压9D2数据19LED+背光电源正极10D3数据20LED-背光电源负极2.4.2 LCD12864电路图图2.13 LCD12864硬件结构2.5蜂鸣器模块蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。有源蜂鸣器直接接上额定电源(新的蜂鸣器在标签上都有注明

22、)就可连续发声;而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路中才能发声。本系统采用无源蜂鸣器,控制更简单。蜂鸣器硬件如下图:图2.14蜂鸣器2.6单片机最小系统模块 单片机最小系统电路图:图2.15 单片机最小系统三、 软件设计3.1 程序流程图3.1.1主程序流程图开始系统初始化进入键值判断程序显示主界面 图3.1 主程序流程图3.1.2 键值判断流程图 图3.2 键值判断流程图3.1.3 开锁流程图 图3.3 开锁流程图3.1.4 密码修改流程图 图3.4 密码修改流程图3.1.5 红外接收流程图图3.5 红外接收流程图3.1.6 按键扫描流程图图4.6 按键扫描流程图3.2 程序

23、设计(见附录二)四、 总结本设计不但很好的满足了题目的要求,即终端能够接收红外遥控发射板发射的红外信号(密码)并能与已存密码作对比,而且能够在液晶上显示操作结果,还增加了取消这一功能,从而完成了红外遥控电子密码锁的要求。但一开始并不是这么顺利,最先将程序下载到机子里面,键盘不能工作,后经查发现键盘程序没有运行。改过来后又发现多了一个键,没有用处,经讨论将多的键设为取消键。原来设计的电源是直接用USB从电脑上引出来,后来在此解读题目时发现不能满足题目要求,所以添加了一个用7805稳压的小模块。美中不足的是此设计红外遥控的距离并不太理想(一米多一点),而且取消功能并不是想象的能够取消前面自己不想要

24、的内容,而是返回主菜单。但这些不足并不能抵消此设计带来的好处。参考文献1 王君,祝超群,刘仲明,杨彬.单片机原理及控制技术.机械工业出版社,20102 曾泽昭,红外遥控电子密码锁应用研究.国外电子元器件,2004 3 康华光主编.电子技术基础模拟部分. 第四版. 北京: 高等教育出版社,19994 曹汉房主编.数字电路与逻辑设计. 第四版. 武汉: 华中科技大学出版社,20045 沙占友,王彦朋等.单片机外围电路设计.北京:电子工业出版社,2003 6 邱玉春,李文俊.单片机系统中的红外通信接口J.电子产品世界,20007 苏长赞,红外线与超声波遥控. 北京:人民邮电出版社,19988 楼然苗

25、,单片机课程设计指导. 北京航空航天大学出版社,2007年.9 彭为,单片机典型系统设计. 电子工业出版社,2006年.10 吴国经,单片机应用技术. 中国电力出版社,2004年.11 何立民,单片机应用技术选编M北京:北京航空航天大学出版社,199812 李华,MSC-51系列单片机实用接口技术. 北京航空航天大学出版社,2003致谢历时将近两个月的时间终于将这篇论文写完,在论文的写作过程中遇到了无数的困难和障碍,都在同学和老师的帮助下度过了。尤其要强烈感谢我的论文指导老师黄建廷老师,他对我进行了无私的指导和帮助,不厌其烦的帮助进行论文的修改和改进。另外,在图书馆查找资料的时候,图书馆的老师

26、也给我提供了很多方面的支持与帮助。在此向帮助和指导过我的各位老师表示最衷心的感谢!感谢这篇论文所涉及到的各位学者。本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。感谢我的同学和朋友,在我写论文的过程中给予我的诸多素材,还在论文的撰写和排版过程中热情的帮助。由于我的学术水平有限,所写论文难免有不足之处,恳请各位老师和学友批评指正!附录附录一1.1整体电路结构: 图1 总电路图1.2 PCB图:图2 PCB图附录二2.1 AT24C02模块#include common.hsbitWP = P10;sbitSCL = P11;sbitSDA= P1

27、2;void Delay_US(void);void Delay_10MS(void)uchar i = 0;uchar j = 0;for(i = 50;i0;i-)for(j=200;j0;j-);void AT24C08_unprotect()WP = 0;voidAT24C02_Start(void)/开始总线SDA = 1;SCL = 1;Delay_US();SDA = 0;Delay_US();void AT24C02_Stop(void)/停止总线SDA = 0;SCL = 1;Delay_US();SDA = 1;Delay_US();void AT24C02_Ack(voi

28、d)/ACK信号uchar i = 0;/等待从机回应SCL = 1;Delay_US();while(SDA =1) & (i200)/等 侍ACK信号i +;SCL = 0;Delay_US();void AT24C02_NOAck(void)/NO ACKSCL = 1;/主机发送给从机Delay_US();SDA = 1;SCL = 0;Delay_US();void AT24C02_Write_Byte(uchar Value)/ 写8位数据到总线uchar i = 0;for(i =0; i8; i+)SCL = 0;SDA = Value & 0x80;/ 1000 0000 D

29、elay_US();SCL = 1;Delay_US();Value = 1;SCL = 0;Delay_US();SDA = 1;uchar AT24C02_Read_Byte(void)/读8位数据uchar Value = 0;uchar i = 0;SCL = 0;/低电平数据可以变化Delay_US();for(i = 0; i i;/先读高位数据SCL = 0;Delay_US();return Value;void AT24C02_Write(uchar Address,uchar Value)AT24C02_Start();/起始条件AT24C02_Write_Byte(0xA

30、0);/器件地址1010 0000/写AT24C02_Ack();/等从机应答AT24C02_Write_Byte(Address);/ 1024 字节,其中一个字节操作25AT24C02_Ack();AT24C02_Write_Byte(Value);/ 0x15AT24C02_Ack();/AT24C02_Stop();Delay_10MS();uchar AT24C02_Read(uchar Address)uchar Value = 0;AT24C02_Start();/开始总线AT24C02_Write_Byte(0xA0);/ 1010 0000AT24C02_Ack();AT24

31、C02_Write_Byte(Address);/读数据的地址; /25AT24C02_Ack();AT24C02_Start();/再次开始AT24C02_Write_Byte(0xA1);/ 1010 0001AT24C02_Ack();Value = AT24C02_Read_Byte();AT24C02_NOAck();/主机发送给从机无应答AT24C02_Stop();return Value;2.2红外通信模块sbit beer=P04;sbit RED_DATA=P32; /红外接口/uchar RED_ADD=0;/红外遥控的地址uchar RED_add=255; /红外遥控

32、的地址缓存区uchar RED_key=255; /红外摇控的键值,无键按下时为255/红外初始化void Init_Red(void)RED_DATA=1;/P32输出高电平EX0=1;/开启红外中断 P32/检测脉冲宽度uchar Red_check(void)uchar t=0;uchar a=0;while(RED_DATA)t+;for(a=0;a=200&res=70&res=10&res=0)&(aa8) RED_add=17)&(aa25) RED_key=1; RED_key=RED_key+(uchar)RODATA; if(aa=32&RED_add=0) KEY_mai

33、n=Red_change(RED_key);break; /把红外数据进行转换uchar Red_change(uchar rednum) switch(rednum) case 16 :return 0;case 48:return 1;case 176:return 2;case 112:return 3;case 8:return 4;case 136:return 5;case 72:return 6;case 40:return 7;case 168:return 8;case 104:return 9;case 0:return 10;/电源开关case 32:return 11;

34、/EQcase 144 :return 12;/快退case 80:return 13;/快进case 160:return 14;/声音减 case 96:return 15;/声音加 case 128:return 16;/CH - case 64:return 17;/CH + default: return 255; 2.3矩阵键盘模块#include common.h#define KEY P2void Key(void)uchar i = 0;uchar j = 0;uchar k = 0;KEY= 0x0F;i = KEY;if(i != 0x0F)uint l=0;Delay(

35、1000);KEY= 0x0F;i = KEY;if(i != 0x0F)KEY = 0x0F;i = KEY;KEY = 0xF0;j = KEY;k = i | j;KEY_change(k);while(KEY !=0xf0 & l2000)KEY = 0xf0;l+;void KEY_change(uchar i)switch(i)case 0xED:KEY_main= 1;break;case 0xDD:KEY_main= 2;break;case 0xBD:KEY_main= 3;break;case 0xEB:KEY_main= 4;break;case 0xDB:KEY_mai

36、n= 5;break;case 0xBB:KEY_main= 6;break;case 0xE7:KEY_main= 7;break;case 0xD7:KEY_main= 8;break;case 0xB7:KEY_main= 9;break;case 0xEE:KEY_main= 10;break;case 0xDE:KEY_main= 0;break;case 0xBE:KEY_main= 11;break;default: break;void Delay(unsigned int i)while(- i);void INIT_TIME_0()TMOD = 0X00;TH0 = 0X0

37、E;TL0 = 0;ET0 =1;TR0 = 1;void KEY_TIME_0() interrupt 1 using 0TH0 = 0X0E;TL0 = 0;Key();2.4 LCD12864显示#include common.h sbit CS = P03;sbit SID = P02;sbit CLK = P01;sbit RESET = P00;#define lcdcom_w 0xf8#define lcdcom_r 0xfc#define lcddata_w 0xfa#define lcddata_r 0xfd/汉字地址表uchar code addr_tab= /便于根据汉字坐标求出地址0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,/第一行汉字位置0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,/第二行汉字位置0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,/第三行汉字位置0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,/第四行汉字位置;/* / 函 数 名:void Delay_LCD(void)/ 功 能:5ms延时/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号