毕业设计(论文)基于单片机的多功能密码锁的设计与实现.doc
《毕业设计(论文)基于单片机的多功能密码锁的设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的多功能密码锁的设计与实现.doc(27页珍藏版)》请在三一办公上搜索。
1、目 录1 引言12 概述22.1 背景22.2 设计要求23 总体设计33.1 方案的论证与比较33.2 总体设计思路34 硬件设计54.1 处理器54.2 键盘94.3 显示电路124.4 其他外围辅助电路164.5 总体电路165 软件设计185.1 总体方案185.2 流程图185.3 源程序196 系统调试237 结语24致谢25参考文献261引言随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,基于单片机的密码锁由于其安全可靠、成本低廉、连接方便、简单易用,保密性高,受到了广大用户的亲赖,得到了广泛的应用。微电子技术的
2、不断发展,出现了磁控锁、声控锁、超声波锁、红外线锁、电磁波锁、电子卡片锁、指纹锁、眼球锁、遥控锁等。这些锁具有机械结构所无法比拟的高保密性能,还可在特定的系统中,按设定的逻辑关系实现系统的程序控制。但这类产品,只能适用于保密性高,供个别人使用的箱、柜、房间等。加上成本比较高,一定程度上限制了这类产品的推广应用。本设计是一款性价比较高的的密码锁。为适应功能需要以及兼容性等问题,采用SM8958为核心的单片机控制方案。该方案主要由主控部分、键盘、显示、示警电路、执行机构等部分构成。其中密码由键盘输入端口输入,解码正确条件下,输出开锁电平,控制电控锁开启。另外,附加了一些常用设计,有效按键提示、错误
3、输入告警、多次(可软件设计次数)误码输入报警以及防止长时间无效操作的定时中断系统。该电路还可以与其他报警电路配合完成防盗报警功能。2 概述 2.1背景 在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。在安全技术防范领域,具有防盗报警功能的电子密
4、码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。2.2设计要求 本次密码锁的设计,其主要具有如下功能:(1)设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。(2)密码可以由用户自己修改设定(6位密码),密码输入正确才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。(3)报警、
5、锁定键盘功能。密码输入错误会发出警告音。若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。(4) 有效按键提示。(5) 90秒定时中断,输出控制信号,防止长时间无效操作。(6) 其他扩展功能。3 总体设计3.1方案的论证与比较设计本课题时构思了两种方案:一种是用以74LS112双JK触发器构成的数字逻辑电路控制方案。另一种是用以SM8958为核心的单片机控制方案。(1) 方案一:采用数字电路控制,数字密码锁电路的好处就是设计简单。用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入
6、电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。(2) 方案二:采用一种是用以SM8958为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,不但能实现基本的密码锁功能
7、,还能添加调电存储、声光提示甚至添加红外遥控控制功能。 通过比较以上两种方案,考虑到数字电路方案原理过于简单,而且不能满足现在的安全需求,而单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。3.2总体设计思路 本次设计以单片机SM8958为核心,配以相应硬件电路,完成密码的设置、存贮、识别和显示、驱动电磁执行器并检测其驱动电流值、接收传感器送来的报警信号、发送数据等功能。单片机接收键入的代码,并与存贮在EEPROM中的密码进行比较,如果密码正确,则驱动电磁执行器开锁;如果密码不正确,则允许操作人员重新输入密码
8、,最多可输入三次;如果三次都不正确,则单片机输出报警信号。对密码的输入、处理是本次设计的重点,配以其他电路实现基于单片机的多功能密码锁。其基本要求及主要模块如下: 电子密码锁的设计主要由三部分组成:处理器、34矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有LED提示灯,报警蜂鸣器等。 密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能:(1)密码输入功能:按下一个数字键,一个“”就显示在最右边的数码管上,同时将先前输入的所有“”向左移动一位。(2)密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。(3)密码更改功能:将输入的值作为新的密码。(4)
9、开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。如何解决以上关键问题是本次设计的重点。4 硬件设计4.1处理器本次设计的处理器选择SyncMOS公司的SM8958,SM8958系列产品是一种内嵌32KB闪存和1KB片内RAM的8位单片微控制器它是80C51微控制器家族的派生产品SM8958的PDIP封装具有32 个I/O口,PLCC/QFP 封装则具有多达36个I/O口且片内32KB的闪存既可以当作程序空间,又可以当作数据空间或者数据和程序混合空间。由于它的这些硬件特征和强大的指令系统使得它成为一种性能价格比很高的控制器。片上闪存可以使用商用编程器通过并口进行
10、编程。其存储器结构如下:SM8958 是在通用80C52 内核的基础上集成了768B片内RAM和32K闪存的单片微控制器。它的内部存储器结构与通用的80C52 内部存储器的结构相同。其主要特性如下: 工作电压4.5V 到5.5V 编程电压12V 与通用80C51 家族产品完全兼容 每个机器周期为12 个时钟周期 32K 字节片上闪存 1024 字节片上数据RAM 3 个16 位定时/计数器 PDIP 封装具有4 个8 位I/O 口 PLCC 或QFP 封装具有4 个8 位I/O 口外加1个4 位I/O 口 全双工串口通道 位操作指令 页自由跳转 8 位无符号除运算 8 位无符合乘运算 BCD
11、码运算 直接地址访问 间接地址访问 嵌套中断 两个中断优先级 1 个串行I/O 口 省电模式空闲模式和掉电模式 工作时钟为25MHz 代码保护功能 1 个看门狗定时器(WDT) 低EMI(禁止ALE)其引脚图如图4.1所示。图4.1 8958引脚图4.1.1程序存储器SM8958 具有片上的32K 字节的闪存可以作为通用的程序存储器,如图4.2所示7FFFH。32KB程序存储器空间0000H 图4.2 程序存储器配置4.1.2数据存储器 SM8958具有1KB的片内RAM,低256B与80C52 的片内RAM 结构一样。扩展的高768B RAM可以用访问外部存储器的方式进行访问(利用指令MOV
12、X)。如图4.3所示。扩展的768 字节的RAM (可以用指令MOVX 直接外部方式访问)FFSFR 空间(只能用直接地址方式访问高128 字节(只能用间接地址方式访问80低128 字节(可用直接或间接地址方式访问7F00图4.3 数据存储器配置如图(三)所示,说明如下:(1)数据存储器低128B 数据存储器从00H-FFH 的地址空间同80C52是相同的。00H-7FH 的地址空间可以直接访问也可以间接访问;00H-1FH 的地址空间是寄存器空间;20H-2FH 的地址空间是位寻址空间;30H-7FH 的地址空间是通用数据存储区。(2) 数据存储器高128B 数据存储器的高128B范围是80
13、H-FFH ,只可以用间接地址方式访问,这部分空间也是数据存储区。(3)数据存储器扩展的768B 从外部地址0000H-02FFH 是片内扩展RAM区,共768B。这部分地址空间只能用直接外部地址方式访问(利用MOVX 指令)。(3) 内部存储区页选择寄存器(IMPSR,85H)内部存储区页选择寄存器,如表4.1所示。表4.1 内部存储区页选择寄存器MSBLSBRRRRRR PS1PS000000000说明:R 表示系统保留。 SM8958片内具有只能用访问外部存储器的方式进行访问的768B扩展RAM(访问时用指令MOVX)。指令MOVX Rn 所访问的地址空间由IMPSR 寄存器的位1 和位
14、0(PS1,PS0)决定PS1,PS0 的默认设置值是00(页0)。如果MOVX DPTR 指令所访问的地址大于02FFH 时SM8958 会自动产生访问外部存储器的控制信号。特殊功能寄存器SCONF 的位1(OME)的值决定了允许还是禁止访问扩展的768 字节RAM 。该位的默认设置为1,可以访问内部扩展的768 字节RAM。 指令MOVX Rn 所能访问的地址空间由特殊函数寄存器IMPSR(85H)的位1(PS1)和位0(PS0)决定。PS1和PS2的默认设置是00。数据存储器的一页是256 字节,具体如下:PS1,PS0=00 指令MOVX Rn 的Rn 映射为数据存储器的第0页,地址空
15、间为0000H-00FFH;PS1,PS0=01 指令MOVX Rn 的Rn 映射为数据存储器的第1页,地址空间为0100H-01FFH;PS1,PS0=10 指令MOVX Rn 的Rn 映射为数据存储器的第2 页,地址空间为0200H-02FFH;PS1,PS0=11 指令MOVX Rn 的所能访问的地址空间为:XY00H-XYFFH。高位地址由P2 口决定(SM8958 会自动产生访问外部存储器的控制信号)。4.1.3看门狗定时器(WDT) 看门狗定时器(WDT)是1 个16 位自运行计数器在计数器溢出时会产生复位信号WDT 对那些易受噪声干扰电压波动或放电现象影响的系统很有用在程序跑飞或
16、死机的情况下WDT 可以使用户程序脱离不正常状态WDT 不同于8052 系统的定时器0 定时器1 和定时器2 通过软件周期性的清除WDT 计数器的值可以防止WDT 产生复位信号。SM8958 的 WDT 可以对基准时钟源选择分频输入要选择分频输入就要相应地设置WDT 控制寄存器(WDTC)的位2-位0的值。置位WDT的位7(WDTE)即可使能WDT。 WDTE 位置1后,16 位计数器根据PS2 -PS0 所确定的时钟输入开始工作。计数器溢出时会产生复位信号,此时WDT 的WDTE位会被清零,另外硬件复位也可以将WDTE 清零。 置位WDT 的位5(CLEAR)可以复位WDT,同时清除计数器的
17、内容,使计数器重新开始计数。(1)WDT 控制寄存器(WDTC,9FH)WDT 控制寄存器,如表4.2所示。表4.2 WTD控制寄存器MSBLSBWTDERRRRPS2PS1PS000000000说明:上面寄存器内的值为系统复位值; WDTE:看门狗定时器使能位; CLEAR:看门狗定时器复位位; PS2 PS0:时钟源分频选择位。(2) 时钟分频描述如下表4.3所示。表4.3 时钟分频PS2PS1PS0分频器(晶振输入)时钟周期(ms)40HZ000813.10011626.210103252.4201164104.8100128209.71101256419.43110512838.861
18、1110241677.72(3) 系统控制寄存器(SCONF,BFH)系统控制寄存器,如表4.4所示。表4.4系统控制寄存器MSBLSBWDRRRRRROMEALE100000000说明:上面寄存器内的值为系统复位值 WDR:看门狗定时器复位位当看门狗定时器溢出而使系统复位时WDR 位被置1 OME:768 片上字节使能位 ALE1:ALE 输出禁止位可降低EMI SCONF 的位7(WDR)是看门狗复位位当由于WDT 溢出而产生复位信号时该位被置1。在任何不可预测的复位发生时用户应该检查该位的值(4)降低EMI 功能SM8958 允许用户通过置位SCONF 寄存器的位0(ALE1)来降低EM
19、I。该项功能的作用就是禁止Fosc/6 Hz 的时钟信号输出至ALE引脚。在系统没有外扩程序存储器或数据存储器的时候,可以使用这个功能。4.2 键盘4.2.1键盘概念键盘是最常用也是最主要的输入设备,通过键盘,可以将英文字母、数字、标点符号等输入到计算机中,从而向计算机发出命令、输入数据等。4.2.2键盘的分类 按照键盘的工作原理和按键方式的不同,可以划分为四种:(1) 机械式键盘(Mechanical) 采用类似金属接触式开关,工作原理是使触点导通或断开,具有工艺简单、噪音大、易维护的特点。 (2) 塑料薄膜式键盘(Membrane) 键盘内部共分四层,实现了无机械磨损。其特点是低价格、低噪
20、音和低成本,已占领市场绝大部分份额。(3) 导电橡胶式键盘(Conductive Rubber) 触点的结构是通过导电橡胶相连。键盘内部有一层凸起带电的导电橡胶,每个按键都对应一个凸起,按下时把下面的触点接通。这种类型键盘是市场由机械键盘向薄膜键盘的过渡产品。(4) 无接点静电电容式键盘(Capacitives) 使用类似电容式开关的原理,通过按键时改变电极间的距离引起电容容量改变从而驱动编码器。特点是无磨损且密封性较好。 按其结构形式可分为以下两种:(1)编码键盘 编码键盘采用硬件方法产生键码。每按下一个键,键盘能自动生成键盘代码,键数较多,且具有去抖动功能。这种键盘使用方便,但硬件较复杂,
21、PC机所用键盘即为编码键盘。(2) 非编码键盘非编码键盘仅提供按键开关工作状态,其键码由软件确定,这种键盘键数较少,硬件简单,广泛应用于各种单片机应用系统,本次设计使用非编码键盘。按照键盘与单片机的连接方式可分为一下两种:(1) 独立式键盘独立式键盘,顾名思义,即各按键相互独立,每个按键占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他按键的工作状态。这种按键软件程序简单,但占用I/O口线较多(一根口线只能接一个键),适用于键盘应用数量较少的系统中。(2)矩阵式键盘矩阵式键盘又称行列式键盘,在其行、列交汇点接有若干个按键。当需要较多按键时,与独立式键盘相比,单片机口线资源利用率大幅
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 单片机 多功能 密码锁 设计 实现
链接地址:https://www.31ppt.com/p-3980391.html