收藏 分享(赏)

基于STC89C52单片机的电子密码锁(完整版) 附 仿真图 原理图.doc

上传人:HR专家 文档编号:6999563 上传时间:2019-04-30 格式:DOC 页数:43 大小:1.97MB
下载 相关 举报
基于STC89C52单片机的电子密码锁(完整版) 附 仿真图 原理图.doc_第1页
第1页 / 共43页
基于STC89C52单片机的电子密码锁(完整版) 附 仿真图 原理图.doc_第2页
第2页 / 共43页
基于STC89C52单片机的电子密码锁(完整版) 附 仿真图 原理图.doc_第3页
第3页 / 共43页
基于STC89C52单片机的电子密码锁(完整版) 附 仿真图 原理图.doc_第4页
第4页 / 共43页
基于STC89C52单片机的电子密码锁(完整版) 附 仿真图 原理图.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、I目录1 绪论 .11.1 本设计的研究背景与研究目的 11.2 国内外研究现状 22 电子密码锁的总体设计方案 .32.1 方案论证 32.1.1 方案一采用单片机控制方案 .32.1.2 方案二采用数字电路控制方案 .42.1.3 方案三采用 EDA 控制方案 .52.2 方案比较以及可行性 53 电子密码锁硬件电路的设计 .63.1 中央控制模块的设计 63.1.1 主控芯片 STC89C52 单片机的简介 .63.1.2 时钟电路的设计 .73.1.3 复位电路的设计 .83.2 键盘输入模块的设计 93.2.1 矩阵键盘工作原理 .93.2.2 单片机键盘扫描法 .103.3LCD

2、显示密码模块的设计 103.3.1LCD1602 简介 .113.3.2LCD1602 液晶显示模块与单片机连接电路 .123.4 开锁模块的设计 133.5 报警模块的设计 133.6 硬件电路总体设计 144 电子密码锁的软件设计 .154.1 主程序流程介绍 154.2 键盘模块流程图 164.3 显示模块流程图 184.4 修改密码流程图 194.5 开锁和报警模块流程图 205 电子密码锁的系统调试及分析 .22II5.1 硬件电路调试及结果分析 225.2 软件调试及功能分析 225.2.1 调试过程 .225.2.2 仿真结果分析 .245.3 系统调试 266 结论及展望 .2

3、86.1 结论 286.2 展望 28谢辞 29参考文献 30附录 32附 1 部分代码 .32附 2 总电路图 .40电子密码锁的设计与制作11 绪论1.1 本设计的研究背景与研究目的随着人们生活水平的提高和社会科技的进步,锁已发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。 (如指纹、眼底视网膜等)来控制锁的开启。从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。因此电子密码防盗锁作为防盗卫士的作用日趋重要,而如何实现家庭防盗这一问题也变的尤其的突出,传统的

4、机械锁由于其构造的简单,被撬的事件屡见不鲜,而电子密码防盗锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁保密性差的缺点。当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了 I/O 设备。概括的讲,一块芯片就成了一台计算机。随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性价比显著提高,技术日趋完善。由于单片机具有体

5、积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。它主要是作为控制部分的核心部件。它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。单片机由运算器、控制器、存储器、输入输出设备构成。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。本设计利用单片机及附加器件实现数据传送和控制算法,来完成某一实际功能,检验并提高同学对整体电路设计和把握能力,了解单片机系统设计流程,以

6、及电路板的实际制作和调试能力。同时也加强对数字电路、单片机和微机原理等课程知识的实际应用能力,也为同类产品的进一步发展奠定理论和实践基础。西南石油大学本科毕业设计(论文)21.2 国内外研究现状随着人们对安全的重视和科技的发展,许多电子智能锁已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识别器,若在公共场所使用存在容易机械损坏,IC 卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。电子锁,由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的欢迎。鉴于目前的技术水平与市场的接收程度,电子密码锁是

7、这类电子防盗产品的主流。目前,在西方发达国家,电子密码锁的技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国电子锁整体水平尚处于国际上 70 年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。电子密码锁的设计与制作32 电子密码锁的总体设计方案2.1 方案论证2.1.1 方案一采用单片机控制方案选用单片机 STC89C52 作为

8、本设计的核心元件,利用单片机灵活的编程设计和丰富的 IO 端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接 LCD 显示器用于显示作用。框图如下图 2.1 所示。复位电路振荡电路键盘电路开锁电路AT9C 51单片机报警电路显示电路图 2.1 系统框图1)中央控制部分采用 STCT89C52 单片机,该型单片机有 8KB 的 ROM, 512B 的 RAM,5 个中断源, 3 个 16 位定时器/计数器。 2)显示部分采用 1602LCD 显示屏组成显示电路来提示信息。当输入密码时,只显示*,当密码位数输入完毕按下确认键之后,对输入

9、的密码进行比较,正确就发出叮当声,同时门打开;若密码输入不正确时显示错误,并计次录数,当次数超过三次就触动蜂鸣器发出报警声。3)键盘输入部分本设计所采用键盘为 44 行列式。每一条水平线(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要 4 条行西南石油大学本科毕业设计(论文)4线和 4 条列线,即可组成 44 个按键的键盘。在行线所接的单片机 4 个 I/O 口作为输出端,而列线所接的 I/O 口则作为输入端。当按键没有被按下时所有的输出端都是高电平,代表无键按下。一旦有键按下,则输入线就会被拉低,这样通过读入输入线的状态就可知是否有键按下。按键功能

10、分配分为数字键和功能键,数字键主要是用于密码输入,功能键主要是用于修改密码、确认密码、删除密码等。4) 报警电路部分当输入密码错误超过 3 次,就会触动报警电路中蜂鸣器。5)开锁电路部分用发光二极管代替开锁的电路,发光表示开锁。2.1.2 方案二采用数字电路控制方案用以 74LS112 双 JK 触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9 个用户输入键,其中只有 4 个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过 10 秒(一般情况下,用户不会超过 10 秒,若用户觉得不便,还可以修改)电路将

11、报警 20 秒,若电路连续报警三次,电路将锁定键盘 2 分钟,防止他人的非法操作。电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置 UPS 电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。电路框图如图 2.2 所示。密码修改电路键盘输入电路报警电路开锁电路执行电路密码校验电路图 2.2 密码锁电路电子密码锁的设计与制作52.1.3 方案三采用 EDA 控制方案1)整体结构设计电子密码锁包括键盘控制、 密码设置和报警提示三大功能模块。2)硬件描述语言 VHDL 描述电路首先在

12、合适的路径下建立本设计的文件夹。 然后用 VHDL 语言编辑。最后仿真测试及编程下载配置。2.2 方案比较以及可行性方案一采用基于单片机实现的电子密码锁,其中硬件电路设计具有按键有效提示、输入错误提示、控制开锁电平、控制报警电路、修改密码电路等多种功能。密码锁内部的单片机是核心处理设备,单片机有体积小、质量轻、价格便宜诸多优点。单片机软件部分软件的设计主要是 51 单片机的程序编写且单片机是靠程序运行的,如果需要修改只需要修改程序,不需要将整个硬件电路做整修,这不仅以节约资源而且可以节约时间,提高工作效率。因为通过不同的程序可以实现不同的功能,尤其是特殊的独特的一些功能。这是别的器件需要费很大

13、力气才能做到的,有些则是花大力气也很难做到的,但是单片机却可以轻松解决。通过编写的程序可以实现高智能,高效率,以及高可靠性,比起数电中逻辑器件这个优点显而易见,因此方案一比方案二合适。对比方案三,虽然都可通过编程来实现各种功能,但是单片机是软件编程,而EDA 技术是在软件平台下,用硬件描述语言 VHDL 来实现的。设计者在 EDA 软件平台上,用硬件描述语言 VHDL 完成设计文件。对于我个人来说,EDA 方面的知识有限,不太会运用,因此我个人不选择这个方案。综上,本次设计最优选择为方案一即采用 AT89C51 为核心的单片机控制,其方案的可行性如下: 单片机价格实惠,因而毕业设计成本不高。

14、单片机型号、种类多,在市场上容易购买。 电路的安装和调试都比较容易方便,比较易于实现。 西南石油大学本科毕业设计(论文)63 电子密码锁硬件电路的设计本设计主要由中央控制模块、键盘输入模块、LCD 显示密码模块、开锁电路模块、蜂鸣器报警电路模块五大模块组成。3.1 中央控制模块的设计中央控制主要由 STC89C52 单片机构成,辅以复位电路和时钟电路。3.1.1 主控芯片 STC89C52 单片机的简介1)STC89C52 单片机的主要特性如下: 1) 增强型 8051 单片机,6 时钟/机器周期和 12 时钟/机器周期可以任意选择,指令代码完全兼容传统 8051。 2) 用户应用程序空间为

15、8K 字节,片上集成 512 字节 RAM 。3) 通用 I/O 口(32 个) ,P1/P2/P3/P4 是准双向口/电阻上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。2)STC89C52RC 引脚功能说明:1) VCC(40 引脚):电源电压 2) VSS(20 引脚):接地 3) P0 端口(P0.0P0.7,3932 引脚) :P0 口是一个漏极开路的 8 位双向 I/O 口。作为输出端口,每个引脚能驱动 8 个 TTL 负载,对端口 P0 写入每个引脚能驱动 写入“1”时,可 以作为高阻抗输入。4) P1 端口(P1.0P1.7

16、,18 引脚) :P1 口是一个内部带上拉电阻的 8 位双向 I/O 口。P1 口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。 5) P2 端口(P2.0P2.7,2128 引脚) :P2 口是一个内部带上拉电阻的 8 位双向 I/O 端口。P2 作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会 输出一个电流(I) 。6) P3 端口(P3.0P3.7,1017 引脚) :P3 口是一个带内部上拉电阻的 8 位双向 I/O 端口。电子密码锁的设计与制作77) RST(9 引脚) :复位输入,当输入连续两个机器周期以上高电平时为有效, 用来完成单片机

17、的复位初始化操作。8) ALE/ ROG (30 引脚) 地址锁存控制信号 :(ALE) 是访问外部程序存储器时, 锁存低 8 位地址的输出脉冲。 图 3.1 STC 单片机管脚图3.1.2 时钟电路的设计时钟信号用来提供单片机片内的各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。MCS-51 单片机内部有一个用于构成振荡器的高增益反向放大器,引脚 XTAL1 和 XTAL2 分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式,如图 2-2 所示在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了内部振荡方式

18、,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。图 3.1.2 中外接晶体以及电容 C2 和C3 构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值为 30pF 左右,晶振频率选 11.0592MHz ,其连接电路如图 3.2 所示。西南石油大学本科毕业设计(论文)8图 3.2 晶振电路3.1.3 复位电路的设计单片机在启动时都需要复位,以使 CPU 及系统各部件处于确定的初始状态,并从初态开始工作。89 系列单片机的复位信号是从 RST 引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果 RST

19、 引脚上有一个高电平并维持 2 个机器周期(24 个振荡周期)以上,则 CPU 就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位,其连接电路如图 3.3 所示。 1)手动按钮复位 手动按钮复位需要人为在复位输入端 RST 上加入高电平(图 1) 。一般采用的办法是在 RST 端和正电源 VCC 之间接一个按钮。当人为按下按钮时,则 VCC 的+5V 电平就会直接加到 RST 端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。 2)上电复位 上电复位电路只要在 RST 复位输入引脚上接电容至 VCC 端,下接一个电

20、阻到地即可。对于 CMOS 型单片机,由于在 RST 内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至 1?F。上电复位的工作过程是在加电时,复位电路通过电 容加给RST 端一个短暂的高电平信号,此高电平信号随着 VCC 对电容的充电过程而逐渐回落,即 RST 端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST 端的高电平信号必须维持足够长的时间。上电时,VCC 的上升时间约为10ms,而起振荡器的起时间取决于振荡频率,如晶振频率为 10MHz,起振时间为1ms;晶振频率为 1MHz,起振时间则为 10ms。在图 2 的复位电路中,当 VCC 掉电时,电子密码锁

21、的设计与制作9必然会使 RST 端电压迅速下降到 0V 以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC 将得不到一个合适的初值,因此,CPU 可能会从一个未被定义的位置开始执行程序。 图 3.3 手动按钮复位电路3.2 键盘输入模块的设计3.2.1 矩阵键盘工作原理矩阵键盘又称为行列式键盘,它是用 4 条 I/O 线作为行线,4 条 I/O 线作为列线,组成键盘的。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是 44 个。这种行列

22、式键盘结构能够有效地提高单片机系统中 I/O 口的利用率。行列式键盘的工作方式是先利用列线发送扫描字,然后读取行线的状态,查看是否有按键按下。键盘部分提供一种扫描的工作方式能对键盘不断扫描、自动消抖、自动识别按下的键,并给出编码。在显示部分,它可以为发光二极管、荧光管及其他显示器提供按扫描方式工作的显示接口,而且为显示器提供多路复用信号,可以显示多达 16 位的字符或数字。键盘中有无按键按下是由列线送入全扫描字、行线读入行线状态来判断的,其方法是由列线逐列置低电平后,检查行输入状态来判断,其方法是依次给列线送低电平,然后检查所有行线状态,如果全为 1,则所按下的键不在此列,如果不全为西南石油大

23、学本科毕业设计(论文)101,则所按下的键必在此列,而且是在与 0 电平线相交的交点上的那个键。3.2.2 单片机键盘扫描法扫描法是在判定有键按下后逐列果行(或列)的状态出现非全 1 状态,如果(或列)的状态出现非全 1 状态,这时 0 状态的行、列交点的键就是所按下的键。扫描法的特点是逐行(或逐列)扫描查询,这时相应行(或列)应有上拉电阻接高电平。行列式键盘扫描程序就是采用扫描法来确定哪个键按下的。 确定矩阵式键盘上哪个键被按下时运用扫描法,又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,过程如下:1)判断键盘中有无键按下,将全部行线 Y0Y3 置为低电平,然后检测列线的状态。只要

24、有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4 根行线相交叉的 4 个按键之中。若所有列线,均为高电平,则键盘中无键按下。2)判断闭合键所在的位置,在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为为低电平,即在置某根行线为低电平时,其他线为高电平,在确定某根行线位置为低电平后,再逐行检测各列线的电平状态,若某列为则该列线与置为低电平的行线交叉处的按钮就是闭合的按键,其连接电路如图 3.4 所示。图 3.4 矩阵键盘电路与单片机连接图电子密码锁的设计与制作113.3LCD 显示密码模块的设计显示模块主要由 LCD1602 显示屏组成,他显示的是键盘

25、输入的密码,以及密码正确与错误的提示。当输入密码时,出于安全性的考虑,显示的密码是有*号代替,为暗密。当输入六位密码后按下确认键,系统会与存于 ROM 的密码对比, 若密码错误,显示屏会显示 Error,若密码正确,显示屏会显示 Right。3.3.1LCD1602 简介1) 1602 功能介绍1602 液晶也叫 1602 字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个 5X7 或者 5X11 等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。1602LCD 是指显

26、示的内容为 16X2,即可以显示两行,每行 16 个字符液晶模块(显示字符和数字) 。 2) 1602LCD 采用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接口说明如下表 3.1 所示: 表 3.1 引脚功能说明编号 符号 引脚说明 编号 符号 引脚说明1 VSS 电源地 9 D2 数据2 VDD 电源正极 10 D3 数据3 VL 液晶显示偏压 11 D4 数据4 RS 数据/命令选择 12 D5 数据5 R/W 读/写选择 13 D6 数据6 E 使能信号 14 D7 数据7 D0 数据 15 BLA 背光源正极8 D1 数据 16 BLK 背光源负极其引脚图如下图所示:

27、西南石油大学本科毕业设计(论文)12图 3.5 LCD1602 引脚图3) LCD 寄存器的选择表 3.2 LCD 寄存器的选择E R/W RS 功能说明1 1 0 写入命令寄存器1 1 1 写入数据寄存器1 1 0 读取忙碌标志及 RAM 地址1 1 1 读取 RAM 数据0 X 1 不动作电子密码锁的设计与制作133.3.2LCD1602 液晶显示模块与单片机连接电路图 3.6 连接电路3.4 开锁模块的设计通过单片机送给开锁执行机构,电路驱动原本是利用电磁锁吸合原理来进行开锁的的。本设计为节约资源,通过 P3.0 接一个发光二极管作为电磁阀线圈,当发光二级管亮则表示实现,密码正确门开,若

28、二极管不亮则表示输入的密码不正确,门不开,其连接电路如图 3.7 所示。西南石油大学本科毕业设计(论文)14图 3.7 开锁电路3.5 报警模块的设计报警模块由蜂鸣器和单片机组成。选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要 100mA 驱动电流。蜂鸣器电路如图 3.5 所示。当 89C51 的 P3.3 口输出为高电平时,蜂鸣器产生蜂鸣音,89C51 输出为低电平时,蜂鸣器不发声,其连接电路如图 3.5 所示。图 3.8 报警电路3.6 硬件电路总体设计本次设计的各大模块在上述章节中已仔细介绍了,将各大模块融合在一起后组成电子密码锁硬件电路,键盘输入模块和 LCD 显示模块是最主要的两大模

29、块,键盘主要是完成密码的输入、修改密码、消除密码等等任务。而显示模块则是主要完成电子密码锁的设计与制作15输入密码的显示以及密码输入正确或者错误的提示。而剩余的就是报警模块、开锁模块以及单片机的最小系统。开锁顾名思义就是密码输入正确后打开大门,而报警主要是为安全着想,当有人非法入侵时便于抓住犯人。单片机最小系统则是单片机正常运行的保障。总的硬件电路如图 3.9 所示。图 3.9 总的硬件电路4 电子密码锁的软件设计电子密码锁的软件设计是整个电子密码锁可靠安全运行的关键,密码锁软件程西南石油大学本科毕业设计(论文)16序分为主程序、延时子程序、LCD 显示子程序、修改密码子程序、扫描键盘输入子程

30、序、报警子程序。密码通过矩阵键盘输入,并且在液晶显示屏上显示,如果输入密码正确,则可以直接开锁。如果不正确,并且 3 次以上输入不正确,则启动报警系统,触发蜂鸣器发声。如果要修改密码,则需要在输入基础密码判别正确后,输入修改后的密码,通过系统确认后方可修改密码。为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。而本次设计分为四大模块,分别是键盘输入模块、LCD 显示模块、开锁和报警模块以及修改密码模块,通过主程序来实现控制。4.1 主程序流程介绍主程序主要内容是各子程序模块的调用,并利用各模块进行电子密码锁功能的实现,即是键盘输入密码并在 LCD 液晶显示

31、屏上显示密码,当密码输入完成后,单片机会将输入进的密码与原单片机内部所储存的密码进行对比,如若密码正确,则代表电磁吸合器的发光二极管会显示红色,同时 LCD 液晶显示屏会显示出 right;如若密码错误,会启动计数器计数,当错误次数超过三次时,报警系统会启动即是蜂鸣器会发出报警声,以提醒保安。流程图如图 4.1 所示。电子密码锁的设计与制作17开始初始化有键按下?调用显示启动定时识别按键按键数=6?超时?比较密码开门结束自动清除=5)write_data(sh5+48);if(count=4) write_data(sh4+48);if(count=3)write_data(sh3+48);i

32、f(count=2) write_data(sh2+48);if(count=1)write_data(sh1+48);写字符的小程序为:/写一段字符void printf_char(uchar row,uchar col,uchar Inbuffer31)uchar i;write_adr(0x0c);switch(row)case 1:row=0x80;break;西南石油大学本科毕业设计(论文)20流程图如图 4.3 所示:初始化 LCD开始清除 LCD写 LCD结束图 4.3 LCD 显示流程图4.4 修改密码流程图修改密码模块主要是在输入密码正确之后,按下 14 键即是修改密码键就能

33、进入修改密码界面,其流程分为四个步骤,分别为按下 14 键并启动定时、输入修改的密码、按下确认键 11 键、LCD 的显示。修改密码的部分程序如下:/改密码void ch_word(void)unsigned char recieve=0xff,b10,j=0;LCD_CLR();printf_char(1,1,“new_password%d“);while(recieve!=11)recieve=keypad();delay(10000);if(recieve=0)bj=recieve;printf_data(2,j+1,1,recieve);j+;else if(recieve=12)if

34、(j!=0) 电子密码锁的设计与制作21aj=0;printf_char(2,j,“ %d“); j-; 流程图如图 4.4 所示:按下 14键启动定时输入密码存入缓冲按下确认1111 键比较密码调用 LED调用显示图 4.4 修改密码流程图4.5 开锁和报警模块流程图开锁和报警模块主要任务是把从键盘输入到单片机的密码和本身保存在单片机中的密码进行对比,如果正确就开锁,如果错误的话就进行计数并显示在 LCD 液晶显示屏上,当输入密码的错误次数达到 3 次就进入报警模式,启动蜂鸣器报警。其流程图如图 4.5 所示。西南石油大学本科毕业设计(论文)22图 4.5 报警流程图电子密码锁的设计与制作2

35、35 电子密码锁的系统调试及分析5.1 硬件电路调试及结果分析硬件调试首先检查电路板焊接是否有误,检查有是否出现虚焊、漏焊、线路短接、元器件引脚是否错误焊接等等问题,然后检查电路中某些元器件是否起作用,最后利用一些小程序测试 LCD1602 是否完好无损。检测单片机是否工作可通过观察示波器显示的波形是否衰减,或者利用万用表测一下 18,19 脚的电压,应该有个 2-3V 就说明起振了,另外,ALE 如果有信号或者有电压也说明单片机工作了。我采用利用万用表侧 18、19 脚的电压,其结果显示为 2.3V。检测电路有无虚焊可用万用表的二极管档来检测,当把万用表的红黑两表笔接触在焊接线路的两端后,万

36、用表发出声音,则说明没有虚焊。检查电路是否短路也是利用同一原理。5.2 软件调试及功能分析软件调试即是把已经写好的 C 语言程序载入到软件调试工具,检查软件是否有设法错误,再根据软件提示对本程序进行修改,直到没有错误再生成单片机能运行的机器码,再用 51 开发板或其它单片机写入工具把机器码写入单片机进行实际的程序调试,根据实际情况再对程序的不足加以修改,直到满足设计要求。本设计采用Proteus 和 KEIL 软件进行仿真、调试,首先在在 Proteus 软件上进行硬件电路的描绘,其次在 KEIL 软件编写电子密码锁的源程序,源程序经过汇编后产生 Hex 文件,最后将生成的目标文件添加到单片机

37、中仿真调试。5.2.1 调试过程首先打开 KEIL C51 主程序,新建工程,新建文本框写入程序,保存,检查是否有语法错误,经反复检查无误后汇编,生成 51 单片机可执行的 HEX 文件。然后用与 51 开发板相匹配的写入软件把 HEX 文件写入单片机。西南石油大学本科毕业设计(论文)24图 5.1 KEIL c51 调试介面图 5.2 程序写入界面电子密码锁的设计与制作255.2.2 仿真结果分析当系统通电进入初始化状态后,LCD 显示屏会显示 Welcome,结果如图 5.3 所示。图 5.3 系统初始化当进入输入密码阶段时,依次按下按键上的数字键 1,2,3,4,5,6 后,LCD显示屏

38、显示如图 5.4 所示。图 5.4 输入密码阶段仿真图当按下确定键 11 键后,显示屏上显示正确且二极管灯亮,表示密码正确开门,如图 5.5 所示。图 5.5 输入密码正确时仿真图西南石油大学本科毕业设计(论文)26按下确认键后,二极管不亮且显示屏上显示 Error,表示密码输入错误,门的锁不会打开。如图 5.6 所示。图 5.6 输入密码错误仿真图当需要修改密码时,只需按下 14 键即可进入到修改密码界面,修改成功后显示success,修改错误后显示屏会显示 fail。图 5.7 修改密码仿真图图 5.8 修改失败仿真图电子密码锁的设计与制作275.3 系统调试系统调试即是将源程序在 KEI

39、L 软件里运行产生的可执行文件 HEX 写入到单片机中,然后通电初始化,检查是否能实现仿真中达到的效果。如果都无误写入程序后还是有问题就要检查程序是否有问题。其结果分析如下所示:单片机写入程序后并通电初始化后,LCD 显示屏显示 welcome 如图 5.9 所示。图 5.9 初始化硬件电路当通过 4*4 矩阵键盘输入密码且密码正确后,LCD 显示屏显示 right 如图 5.10所示。图 5.10 密码正确界面当通过 4*4 矩阵键盘输入密码且密码错误后,LCD 显示屏显示 error 以及输入西南石油大学本科毕业设计(论文)28错误的次数,如图 5.11 所示。图 5.11 密码错误界面当用户需要修改密码时,按下 14 键即可进入修改密码界面,LCD 显示屏显示new-password 如图 5.12 所示。图 5.12 修改密码界面

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报