基于单片机的电子密码锁设计设计0000

上传人:枕*** 文档编号:130318220 上传时间:2022-08-04 格式:DOC 页数:64 大小:1.39MB
收藏 版权申诉 举报 下载
基于单片机的电子密码锁设计设计0000_第1页
第1页 / 共64页
基于单片机的电子密码锁设计设计0000_第2页
第2页 / 共64页
基于单片机的电子密码锁设计设计0000_第3页
第3页 / 共64页
资源描述:

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

1、 毕 业 论 文题 目: 基于单片机的电子密码锁设计 系: 电气与信息工程系 专业: 电子科学与技术 班级: 0702 学号: 01180226 学生姓名: 邹 幼 林 导师姓名: 李 世 军 完毕日期: -6-12 毕 业 设 计题 目: 基于单片机的电子密码锁设计 系: 电气与信息工程系 专业: 电子科学与技术 班级: 0702 学号: 01180226 学生姓名: 邹 幼 林 导师姓名: 李 世 军 完毕日期: -6-12 诚 信 声 明本人声明:1、本人所呈交的毕业设计(论文)是在教师指引下进行的研究工作及获得的研究成果;2、据查证,除了文中特别加以标注和道谢的地方外,毕业设计(论文)

2、中不涉及其她人已经公开刊登过的研究成果,也不涉及为获得其她教育机构的学位而使用过的材料;3、我承诺,本人提交的毕业设计(论文)中的所有内容均真实、可信。作者签名: 日期: 年 月 日毕业设计(论文)任务书 题目: 基于单片机的电子密码锁设计 姓名 邹幼林 系别 电气与信息工程系 专业 电子科学与技术 班级 0702 学号 01180226指引教师 李世军 职称 教研室主任 一、 基本任务及规定: 本设计一种单片机控制的密码锁,具有按键有效批示、解码有效批示、控制开锁电平、控制报警、密码修改等功能重要内容。重要规定有:单片机的选择、总体方案的拟定、硬件原理图设计、软件程序设计与调试撰写设计阐明书

3、等。二、进度安排及完毕时间:1、 第一周至第三周:明确课题任务及规定,收集课题所需资料,掌握资料查阅措施,理解本课题研究现状、存在问题及研究的实际意义。2、 第三周:查阅有关资料,自学有关内容,拟定课题总体方案,分派课题任务, 拟定个人研究重点,做好选题报告。 3、 第四周至第五周:根据自己研究的方向,拟定自己的总体设计方案,根据对象特性进行 多种控制措施的研究,并设计硬件总体模块图及软件模块图。4、 第六周至第十二周:完毕系统的控制措施研究,软、硬件设计。5、 第十三周至第十四周:系统仿真及调试。6、 第十五周至第十六周:整顿资料,完毕毕业论文编写,进行毕业答辩。目 录摘 要IABSTRAC

4、TII第1章 绪 论11.1 引言11.2 电子密码锁的特点11.3 电子密码锁的前景展望2第2章 整体设计方案论证32.1 方案论证和比较32.2 整体设计思路32.3 系统框图4第3章 硬件设计63.1 芯片简介63.1.1 AT89C51重要性能参数63.1.2 AT89C51的极限参数73.1.3 单片机选择73.2 时钟振荡器73.3 电源系统设计83.3.1 市电供电电路设计83.3.2 停电检测及电子开关切换电路93.4 键盘电路的设计93.4.1 键盘设计方案论证93.4.2 键盘扫描实现113.4.3 从电路或软件的角度应解决的问题123.5 LED数码管显示设计133.5.

5、1 数码管的构造133.5.2 数码管段选码133.5.3 多位数码管显示原理143.6 报警声及门铃声设计163.7 开锁机构设计173.8 AT24C02掉电存储单元的设计183.8.1 AT24C02芯片阐明183.8.2 AT24C02掉电存储单元183.9 复位电路193.10 总电路图20第4章 软件程序设计214.1 前言214.2 系统软件设计214.2.1主程序模块214.2.2 键盘扫描模块224.2.3 密码修改模块244.2.4 密码比较判断模块254.2.5 自动报瞀模块264.2.6 显示功能模块264.2.7 AT24C02读写操作模块28第5章 设计仿真315.

6、1 Proteus 软件的简介315.2 系统的调试与仿真31结束语33致 谢34参照文献35附 录36基于单片机的电子密码锁的设计摘要:本次设计以单片机AT89C51作为本设计的核心元件,实现基于单片机的电子密码锁的设计,其重要具有如下功能:(1)由顾客设立6位密码,密码通过键盘输入,若密码对的,则将锁打开。错误则锁定或者报警。(2)由顾客自己修改设定密码(只支持6位密码),需要锁打开后才干修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以避免误操作。(3)报警、锁定键盘功能。当顾客键入密码错误时,数码显示屏会浮现错误提示,若密码输入错误次数超过3次,蜂鸣器报警并且锁定

7、键盘。此乃安全可靠性能之一。电子密码锁的设计重要由三部分构成:44矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。此外系统尚有LED显示灯,报警蜂鸣器等。密码锁设计的核心问题是实现密码的输入、清除、更改、开锁等功能:密码输入功能:按下一种数字键,一种“”就显示在最右边的数码管上,同步将先前输入的所有“”向左移动一位。密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。密码更改功能:将输入的值作为新的密码。 重要的设计实行过程:一方面,选用ATMEL公司的单片机AT89S51,以及选购其她电子元器件。第二步,使用Protel DXP 设计硬件电路原理图。第三步,使用Keil

8、 uVision3软件编写单片机的C语言程序、仿真、软件调试。第四部,使用仿真软件进行模拟软、硬件调试。完毕本次毕业设计。核心词:44矩阵键盘;AT89S51;密码锁A design of locks the disign proposal based on monolithic integrated circuits passwordAbstract:Base on the thinking of the cipher lock, this design uses AT89C51 of ATMEL COMPANY to carry out the SCM digital cipher loc

9、k, its main function as follow:1. set password with 6 words, enter the words via keybord, if enter the right number, the lock will unlock.2. password can set and fix by yourself, you can just fix the password when the lock is keeping unlock. It need to enter the new password twice to avoid the wrong

10、 activity.3. alarm function. If enter the wrong password, the mon will show the error message, when enter the wrong password over 3 times, the buzzer will alarm and lock the keybord at the same time.this lock is made by 3 parts: gob circuit of 4x4 matrix keybord , gob circuit of cipher lock, gob cir

11、cuit of 8 way display output. other wise, the system has LED light, and warning buzzer.the main function of this cipher lock is carried out enter, clear, and change the password, and unlock the door.1. enter the password: press one number button, one signal - will show on the digital tube on the rig

12、ht side, pls put the - to left side at the same time.2. clear the password: press the clear button to clear all codes you have enter before.3. change the password: use the new enter number as the new password.4. unlock function: press the unlock button, the system will check up the enter number and

13、password, if yes the lock will open, if not it keep lock.the main process: first, use SCM AT89C51 of ATMEL company. second, design the theory chart with DXP , and design the PCB board. third, compile the C lang. program, resemble, and test with software keil uVision3. fourth, simulate the hardware t

14、est with software PROTEUS. LAST, test the circuit board withe the software and hardware, finish.Key words: Matrix keyboard; AT89C51; Coded locked第1章 绪 论1.1 引言目前,最常用的锁是20 世纪50 年代意大利人设计的机械锁,其机构简朴、使用以便、价格便宜。但在使用中暴露了诸多缺陷:一、是机械锁是靠金属制成的钥匙上的不同齿形与锁芯的配合来工作的。据记录,每4000 把锁中就有两把锁的钥匙齿牙相似或类似,故安全性低。二、是钥匙一旦丢失,无论谁捡到都

15、可以将锁打开。三、是机械锁的材料大多为黄铜,质地较软,容易损坏。四、是机械锁钥匙易于复制,不适于诸如宾馆等公共场合使用。出于安全、以便等方面的需要,门禁系统越来越发达,许多电子密码锁已相继问世。 如:磁卡锁、声控锁、指纹辨认、IC卡辨认等等。但此类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能合用于保密规定高且仅供个人使用的箱、柜、房间等。并且卡片式IC卡尚有易丢失等特点,加上其成本一般较高,一种限度上限制了此类产品的普及和推广。随着人们生活水平的提高,电子密码防盗锁作为防盗卫士的作用日趋重要。电子密码防盗锁用密码替代钥匙,不仅省去了佩戴钥匙的烦恼,也从主线上解决了一般门

16、锁保密性差的缺陷。如果采用4位密码,则密码组合可达到104,每增长1 位密码,密码组合就增长10 倍。以往基于单片机的电子密码锁的设计,都是直接设计硬件电路板与程序实现,并不能懂得占用多少资源也没有对其可行性进行分析,总会遇到硬件资源消耗大,作品调试周期长,无法以便地按自己的设计意图反复修改自己的作品的难题。而运用PROTEUS软件对基于单片机的电子密码锁进行仿真,那么上述难题可迎刃而解,通过简介一种AT89S51单片机电子密码锁的仿真设计过程,证明了在PROTEUS的环境下可以以便完毕单片机和数字电子系统的硬件设计和软件调试,同步也证明可缩短作品的开发周期,提高设计效率。1.2 电子密码锁的

17、特点电子密码锁是一种通过密码输入来控制电路或者芯片工作,从而控制机械开关的开闭,完毕开锁、闭锁任务的电子产品。它的种类诸多,有简易的电路产品,也有基于芯片的性价比较高的产品。目前应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁,重要特点如下:1 保密性好,编码量多,远远不小于弹子锁。随机开锁成功率几乎为零。2 密码可变。 顾客可以常常更改密码,避免密码被盗,同步也可以避免因人员的更替而使锁的密级下降。3 误码输入保护。当输入密码多次错误时,报警系统自动启动,避免试探密码。1.3 电子密码锁的前景展望当今社会光电技术的应用已经非常广泛,特别是在光纤通信技术、

18、远程遥控技术、雷达探 测技术、自动控制技术以及光电检测技术等方面,对于光电技术的依赖越来越大。光电技术 是具有广阔前景的一门新型技术,由于光的传播速度快,同步又不容易受干扰,还具有极大 的信息承载量,如果选择用光作为信息的载体,可以想象得出我们的世界将会变得如何的方 便快捷。电脑密码控制器是以微解决器和数字存储器为代表,采用了当今高新科技、最新优化软件设 计而成,所追求的高保密性、高可靠性和广泛的合用性,特别是在区域管理和集中控制防盗 中显示出诸多优势,是一种目前比较流行的系统智能密码锁的系统由智能监控器和电子锁具构成。两者异地放置,智能监控器供应电子锁具所需的电源并接受其发送的报警信息和状态

19、信息。这里采用了线路复用技术,使电能供应和信息传播共用一根 二芯电缆,提高了系统的可靠性、安全性。浮现了带微解决器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。总之,随着技术的不断发展,密码锁将朝着高保密性、高可靠性和广泛的合用性的方向发展。 第2章 整体设计方案论证2.1 方案论证和比较设计本课题时构思了两种方案:方案一:以74LS112双JK触发器构成的数字逻辑电路控制。采用数字密码锁电路的好处就是设计简朴。用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个顾客输入键,其中

20、只有4个是有效的密码按键,其他的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果顾客输入密码的时间超过40秒(一般状况下,顾客不会超过40秒,若顾客觉得不便,还可以修改)电路将报警80秒,若电路持续报警三次,电路将锁定键盘5分钟,避免她人的非法操作。方案二:以单片机为核心的控制方案。运用单片机灵活的编程设计和丰富的IO端口,及其控制的精确性,不仅能实现基本的密码锁功能,还能添加掉电存储、声光提示甚至添加遥控控制功能。电路由两大部分构成:密码锁电路和备用电源(UPS),其中设立UPS电源是为了避免由于停电导致的密码锁电路失效,使顾客免遭麻烦。密码锁电路涉及

21、:键盘输入、密码修改、密码检测、开锁电路、报警电路、键盘输入次数锁定电路。通过比较以上两种方案,单片机方案有较大的活动空间,不仅能实现所规定的功能并且能在很大的限度上扩展功能,并且还可以以便的对系统进行升级,因此我们采用后一种方案2.2 整体设计思路决定使用单片机控制方案后,出于对成本的考虑本设计没有使用遥控控制,显示也没有采用液晶显示,而是采用了数码管显示。并设计了矩阵键盘,UPS、掉电存储等功能。开始时,数码管应当提示输入密码,当输入对的密码并按确认键后锁应当自动打开。如果密码错误应当有警告。当输入错误3次后应当报警并且锁住键盘3分钟,以达到防探视的功能。当密码输入对的的状况下应当有密码的

22、修改功能。在设计中,开锁声和报警声分别采用不同的声音。其中单片机的P3口作为数码管的段码控制端口,接一种74LS245的总线驱动器。P1口位选通信号,P2口接键盘电路。P0.2接开锁电路,P0.3接报警器电路。2.3 系统框图在主控芯片上,由于有密码要存储,并且尚有LED显示的字符需要存储,因此我们选择AT89C51。由于它具有4K可擦写的Flash闪速存储器。为了避免停电状况的发生,本电路后备了UPS电源,它涉及市电供电电路,停电检测电路,电子开关切换电路。键盘电路由的设计:由于我们需要输入0-9共10个同字符,并且至少应当有4个键用来实现控制。因此采用4*4编码矩阵键盘。将其接在P2口。L

23、ED显示模块:由于要显示6位密码。并且应当有两位用来显示操作类型。为了节省I/0口资源,我们选用8段数码管动态扫描的方式。在仿真是选用7SEG-MPX8-CC-BLUE。本设计采用了掉电存储电路,使用了芯片AT24C02。其系统框图如下图2-1:图2-1 系统设计框图2.4 系统的可行性分析系统工作原理分析:使用AT59C51单片机、44矩阵键盘、LED、蜂鸣器等。矩阵键盘分别为0、1、2、3、4、5、6、7、8、9、CLE、Enter、Change。系统开始显示“INPUT”提示输入密码;输入密码时,LED显示电路显示为“-”,当密码输入完毕按下Enter键时,对输入密码与设定的密码进行比较

24、,若密码对的则LED显示电路显示为“PASS”提示锁打开,系统则发出开锁信号,将门打开;若密码不对的,LED显示电路显示提示“ERROR”,则有相应的批示灯闪动,若持续3次输入不对的,则发出警报声同步锁定键盘;在输入对的密码后,按下修改键时,LED显示电路显示“old”提示“输入旧密码”,此时输入对的的旧密码,则显示电路会有提示输入新密码在输入新密码后,显示电路会再次提示“again” 再次输入新密码。若“again” 再次输入新密码的时候输入新密码与前次不一致,则修改密码失败,则会返回到系统开始。若一致则成功。修改密码完毕后,系统自动清零上锁。要再次开锁则需要输入对的的密码。系统中CLE键用

25、于退格,在输入密码时,若输入错误且未按下Enter键,按下CLE可以删除刚输入的密码,然后再次输入。为了避免歹意尝试,系统才用若持续输入3次错误密码则发出报警声,且锁定键盘,可以提高系统的安全系数,同步也可以保护合法顾客的正常使用。第3章 硬件设计3.1 芯片简介AT89C51是由美国ATMEL公司生产的低电压、高性能CMOS8位单片机,片内含4kb的可反复擦写的程序存储器和12B的随机存储器(RAM),器件采用ATMEL公司的 高密度、非易失性存储技术生产,兼容原则MCS-51指令系统,片内配备通用8位中央解决器(CPU)和 Flash存储单元,功能强大的AT89S51单片机可灵活的应用与多

26、种控制领域。图3-1 AT89C51管脚图3.1.1 AT89C51重要性能参数 8031 CPU与MCS-51 兼容 4K字节可编程FLASH存储器 全静态工作:0Hz-24KHz 三级程序存储器保密锁定 128*8位内部RAM 32条可编程I/O线 两个16位定期器/计数器 6个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路3.1.2 AT89C51的极限参数l 工作温度:55C+125C l 储藏温度:65C+15C l 任一引脚对地电压:1.0V+7.0Vl 最高工作电压:6.6Vl 直流输出电流:15.0Ma3.1.3 单片机选择 89S51相对于89C51增长

27、的新功能涉及:u 新增长诸多功能,性能有了较大提高,价格却基本不变,甚至比89C51更低!u ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一种强大易用的功能。u 工作频率为33MHz,人们都懂得89C51的极限工作频率只有24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。u 具有双工UART串行通道。u 内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。u 双数据批示器。u 电源关闭标记。u 全新的加密算法,这使得对于89S51的解密变为不也许,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。u

28、兼容性方面:向下完全兼容51所有字系列产品。例如8051、89C51等等初期MCS-51兼容产品。也就是说所有教科书、网络教程上的程序(不管教科书上采用的单片机是8051还是89C51还是MCS-51等等),在89S51上同样可以照常运营,这就是所谓的向下兼容。因此我选择了AT89S51作为本次设计的核心部件!3.2 时钟振荡器 AT89S51中有一种用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路由3-2所示。外接石英晶体或陶瓷谐振器及电容C1、C2接在放大器的反馈回

29、路中构成并联谐振电路。对外接电容C1、C2虽然没有十分严格的规定,但电容容量的大小会轻微影响震荡频率的高下、震荡器工作的稳定性、起震的难易限度及温度的稳定性,如果使用石英晶体,推荐使用30PF10PF,而如果使用陶瓷振荡器推荐使用40PF10PF。由于外部时钟信号时通过2分频触发器后作为内部时钟信号的,因此对外部时钟信号的占空比没有特殊规定,但最小高电平持续时间和 最大低电平持续时间应符合产品技术条件的规定。图3-2 外部时钟电路3.3电源系统设计为了避免停电状况的发生,本电路后备了UPS电源,它涉及市电供电电路,停电检测电路,电子开关切换电路。3.3.1 市电供电电路设计220V市电通过变压

30、器降压成12V的交流电,再通过整流桥整流,7805稳压到5V送往电子切换电路,由于本电路功耗较少,因此选用10W的小型变压器。其中用D1显示其工作状态。7805是我们最常用到的稳压芯片了,她的使用以便,用很简朴的电路即可以输入一种直流稳压电源,她的输出电压正好为5v,刚好是51系列单片机运营所需的电压,她有诸多的系列如ka7805,ads7805,cw7805等,性能有微小的差别,用的最多的还是lm7805。其电路设计图3-3。220V的市电通过变压器压成12V的交流电后,通过D5、D2、D3、D4构成的整流桥电路整流后,送7805稳压后通过送往电子切换电路。图3-3 市电供电电路3.3.2

31、停电检测及电子开关切换电路 由R1,R2,R3,R4及运放构成电压比较器,正常状况下,V+V- 运放输出高电平,由Q1,Q2构成的达林顿管使继电器启动,将其常开触电将蓄电池和电路相连,实现市电和蓄电池供电的切换,保证电子密码锁的正常工作(视电池容量而定持续时间)。其电路图如下图3-4所示。图3-4停电检测及电子开关切换电路3.4 键盘电路的设计3.4.1 键盘设计方案论证键盘在单片机应用系统中,实现输入数据、传送命令的功能,是人工干预的重要手段。键盘分两大类:编码键盘和非编码键盘。键盘按电路构造可以分为独立式按键接口和矩阵式键盘两大类。独立式按键就是各按键互相独立,每个按键单独占用一根I/O口

32、线,每根I/O口线的按键工作状态不会影响其她I/O口线上的工作状态。因此,通过检测输入线的电平状态可以很容易判断哪个按键被按下了。长处:电路配备灵活,软件构造简朴。缺陷:每个按键需占用一根I/O口线,在按键数量较多时,I/O口挥霍大,电路构造显得复杂。因此,此键盘是用于按键较少或操作速度较高的场合。矩阵式键盘合用于按键数量较多的场合,由行线和列线构成,按键位于行列的交叉点上。节省I/O口。矩阵键盘工作原理:行线通过上拉电阻接到+5V上。无按键,行线处在高电平状态,有键按下,行线电平状态将由与此行线相连的列线电平决定。列线电平为低,则行线电平为低;列线电平为高,则行线电平为高。行线的电平高下是辨

33、认按键与否按下 的根据。然而在矩阵式键盘中的行、列线和多种键相连,各按键按下与否均影响该键所在行线和列线的电平,各键间互相影响。应此,必须将行线、列线信号配合起来做合适的解决,才干拟定闭合键所在的位置。辨认按键的措施诸多,其中最常用的式扫描法和反转法。通过以上分析,为了节省I/O口资源,我们选择矩阵式编码键盘的方式,如下图所示,本系统采用44矩阵键盘,16个按键分为输入数字键:0、1、2、3、4、5、6、7、8、9;功能键lock、change、cle、Enter。图3-5 44矩阵键盘合计数字键10个,功能键4个。按键的操作面板如图图3-6所示:图36 按键操作面板示意图10个数字键用来输入

34、密码,此外4个功能键分别是:enter、Change、Cle、lock。其中Cle键的功能是当输入密码错误的时候,清除前面已经输入的数据,重新输入。Enter键的功能是确认输入的密码。Change是用来进入修改密码的状态。lock用来锁定键盘,此外也可以避免不法分子偷窥密码。数码管重要显示几种字符,给顾客提供批示见图37所示。TINPU 图37a输入密码提示状态-图37b 密码输入及修改状态SRERRO图37c密码输入错误后的提示-K-LOC图37d密码在规定的时间内输入错误次数超过3次后的锁定状态-SSAP-图37e 密码输入对的状态3.4.2 键盘扫描实现如何实现键盘扫描呢?重要有程序扫描

35、方式、定期扫描方式和中断扫描方式三种。(1) 程序扫描方式。程序扫描方式是在CPU不执行别的程序时,对键盘进行扫描,占用CPU的时间比较多,当CPU执行其她功能程序时,就不再响应键盘的规定。 鉴别有无键按下。将P2口低4位输出为0,把P2口高4位读人单片机,若P24P27的状态全为1,表白无键按下,否则,表白至少有一种键按下。 消除按键抖动的影响。在判断有键按下后,调用延时子程序,延时时间约为l0ms,再判断P24一P27的状态,如果仍然是有键按下的状态,则确认键被真正按下,否则当做按键抖动解决。 求按键的位置。一方面使P20为低电平,读人P24P27的状态,若P24=0,表达第4行第4列的键

36、(lock)按下,P25:0,表达第3行第4列的键 (cle)按下,依次类推,P26和P27为0表达enter、change闭合。然后再使P21为低电平,扫描第2列,这样可以拟定第1、2、3、4行第2列的按键状况。由此可见,列扫描号和行读入状态就可以拟定按键的位置。 键闭合一次只进行一次解决,因此在键被释放之后才进行键的解决。(2) 定期扫描方式。定期扫描方式是运用定期器产生定期中断,在中断服务时扫描键盘。这种方式能及时响应键输入,还能去掉软件去抖动时间。(3) 中断扫描方式。中断扫描方式只有在键被按下时,才进行键盘扫描,能在最快时间内对按键进行响应,占用CPU的时间至少,运营效率高。无论是独

37、立键盘,还是矩阵键盘都可以采用中断扫描方式。3.4.3从电路或软件的角度应解决的问题1.消除抖动影响。键盘按键所用开关为机械弹性开关,运用了机械触点的合、断作用。由于机械触点的的弹性作用,一种按键开关在闭合和断开的瞬间均有一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为510ms,这是一种很重要的参数。抖动过程引起电平信号的波动,有也许令CPU误解为多次按键操作,从而引起误解决。为了保证CPU对一次按键动作只确认一次按键,必须消除抖动的影响。按键的消抖,一般有软件,硬件两种消除措施。硬件消除只合用于键的数目较少的状况。软件消抖:如果按键较多,硬件消抖将无法胜任,常采用软件消抖。一般采用

38、软件延时的措施:在第一次检测到有键按下时,执行一段延时10ms的子程序后,再确认电平与否仍保持闭合状态电平,如果保持闭合状态电平,则确认真正有键按下,进行相应解决工作,消除了抖动的影响。(这种消除抖动影响的软件措施是切实可行的。)2.采用串键保护措施。串键:是指同步有一种以上的键按下,串键会引起CPU错误响应。一般采用的方略:单键按下有效,多键同步按下无效。本次设计的时候,当同步按下两个键时会警告操作失误。3.解决连击。连击:是一次按键产生多次击键的效果。要有对按键释放的解决,为了消除连击,使得一次按键只产生一次键功能的执行(不管一次按键持续的时间多长,仅采样一种数据)。否则的话,键功能程序的

39、执行次数将是不可预知,由按键时间决定。连击是可以运用的。连击对于用计数法设计的多功能键特别有效。3.5 LED数码管显示设计同键盘同样,显示屏也是人机交流的重要构成部分。计算机的运营成果和运营状态可以通过显示屏显示出来。单片机应用系统中常用的显示屏有LED和LCD两种方式,LED数码显示最为普遍,但由于低功耗的规定,LCD显示屏越来越被广泛地使用。在本节讨论LED数码显示技术。3.5.1数码管的构造LED数码显示屏是由若干个发光二极管构成的,当发光二极管导通时,相应的点或线段发光,将这些二极管排成一定图形,控制不同组合的二极管导通,就可以显示出不同韵字形。单片机应用系统中常用的LED显示屏为七

40、段显示屏,再加上有一种小数点,因此也可把它称为八段显示屏。其构造形式有共阴极和共阳极两种,它的构造图如图3-8和3-9所示。发光二极管的阴极连起来,一般接地,通过控制每一只发光二极管的阳极电平来使其发光或熄灭,阳极为高电平发光,为低电平熄灭;共阳极是把所有发光二极管的阳极连起来,一般为高电平(如+5V),通过控制每一只发光二极管的阴极电平来使其发光或熄灭,阴极为低电平发光,为高电平熄灭。必须注意的是,在图中的电阻并非是数码管内部就有的电阻,它们是需外接的限流电阻,如果不限流将导致发光二极管的烧毁。限流电阻的取值一般使流经发光二极管的电流在1020mA,由于高亮度数码管的使用,电流还可以获得小某

41、些。图3-8 共阴构造图 图3-9 共阳构造图3.5.2 数码管段选码为了在LED显示屏上显示某个字符,必须在它的8位段选线上加上相应的电平组合,即一种8位数据,这个数据就叫该字符的段选码。下表是本次设计中用到的段码表。显示字符共阴极段选码共阳极段选码显示字符共阴极段选码共阳极段选码O3FHCOHb7CH83H106HF9HC39HC6H25BHA4Hd5EHA1H34FHBOHE9H86H466H99HF71H8EH56DH92HP73H8CH67DH82HU3EHC1H707HF8Hy6EH91H87FH80Hr31 HCEH96FH90H8FFH00HA77H88H灭00HFFH表3-1

42、 段码表3.5.3 多位数码管显示原理当多位数码管要一起显示的时候有两种显示方式:静态显示和动态显示。3.5.3.1 静态显示静态显示就是当数码管显示某一字符时,相应的发光二极管持续恒定地处在点亮或熄灭状态,直到更换显示内容为止。采用这种显示方式占用的硬件资源多,以七段LED显示屏为例,如果用软件进行字段译码,每显示一种字符就需要一种锁存器,如果用硬件进行字段译码,每显示一种字符就需要一种锁存译码器。静态显示的数码管由于持续地工作,因此功耗大,但程序简朴,亮度高。随着高亮度数码管的浮现,动态显示同样可以达到较好的显示效果,因此在多数应用状况下,特别是显示位数比较多的状况下,不会采用静态显示方式

43、,而采用动态显示方式。 这里用的共阳极的LED数码管,共阳就是7段的显示字码共用一种电源的正。3.5.3.2 动态显示在多位LED显示时,为了减少成本和功耗,将所有位的段选线并联起来,由一种8位口控制,由另一种端口进行显示位的控制。但是,由于段选线是公用的,要让各位数码管显示不同的字符,就必须采用扫描方式,即动态扫描显示方式。本设计使用用了8位数码管动态扫描显示(见图)。它将所有数码管的8个段线相应地并接在一起,并接到 AT89S51的P3口,由P3口外接三极管控制字段输出。而各位数码管的共阳极由AT89S51的P1口控制8位数码管的位输出控制。 这样,对于一组数码管动态扫描显示需要由两组信号

44、来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。 由于各位数码管的段线并联,段码的输出对各位数码管来说都是相似的。因此,在同一时刻如果各位数码管的位选线都处在选通状态的话,8位数码管将显示相似的字符。若要各位数码管可以显示出与本位相应的字符,就必须采用扫描显示方式。即在某一时刻,只让某一位的位选线处在导通状态,而其他各位的位选线处在关闭状态。同步,段线上输出相应位要显示字符的字型码。这样在同一时刻,只有选通的那一位显示出字符,而其他各位则是熄灭的,如此循环下去,就可以使各位数码管显示出将要显示的字符。虽然

45、这些字符是在不同步刻浮现的,并且同一时刻,只有一位显示,其他各位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象,只要每位数码管显示间隔足够短,给人眼的视觉印象就会是持续稳定地显示 .数码管不同位显示的时间间隔可以通过调节延时程序的延时长短来完毕。若显示的时间间隔过长的话,数码管显示时将产生闪烁现象。因此,在调节显示的时间间隔时,即要考虑到显示时数码管的亮度,又要数码管显示时不产生闪烁现象。当C51单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入总线驱动器。74LS245是我们常用的芯片,用来驱动led或者其她的设备,用法很简朴如上图,这里简朴的给出某些资料,她是8路同相三态双向

46、总线收发器,可双向传播数据。图3-10为74LS245的引脚图。图3-10 74LS245引脚图74LS245还具有双向三态功能,既可以输出,也可以输入数据。当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传播;(接受)DIR=“1”,信号由 A 向 B 传播;(发送)当/CE为高电平时,A、B均为高阻态。本次设计电路图如3-11。图3-11 动态显示电路3.6 报警声及门铃声设计系统设计时考虑到防盗而设计了报警电路,由蜂呜器发声进行报警,蜂鸣器接在MCU的P03引脚上,通过PNP

47、型3极管做电流放大作用,因此可以通过单片机控制蜂鸣器的频率及蜂鸣时间。当持续3次浮现密码错误时,则系统会长时间发出双频报警音,此举是为了避免别人非法试探开锁。具体就是在浮现误操作或密码输入错误的时候发出“滴滴”的报警声,当密码输入对的开锁后发出“叮咚”门铃声。其电路图如3-12所示。3-12 报警门铃电路图AT89S51单片机的P0.3口控制一种三极管,三极管控制电磁蜂鸣器的源通断。我们懂得,声音的频谱范畴约在几十到几千赫兹,若能运用程序来控制单片机某个口线的高电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再运用延时程序控制“高”“低”电平的持续时间,就

48、能变化输出频率,从而变化音调。例如,要产生200HZ的音频信号,200HZ音频的变化周期为1/200秒,即5ms。这样,当P0.3的高电平或低电平的持续时间为2.5ms时就能发出200HZ的音调。乐曲中,每一音符相应着拟定的频率,我们将每一音符的时间常数和其相应的节拍常数作为一组,按顺序将乐曲中的所有常数排列成一种表,然后由查表程序依次取出,产生音符并控制节奏,就可以实现演奏效果。要使单片机产生“滴滴”的报警声,只要让声音信号的频率为500HZ,并规定扬声器响0.25S,停0.25S,反复循环可以了。和滴滴报警声设计原理同样,也可以设计叮咚门铃声。它的硬件电路和报警声同样。只是软件设计不同。只

49、要用单片机的定期/计数器产生700HZ和500HZ的频率,其中700HZ的声音响0.35S,500HZ的声音响0.5S。3.7开锁机构设计当顾客输入对的的密码后,通过单片机发送信号给开锁执行机构,电路驱动电磁锁吸和,从而达到开锁的目的。由图4可知,R7,RL2,Q10,Q11构成驱动电路。发光二极管D2,作为开锁的批示灯,D3和C4是为了消除电磁锁也许产生的反向高电压以及也许产生的电磁干扰。Q11可选用中功率的三极管如8050,电磁锁的选用要视状况而定,但是吸合力要足够且有一定的余量。通过单片机送给开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。当顾客输入的密码对的并且是在规定的时间(顾

50、客规定在3分钟内输入对的的密码)输入的话,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。其实际电路如图313所示。3-13 开锁驱动电路图3.8 AT24C02掉电存储单元的设计3.8.1 AT24C02芯片阐明AT24C02属于CMOS EEPROM压系列,具有2Kb的存储空间。它是串行接口器件,其地址数据信息都在同一条线路上传送。当串行总线上挂有多种芯片时,每个芯片必须具有唯一的器件地址。24C系列芯片的器件地址由7位数据位和一位读写位构成,其中高4位为24系列的合同格式,由厂家拟定,AT24C02的型号地址为1010;之后的3位A0、A1、A2为可编程地址位,最

51、后一位是读写控制位RW,当该位为高电平“1”时,表达目前的操作是读操作,该位为低电平“0”时,表达目前的操作是写操作。因此AT24C02的器件寻址为1010A2A1AORW。AT24C02严格遵守12C总线的时序和数据格式。它通过两根线(SDA,串行数据线;SCL串行时钟线)在连到总线上的器件之间传送信息,根据地址辨认每个器件,根据器件的功能可以工作于发送或接受方式。SDA和SCL都是双向IO线,通过上拉电阻接正电源。当总线空闲时,2根线都是高电平。当总线传播数据时,一方面由主器件(在本例中是89C51)发起始信号,数据传播结束时由主器件发停止信号表达数据传播的结束。其时序图如下所示。图3-1

52、4 开始、停止时序图3.8.2 AT24C02掉电存储单元掉电存储单元的作用是在电源断开的时候,存储目前设定的密码信息。AT24C02是ATMEL公司的2KB字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的状况下保存40年以上,并且采用8脚的DIP封装,使用以便。其电路如图3-15所示。图315掉电存储电路原理图由于AT24C02的数据线和地址线是复用的,采用串口的方式传送数据,因此只用两根线SCL(移位脉冲)接P0.4和SDA(数据/地址)接P0.5与单片机传送数据。每当修改一次密码,系统

53、就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的等密码信息,读到缓存单元中,供主程序使用。3.9 复位电路时钟电路工作后,在RST管脚上加两个机器周期的高电平,芯片内部开始进行初始复位。当单片机运营出错或进入死循环时,可按复位键重新启动(如图3-16)。图3-16 复位电路3.10 总电路图图317 密码锁电路图 第4章 软件程序设计4.1 前言C语言是一种计算机程序设计语言。它既有高档语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范畴

54、广泛。C语言在诸多方面都可以用,不仅仅是在软件开发上,各类科研都是需要用到C语言的。单片机以及嵌入式系统都可以用C来开发。本系统程序大部分使用C语言编写,C语言是一种高档程序设计语言,它的长处是C语法限制不太严格,程序设计自由度大,C语言合用范畴大,可移植性好。本次设计重要完毕,开始时数码管显示提示“INPUT”输入密码。输入密码后按下确认键,系统会将所输入与系统密码进行比对。若输入密码对的则显示“PASS”开锁。开锁后,按下上锁“LOCK”键,系统上锁并返回;选择修改密码则可以对系统进行修改密码操作。在修改密码前要输入对的旧的密码。对的输入旧密码之后,会有提示输入两次新密码,若两次密码一致,

55、则修改成功。期间操作浮现失误,系统会返回初始状态,操作错误超过3次,系统会锁定键盘,并报警用以避免歹意试探密码。4.2 系统软件设计本系统软件涉及主程序模块、键盘扫描模块、密码比较判断模块、修改密码模块、智能报警模块、延时程序等模块及AT24C02读写操作模块。4.2.1主程序模块该模块的功能涉及定期器及数据缓冲区初始化、本机初始密码设立及键盘扫描模块调用等功能。图4-1 系统流程图4.2.2 键盘扫描模块该模块具有判断键盘上有无键按下、去抖动影响、逐列扫描键盘以拟定被按键的位置号即行列号、形成键值并将键值存人指定的数据缓冲区中、判断闭合的键与否释放等功能。如图3-5,本系统使用44矩阵键盘当

56、没有键按下时,行线和列线之间是不相连的,若第N行与第M列的键被按下,那么第N行与第M列的线就被接通。根据上述原理,本系统的键盘扫描措施是运用P2口的低四位作为列扫描线,P2口的高四位作为行回扫线。具体实行措施为:先使P2.0口输出低电平,P2口其她口输出高电平,然后对P2.4、P2.5、P2.6、P2.7四个口分别作判断。若此四口都为高电平,则没有键按下;若有键按下,P2.4、P2.5、P2.6、P2.7四个口必然有一种口输入为低电平,再判断P2.4、P2.5、P2.6、P2.7哪个口为低电平则可判断按键在哪行上。如P2.4、P2.5、P2.6、P2.7没有低电平,再使P2.1为低电平,其她口

57、为高电平,依次扫描下去,找到按键所在的行,再判断P2口的高四位哪一位为低,便可懂得键在哪一列上。图4-2 键盘扫描程序流程图例如先置第一行为低电平的状况,程序如下:P2=0xff; P2_7=0; temp=P2; temp=temp & 0x0f; if (temp!=0x0f) for(i=10;i0;i-) for(j=248;j0;j-); temp=P2; temp=temp & 0x0f; if (temp!=0x0f) temp=P2; temp=temp & 0x0f; switch(temp) case 0x07: key=7; break; case 0x0b: key=8

58、; break; case 0x0d: key=9; break; case 0x0e: key=10; /enter键 break; 4.2.3 密码修改模块该模块的功能是修改没置密码。密码修改程序规定密码要输入两次,程序将两次输人的密码比较一致时,即用此密码替代原先的密码,如果两次输入的密码不一致,则 “error”提示,并且返回,这样就避免了修改密码的随机性。本系统设定的修改密码过程为,在输入对的的密码后,按change,此时提示输入旧密码“old”,输入对的的旧密码后,可以输入新密码。此时键入的六位新密码将保存到数组check6中。然后显示屏提示再次输入,输入完毕后,第二次输入的密码将保存在check26中,然后将check6中六位分别与check26中的六位比对,若两次密码输入始终,即将新的密码,也就是check26的六位赋值到PA

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