基于单片机的红外线遥控电子密码锁的设计.docx
- 文档编号:3258509
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:42
- 大小:530.59KB
基于单片机的红外线遥控电子密码锁的设计.docx
《基于单片机的红外线遥控电子密码锁的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的红外线遥控电子密码锁的设计.docx(42页珍藏版)》请在冰点文库上搜索。
基于单片机的红外线遥控电子密码锁的设计
摘要
本文介绍了一种基于单片机的红外线遥控电子密码锁的设计方案。
红外线遥控电子密码锁是通过密码的输入来控制电路或是芯片工作,从而控制电磁锁的闭合,完成开锁、闭锁任务。
它是以单片机为核心,通过编程来实现的。
本设计由硬件部分和软件部分组成。
硬件部分包括本机开锁电路和红外线遥控开锁电路。
本机开锁电路是由键盘、显示器、报警器组成,当没有接收到遥控信号时,由键盘输入密码;遥控开锁电路是利用红外线遥控原理和单片机串行发射、接受功能而设计的,可以进行远距离遥控开锁。
软件部分是在伟福环境下用汇编语言进行编写的。
通过此方案设计的密码锁保密强,灵活性高,适用范围广,可以满足安全性要求。
它可在意外泄露的情况下及时修改密码,特别适合家庭、宾馆、私家车库等场所,也能够适应其他特殊环境的使用需求。
关键词:
红外线;单片机;密码锁
Abstract
Inthispaper,thereisaSCMbasedontheinfraredremotecontrolE-codedlockdesign.InfraredremotecontrolE-codedlockisthroughthepasswordtoenterthecontrolcircuitorchipswork,thuscontrollingtheelectromagneticlockclosure,completingthetaskofunlockingandlocking.ItisatthecoreSCM,achievedthroughprogramming.
Thedesignincludesthehardwareandsoftwarecomponents.Hardwareincludeslocalunlockcircuitandinfraredremotecontrolunlockcircuit.Localunlockcircuitiscomposedofthekeyboard,monitor,alarmcomponents.WhentheE-codedlockdoesnotreceivesignals,itentersapasswordthroughthekeyboard.Remotelyunlockcircuitoflong-distancecontrolisdesignedtouseSCM’sseriallaunch,acceptedfunctionandtheprincipleofinfra-redremotecontrol.ThesoftwareisusedforthepreparationoftheassemblylanguageinFu-environment.
Passwordlockhasstrongconfidentiality,highflexibilityandawidescopeinthisdesigntomeetthesecurityrequirements.Itcanchangepasswordtimelyinthecaseofleakaccident,particularlysuitableforfamilies,hotels,privategarage,andotherplaces,alsoabletoadapttotheenvironmentoftheuseofotherspecialneeds.
Keywords:
Infraredray;SCM;Passwordlock
引言
20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
电子技术的飞速发展,给古老的锁具生产带来了巨大的变革,针对传统的机械锁的各种缺点,出于安全、方便等方面的需要,许多电子密码锁已相继问世。
目前国内外密码锁系统的主要方向的发展是:
接触式密码锁系统,非接触式密码锁系统,智能识别密码锁系统,但是它们都相应的存在着不同的缺点。
例如:
接触式密码锁系统的成本低,体积小,卡片本身无须电源,但使用不太方便,而且有接触磨损。
相比之下,红外遥控电子密码锁系统的成本与接触式密码锁系统相当,而且可以进行近距离的遥控,使用方便。
由于红外遥控具有许多优点,例如红外线发射装置采用红外发光二级管,遥控发射器易于小型化且价格低廉;红外线不会向室外泄露,不会产生信号串扰;反应速度快、传输效率高、工作稳定可靠等,所以红外线遥控是目前使用最广泛的一种遥控手段。
此外,单片机是一种集成电路芯片,采用超大规模集成电路技术是具有数据处理能力的微处理器。
自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、电子玩具、收录机 等。
家用电器配上单片机后,提高了智能化程度,增加了功能,倍受人们喜爱。
单片机将使人类生活更加方便、舒适、丰富多彩。
本设计就是采用单片机AT89C51作为本设计的核心元件,利用红外线遥控原理和单片机串行发射、接收等功能而设计的电子密码锁。
1基本原理介绍
红外线遥控电子密码锁是一种通过密码的输入来控制电路或是芯片工作,从而控制电磁锁的闭合,完成开锁、闭锁任务。
本设计中红外线电子密码锁是以单片机为核心,利用红外线遥控原理和单片机串行发射、接收等功能,再通过软件编程来实现的。
它可以实现本机开锁和遥控开锁,其性能和安全性已大大超过了其它类型锁。
1.1红外线遥控基本原理
红外线遥控是目前使用最广泛的一种通信和遥控手段。
由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空调机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。
工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。
本设计的红外遥控采用以通信方式为基础的红外遥控,故着重分析红外通信的基本原理。
红外通信是利用红外技术实现两点间的近距离保密通信和信息转发,它一般由红外发射和接收系统两部分组成。
发射系统对一个红外辐射源进行调制后发射红外信号,而接收系统用红外探测头进行接收,就构成了红外通信系统。
红外通信的基本原理是发送端将基带二进制信号调制为一系列的脉冲串信号(载波信号),通过红外发射管发射红外信号。
常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。
脉时调制(PPM)是红外数据协会和国际电子电工委员会都推荐的调制方式。
红外线是波长在750nm至1mm之间的电磁波,他的频率高于微波而低于可见光,是一种人的眼睛看不见的光线。
红外通信一般采用红外波段内的近红外线,红外数据协会成立后,为了保证不同厂商的红外产品能够获得最佳的通信效果,红外通信协议将红外数据通信所采用的光波波长的范围限定在850nm至900nm之内[1]。
普通的红外遥控采用面向指令的帧结构,数据帧由同步码,地址码和指令码组成,指令码长度多为8~16个比特,传送多字节遥控协议时效率偏低,而增加指令码的长度不利于接收器同步,为此本设计选用一种面向字节的帧结构,采用类似异步串行通信的帧结构,每帧由一个起始位(二进制数0)、8个数据位和2个停止位(二进制数1)构成,如图所示。
每帧传送1字节的数据,帧和帧间隔大于2ms,帧结构不含地址信息,寻址问题由高层协议解决[2]。
由于红外光存在反射,在全双工的方式下发送的信号也可能回被本身接收,因此,红外通信应采取异步半双工方式,即通信的某一方发送和接收是交替进行的。
通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作。
发射部分包括键盘、编码调制、红外发送器;接收部分包括光、电转换放大器、解调、解码电路。
1.2采用单片机串行通信原理
单片机与外界的信息交换为通信,基本的通信方法有并行通信和串行通信两种。
本设计中重点介绍串行通信如图1.1,它是将单位信息的各位数据分时、顺序传送的通信方式。
串行通信可通过串行接口来实现,它的突出优点是,仅需要一对传输线传输信息,对远距离通信来说,就大大降低了线路成本,串行通信适用于长距离通信[3]。
1.2.1串行通信基础
按照串行数据的通信方式,串行通信可以分为同步通信和异步通信两类。
同步通信是按照软件识别同步字符来实现数据的发送和接受,异步通信是一种利用字符的再同步技术的通信方式。
本设计选取异步传送方式,如图1.2为异步通信的字符格式。
在异步通信中,传送的数据可以是一个字符或一个字节数据。
数据以帧的形式一帧一帧的传送。
由图1.2可见,一帧由4部分组成:
起始位、数据位、奇偶校验位和停止位。
数据通常以字符为单位组成字符帧传送,字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。
发送端和接收端可以由各自的时钟来控制数据的发送和接受,这两个时钟源彼此独立,互不同步。
图1.2异步通信的字符帧格
1、起始位
起始位为0信号,占用一位,用来通知接收设备字符帧开始来到。
线路上在不传送字符时,应保持为1。
接收端不断检测线路的状态,若连续为1以后又测到一个0,就知道是发来一个新的字符帧,马上应该准备接收。
字符帧的起始位还被用来同步接收端的时钟以保证以后的接收正确进行。
2、数据位
起始位后面紧接着的是数据位,它可以是5位、6位、7位或8位,由于串行通信的代价是与数据的位数成比例,所以要根据需要来确定数据的位数,本设计取8位数据,即一帧数据传11位数据,其中一位起始位,8位数据位,一位奇偶校验位,一位停止位。
发送时,总是最低位先传送。
3、奇偶校验位
奇偶校验位位于数据位之后,只占有一位。
奇偶校验位在信息发送中用处很大,它可以用来检验信息传送过程中是否有错。
它的状态由发送端的奇偶校验电路自动根据发送字符中“1”的个数来确定。
本设计采用奇偶校验,即在传输信息中,若“1”的个数为奇数,则奇偶校验位为0,若“1”的个数为偶数,则奇偶校验位为1。
4、停止位
停止位是用来表征一个字符的结束,高电位有效。
接收端收到停止位时,就表明这一字符帧已接收完毕,同时,也为接收下一个字符帧做好准备——只要收到0就是新的字符帧的起始位[4]。
1.2.2串行通信中串行I/O和数据的实现
数据的串行转换通常都用硬件手段——一种称为通用异步接收器/发送器UART来实现的。
UART的硬件结构如图1.3所示。
硬件UART由三部分组成:
发送部分,接收部分和控制部分。
它既能进行并行到串行的转换,又能进行到串行到并行的转换。
同时接受和发送都具有双缓冲结构。
1、发送部分
串行发送时,CPU可以通过数据总线把8位并行数据送到“发送数据缓冲器”然后并行送给“发送移位寄存器”并在发送时钟和电路控制下通过TXD线逐位发送出。
起始位和停止位是由UART在发送时自动添加上去的。
UART发完一帧后产生中断请求,CPU响应中断后可以把下一个字符送到发送数据缓冲器,重复上述过程。
2、接收部分
在串行接收时,UART监视RXD线,并在检测到RXD线上有一个低电平时就开始一个新的字符接收过程。
UART每接收到1位二进制数据位后则使“接收移位寄存器”左移一次,连续接收到一个字符后则并行传送到“接收数据缓冲器”,并通过中断促使CPU从中取走所接收的字符。
3、控制部分
UART在发送时,电路自动检测发送字符中“1”的个数,并在奇偶校验位上添加“1”或“0”,使得“1”的总数(包括奇偶校验位)为偶数(奇校验时为奇数)。
UART在接收时,电路对字符和奇偶校验的“1”的个数加以检验,如“1”的个数为偶数(奇校验时为奇数),则表明数据传输正确:
如“1”的个数为奇(奇校验时为偶数)则表明数据在传输过程中出现错误。
1.2.3串行口的选择
串行口的控制是通过SCON实现的,SCON是特殊功能寄存器,选口地址是98H。
如表1.1所示。
表格1.1串行端口控制寄存器SCON
SCON
(98H)
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
9FH
9EH
9DH
9CH
9BH
9AH
99H
98H
工作方式控制位
多机信信
接受控制
发送数据第9位
接收数据第9位
发送中断标志
接收中断标志
单片机串行接口的工作方式有4种,由SCON中的串行口工作方式选择位SM1,SM2定义,编码及功能如表1.2所示,本设计选择串行口工作方式3。
表格1.2串行口工作方式选择表
SM1SM2
工作方式
功能说明
波特率
00
方式0
8位移位寄存方式(用于扩展I/O口)
Fosc/12
01
方式1
8位通用异步收发器
可变(T1溢出率/n)
10
方式2
9位通用异步收发器
Fosc/64或Fosc/32
11
方式3
9位通用异步收发器
可变(T1溢出率/n)
2系统方案选择与设计
2.1单片机型号的选择
因为MCS-51系列单片机型号比较多,应该作出合理的选择,下面对几种常用型号进行比较。
2.1.18031、8051、8751的比较
8031/8051/8751是Intel公司早期的产品,它们的指令系统与芯片引脚完全兼容,同有8位的CPU,128个字节的片内数据存储器,21个字节专用寄存器,4个8位并行I/O口,1个全双工串行I/O口,两个16位定时/计数器,5个中断源。
不同的是:
8031片内不带程序存储器ROM,使用时用户需外接程序存储器和一片逻辑电路373,外接的程序存储器多为EPROM的2764系列。
用户若想对写入到EPROM中的程序进行修改,必须先用一种特殊的紫外线灯将其照射擦除,之后可再写入。
写入到外接程序存储器的程序代码没有什么保密性可言。
8051片内有4KROM,无须外接外存储器和373,更能体现“单片”的简练。
但是你编的程序你无法烧写到其ROM中,只有将程序交芯片厂代你烧写,并是一次性的,今后你和芯片厂都不能改写其内容。
8751与8051基本一样,但8751片内有4K的EPROM,用户可以将自己编写的程序写入单片机的EPROM中进行现场实验与应用,EPROM的改写同样需要用紫外线灯照射一定时间擦除后再烧写。
2.1.2AT89C51、AT89S51的比较
AT89C51是ATMEL公司推出的一种带4K字节闪速可编程、可擦除、只读存储器的低电压、高性能CMOS8位微控制器。
器件用ATMEL公司高密度、非易失性技术生产,与标准的MSC-51指令系统和8051引脚兼容。
由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。
与8051相比其最大的特点是:
4KB可编程Flash存储器,可进行1000次擦写;全静态时钟0-24MHz;三级程序加密;低功耗支持Idle(空闲)工作模式和Power-Down(断电)工作模式。
AT89S51是ATMEL公司新推出AT89C51升级产品,全面兼容AT89C51。
与AT89C51相比,新增加了以下几个主要功能:
①可以通过数据下载线进行在线编程下载,使程序写入更加方便简捷;②工作晶振可以达到33MHz,提高了运行速度;③新增了看门狗电路,提高了电路抗干扰性。
由上可知,8031片内不带程序存储器ROM,8051与8751在程序烧写上很不方便而且8051的ROM只能用一次,使用它们很不方便。
而AT89C51和AT89S51不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是Flash工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写,写入单片机内的程序还可以进行加密,这又很好地保护了你的劳动成果。
这种单片机对开发设备的要求很低,开发时间也大大缩短。
何况,AT89C51、AT89S51目前的售价比8031还低,市场供应也很充足,显然可见,AT89C51和AT89S51更实用。
因为在沈阳电子城中AT89C51比较容易购买,所以在此设计中选用AT89C51。
2.2键盘的选择
键盘是计算机不可缺少的输入设备,是实现人机对话的纽带,借助键盘可以向计算机系统输入程序、置数、送数等操作命令、控制程序的执行走向等。
在本设计中,使用者可通过键盘向单片机输入密码,从而达到开锁的目的。
2.2.1独立式键盘
独立式按键是指直接用I/O接口线构成的单个按键电路。
每个独立式按键单独占有一根I/O接口线,每根I/O接口线的工作状态不会影响其它I/O接口线的工作状态。
独立键盘如图2.1所示
上拉电阻一般选用1K或3.3K计算见公式(2.1):
R=V/Im
=5V/800uA
=6.25KΩ
公式中V——AT89C51正常工作电压;
Im——AT89C51的最小工作电流;
R——上拉电阻的最大值(2.1)
独立式按键电路配置灵活、软件结构简单,但每个按键必须占用一根I/O口线,在按键数量较多时,I/O口线浪费较大,故只在按键数量不多时采用这种按键电路。
此电路中,按键输入都采用低电平有效,上拉电阻保证了按键断开时,I/O口线上有确定的高电平。
当I/O口内部有上拉电阻时,外电路可以不配置上拉电阻。
2.2.2矩阵式键盘
5V
将I/O接口线的一部分作为行线,另一部分作为列线,按键设置在行线和列线的交叉点上,这就构成了行列式键盘。
行列式键盘中按键的数量可达行线数n乘以列线数m,如4行、4列行列式键盘的按键数可以达到4×4=16个。
由此可以看到行列式键盘在按键较多时,可以节省I/O口线。
一个4×4行列式键盘的电路原理图如图2.2所示。
上拉电阻计算见公式(2.1)
8条I/O口线分为4条行线和4条列线,按键设置在行线和列线交点上,即按键开关的两端分别接在行线和列线上。
行线通过一个上拉电阻接到+5V电源上,在没有键按下时,行线处于高电平状态。
若向所有的列线I/O口输出低电平,然后将行线的电平状态读入累加器A中,若无键按下,行线仍保持高电平状态,若有键按下,行线至少应有一条为低电平。
若确定有键按下后,即可进行求键码的过程。
其方法是:
依次从一条列线上输出低电平,然后检查各行线的状态,若全为高电平,说明闭合键不在该列,若不全为1,则说明闭合键在该列,且在变为低电平的行的交点的行的交点上。
若在键盘处理程序中,给每个键都赋予一个键号,由从列线I/O口输出的数据和从行线I/O口读入的数据即可求出闭合键的键号,完成对键盘的扫描工作。
在本设计中,由于条件限制,对键盘的要求不高,而应用独立式键盘相对比较简单,电路配置灵活,软件结构简单,故采用独立式键盘。
2.3显示方式的选择
LED显示器是单片机应用系统中最常用的输出器件。
它是由若干个发光二极管组成
的,控制不同组合的二极管导通,就能显示出各种字符。
常用的LED显示器有7段和“米”字段之分,在此显示数字用7段显示管即可,这种显示器有共阳极和共阴极两种,如图2.3所示,共阴极LED显示器的发光二极管的阴极连接在一起,通常此共阴极接地,当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。
同样,共阳极LED显示器的发光二极管的阳极连接在一起,通常此共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。
其实设计选用共阴或共阳都是一样的只是个人喜欢问题。
本设计选用了共阳极数码管。
LED数码管显示器有两种工作方式,即动态显示方式和静态显示方式。
在动态显示方式中,各位数码管的各个端并连在一起,与单片机系统的一个I/O口相连,从该I/O口输出显示代码。
每只数码管的共阳极端或共阴极端则与另一I/O口相连,控制被点亮的位。
动态显示的特点是:
每一时刻只能有1位数码管被点亮,各位依次轮流被点亮;对于每一位来说,每隔一段时间点亮一次。
为了每位数码管能够充分被点亮,二极管应持续发光一段时间,利用发光二极管的余辉和人眼的驻留效应,通过适当地调整每位数码管被点亮的时间间隔(一般为1ms),可以观察到稳定的显示输出。
在静态显示方式下,每位数码管的各个端与一个8位的I/O口相连。
要在某一位数码管上显示字符时,只要从对应的I/O口输出并锁存其显示代码即可。
其特点为:
各数码管同时点亮,数码管中的发光二极管恒定地导通或截止,直到显示字符改变为止。
相比而言,静态显示占用机时少,显示可靠,在本次设计中被应用.
2.4采用AT89C51实现红外线遥控方案的分析
由于设计条件限制,许多元器件欠缺,在红外线遥控方案上,直接采用AT89C51来实现红外遥控,没有考虑其方案。
通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图2.4所示。
发射部分包括键盘、编码调制、红外发射器;接收部分包括接收器、解码、数据处理。
在实际设计中,遥控开关是在通用红外遥控系统的基础上加以改进实现的。
其实质就是将红外遥控部分采用单片机AT89C51来控制。
即当发射部分经编码调制后发射出光或电信号,然后接收部分一体化红外接收头接收到红外遥控信号后,将光信号转变成电信号,经放大、解调、滤波后,将原编码信号送入单片机AT89C51中进行信号识别、解码,然后进行相应的处理,达到控制电器的目的。
2.5总体方案的确定
2.5.1系统构成框图
经过上述文字对红外线遥控电子密码锁各部分的简单讨论选择后,所设计系统的方案可以初步确定,其结构简图如图2.5所示,其具有本机开锁、遥控开锁、按键指示、密码有效提示、错误报警等功能。
2.5.2基本功能设计
1、选择密码
将编好的密码程序存储在EPROM中,用户通过密码选择键上的按键进行选择。
具体操作过程如下:
首先按一下密码选择键,然后再逐渐输入号码,最后按“#”号确认即可。
比如现在用户要是选择了57618这组数只作为密码,则用户只有首先按一下P1.5上的按键,接着在本机键盘上一一输入5、7、6、1、8之后再按“#”号确认即表示密码被设置好了,那么下次用户只要键入这组数据即可开锁。
2、密码显示
为了帮助用户确认是否有键按下,特地在电路中设置了模拟显示电路;而为了防止密码外XIE;显示时,并不是显示用户按下的数字符号,而是以特定的字母符号提醒用户是否有键按下。
有键按下,就会显示出字符―-“#”,没有按下,则不会显示字符。
这样既巧妙地提醒了用户又保护了用户密码,此是本设计可靠性优点之一。
3、本机键开
当用户键入正确密码后,再按确定键--“#”,便会自动开锁。
但用户键入密码时应注意:
数字与数字之间的间隔时间为3秒,例如密码为57618,当键入第一个数字5后应在3秒内键入第二数字7,否则,就会视为无效。
如果键入完密码后不按“#”号,系统会当做放弃开锁处理。
4、密码错误报警
当用户键入错误密码时,系统就会报警,由蜂鸣器发出5秒报警声。
当连续三次出现密码错误时,则系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 红外线 遥控 电子 密码锁 设计