2013+基于单片机的电子密码锁设计毕业论文正稿

上传人:仙*** 文档编号:96857127 上传时间:2022-05-26 格式:DOC 页数:65 大小:265.50KB
收藏 版权申诉 举报 下载
2013+基于单片机的电子密码锁设计毕业论文正稿_第1页
第1页 / 共65页
2013+基于单片机的电子密码锁设计毕业论文正稿_第2页
第2页 / 共65页
2013+基于单片机的电子密码锁设计毕业论文正稿_第3页
第3页 / 共65页
资源描述:

《2013+基于单片机的电子密码锁设计毕业论文正稿》由会员分享,可在线阅读,更多相关《2013+基于单片机的电子密码锁设计毕业论文正稿(65页珍藏版)》请在装配图网上搜索。

1、.基于单片机的电子密码锁设计毕业论文62 / 65. 潍坊科技学院电子密码锁设计要求课程 单片机原理及应用课程设计题目 电子密码锁的设计专业班级姓名 许世锦 学号 一、设计目的:训练学生综合运用己学课程的基本知识,独立进行单片机应用技术开发工作,掌握单片机程序设计、调试,应用电路设计、分析及调试检测。二、设计要求:1. 应用MCS-51单片机设计电子密码锁电路;2. 电子密码锁电路选用8位控制,连续三次输入错误密码,密码锁输出报警信号,输入正确密码解除报警;3. 硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单元电路必须有工作原理,器件的作用,分析和计算过程;4. 软

2、件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;5. 原理图设计根据所确定的设计电路,利用Protel等有关工具软件绘制电路原理图、PCB板图、提供元器件清单。三、参考资料:1 李朝青.单片机原理及接口技术M.北京:北京航空航天大学出版社,19982 李全利.单片机原理及接口技术M.高等教育出版社,20033 PROTEL99 SE电路设计与制板M.机械工业出版社,20074 杨将新,李华军,刘到骏等.单片机程序设计及应用从基础到实践J电子工业出版社,2006完成期限指导教师专业负责人 20XX 月 日 摘要随着电子产品向智能化和微型化的不断发展,单片

3、机已成为电子产品研制和开发中首选的控制器。随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,安全性能低,无法满足人们的需要。根据这一实际情况,本文由经济实用的角度出发,设计了以单片机系统为控制核心,由矩阵键盘系统、LED显示系统和报警系统等为被控对象组成电子密码锁,系统能够完成开锁、超时报警、超次锁定、管理员解密、修改用户、修改用户密码等基本的密码锁功能。除了上述所说的基本的密码锁功能外,还具有掉电存储、声光提示等功能,依据实际情况还可以进行功能扩展。本系统成本低廉,功能实用,方便广大用户。关键词:密码锁;单片机;报警;掉电存储.1 绪论1.1 电

4、子密码锁简介电子锁是采用电子电路控制,以电磁铁或者卫星电机和锁体作为执行装置的机电一体化所锁,相比传统的锁具,电子锁不使用金属钥匙,保密性、精度都很高。电子锁的发明思路,源自古代的自动机械,它们以重力或蒸汽压力驱动,最广泛用途是用在古代古墓的地下机关。电子工业的诞生,使得以微小电量驱动机械成为可能,于是有了电子锁一日千里的跃进。电子密码锁是在电子锁的基础上设计的,一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。在安全技术防范领域

5、,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论是在技术上还是在性能上都大大提高。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带处理器的智能密码锁,它除了具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。1.2 电子密码锁的发展趋势在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。在以前科技不发达的年代,只能使用传统的机械锁,使用传统的机械钥匙开锁,不但人们需要携带多把钥匙,使用极其不方便

6、,而且钥匙一旦丢失,安全性就大大降低,所以机械锁安全性低、使用不方便。随着科学技术的不断发展,人们需要保密防盗的东西越来越多,因此人们对日常生活中安全器件的性能要求也越来越高。为了满足人们对安全性的要求,提高锁的性能,增加其安全性、方便性,用密码代替钥匙的电子密码锁应运而生。在科学技术的不断发展过程中,许多电子智能锁如指纹识别、IC卡辨认等已经在国内外相继面世,但是这些产品的特点是面对特定的指纹和有效卡,只能适用于保密安全性低的门、柜等,而且指纹识别与IC辨认存在很多缺点,例如使用不方便、适用范围窄、易于损坏等。鉴于这些缺点的存在,技术水平和市场的接受水平,寻找和发现新的防盗产品已经成为这些电

7、子防盗产品的主流。因为电子密码锁具有保密性好、编码量多、密码可变、误码输入保护、电子密码锁操作简单易行、干扰码功能、在输入正确密码前可输入任意码、安保功能等功能。使用电子密码锁这些问题都能够解决,这也就是电子密码锁成为电子防盗产品主要研究对象的原因。1.3 本设计所要实现的目标本设计主要是实现电子密码锁安全性高,成本低,功耗低等特点,最主要的是方便用户的使用。本文采用以51单片机为核心的控制方案1,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加声光提示功能甚至还能添加掉电存储和遥控控制等功能,能在很大程度上扩展功能,方便对系统进行升级。该电子

8、密码锁主要实现的功能是:1设置8位密码,密码由矩阵键盘输入,若密码正确,则锁打开;2 密码可以由用户自己修改设定,但是只支持8位密码,只有锁打开之后才能修改密码,修改新密码之前还要输入旧密码,输入新密码时需要确认二次,以防止错误的发生。3 报警锁定键盘功能,如果密码输入错误,则LED显示会出现错误提示,如果连续出现三次输入密码错误,蜂鸣报警系统会发出声报警。第1章 概述1.1 引言1.1 电子密码锁简介电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁

9、是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其特点如下:1 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。3 误码输入保护,当输入密码多次错误时,报警系统自动启动。4 无活动零件,不会磨损,寿命长。5 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。6 电子密码锁操作简单易行,一学即会。1.2 电子密码锁的发展趋势在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。目前门锁主要用弹子锁,其钥匙容易丢失;保险箱

10、主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高,且易出现故障,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。针对这些锁具给人们带来的不便若使用机械式钥匙开锁,为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。它的出现为人们的生活带来了很大的方便,有很广阔的市场前景。由于电子器件所限,以前开发的电子密码锁,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,在后为多是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引角的2051系列单片机来实现的,但密码简单,易破解。随着电子元件的进一步

11、发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了真真的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码锁。出于安全、方便等方面的需要许多电子密码锁已相继问世。但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高且供个人使用的箱、柜、房间等。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子防盗锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码

12、的电子防盗锁,这样对盗贼而言是道高一尺、魔高一丈。组合使用信息也能够使电子防盗锁获得无穷扩展的可能,使产品多样化,对用户而言是千挑百选、自得其所。可以看出组合使用电子信息是电子密码锁以后发展的趋势。1.3 本设计所要实现的目标本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。密码可以由用户自己修改设定,锁打开后才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。1.2 电子密码锁的背景随着社会科技的进步,锁已发展到了密码锁、磁性

13、锁、电子锁、激光锁、声控锁等等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。如指纹、眼底视网膜等来控制锁的开启。从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。1.3 电子锁设计的意义的本设计特点单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器CPU、随机存取存储器RAM、只读存储器ROM、输入/输出端口 I/0等主要计算机功能部件都集成在一块

14、集成电路芯片上的微型计算机。 计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。微计算机单片机在这种情况下诞生了,它为我们改变了什么?纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC 卡、电子宠物等,这些都离不开单片机。以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点

15、简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了,且容易升级改善。 电子锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。大大提高了主人物资的安全性,安全可以代替老式机械锁。目前使用的密码锁种类繁多,各具特色。本文从经济实用的角度出发,采用AT89C2051单机,研制了一款具有防盗自动报警功能的电子密码锁。该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。1系统设置4位密码,密码通过键盘输入,若密码正确,则将锁打开。2密码由

16、用户自己设定,在开锁状态下,用户可自行修改密码。3具有自动报警功能。自动报警分现场报警和远程报警两种。现场报警由扬声器发出报警声。4两种情况下可报警:一是密码输入错误3次,则报警;二是非正常开门,如破门而入的情况,可通过系统的红外监视装置监测,同时报警,保证了系统的安全性。系统工作时,用户通过按键输入4位密码,单片机将输入密码与设定密码进行比较,若密码正确,则发出开锁信号,将门打开,系统不报警;若密码不正确,则有相应的指示灯闪动,并要求重新输入密码,重新输入密码的次数不能超过3次,若3次输入的密码都不正确,则发出报警信号。第二章 硬件电路设计及描述第1章 概述2 设计方案2.1 总体设计方案本

17、文采用以51单片机为核心的控制方案,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加声光提示功能甚至还能添加掉电存储和遥控控制功能等,能在很大程度上扩展功能,方便对系统进行升级2。主要由单片机系统、矩阵键盘、LED显示和报警系统组成。电子密码锁的设计主要是4*4矩阵键盘接口电路的设计,密码锁的控制电路设计,输出八段显示电路设计,以及凤鸣报警系统电路的设计,另外还有LED提示灯.其中矩阵键盘主要包括0-9十个数字键,还包括菜单,确认,返回功能键,菜单建中又包括密码输入,密码清除,密码修改等功能键。2.2 系统硬件设计方案系统硬件的设计主要就是电路

18、的功能单元设计以及选择电子元件,主要有开锁机构电路设计、按键电路设计、密码锁的电源电路设计、掉电存储系统电路设计以及总体电路图的设计,这些电路图的设计主要是应用所学过的Protel软件,根据设计方案画出实际电路图,再通过调试、检测电路是否可行方可使用。2.3 系统软件设计方案系统软件设计主要就是对51单片机的使用,了解51单片机的基本特点,根据电路图以及电子密码锁要实现的功能进行编程,只有在程序编好的情况下,51单片机核心才能够对硬件进行控制,所以说只有设计好了系统软件,也就是整个电子密码锁的核心系统,整个系统才可以使用,软件设计是基础也是根本。2.4 预期结果该电子密码锁的设计主要是实现电子

19、密码锁安全性高,成本低,功耗低等特点,最主要的是方便用户的使用。该电子密码锁主要实现的功能是:1设置8位密码,密码由矩阵键盘输入,若密码正确,则锁打开;2 密码可以由用户自己修改设定,但是只支持8位密码,只有锁打开之后才能修改密码,修改新密码之前还要输入旧密码,输入新密码时需要确认二次,以防止错误的发生;3 报警锁定键盘功能,如果在密码输入错误,则LED显示会出现错误提示,如果连续出现三次输入密码错误,蜂鸣报警系统会发出声报警。3 主要元器件介绍3.1 主控芯片AT89S51AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4k Bytes ISP的可反复擦写1000次的Flash只

20、读程序存储器,器件采用ATMEL 公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用3。主要性能特点1、4k Bytes Flash片内程序存储器;2、128 bytes的随机存取数据存储器;3、32个外部双向输入/输出I/O口;4、5个中断优先级、2层中断嵌套中断;5、6个中断源;6、2个16位可编程定时器/计数器;7、2个全双工串行通信口;8、看门狗WDT电路;9、片内振荡器和时钟电路;10、与MCS-51兼容;11、全静态工作:0Hz-33M

21、Hz;12、三级程序存储器保密锁定; 管脚说明VCC:电源电压输入端。GND:电源地。P0口:P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高4。图3-1 PDIP封装的AT89S51管脚图Figure 3-1 PDIP package pin map AT89S51P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管

22、脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写1时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址1时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编

23、程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入1后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流ILL这是由于上拉的缘故。P3口除了作为普通I/O口,还有第二功能:l P3.0 RXD串行输入口l P3.1 TXD串行输出口l P3.2 /INT0外部中断0l P3.3 /INT1外部中断1l P3.4 T0T0定时器的外部计数输入l P3.5 T1T1定时器的外部计数输入l P3.6 /WR外部数据存储器的写选通l P3.7 /RD外部数据存储器的读选通l P3口同

24、时为闪烁编程和编程校验接收一些控制信号5。I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。89C51的P0、P1、P2、P3口作为输入时都是准双向口。除了P1口外P0、P2、P3口都还有其他的功能。RST:复位输入端,高电平有效。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:地址锁存允许/编程脉冲信号端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此

25、引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效6。PSEN:外部程序存储器的选通信号,低电平有效。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:外部程序存储器访问允许。当

26、/EA保持低电平时,则在此期间外部程序存储器0000H-FFFFH,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源VPP。XTAL1:片内振荡器反相放大器和时钟发生器的输入端。XTAL2:片内振荡器反相放大器的输出端。3.2 存储芯片AT24C02AT24C02是由ATMEL公司提供的,I2C总线串行EEPROM,其容量为1KB,工作电压在1.8V5.5V之间,生产工艺是CMOS工艺,其引脚如图3-2所示。图3-2 24C02引脚图Figure 3-2 24C02 Pin

27、各引脚功能如下。A2A0:这3个引脚是器件地址选择引脚。将这3个引脚配置成不同的编码值,在同一串行总线上最多可扩充8片同一容量或不同容量的24系列串行EEPROM芯片。SDA:串行数据输入输出口,是一个双向的漏极开路结构的引脚,容量扩展时可以将多片24系列的SDA引脚直接相连,实际使用时该引脚必须接一个5.1k 的上拉电阻7。SCL:串行移位时钟控制端。写入时上升沿起作用,读出时下降沿起作用。TEST:硬件写保护控制引脚。当其为低电平时,正常写操作,高电平时,对EEPROM部分存储区域提供硬件写保护功能,即对被保护区域只能读不能写。GND:接地。VCC:接+5V电压。3.3 LED显示器LED

28、显示屏LED panel,是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。3.3.1 发展历史LED的技术进步是扩大市场需求及应用的最大推动力。最初,LED只是作为微型指示灯,在计算机、音响和录像机等高档设备中应用,随着大规模集成电路和计算机技术的不断进步,LED显示器正在迅速崛起,近年来逐渐扩展到证券行情股票机、数码相机、PDA以及手机领域8。 LED显示器集微电子技术、计算机技术、信息处理于一体,以其色彩鲜艳、动态范围广、亮度高、寿命长、工作稳定可靠等优点,成为最具优势的新一代显示媒体。目前,LED显示器已广泛应用于大型广

29、场、商业广告、体育场馆、信息传播、新闻发布、证券交易等,可以满足不同环境的需要。 LED显示器结构及参数通过发光二极管芯片的适当连接包括串联和并联和适当的光学结构。可构成发光显示器的发光段或发光点。由这些发光段或发光点可以组成数码管、符号管、米字管、矩阵管、电平显示器管等等。通常把数码管、符号管、米字管共称笔画显示器,而把笔画显示器和矩阵管统称为字符显示器。 基本的半导体数码管是由七个条状发光二极管芯片按图12排列而成的。可实现09的显示。其具体结构有反射罩式、条形七段式及单片集成式多位数字式等。1反射罩式数码管一般用白色塑料做成带反射腔的七段式外壳,将单个LED贴在与反射罩的七个反射腔互相对

30、位的印刷电路板上,每个反射腔底部的中心位置就是LED芯片。在装反射罩前,用压焊方法在芯片和印刷电路上相应金属条之间连好30m的硅铝丝或金属引线,在反射罩内滴入环氧树脂,再把带有芯片的印刷电路板与反射罩对位粘合,然后固化。 反射罩式数码管的封装方式有空封和实封两种。实封方式采用散射剂和染料的环氧树脂,较多地用于一位或双位器件。空封方式是在上方盖上滤波片和匀光膜,为提高器件的可靠性,必须在芯片和底板上涂以透明绝缘胶,这还可以提高光效率。这种方式一般用于四位以上的数字显示或符号显示9。 2条形七段式数码管属于混合封装形式。它是把做好管芯的磷化镓或磷化镓圆片,划成内含一只或数只LED发光条,然后把同样

31、的七条粘在日字形可伐框上,用压焊工艺连好内引线,再用环氧树脂包封起来。 3单片集成式多位数字显示器是在发光材料基片上大圆片,利用集成电路工艺制作出大量七段数字显示图形,通过划片把合格芯片选出,对位贴在印刷电路板上,用压焊工艺引出引线,再在上面盖上鱼眼透镜外壳。它们适用于小型数字仪表中。 4符号管、米字管的制作方式与数码管类似。 5矩阵管发光二极管点阵也可采用类似于单片集成式多位数字显示器工艺方法制作。 由于LED显示器是以LED为基础的,所以它的光、电特性及极限参数意义大部分与发光二极管的相同。但由于LED显示器内含多个发光二极管,所以需有如下特殊参数: 1发光强度比 由于数码管各段在同样的驱

32、动电压时,各段正向电流不相同,所以各段发光强度不同。所有段的发光强度值中最大值与最小值之比为发光强度比。比值可以在1.52.3间,最大不能超过2.5。 2脉冲正向电流 若笔画显示器每段典型正向直流工作电流为IF,则在脉冲下,正向电流可以远大于IF。脉冲占空比越小,脉冲正向电流可以越大。3.3.3 LED的技术优势LED显示器与LCD显示器相比,LED在亮度、功耗、可视角度和刷新速率等方面,都更具优势。LED与LCD的功耗比大约为1:10,而且更高的刷新速率使得LED在视频方面有更好的性能表现,能提供宽达160的视角,可以显示各种文字、数字、彩色图像及动画信息,也可以播放电视、录像、VCD、DV

33、D等彩色视频信号,多幅显示屏还可以进行联网播出。有机LED显示屏的单个元素反应速度是LCD液晶屏的1000倍,在强光下也可以照看不误,并且适应零下40度的低温。利用LED技术,可以制造出比LCD更薄、更亮、更清晰的显示器,拥有广泛的应用前景10。 3.4 矩阵键盘 矩阵式键盘的结构与工作原理在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口如P1口就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20

34、键的键盘,而直接用端口线则只能多出一键9键。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的11。在本设计中,由于电子密码锁的开锁、修改密码等都要输入八个数字,所需键数比较多,因此我选择了矩阵键盘做输入设备,这样不仅减少了I/O口的使用,而且如果键盘使用需要扩展,也更加方便12。3.4.2 矩阵式键盘的按键识别方法虽然键盘的使用方便,节约I/O口的使用,但是矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,在上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线

35、输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。具体的识别方法如下所述。确定矩阵式键盘上何键被按下第一种方法是行扫描法。 行扫描法 行扫描法又称为逐行或列扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。1、判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。2、判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在

36、置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。下面给出一个具体的例子:图仍如上所示。AT89S51单片机的P1口用作键盘I/O口,键盘的列线接到P1口的低4位,键盘的行线接到P1口的高4位。列线P1.0-P1.3分别接有4个上拉电阻到正电源+5V,并把列线P1.0-P1.3设置为输入线,行线P1.4-P.17设置为输出线。4根行线和4根列线形成16个相交点。 1、检测当前是否有键被按下。检测的方法是P1.4-P1.7输出全0,读取P1.0-P1.3的状态,若P1.0-P1.3为全

37、1,则无键闭合,否则有键闭合。 2、去除键抖动。当检测到有键按下后,延时一段时间再做下一步的检测判断。 3、若有键被按下,应识别出是哪一个键闭合。方法是对键盘的行线进行扫描。P1.4-P1.7按下述4种组合依次输出: P1.7 1 1 1 0 P1.6 1 1 0 1 P1.5 1 0 1 1 P1.4 0 1 1 1 在每组行输出时读取P1.0-P1.3,若全为1,则表示为0这一行没有键闭合,否则有键闭合。由此得到闭合键的行值和列值,然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值 4、为了保证键每闭合一次CPU仅作一次处理,必须去除键释放时的抖动。 确定矩阵式键盘上何键被按下

38、的第二种方法是高低电平翻转法。 首先让P1口高四位为1,低四位为0。若有按键按下,则高四位中会有一个1翻转为0,低四位不会变,此时即可确定被按下的键的行位置。然后让P1口高四位为0,低四位为1。若有按键按下,则低四位中会有一个1翻转为0,高四位不会变,此时即可确定被按下的键的列位置。最后将上述两者进行或运算即可确定被按下的键的位置。 键盘处理程序就作这么一个简单的介绍,实际上,键盘、显示处理是很复杂的,它往往占到一个应用程序的大部份代码,可见其重要性,但说到,这种复杂并不来自于单片机的本身,而是来自于操作者的习惯等等问题,因此,在编写键盘处理程序之前,最好先把它从逻辑上理清,然后用适当的算法表

39、示出来,最后再去写代码,这样,才能快速有效地写好代码13。4 系统硬件构成4.1 设计原理本文采用以AT89S51为核心的单片机控制方案,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,不但能实现基本的密码功能,还能添加掉电存储、声光提示甚至添加遥控控制功能14。其原理图如图4-1所示。图4-1电子密码锁控制框图Figure 4-1 Control block diagram of the electronic code lock4.2 密码锁控制电路开锁部分作为电子密码锁的主要部分之一,是通过单片机发送信号给开锁执行机构,电路驱动电磁锁吸合,从而达到开锁闭锁的目的。其原理图如图

40、4-2所示。图4-2 开锁原理流程图Figure 4-2 Principle flow chart of Unlock当用户输入的密码正确而且是在规定的时间内不同用户要求在12s内输入正确的密码,管理员要求在5s内输入正确的密码输入的话,单片机便输出开锁信号,送到开锁驱动电路,然后驱动电磁锁,达到开锁的目的。其电路图如图4-3所示。开锁控制电路由电路驱动和开锁两级组成。由D5、R16、T4组成驱动电路,其中T4可以选择普通的小功率三极管,如9014、9018都可以满足要求。D5作为开锁的提示,由D、C11、T6组成开锁电路。其中D、C11是为了消除电磁锁可能产生的反向高电压以及可能产生的电磁干

41、扰。T6可选用中功率三极管,如8050。电磁锁的选用要视情况而定,但是吸合力要足够切有一定的余量。图4-3 电磁锁驱动电路Figure 4-3 Electromagnetic Lock Driver在本次设计中,基于节省材料,降低成本价格的原则,暂时用发光二极管代替电磁锁,如果发光二极管亮,说明开锁,如果发光二极管暗,说明没有开锁。4.3 按键电路设计由于在本设计中需要输入多位数字密码,所以采用矩阵键盘作为输入工具,在本设计中采用行列式键盘,方便而且减少键盘与单片机接口时所占用的I/O线的数目,减少I/O口的使用量,在按键数目比较多的时候都会采用这种方法。每一条水平线行线与垂直线列线的交叉处不

42、相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,就可以组成具有N*M个按键的矩阵键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,按键处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别是哪一个按键被按下,对键的识别通常有两种方法,一种是常用的逐行扫描查询法;另一种是速度较快的线翻转法15。首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中,如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。

43、判断键盘中哪一个键被按下使通过键列线逐列至低电平后,检查行输入状态来实现的。方法是:一次给列线送低电平,然后查询所有行线状态,如果全为1,则所按下的键不在系此列,如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上那个键。操作面板如图4-4所示,共有数字键10个,功能键4个,还有四个指示灯和一个蜂鸣报警器,外加一个LED显示器。上锁01确认23456789菜单返回LED显示器图4-4 操作面板示意图Figure 4-4 Schematic diagram of the control panel10个数字键用来输入密码,六个功能键上锁、确认、菜单、返回,主要是上锁和对输入密码的

44、确认,对于菜单键,当按下菜单键后,在LCD显示器上将会出现,修改密码、开锁、密码清除等提示,根据提示进行操作,上下箭头是用于选择功能的。上面的4个指示灯是用来指示操作的状态,锁合左一指示状态灯,正常的情况下显示红色,表示上锁。当键盘动作的时候,键有效左三灯开始闪动,当输入错误时则没有反应,指示灯也显示红色。锁开左二指示灯,当用户在规定的时间内正确的输入了密码,此灯转变为绿色,表示开锁,否则不显示。错误左四指示灯是当用户输入密码三次错误时灯亮,自动启动报警系统,进行蜂鸣报警。面板上的蜂鸣器一个作用是对用户的操作进行语言提示,另一个作用是在用户输入错误密码次数超过三次后自动启动报警系统进行蜂鸣报警

45、。在本设计中,键盘电路设计如图4-5所示。图4-5键盘电路Figure 4-5 Keyboard Circuit4.4 AT24C02掉电存储单元的设计掉电存储单元的作用是在电源突然断开的时候,存储当前设定的信息,防止数据丢失。AT24C02是由ATMEL公司提供的,I2C总线串行EEPROM,其容量为1KB,工作电压在1.8V5.5V之间,生产工艺是CMOS工艺。芯片内的资料可以保存很久,而且使用方便。图4-6 AT24C02掉电存储电路Figure 4-6 AT24C02 memory circuit power-down如图4-6中R8、R10是上拉电阻,其作用是减少AT24C02的静态

46、功耗,由于AT24C02的数据线和地址线是复用的,采用串行口的方式传送数据,所以只用两根线SCL以为脉冲和SDA数据/地址与单片机传送数据16。每当出现一次数据变化,系统就会自动调用存储程序,将新的数据保存在芯片当中,当系统重新上电的时候,系统会自动调用读存储器程序,将存储期内的数据读到缓存单元中,供主程序使用。4.5 显示模块显示电路采用八个共阳极LED数码管,从P0并行输出温度段码,用P1.0P1.7八个端口输出选择脉冲,控制数码管的点亮。其具体电路图如图4-7所示。图4-7 显示电路Figure 4-7 shows the circuit其工作过程如下:1、并行数据由P0口送至八个数码管

47、。2、这时P1.0P1.7轮流输出低电平,LED数码管依次被点亮,显示P0传送来的数据。由于数码管余辉效应和人眼的视觉延迟,当数码管每秒点亮50次时,就会出现静止显示的密码值。4.6 电源电路设计电源是一个系统正常工作的基础,电源模块为系统其他各个模块提供所需要的能源保证,因此电源模块的设计至关重要。系统中接受供电的部分包括:显示模块、单片机模块、开锁电路模块、以及其它的外围辅助模块等。设计中,除了需要考虑电压范围和电流容量等基本参数外,还要在电源转换效率、噪声、干扰和电路简单等方面进行优化。可靠的电源方案是整个硬件电路稳定可靠运行的基础。为了防止停电情况的发生,本电路后备了UPS电源,它包括

48、市电供电电路,停电检测电路,电子开关切换电路,蓄电池充电电路和蓄电池组。电源电路图如图4-8所示。图4-8市电供电电路Figure 4-8 mains power supply circuit220V市电通过变压器降压成12V的交流电,在经过整流桥整流,稳压到5V送往电子切换电路,由于本电路功耗较少,所以选用10W的小型变压器。由R14、R15、R18、R19以及IC14构成电压比较器,正常情况下,V+V-IC14输出高电平,由T3、T4构成的达林顿管使继电器J开启,用其常开触点将蓄电池和电路相连,实现市电和蓄电池供电的切换,保证电子密码锁的正常工作电池容量决定持续时间。其电路图如图4-8所示

49、。图4-9停电检测及电子开关切换电路Figure 4-9 and electronic switching power failure detection circuitT1、T2构成蓄电池的自动充电电路,它在电池充满后自动停止充电,其中D1亮为正在充电,D2为工作指示。由R12、R5、T1构成电压检测电路,蓄电池电压低。则T1、T2导通,实现对其充电;充满后,T1、T2截止,停止充电,同时D1熄灭,电路中C13的作用是滤除干扰信号。其电路图如图4-10所示。图4-10蓄电池自动充电电路Figure 4-10 Automatic battery charging circuit全部硬件电路的电

50、源由6V电源提供。由于电路中的不同电路模块所需要的工作电流容量各不相同,因此电源模块应该包含多个稳压电路,将充电电池电压转换成各个模块所需要的电压。电源模块由若干相互独立的稳压电源电路组成。在本系统中,5V电源的实现是通过电源管理芯片LM7805来实现的。LM7805为3端正稳压电路,TO-220封装,能提供多种固定的输出电压,应用范围广。内含过流、过热和过载保护电路。带散热片时,输出电流可达1A。虽然是固定稳压电路,但使用外接元件,可获得不同的电压和电流。应用电路如图4-11所示:图4-11 5v电路应用电Figure 4-11 5v power circuit applications由于

51、系统中有多个模块需要5V供电,考虑到电流不足的问题,所以系统中有多个独立的5V电源为不同的模块供电。4.7 电路总体构成通过上面各个单元的设计可以知道,在本设计中总体电路图主要包括四个大的部分,开锁部分、掉电存储部分、电源输入部分和按键输入部分。总体电路图详见附录C。5 系统软件设计5.1keil C编译环境Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。Keil C51 Vision2集成开发环境是Keil Software,Inc/Keil Elektronik GmbH开发的基于80C5

52、1内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程尤其是C编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。Keil C51集成开发环境的主要功能有以下几点:1Vision2 for Windows:是一个集成开发环境,它将项目管理、源代码编辑和程序调试等组合在一个功能强大的环境中;2C51国际际准化C交叉编译器:从C源代码产生可重定位的目标模块;3A51宏汇编器:从80C51汇编源代码产生可重定位的目标模块;4BL51链接器/定位器

53、:组合由C51和A51产生的可重定位的目标模块,生成绝对目标模块;5LIB51库管理器:从目标模块生成连接器可以使用的库文件;6OH51目标文件至HEX格式的转换器,从绝对目标模块生成Intel Hex文件;7RTX-51实时操作系统:简化了复杂的实时应用软件项目的设计。这个工具套件是为专业软件开发人员设计的,但任何层次的编程人员都可以使用,并获得80C51单片机的绝大部分应用。Keil Software提供了一流的80C51系列开发工具软件,下面描述每个套件及其内容:1PK51专业开发套件。PK51专业开发套件提供了所有工具,适合专业开发人员建立和调试80C51系列微控制器的复杂嵌入式应用程

54、序。专业开发套件可针对80C51及其所有派生系列进行配置使用。2DK51开发套件。DK51开发套件是PK51的精简版,它不包括RTX51 Tiny实时操作系统。开发套件可针对80C51及其所以派生系列进行配置使用。3CA51编译器套件。如果开发者只需要一个C编译器而不需要调试系统,则CA51编译器套件就是最好的选择。CA51编译器套件只包含Vision2 IDE集成开发环境,CA51不提供Vision2调试器的功能。这个套件包括了要建立嵌入式应用的所有工具软件,可针对80C51及其所有派生系列进行配置使用。4A51汇编器套件。A51汇编器套件包括一个汇编器和创建嵌入式应用所需要的所有工具。它可

55、针对80C51及其所有派生系列进行配置使用。5RTX51实时操作系统FR51。RTX51实时操作系统是80C51系列微控制器的一个实时内核。RTX51 Full提供RTX51 Tiny的所以功能和一些扩展功能,并且包括CAN通信协议接口子程序。6比较表。列出了每个套件的功能,表的顶上一栏为工具套件名称,表的左边一列为软件组成部分,使用这个对照表可以选择符合需要的套件。5.2 程序设计程序设计Programming是指设计、编制、调试程序的方法和过程。它是目标明确的智力活动。在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个产生对象的实际需要设计应用程序。因此,软件设计在微

56、机控制系统设计中占重要地位。在单片机控制系统中,大体上可以分为数据处理、过程控制两个基本类型。数据处理包括:数据采集、数据滤波、标度变换等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。为了完成上述任务,在进行软件设计时,通常把整个过程分为若干个部分,每一个部分叫做一个模块。把一个程序分成具有多个明确任务的程序模块,分别编制、调试后再把它们连接在一起形成一个完整的程序,这样的程序设计方法称为模块化程序设计。所谓模块,实质上就是能完成一定功能,并相对独立的程序段,这种程序段设计方法称为模块程序设计法。l 模块程序设计法的主要优点是:l 单个模块比一个完整的程序易编写、

57、调试及修改;l 程序易读性好;l 程序的修改可局部化;l 模块可以共存,一个模块可以被多个任务在不同条件下调用;l 模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。 5.3 模块介绍在本设计中,软件设计主要分为主程序模块、键盘扫描及识别子程序、掉电存储服务程序、显示子程序四个部分。以下是对各部分的分别介绍。 主程序模块主程序模块要完成初始化、设置中断向量、检查有无按键按下以及调用显示等等。5.3.2 键盘扫描及识别子程序键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。5.3.3 掉电存储服务程序当比较

58、密码的时候,需要读AT24C02程序,将存储在芯片内的数据读到RAM中,然后和输入的密码相比较。当修改密码的时候,需要把输入的密码保存到AT24C02中。5.3.4 显示子程序由于是分屏显示数据,所以就要用到5个显示子程序,分别是关闭状态显示子程序、开锁状态显示子程序、密码输入及修改状态显示子程序、密码输入错误后的提示子程序,以及密码在规定的时间内输入错误次数超过3次后的锁定状态显示子程序。5.4程序流程图主程序流程图如图5-1所示:图5-1 程序流程图Figure 5-1 Program flow chart5.5源程序代码;R3输入错误次数;R4密码个数;R7输入密码暂存;R2键值暂存;R

59、6延时参数 ORG 00H SJMP START ORG 0BH START: ;设置初始密码 PASSWORD:MOV R4,#08H ;密码个数8个 MOV R0,#40H ;密码暂存区MOV A,#00H ;初始密码0,1,2,3,4,5,6,7 PASSNEXT: MOV R0,A INC R0 INC A DJNZ R4,PASSNEXTMLOOP:CLR P3.0 ;锁合SETB P3.1 ;锁开SETB P3.2 ;键有效SETB P3.3 ;错误SETB P3.4 ;报警MOV R3,#03H ;错误次数3次;输入密码GETPW:MOV R4,#08H ;密码个数MOV R0,

60、#30H ;输入密码暂存区 AGAIN: ACALL KEY ;输入密码CJNZ A,#0AH,CONTIUE ;按确认键无效 SJMP AGAINCONTIUE:MOV R0,AACALL DISPLED ;按键有效显示INC R0DJNZ R4,AGAINAGAIN1:ACALL KEY ;按键确认CJNE A,#0AH,AGAIN1ACALL DIAPLED ;按确认键有效显示ACALL COMP ;比较密码SETB P3.0 ;息锁合CLR P3.1 ;开锁WAIT: MOV C,P3.5 ;是否重新上锁JNC MLOOP ;主循环ACALL TestKey ;是否右键按下,是否修改密

61、码 JZ WAIT ;累加器的内存为0,则转移;否则执行下一条指令ACALL CHPSW ;修改密码子程序SJMP WAITCOMP: MOV R4,#08HMOV R0,#30HAGAI: MOV 50H,R0 ;取输入密码到50HMOV A,R0ADD A,#010H ;40HMOV R0,AMOV A,R0;取密码MOV B,AMOV A,R0SUBB A,#010H ;30HMOV R0,AMOV A,BCJNE A,50H,ONCEMORE ;比较INC R0DJNZ R4,AGAIRET ;正确返回ONCEMORE:CLR P3.3 ;输入错误MOV R6,#0FFHACALL DELAYMOV R6,#0FFHACALL DELAYSETB P3.3

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!