基于AT89S51的遥控电子锁的设计.docx
- 文档编号:8184919
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:36
- 大小:1.81MB
基于AT89S51的遥控电子锁的设计.docx
《基于AT89S51的遥控电子锁的设计.docx》由会员分享,可在线阅读,更多相关《基于AT89S51的遥控电子锁的设计.docx(36页珍藏版)》请在冰豆网上搜索。
基于AT89S51的遥控电子锁的设计
本科毕业论文
基于AT89S51的遥控电子锁的设计
DesignofAT89S51-basedRemoteControlElectronicLock
学院名称:
电子信息与电气工程学院
专业班级:
学生姓名:
学号:
指导教师姓名:
指导教师职称:
2014年5月
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得安阳工学院及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解安阳工学院关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
基于AT89S51的遥控电子锁的设计
摘要:
本设计是以单片机AT89S51为主控芯片,并结合外围液晶显示LCD1602、存储芯片AT24C02、红外遥控HX1813,以及键盘输入、复位、电源等电路组合而成。
系统能够完成开锁、报警、修改密码等基本功能,还能够通过红外来控制单片机的开锁,以及掉电储存密码的功能。
整个设计在Keil开发环境下,用C语言编写主控芯片的控制程序来实现具有多功能的电子密码锁。
经实验证明,该密码锁具有设计方法合理,简单易行,成本低,安全实用等特点,符合住宅、办公室用锁要求,具有推广价值。
关键词:
密码锁;AT89S51;红外遥控
DesignoftheAT89S51-basedremotecontrolelectroniclock
Abstract:
ThedesignisbasedonSCMAT89S51asmaincontrolchip,andthecombinationofperipheralLCD1602liquidcrystaldisplay,memorychipAT24C02,infraredremotecontrolHX1813,andkeyboardinput,reset,powercircuitassembly.Thesystemcancompletethelock,alarm,modifypasswordsandotherfunctions,canalsothroughinfraredtocontrolchiplock,andpower-downsavepasswordfunction.ThewholedesignintheKEILdevelopmentenvironment,usingClanguagemastercontrolchipcontrolprocedurestoachievemultifunctionalelectroniccipherlock.Theexperimentprovedthatthelockhasrationaldesignmethodslikesimplicity,lowcost,safetyandpracticalfeatures.Anditisinlinewithhomeandofficelock'srequirements.Soithaspromotionalvalue.
KeyWords:
Passwordlock;AT89S51;InfraredRemoteControl
引言
随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到冶金、电力、建材、化工、机械、石油、食品等各个行业。
单片机控制无疑是人们追求的目标之一,它所给人们带来的方便也是不可否认的其中单片机控制就是一个典型的例子。
MCS-51系列单片机应用广泛,是学习单片机技术较好的系统平台,同时也是单片机微型计算机应用系统开发的一个重要系列。
目前,单片机原理与应用教材大都采用汇编语言讲解和设计程序实例,但汇编语言学习困难。
在实际应用系统开发调试中,特别是开发比较复杂的应用系统时,为了提高开发效率和使程序便于移植,现在多用C语言。
在信息产业飞速发展的今天,我们生活中必不可需的设备都向着小型化、便携化、智能化、自动化的方向发展。
所以电子密码锁随着快节奏的生活应运而生。
在我国六七十年代还是传统的一把钥匙配一把锁,不管是单位还是个人每天都要认真检查是否锁上了门,而且钥匙还不能随便乱放,一旦不小心忘记放在哪里很可能就打不开门了。
传统的锁也相当的不安全,会有一些不法分子想尽办法打开你的房锁去偷盗东西。
电子密码锁的产生使得这些问题都不再是问题,我们只需简单的记住六位密码即可。
第一章概述
1.1课题背景和意义
人们从前使用的锁不但不方便,而且安全系数也比较低。
随着社会的进步和人们生活水平的提高,老式的锁已经跟不上人们的要求,况且人们对防盗的要求越来越高,特别是对使用的便捷性也有了更高的需求。
因此近几年一种新型的电子密码锁应运而生,受到了人们的青睐。
有报警功能的密码锁这时正为人们解决了不少问题。
但是市场上的密码锁大部分都是用于一些大公司财政机构、价格高昂,一般人们难以接受。
如果再设计和生产一种价格低廉、性能灵敏可靠的密码锁,必将在防盗和保证财政安全方面发挥更加有效的作用。
电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。
其性能和安全性已大大超过了机械锁。
其特点如下:
1)保密性好,编码量多,远远大于弹子锁。
随机开锁成功率几乎为零。
2)密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。
3)误码输入保护,当输入密码多次错误时,报警系统自动启动。
4)使用灵活性好,不像机械锁必须佩带钥匙才能开锁。
5)电子密码锁操作简单易行,一学即会。
1.2电子密码锁的发展趋势
20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,同时可靠性提高,成本也相对提高,所以只适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对密码锁的研究一直没有明显进展。
到了90年代,美国、意大利、德国、日本、加拿大、韩国以及我国的台湾、香港等地的微电子技术的进步和通信技术的发展为密码锁提供了技术上的支持,从而推动密码锁走向实际应用的阶段。
目前,在西方国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,使之更加安全更加可靠实现大门的管理。
我国于90年代初期开始对密码锁进行初步的探索。
到目前为止,随着电子技术和信息技术的发展,电子密码锁的技术领域已发展的十分成熟。
从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。
在其他技术领域还有遥控式电子密码锁以及卡片式密码锁等。
第二章设计方案的选择
2.1本设计所要实现的目标
本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误有提示,为了提高安全性,当密码输入错误一次将报警。
密码可以由用户自己修改设定,锁打开后才能修改密码。
修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。
2.2系统设计方案
密码电子锁的设计方案有两种;方案一为采用数字电路控制:
用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过10秒(一般情况下,用户不会超过10秒,若用户觉得不便,还可以修改)电路将报警20秒,若电路连续报警三次,电路将锁定键盘2分钟,防止他人的非法操作。
采用数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差。
故不采用。
方案二为采用以单片机为核心的控制方案:
用单片机AT89S51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。
在单片机的外围电路:
外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接LCD1602显示器用于显示作用。
本设计的遥控电子锁应用于家庭、办公室、学生宿舍及宾馆等场所,需要系统简单方便,易于开发。
基于以上因素本设计选用方案二,由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。
一般来说在选取单片机时从下面几个方面考虑:
性能、存储器、运行速度、I/O口、定时/计、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些的还有一些最数器基本的比如:
中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。
在开发过程中单片机还受到:
开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。
当用户需要开锁时,先按键盘的数字键0-9输入密码。
密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。
新密码输入无误后按确认键使新密码将得到存储,密码修改成功。
第三章系统构成
3.1设计原理
设计原理:
系统由硬件部分与软件部分两部分构成。
其中硬件部分由单片机、电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,软件部分对应的由主程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。
其原理框图如图3.1所示。
图3.1电子密码锁原理框图
3.2单片机电路部分
本次设计采用AT89S51芯片,AT89S51为8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。
功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
AT89S51是一个低电压,高性能CMOS8位单片机,通过用keil软件编写程序,然后烧到单片机里面去,然后让它对整个系统进行信息的处理,如可以让它处理矩阵键盘传过来的信息,并根据编好的程序来确定哪个按键按下,并处理相应按键对应的功能,然后把相应的信息反应到单片机的各个引脚,来实现按键实现的现象,如:
显示是否开启锁,报警等。
它的电路如图3.2所示。
图3.2单片机电路
3.3红外传输部分
红外数据传输的特点:
成本廉价、建设工程期短、适应性好、扩展性好、设备维护上更容易实现。
使用红外模块进行传输,丰富了系统的功能,提高了系统的可操作性,因而达到了交互式与智能化。
红外数据传输广泛地运用在红外遥控系统和车辆的监控、门禁系统、小区的安全防火系统和传呼系统、身份的识别、非接触RF的智能卡等。
工业设备中,在高压,辐射、有毒气体、粉尘等环境下,采用红外遥控不仅完全可靠而且能有效地隔离电气干扰。
红外线输入部分,采用HX1813接收和通用的红外遥控器。
红外输入电路如图3.3所示,红外遥控器如图3.4所示。
图3.3红外输入电路
图3.4通用遥控器
3.4密码存储部分
本设计采用EPROM芯片AT24C02存储密码。
AT24C02是美国Atmel公司的低功耗CMOS型E2PROM,内含256×8位存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)、抗干扰能力强、数据不易丢失、体积小等特点。
而且他是采用了I2C总线式进行数据读写的串行器件,占用很少的资源和I/O线,并且支持在线编程,进行数据实时的存取十分方便。
AT24C02中带有的片内地址寄存器。
每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。
所有字节均以单一操作方式读取。
为降低总的写入时间,一次操作可写入多达8个字节的数据。
I2C总线是一种用于IC器件之间连接的二线制总线。
他通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。
AT24C02正是运用了I2C规程,使用主从机双向通信,主机(通常为单片机)和从机(AT24C02)均可工作于接收器和发送器状态。
主机产生串行时钟信号(通过SCL引脚)并发出控制字,控制总线的传送方向,并产生开始和停止的条件。
无论是主机还是从机,接收到一个字节后必须发出一个确认信号ACK。
AT24C02的控制字由8位二进制数构成,在开始信号发出以后,主机便会发出控制字,以选择从机并控制总线传送的方向。
图3.5AT24C02的两种引脚图
24C02中带有片内地址寄存器。
每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。
所有字节均以单一操作方式读取。
为降低总的写入时间,一次操作可写入多达8个字节的数据。
通过单片机对24C02芯片进行密码存储,存储好密码后,通过按键输入密码与存储芯片里面的数据进行对比,根据数据是否一致,来执行相应的操作,还可以根据按键操作来执行是否更换数据。
电路连接图如图3.6所示。
图3.6密码存储电路原理图
图中AT24C02的1、2、3脚是三条地址线,用于确定芯片的硬件地址。
它们都接地,第8脚和第4脚分别为正、负电源。
第5脚SDA为串行数据输入/输出,数据通过这条双向I2C总线串行传送,与单片机的P3.3连接。
第6脚SCL为串行时钟输入线,与单片机的P3.4连接。
第7脚需要接地。
3.5复位部位
单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC=0000H,使单片机从第—个单元取指令。
无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。
在复位期间(即RST为高电平期间),P0口为高组态,P1-P3口输出高电平;外部程序存储器读选通信号PSEN无效。
地址锁存信号ALE也为高电平。
根据实际情况选择如图3.7所示的复位电路。
图3.7复位电路原理图
3.6晶振部分
本设计采用石英晶体振荡器,石英晶体振荡器是利用石英晶体(二氧化硅的结晶体)的压电效应制成的一种谐振器件,它的基本构成大致是:
从一块石英晶体上按一定方位角切下薄片(简称为晶片,它可以是正方形、矩形或圆形等),在它的两个对应面上涂敷银层作为电极,在每个电极上各焊一根引线接到管脚上,再加上封装外壳就构成了石英晶体谐振器,简称为石英晶体或晶体、晶振。
其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的。
只要在晶体振子板极上施加交变电压,就会使晶片产生机械变形振动,此现象即所谓逆压电效应。
当外加电压频率等于晶体谐振器的固有频率时,就会发生压电谐振,从而导致机械变形的振幅突然增大。
晶体振荡器,简称晶振,其作用在于产生原始的时钟频率,这个频率经过频率发生器的放大或缩小后就成了电脑中各种不同的总线频率。
以声卡为例,要实现对模拟信号44.1kHz或48kHz的采样,频率发生器就必须提供一个44.1kHz或48kHz的时钟频率。
如果需要对这两种音频同时支持的话,声卡就需要有两颗晶振。
但是现在的娱乐级声卡为了降低成本,通常都采用SCR将输出的采样频率固定在48kHz,但是SRC会对音质带来损害,而且现在的娱乐级声卡都没有很好地解决这个问题。
现在应用最广泛的是石英晶体振荡器。
石英晶体振荡器是一种高精度和高稳定度的振荡器,石英晶体振荡器也称石英晶体谐振器,它用来稳定频率和选择频率,是一种可以取代LC谐振回路的晶体谐振元件。
石英晶体振荡器广泛地应用在电视机、影碟机、录像机、无线通讯设备、电子钟表、单片机、数字仪器仪表等电子设备中。
为数据处理设备产生时钟信号和为特定系统提供基准信号。
在单片机中为其提供时钟频率。
本设计的AT89S51引脚XTAL1和XTAL2与晶体振荡器及电容C5、C6按图3.7所示方式连接。
晶振、电容C5/C6及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容C5、C6的容量有关,但主要由晶振频率决定,范围在0~33MHz之间,电容C5、C6取值范围在5~30pF之间。
根据实际情况,本设计中采用12MHZ做为系统的外部晶振。
电容取值为30pF。
如图3.8所示。
图3.8晶振电路
3.7显示部分
为了提高密码锁的密码显示效果能力。
本设计的显示部分由液晶显示器LCD1602取代普通的数码管来完成。
1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。
1602型LCD可以显示2行16个字符,有8位数据总线D0-D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。
开始时显示器将一直处于初始状态,当需要对密码锁进行开锁时,按下数字键0-9输入密码,每按下一个数字键后在显示器上显示一个*,最多显示6位。
当密码输入完成时,按下确认键,如果输入的密码正确的话,LCD子显示“RightOpen”,单片机其中P1.3引角会输出低电平,使三极管导通,电磁铁吸合,电子密码锁被打开,如果密码不正确,LCD显示屏会显示“ErrorRetry”,P1.3输出的是高电平,电子密码锁不能被打开。
通过LCD显示屏,可以清楚的判断出锁所处的状态。
其显示部分引脚接口如图3.9所示。
图3.9显示电路原理图
3.8报警部分
报警部分由蜂鸣器及外围电路组成,加电后不发声,当密码输入错误三次时,单片机的P1.4引脚为低电平,三极管导通执行蜂鸣器警车声子程序发出警笛报警。
如图3.10所示。
图3.10报警电路原理图
3.9开锁部分
开锁用户通过键盘任意设置密码,并储存在EEPROM中作为锁码指令。
开锁步骤如下:
首先按下键盘数字键0-9输入密码,最后按下确认键。
当用户输入一密码后,单片机自动识码,如果识码不符,则提示重新输入,如果超过三次则报警。
如果正确,系统使单片机其中一引脚线发出信号,经三极管放大后,由继电器驱动电磁阀动作将锁打开,实物中用led代替继电器。
开锁部分电路图如图3.11所示。
图3.11开锁电路原理图
第四章系统软件设计
本系统软件设计由主程序、初始化程序、LCD显示程序程序、键盘扫描程序、输入密码开锁程序、密码修改程序、EEPROM读写程序和延时程序等组成。
4.1主要程序设计
本系统主要流程图如图4.1所示。
图4.1主程序流程图
主程序主要完成了系统的初始化、按键扫描、按键功能、以及调用显示等功能。
主程序部分如下:
EnbitP8将LCD的en引脚连接到单片机的P8
RwbitP9
RsbitP10
SpeakerbitP2.7
OpenbitP2.6开锁电路的控制端连接到P2.6口
4.2开锁设计
开锁设计部分流程图如图4.2所示。
图4.2输入密码开锁流程图
当输入密码正确时,单片机输出低电平,控制继电器工作,模拟开锁动作,同时,当输入密码或开锁成功时,蜂鸣器发出相应的提示音。
开锁程序设计如下:
while
(1)
{
if(keydata==4)//锁定功能
{
P3_6=0;
EX1=1;
gotostart;
4.3密码修改设计
输入密码前,要先将正确的密码从存储器24C02中读出,并存放在单片机RAM从40H开始的6个单元中。
6位密码锁由矩阵按键输入,输入的密码存储在单片机RAM从30H开始的6个单元中,每输入一位密码,都要和正确的密码进行比较;若全部6位密码均输入正确,显示密码正确信息;若输入的密码不完全正确,则进行第二位输入,若输入3次仍不正确,则报错锁定。
输入密码时,还要打开定时器T0,使定时器T0工作,当计时到30s时,若输入的密码不正确或未输入密码,则显示出错信息。
密码修改程序用来设置新密码,当输入的开锁密码正确后,可重新设置新密码,输入的新密码暂存在单片机RAM从40H开始的单元中,然后,调用存储器子程序,将40H开始的6位密码存储在24C02中。
密码修改流程图如图4.3所示。
图4.3修改密码流程图
密码程序如下:
if(keydata==33)//确定进入密码比较
{
keydata=0;
panduan:
i=0;
for(j=0;j<6;j++)
{
l+=password[j];
k+=Random_Read(j);
}
if(l!
=k)//密码不同进行处理
{
l=0;
k=0;
LCD_Write_String(0,0,bb);
DelayMs(1000);
a1+=1;
if(a1==2){while
(1)P3_7=1;P3_6=0;}//两次错误发出报警
gotostart;//第二次输入密码
结论
本设计从经济实用的角度出发,采用美国Atmel公司的单片机AT89S51与低功耗CMOS型E2PROM,AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、显示、报警、开锁等电路并用C语言编写主控芯片的控制程序,研制了一款可以多次更改密码具有报警功能的电子密码锁。
设计完全可行可以达到设计目地。
使用单片机制作的电子密码锁具有软硬件设计简单,易于开发,成本较低,安全可靠,操作方便等特点,可应用于住宅、办公室的保险箱及档案柜等需要防盗的场所,有一定的实用性。
该电路设计还具有按键有效提示,输入错误提示,控制开锁电平,控制报警电路,修改密码等多种功能。
可在意外泄密的情况下随时修改密码。
保密性强,灵活性高,特别适用于家庭、办公室、学生宿舍及宾馆等场所。
在设计过程中,我查阅大量的相关资料,详细的了解了各个芯片的作用,如何工作,工作原理,个个芯片引脚的连接方式。
对系统硬件的设计,电路原理图以及仿真,软件流程图和具体的汇编语言的设计都有了相应的提高。
此次设计涉及到了Protues和Protel99和一些单片机指令,通过近段时间的使用,对这些有了更深的了解。
对于软件部分的Keil软件的使用,是我们对汇编语言以及C语言又有了更深一步的了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89S51 遥控 电子锁 设计