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

上传人:b****2 文档编号:13980480 上传时间:2023-06-19 格式:DOCX 页数:47 大小:459.01KB
下载 相关 举报
红外遥控电子密码锁的设计.docx_第1页
第1页 / 共47页
红外遥控电子密码锁的设计.docx_第2页
第2页 / 共47页
红外遥控电子密码锁的设计.docx_第3页
第3页 / 共47页
红外遥控电子密码锁的设计.docx_第4页
第4页 / 共47页
红外遥控电子密码锁的设计.docx_第5页
第5页 / 共47页
红外遥控电子密码锁的设计.docx_第6页
第6页 / 共47页
红外遥控电子密码锁的设计.docx_第7页
第7页 / 共47页
红外遥控电子密码锁的设计.docx_第8页
第8页 / 共47页
红外遥控电子密码锁的设计.docx_第9页
第9页 / 共47页
红外遥控电子密码锁的设计.docx_第10页
第10页 / 共47页
红外遥控电子密码锁的设计.docx_第11页
第11页 / 共47页
红外遥控电子密码锁的设计.docx_第12页
第12页 / 共47页
红外遥控电子密码锁的设计.docx_第13页
第13页 / 共47页
红外遥控电子密码锁的设计.docx_第14页
第14页 / 共47页
红外遥控电子密码锁的设计.docx_第15页
第15页 / 共47页
红外遥控电子密码锁的设计.docx_第16页
第16页 / 共47页
红外遥控电子密码锁的设计.docx_第17页
第17页 / 共47页
红外遥控电子密码锁的设计.docx_第18页
第18页 / 共47页
红外遥控电子密码锁的设计.docx_第19页
第19页 / 共47页
红外遥控电子密码锁的设计.docx_第20页
第20页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《红外遥控电子密码锁的设计.docx》由会员分享,可在线阅读,更多相关《红外遥控电子密码锁的设计.docx(47页珍藏版)》请在冰点文库上搜索。

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

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

本科生毕业设计(论文)

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

 

院系信息科学与工程系

姓名尹强

学号112608060112

专业电子信息工程

指导老师黄建廷职称讲师

 

二0一五年四月三十日

摘要

本设计是以STC89C52为主要芯片,以中断、计数等基本工作方式来控制、判断外部器件的工作、工作状态,结合采用数字信号编码的基本算法,用红外遥控器遥控发送密码、再用红外接收管接收密码,单片机根据红外接收管导通与否和持续时间结合二次调制方式的基本算法还原遥控器发送的密码,再与外部储存器AT24C02储存的密码对比,判断密码是否正确,辅助以LCD12864显示用户的操作结果,以蜂鸣器提醒,再通过矩阵键盘实现输入或修改密码等基本功能实现红外电子密码锁的设计。

该设计运用了C语言编写程序,简单、明了,很好的实现了红外通信的要求。

在以往设计的基础上,该设计添加了在线烧写程序,极大的方便了用户使用,特别是为工业生产带来了极大的便利。

红外电子密码锁具有成本较低、操作方便、体积小、无污染、反应速度快等优势,具有很好的市场价值。

关键词:

红外遥控;红外接收;报警器;电子密码锁;单片机

 

Abstract

ThisdesignisbasedonSTC89C52asthemainchiptointerrupt,countingthebasicworksuchaswaystocontrol,judgetheexternaldeviceswork,workstatus,combinedwiththebasicalgorithmsofdigitalsignalcoding,withinfraredremotecontrolremotesendingthepassword),thenusetheinfraredreceivingtubereceivepassword,SCMaccordingtotheinfraredreceivingtubeconductionornotandthedurationofthereductionofmodulationmodealgorithmcombiningwiththeremotecontroltosendpassword,comparedwithexternalpacketAT24C02storedpasswordagain,todeterminewhetherapasswordcorrectly,auxiliarytoLCD12864displaytheuser'soperatingresults,withabuzzertoremind,againbymatrixkeyboardinputorchangethepasswordofbasicfunctionssuchasinfraredelectroniccombinationlockdesign.ThisdesignUSEStheclanguageprogram,simple,clear,goodforinfraredcommunicationrequirements.Onthebasisofthepreviousdesign,thedesignaddedonlineburningprogram,greatconveniencetousers,andespeciallyfortheindustrialproductionhasbroughtgreatconvenience.Infraredelectroniccombinationlockhaslowcost,convenientoperation,smallvolume,nopollution,theadvantagesofthereactionspeed,hastheverygoodmarketvalue.

Keywords:

infraredremotecontrol,infraredreceiving,alarm,electronicpasswordlock,singlechip

 

一、绪论

1.1设计背景

现代社会盗窃事件频频发生,主要因为传统的机械锁具结构简单、制作工艺落后,无法阻止技术手段的破坏。

面对这一现状,新时代提出了锁具必须革命的迫切的要求。

20世纪70年代,随着微电子技术的应用,出现了磁控锁、声控锁、超声波锁、红外线锁、电磁波锁、电子卡片锁、视网膜锁、遥控锁等。

这些高科技锁有机械锁所无法比拟的高保密性能。

红外遥控电子密码锁结合电子技术、通信技术、遥控技术为一体,具有编码量多、安全性强、可修改密码、密码错误报警、低功耗等优点,同时可以实现远程控制,能为保卫系统提供极强的可靠性和安全性,因此有很高的实际应用价值。

电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子设备。

现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。

其编码数量巨大,随机开锁的可能性几乎为零,性能和安全性已大大超过了机械锁。

红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用。

由于红外线在频谱上位于可见光之外,所以抗干扰性强,具有光波的直线传播特性,不易产生相互间的干扰,是很好的信息传输媒体。

信息可以直接对红外光进行调制传输,例如,信息直接调制红外光的强弱进行传输,也可以用红外线产生一定频率的载波,再用信息对载波进调制,接收端再去掉载波,取到信息。

从信息的可靠传输来说,后一种方法更好,这就是目前大多数红外遥控器所采用的方法。

由于红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,在红外遥控技术时,不必要像无线电遥控器那样,每套要有不同的遥控频率或编码,所以同类产品的红外线遥控器,可以有相同的遥控频率或编码,也不会出现遥控信号“串门”的情况。

这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方便。

而且红外线为不可见光,因此对环境影响很小,再红外光波动波长远小于无线电波的波长,所以红外线遥控不会影响其他家用电器,也不会影响临近的无线电设备。

同时反应速度快、传输效率高、工作稳定可靠,可以应用工业设备中。

在高压、辐射、有毒气体、粉尘等环境下,采用红外遥控技术不仅完全可靠而且能有效地隔离电气干扰,还可避免人体直接接触危险因素。

所以红外遥控是目前使用很广泛的一种通信手段。

1.2市场前景

红外遥控是目前家用电器中用得较多的遥控方式,在数字投影机、DVD、VCD、录像机、电视机、车载影音导航系统等被广泛的应用。

由于红外遥控不影响周边环境、不干扰其他电器设备,其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。

近年来随着生活水平的提高,人们更加注重生活质量,更乐意去享受方便快捷的生活方式,而红外密码锁恰恰具有使用方便、操作简单、价格低廉等特点,可以给人们的生活带来了极大方便而受到广大人们的欢迎。

又因其有着广泛的应用,因此其发展前景可观。

1.3设计任务

设计一个采用红外遥控的电子密码锁软硬件。

其特点如下:

1)保密性好,编码量多远远大于弹子锁。

随机开锁成功率几乎为零。

2)密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免人员的更替而使锁的密级下降。

3)误码输入保护,当输入密码多次错误时,报警系统自动启动。

4)无活动零件,不会磨损,寿命长。

5)使用灵活性好,不像机械锁必须佩带钥匙才能开锁。

6)电子密码锁结构简洁,故障率低,密码输入操作简单易行。

7)通用性强,可根据需要安装在不同的设备上。

8)硬件成本低廉,软件简洁可靠,易于批量生产。

1.4设计思路

本设计是以STC89C52为核心控制器件。

本设计是通过STC89C52与AT24C02之间交换密码后,再与用户通过键盘或红外遥控器发送过来的密码作对比,再用LCD12864显示操作结果,用蜂鸣器提示电子锁是否打开,从而实现红外遥控电子密码锁的设计,其工作原理图如图1.1所示:

 

编码调制

红外发射

接收放大

输入密码

解调解码

验证密码

图1.1工作原理图

二、硬件电路设计与实现

2.1AT24C02模块

2.1.1器件及原理介绍

AT24C02串行E2PROM具有I2C总线接口功能,功耗低,宽电源电压(根据不同型号2.5~6.0V),工作电流约为3mA,静态电流随电源电压不同为30μA~110μA。

AT24C02引脚如图2.1所示:

图2.1AT2402引脚

I2C通信原理:

I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化,如图2.2所示。

SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号,如图2.3所示:

图2.2波形图1

图2.3波形图2

2.1.2电路实现

A0、A1、A2作为地址线,因在此只有一个器件,故全都接GND。

SDA作串行数据读写端接P1.2口,SCL作为时钟信号接P1.1口。

图2.4AT24C02硬件结构

2.2红外通信模块

2.2.1遥控发射器及其编码

遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的UPD6121G组成发射电路为例说明编码原理,我们使用的超薄型红外线遥控器使用的就是6121编码。

当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。

这种遥控码具有以下特征:

采用脉宽调制的串行码,以脉宽为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位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰,如我们可以同时使用电视机、机顶盒、功放等遥控器,但它们不会产生误触发。

该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。

UPD6121G最多额128种不同组合的编码。

遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。

一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间。

图2.6发射波形图

当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。

如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。

代码格式(以接收代码为准,接收代码与发射代码反向)

1)位定义

图2.7

2)单发代码格式

图2.8

3)连发代码格式

图2.9

2.2.2电路实现

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

在本系统中我们采用红外一体化接收头HS0038,外观图如图2.10所示:

图2.10HS0038实物图

HS0038黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。

在用小功率发射管发射信号情况下,其接收距离可达35m。

它能与TTL、COMS电路兼容。

HS0038为直立侧面收光型。

它接收红外信号频率为38kHz,周期约26μs,同时能对信号进行放大、检波、整形,得到TTL电平的编码信号。

三个管脚分别是地、+5V电源、解调信号输出端。

利用外部中0断进行数据的接收。

图2.11HS0038硬件结构

2.3矩阵键盘模块

将12个按键分为4排3列排列好,如图:

矩阵键盘硬件结构。

当有一个键按下时,通过某一边引脚赋低电平,扫描全部引脚看是否与最初的赋值一样,不一样则根据相应的算法(通过改变后的值与初始值相或,根据结果赋值)确定是哪个键按下。

图2.12键盘硬件结构

2.4显示模块

2.4.1LCD12864介绍

LCD12864分为带字库和不带字库两种,带字库的在显示文本时更方便,不带字库的在显示图像时更有优势。

本系统采用带字库的LCD12864,采用标准的20脚接口,各引脚接口说明如表2.1所示:

 

表2.1LCD12864引脚说明

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

电源地

11

D4

数据

2

VDD

电源正极

12

D5

数据

3

V0

对比度亮度调整

13

D6

数据

4

RS

数据/命令选择

14

D7

数据

5

R/W

读/写选择

15

PSB

串行通信选择端

6

E

使能信号

16

NC

空脚

7

D0

数据

17

RET

复位

8

D1

数据

18

VOUT

LCD驱动负电压

9

D2

数据

19

LED+

背光电源正极

10

D3

数据

20

LED-

背光电源负极

2.4.2LCD12864电路图

图2.13LCD12864硬件结构

2.5蜂鸣器模块

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。

蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。

蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。

有源蜂鸣器直接接上额定电源(新的蜂鸣器在标签上都有注明)就可连续发声;而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路中才能发声。

本系统采用无源蜂鸣器,控制更简单。

蜂鸣器硬件如下图:

图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程序设计(见附录二)

 

四、总结

本设计不但很好的满足了题目的要求,即终端能够接收红外遥控发射板发射的红外信号(密码)并能与已存密码作对比,而且能够在液晶上显示操作结果,还增加了取消这一功能,从而完成了红外遥控电子密码锁的要求。

但一开始并不是这么顺利,最先将程序下载到机子里面,键盘不能工作,后经查发现键盘程序没有运行。

改过来后又发现多了一个键,没有用处,经讨论将多的键设为取消键。

原来设计的电源是直接用USB从电脑上引出来,后来在此解读题目时发现不能满足题目要求,所以添加了一个用7805稳压的小模块。

美中不足的是此设计红外遥控的距离并不太理想(一米多一点),而且取消功能并不是想象的能够取消前面自己不想要的内容,而是返回主菜单。

但这些不足并不能抵消此设计带来的好处。

 

参考文献

[1]王君,祝超群,刘仲明,杨彬.单片机原理及控制技术.机械工业出版社,2010

[2]曾泽昭,红外遥控电子密码锁应用研究.国外电子元器件,2004

[3]康华光主编.电子技术基础模拟部分.第四版.北京:

高等教育出版社,1999

[4]曹汉房主编.数字电路与逻辑设计.第四版.武汉:

华中科技大学出版社,2004

[5]沙占友,王彦朋等.单片机外围电路设计.北京:

电子工业出版社,2003

[6]邱玉春,李文俊.单片机系统中的红外通信接口[J].电子产品世界,2000

[7]苏长赞,红外线与超声波遥控.北京:

人民邮电出版社,1998

[8]楼然苗,单片机课程设计指导.北京航空航天大学出版社,2007年.

[9]彭为,单片机典型系统设计.电子工业出版社,2006年.

[10]吴国经,单片机应用技术.中国电力出版社,2004年.

[11]何立民,单片机应用技术选编[M].北京:

北京航空航天大学出版社,1998.

[12]李华,MSC-51系列单片机实用接口技术.北京航空航天大学出版社,2003

 

致谢

历时将近两个月的时间终于将这篇论文写完,在论文的写作过程中遇到了无数的困难和障碍,都在同学和老师的帮助下度过了。

尤其要强烈感谢我的论文指导老师—黄建廷老师,他对我进行了无私的指导和帮助,不厌其烦的帮助进行论文的修改和改进。

另外,在图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。

在此向帮助和指导过我的各位老师表示最衷心的感谢!

感谢这篇论文所涉及到的各位学者。

本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。

感谢我的同学和朋友,在我写论文的过程中给予我的诸多素材,还在论文的

撰写和排版过程中热情的帮助。

由于我的学术水平有限,所写论文难免有不足之处,恳请各位老师和学友批评指正!

 

附录

附录一

1.1整体电路结构:

图1总电路图

1.2PCB图:

图2PCB图

附录二

2.1AT24C02模块

#include"common.h"

sbitWP=P1^0;

sbitSCL=P1^1;

sbitSDA=P1^2;

voidDelay_US(void)

{

;;

}

voidDelay_10MS(void)

{

uchari=0;

ucharj=0;

for(i=50;i>0;i--)

{

for(j=200;j>0;j--);

}

}

voidAT24C08_unprotect()

{

WP=0;

}

voidAT24C02_Start(void)//开始总线

{

SDA=1;

SCL=1;

Delay_US();

SDA=0;

Delay_US();

}

voidAT24C02_Stop(void)//停止总线

{

SDA=0;

SCL=1;

Delay_US();

SDA=1;

Delay_US();

}

voidAT24C02_Ack(void)//ACK信号

{

uchari=0;//等待从机回应

SCL=1;

Delay_US();

while((SDA==1)&&(i<200))//等侍ACK信号

{

i++;

}

SCL=0;

Delay_US();

}

voidAT24C02_NOAck(void)//NOACK

{

SCL=1;//主机发送给从机

Delay_US();

SDA=1;

SCL=0;

Delay_US();

}

voidAT24C02_Write_Byte(ucharValue)//写8位数据到总线

{

uchari=0;

for(i=0;i<8;i++)

{

SCL=0;

SDA=Value&0x80;//10000000

Delay_US();

SCL=1;

Delay_US();

Value<<=1;

}

SCL=0;

Delay_US();

SDA=1;

}

ucharAT24C02_Read_Byte(void)//读8位数据

{

ucharValue=0;

uchari=0;

SCL=0;//低电平数据可以变化

Delay_US();

for(i=0;i<8;i++)

{

SCL=1;//高电平状态读数据

Delay_US();

if(SDA)

{

Value|=0x80>>i;//先读高位数据

}

SCL=0;

Delay_US();

}

returnValue;

}

voidAT24C02_Write(ucharAddress,ucharValue)

{

AT24C02_Start();//起始条件

AT24C02_Write_Byte(0xA0);//器件地址10100000//写

AT24C02_Ack();//等从机应答

AT24C02_Write_Byte(Address);//1024字节,其中一个字节操作25

AT24C02_Ack();

AT24C02_Write_Byte(Value);//0x15

AT24C02_Ack();//

AT24C02_Stop();

Delay_10MS();

}

ucharAT24C02_Read(ucharAddress)

{

ucharValue=0;

AT24C02_Start();//开始总线

AT24C02_Write_Byte(0xA0);//10100000

AT24C02_Ack();

AT24C02_Write_Byte(Address);//读数据的地址;//25

AT24C02_Ack();

AT24C02_Start();//再次开始

AT24C02_Write_Byte(0xA1);//10100001

AT24C02_Ack();

Value=AT24C02_Read_Byte();

AT24C02_NOAck();//主机发送给从机无应答

AT24C02_Stop();

retu

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2