ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:411.17KB ,
资源ID:2913628      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2913628.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机电子密码锁设计毕业论文.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于单片机电子密码锁设计毕业论文.docx

1、基于单片机电子密码锁设计毕业论文 编号 淮安信息职业技术学院毕业论文题 目基于单片机电子密码锁设计学生姓名学 号系 部电子工程学院专 业光电子(光伏发电)班 级指导教师顾问教师二一四年六月摘 要随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤为突出,传统的机械锁由于构造简单,被撬事件屡见不鲜。电子密码锁保密性好,使用灵活性高,收到广大用户的青睐。本设计是以单片机AT89C51作为密码锁的主控芯片与数据存储单元,结合外围的矩阵键盘输入、数码管显示、开锁、报警等,用汇编语言编写程序,并用keil软件进行编译设计了一款可以更改密码,具有报警功能的电子密码控制系统。本设计采用矩阵键盘对

2、密码进行输入,具有较高的优势,减少了I/O口的占用数目。密码的显示采用6位数码管实现,为确保安全性统一使用“”显示密码。,当重新设置密码时数码管显示数字。采用采用蜂鸣器模拟报警系统,增加了密码锁的安全能力。软件使用汇编语言编程,运用自上而下的模块化设计思想,使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,设计达到电子密码锁的功能。关键词: 密码锁 MCU 报警AbstractAstechnologyandpeopleslivingstandardsimprove,thequestionhowtoachievehomeburglaralsobecomeparti

3、cularlyprominent,thetraditionalmechanicallocksbecauseofsimplestructure,prizingacommonoccurrence.Electroniclocksconfidentiality,useofhighflexibility,receivedthemajorityofusersofallages.ThedesignisbasedonAT89C51microcontrollerasthemasterchiplockdatastorageunit,combinedwiththeexternalmatrixkeyboardinpu

4、t,digitaldisplay,lock,alarm,etc.,writteninassemblylanguageprogramandcompiledusingkeilsoftwarecanbedesignedachangethepassword,thepasswordwithalarmfunctionelectroniccontrolsystem.Thisdesignusesthepasswordinputkeypadmatrixwithhighadvantage,reducingtheI/Oportnumberoftheoccupation.Passwordisdisplayedusin

5、gsixdigitaltube,toensuresecurityuniformuse-Showpassword.Whenthepasswordisresetdigitaldisplaynumbers.Usingsimulatedusingthebuzzeralarmsystem,increasingthesafetylockcapabilities.Softwareusesassemblylanguageprogramming,theuseoftop-down,modulardesign,thesystemtowardadistributed,miniaturizationdirection,

6、enhancesystemscalabilityandoperationalstability.Testresultsshowthatthedesignmeetselectroniclocksfunction. Keywords: Lock MCU Alarm第一章 绪论1.1 概述在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多以加锁的办法来解决。若使用机械式钥匙开锁人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。为满足人们对门锁的使用要求,增加其安全性,用密码电子锁代替传统机械锁应运而生。在安全技术防范领域,具有防盗报警功

7、能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。1.2电子密码锁的发展趋势目前门锁主要用弹子锁,其钥匙容易丢失;保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高,且易出现故障,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。针对这些锁具给人们带来的不便若使用机械式钥匙开锁,为满足

8、人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。它的出现为人们的生活带来了很大的方便,有很广阔的市场前景。由于电子器件所限,以前开发的电子密码锁,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,在后为多是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引角的2051系列单片机来实现的,但密码简单,易破解。随着电子元件的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了真真的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的

9、,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码锁。 出于安全、方便等方面的需要许多电子密码锁已相继问世。但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高且供个人使用的箱、柜、房间等。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子防盗锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗锁,这样对盗贼而言是“道高一尺、魔高一丈”。设计原理本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片

10、机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈。本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,软件部分对应的由主程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。其原理框图如

11、图4-1所示。图4-1 电子密码锁原理框图第二章 电子密码锁硬件电路设计 AT89C51 单片机 AT89C51 是一种带4K 字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8 位微处理器,俗称单片机。该器件采用ATMEL 高密度非易失存储器制造技术制造, 与工业标准的MCS-51 指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51 是一种高效微控制器。 矩阵键盘密码的输入用矩阵键盘实现,包括数字键和功能键。具体功能设计如表2-1:表2-1 键盘具体功能设计表按键键名功能09键数字键输入密码A键重设密码键设定新密码C键清除键使显示

12、器清零D键确定键比较密码矩阵式键盘的结构与工作原理如下:在键盘中的按键数量较多时,为了减少I/O 口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,只需要单片机的一个端口就可以构成44=16 个按键, 比直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20 键的键盘, 而直接用端口线则只能多出一键。确定矩阵式键盘上是否有键被按下,我们采用一种“行扫描法”,又被称为扫描查询法,是一种最常用的按键识别方法。设计是先将列线置于高电平,再进行行线扫描,若有行线为高电平,则确定有按键被按下,并将相

13、应的行线编号存放;再转移到列线的扫描程序,首先将行线置于高电平,再进行列线扫描,若有列线为高平,则确定有按键被按下,并将相应的列线编号存放。如图2-1所示,矩阵键盘的每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要4条行线和4条列线即可组成有44个按键的键盘。图2-1 矩阵键盘本次设计需要09十个数字按键、一个清零键、一个确认键和一个重置密码键共13个按键,所以选用4X4的矩阵按键。在这种行列式矩阵键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段,还要对按键进行消抖处理。当确认有按键按下后,就要识别是哪一个按键

14、被按下。本次设计使用的是线反转法。给行线置为0x0f,给列线置为0xf0,再将行列进行逻辑或结果为0xff,当有按键按下时相应的按键位行列均为0,行列逻辑或不为0xff,由此可利用行列逻辑或后的值是否为0xff来判断是否有按键按下。再根据扫描结果判断按下键的位置。给相应的按键赋值即可实现数字键和功能键。对功能键进行相应的软件编程即可实现按键功能。使用矩阵键盘能减少键盘和单片机接口所占用的I/O线数目,当按键较多的时候通常采用这种方法。 开锁电路在本次设计中用发光二极管代替电磁锁,二极管亮表示锁开,二极管灭表示没有开锁。如图2-2所示,当输入密码与内置密码相配合时将P3.0置0,二极管亮。否则二

15、极管不亮图2-2 发光二级管电路 报警电路报警电路由单片机和蜂鸣器组成,如图2-3所示,当P3.1为高电平时蜂鸣器发出声音报警。每次输入的密码与正确密码进行比较,如果相同,锁开灯亮。如果输入错误则用一个变量来记录输入错误的次数,当输入密码错误达到三次时,蜂鸣器工作发出报警声音,本次设计使用的是声音间断蜂鸣器声音报警来报警,即声音持续时间20ms后又将P3.1置0时间为20ms,如此循环,即可听到“嘟嘟嘟”的间断响声。设置报警总时间为10S。图2-3 报警电路 数码管显示电路数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8

16、”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而

17、显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划的同名端“a,b,c,d,e,f,g,dp “连在一起,另外为每个数码

18、管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的

19、,能够节省大量的I/O端口,而且功耗更低。密码显示电路由单片机、电阻排和6位数码管组成。显示电路如图2-4所示。P0口控制段选,P2口控制位选。为保证密码的保密性,本设计采用“”显示所有输入密码,如图2-4所示。当重设密码时,为了防止手动错误,数码管显示数字,如图2-5所示。数码管显示原理: “”显示原理:在选择位选的情况下,段选仅点亮“g”管即可显示当位为“”;实现左移逐渐点亮原理: 当输入一个数字时,第五位(从右往左数)赋值给第六位,第四位的值赋给第五位,第三位的值赋给第四位,第二位的值赋给第三位,第一位的值赋给第二位,输入的值赋给第一位,同时点亮第一位数码管。当输入第二个数字时,每一位与

20、输入第一位时相同均向左移一位,将输入的值赋给第一位,同时点亮第一位和第二位数码管。如此每输入一个数字数码管就向左移动了一位,输入的数字赋值给第一位数码管,并相应点亮右边的数码管。 当按下功能键时,相应的功能键实现相应的功能,而数码管全部回零熄灭。直到再一次输入数字。图2-4 数码管显示电路图2-5 重设密码数码管显示数字单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,电路图如图2-6所示图2-6 复位电路图中由按键以及电解电容、电阻构成按键及上电复位电路。由于单片机是高电平复位,所以当按键按下的时候,单片机的9脚RESE

21、T管脚处于高电平,此时单片机处于复位状态。当上电后,由于电容的缓慢充电,单片机的9脚电压逐步由高向低转化,经过一段时间后,单片机的9脚处于稳定的低电平状态,此时单片机上电复位完毕,系统程序从0000H开始执行。密码存储电路设计 本设计中,智能密码锁工作时分为两种工作状态,分别是正常状态和锁定状态。锁定状态时,输出锁定信号,实现上锁功能;正常状态时,锁定信号消失实现开锁功能。本设计采用AT24C01存储密码。AT24C01是美国ATMEL公司的低功耗CMOS串行EEPROM,它内含1288位存储空间,具有工作电压宽(2.55.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特

22、点。具有PDIP、MSOP/TSSOP及SOIC等三种封装形式,以适应不同产品的需求。将密码存入AT24C01中,开锁时,将从面板上的微键盘输入的数字序与AT24C01中存储的密码相比较,如果位数及每一位上的数都相吻合,则进行开锁程序复位后,先将AT24C01中保存的密码取出,放入RAM缓冲区1中暂存,将定时器、堆栈等进行初始化,为报警系统作好准备,将RAM缓冲区2中的密码初值设置为和RAM缓冲区1中的密码不同,保证程序复位后比较密码不会相同,这时,进入RAM缓冲区1和RAM缓冲区2的密码比较程序,只有当两者位数相同而且每一位数字都相同时,执行开锁动作、输出开锁信号、进入正常状态,否则执行上锁

23、动作、输出上锁信号、进入锁定状态。在正常状态时,可以进行重新设置密码、上锁等操作,重新设置密码时,首先验证原始密码,如相同则可进行密码更改,然后将新密码保存至AT24C01中,同时更新RAM缓冲区1。在锁定状态时,系统启动报警功能,同时等待用户开锁,如发现用户按下“开锁”键,则读入从微键盘输入的数字序列,用其更新RAM缓冲区2,转入密码比较程序,如密码相同则开锁,否则继续等待用户开锁,为防止非法用户恶意多次试探密码,可在程序中设置当连续三次输入错误密码后自动报警,直至开锁后解除。如图2-7所示:图2-7 密码锁存储电路第三章 软件设计软件设计思路电子密码锁工作的主要过程是LED数码管提示开始输

24、入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。当输入密码连续输入错误3次时,系统报警。密码的设定,在此程序中密码是固定40H45H 中,假设预设的密码为123456共6位密码。由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。3.2 LED显示子程序 LED显示流程图如图3-1所示:图3-1 LED显示流程图LE

25、D显示子程序如下:DISP:MOV R0,#45HDISP1: MOV A,R0 ADD A,#50H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#40H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#30H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#20H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#10H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#00H MOV P0,A CALL

26、 DELAY RET键盘扫描子程序键盘扫描流程图如图3-2所示:图3-2 键盘扫描流程图键盘扫描子程序如下:L2: MOV R3,#0F7H MOV R1,#00HL3: MOV A,R3 MOV P1,A MOV A,P1 MOV R4,A SETB C MOV R5,#04HL4: RLC A JNC KEYIN INC R1 DJNZ R5,L4 CALL DISP MOV A,R3 SETB C RRC A MOV R3,A JC L3 JMP L2密码比较和报警程序密码比较和报警流程图如3-3所示:图3-3 密码比较和报警流程密码比较和报警程序:COMP: MOV R1,#45H M

27、OV R0,#35H MOV R2,#06HC1: MOV A,R1 XRL A,R0 JNZ C3 DEC R1 DEC R0 DJNZ R2,C1 MOV R2,#200C2: MOV R6,#248 DJNZ R6,$ DJNZ R2,C2C3: INC R5 MOV A,R5 MOV R5,A CJNE R5 ,#03H,C4 MOV R5,#00H C4: JMP START第四章 系统调试系统调试的组成系统调试包括硬件调试和软件调试,硬件调试的任务排除系统的硬件电路.包括设计和工艺故障,软件调试是利用开发工具进行在线住址调试,除发现和解决程序错误之外,也可以发现硬件故障.(1) 静

28、态调试第一步为目测,单片机应用系统中大部分电路安装在印制电路板上,因此对每一块加工好的印制电路板要进行仔细的检查。第二步为示波器测试,目测检查后,可进行示波器测试。第三步为加电检查,第四步实际联机检查。但注意示波器必须接在入口而不能接在电压大的端口上。(2) 动态调试 一般方法是由近及远、由分到合。首先按逻辑功能将用户系统硬件电路分为若干份,先分块调试,当调试某块电路时,与该电路无关的器件全部从用户系统中去掉,这样,可将故障范围限定在某个局部电路上。当各块电路调试无故障后,将各块电路加入系统中,再对个块电路功能及电路间可能存在的相互联系进行试验。经历这样一个调试过程后,大部分硬件故障基本可以排

29、除。软件调试一般步骤:先独立后联机:一个子程序一个子程序的进行调试,最后单片机连起来总调。先分块后组合:逐个芯片逐步调试再和整体芯片一起进行总调。先单步后连续:先执行一条指令,在每步后,又返回监控调试状态在从程序任意一条地址处启动,最后全速运行。4.2 protues和keil软件仿真 本次调试采用的是protues和keil软件进行仿真。首先运用keil软件编写电子密码锁的源程序,本设计主要运用汇编语言编写。源程序编写后运行生成目标文件供protues仿真调试。图4-1为LED数码管显示六位密码的情况图4-1 数码管显示密码图当密码正确按下确认键发光二极管亮,锁开。如图4-2所示:图4-2

30、密码正确锁开灯亮当密码输入错误三次蜂鸣器发出声音报警,如图4-3所示,发出报警声音。Protues仿真电路图如图4-4所示:图4-3 蜂鸣器报警由图4-3可以看到蜂鸣器非接地端为红色,即此时为高电平,所以蜂鸣器正在发出报警声音。Protues仿真电路图如图4-4所示图4-4 protues仿真电路图第五章 总结与展望课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整几个星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕

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

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