【《基于单片机的智能密码锁设计》7600字(论文)】_第1页
【《基于单片机的智能密码锁设计》7600字(论文)】_第2页
【《基于单片机的智能密码锁设计》7600字(论文)】_第3页
【《基于单片机的智能密码锁设计》7600字(论文)】_第4页
【《基于单片机的智能密码锁设计》7600字(论文)】_第5页
已阅读5页,还剩15页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的智能密码锁设计一、前言(一)选题背景和意义随着当代社会的蓬勃发展,我们对安全的需求也将愈来愈高,大部分人更加关注电子产品的人性化设计。锁具是在广大家庭生活中普普通通的物品,它的来源可追溯至古代人类社会中财产私人化的产生过程,由其产生发展到今天,经历了很长的时期,技术逐渐走向高科技化、信息化发展,已经很多年的发展史了,因此在当代社会我们离不开锁具的使用,目前锁具在我们的日常生活中随处可见。在更加可靠的安全防范方面,古老的旧式机械式密码控制器已经被带有报警系统的智能密码控制器所逐渐取代,而这些新型密码锁解决了传统机械式密码控制器的密钥数量过小、安全稳定性较差的弊端,也使得当代智能密码控制器不管从技术上还是稳定性等性能上都提高一大步。随着电子技术和计算机技术的逐步提高,尤其是单片机的问世,为人们的日常生活中增添了以越来越多的单片机为基本系统的设备。因此,单片机为人们做出了重大的贡献,给我们提供了微处理器的智能密码管理系统,不仅具备了旧式电子密码管理系统的基础功能,同时还特别的引入了智能控制、系统报警、系统存储等新功能,因而使现在的密码管理系统具备了高强度的安全性、可靠性,在实际生活中使用得越来越普遍。另外,由于单片机的实现方式具有体积较小、价格相对低廉、功能多样、操作简便、应用领域广泛等优点,为人们的日常生活提供了很大的方便,所以,设计研究对于基于单片或微型计算机的智能密码锁设计来说是非常有必要,并极具现实意义的。(二)智能密码锁设计由于技术之限,之前发明的智能密码控制器,其品种并不算很多,最基本的功能就是只能通过最简易的模拟电子开关来完成的,制作过程简易而且很不可靠,后来就是简单通过单片机来完成的,但其密码简便,易破解。从当前发展来看,我们国家和美国这种西方发达国家相比,我们研究的智能密码锁技术还是比较落后的。在美国,智能密码锁的品种早已非常完善,技术水平也已经相当领先,并且在各个领域都获得了应用。随着单片机与传感器技术的迅速发展,人们越来越追求产品多样化的功能以满足日常需要。因此,将智能密码锁技术应用于银行业务时,其最基本的功能就是“授信”,即被“授信”的人员有权存取钱财。广义上讲,银行的“授信”大致包含了这样两种层次的内涵:1、授与使用者进行担保权,如利用担保柜、投保箱和投保柜等;2、授与使用者支出权限,如出入金库、运钞车和存放室。就目前而言,智能密码锁的运用大多集中在此二种层次上。就智能密码锁及其它们的科技发展方面而言,即使上面提到的授信技术再高明,都应该由“锁具”来作为构成部分,从而完成打开、关闭的功能,并同时承担其实体保护功能,抵挡得住或者尽量延缓别人故意的攻击行动,让智能密码锁起到最大的作用。随着电子元件的逐步蓬勃发展,智能电子密码输入控制器也产生了很多的新种类,功用越来越强,应用也越来越便利,而且信息安全保密度也更强了,从过去的单密码输入方式进一步发展到了现在的,输入密码加传感器件,从而做到了更为真实的电子密码功能,但除非所提供密码功能与电子钥匙中的一模一样,否则是打不开门的。本设计就基于51单片机为核心及其它硬件软件来设计的智能密码锁,更加适用在人们的日常生活中,能够更好的满足人们在锁具上的要求。二、总体设计(一)智能密码锁设计要求本设计中智能密码锁,应该能满足以下要求:(1)首先,在输入页面上,为避免输入密码时被他人偷看,因此输入密码时在液晶显示画面上出现*号;(2)第二,要求我们在正常使用密码功能时,能够用液晶显示器表示open,出错使用密码功能时会表示error,正在使用密码功能时会表示inputpassword;(3)再者,本设计具有十六位的矩阵键盘,其中包括零至九的数字键、*、#和A,B,C,D的功能键;(5)除此之外,该系统设计还具备报警功能,当输入密码出错时蜂鸣器就会自动报警,提示用户密码录入错误;(6)最后,该设计的密码可以自定义修改(注意该系统仅支持六位密码),要更换密码时,系统用户必需重新录入密码功能,以防止旧密码被误使用。(二)系统总体设计本次设计系统我选择使用AT89C51单片机作为核心,是因为单片机能够灵活的承载运行编程语句和拥有丰富的IO接口,再加上工作人员操控的正确性,来实现最基本的密码锁控制。该设计的外部电路是通过外接输入按键实现密码功能的进入和对一些特殊操作的控制之后,通过外接LCD1602液晶屏幕进行显示功能的。其控制密码锁的工作原理如图1所示:图1这次的设计主体主要是由单片机、矩阵按键、液晶显示屏和密码储存等多个部分组成。同时还有矩阵按键,它可以用来提供数字密码和完成各项限制功用的实现方式,使用者可以透过接口单片机的矩阵键盘输入密码,之后再透过单片机对使用者所提供的秘密和自身所储存的秘密加以对比,以此确定秘密是不是准确,进而透过限制接口的高低电平到开锁集成电路或是告警集成电路中开锁或是告警,当然也可以由继电器的常开接点去操控电磁铁结构吸合线圈。此外,本设计共有两部分组成,即硬件管理系统部门和管理软件管理系统部门。其软硬件功能构成主要由计算机的电源设备进入部分、复位电路部分、键盘进入部分、密码信息储存部分、晶振部分、屏幕显示部门、告警部分、开锁系统等构成,其结构组成工作原理如图2所示。图2三、系统硬件设计(一)AT89C51单片机1.简介总的来说,此类单片机是一款带四K字节Flash储存器的低流低压,功能强大的CMOS8位微处理器。并且它有二百五十六字节片内数据储存器、三十二个IO接口、两个十六位定时计数器、一个中断结构、一个双全工串行接口、蜂鸣器以及复位电路等。2.引脚AT89C51单片机芯片共有40个引脚,如下图3所示,其中包括32个输入输出端口。这些引脚主要分为以下几种功能:供电、接地、系统复位、存储器、控制地址锁存、访问外部程序。除了这些功能之外,引脚还有一部分复用引脚,它们负责系统的外部中断、计数器输入、存储器信号的读写。众多的引脚为单片机的扩展提供了更多的可能性于创新,也能够根据不同用户的需要来定义这些引脚。图3(二)硬件电路构成1.复位电路电脑每一次启动或工作,CPU和操作系统中的任何部分都一定要有某个固定的初值,即为恢复状况。图4为单片机模块复位集成电路仿真图。图4单片机的RST接口是高电平。单片机模块在插上电源瞬间为C3充电,RST接脚端就会形成正向脉冲,如果RST中断维持在二个机械时间(大概10ms)以上的高电平,单片机模块控制器就可以恢复工作。如果该系统在正常工作后,还要重新恢复工作,只须再按下电源开关,单片微型计算机就可以再次变成复位状态。2.LCD显示模块2.1LCD1602显示器液晶显示模组现已变成了不少电子设备的重要应用元素,如在计量器等电子产品和一些电视等家庭常用电子设备中均都可以看见,其表现的内容大多是数值、专用文字和图像信息。在单片机的人机交互用户界面中,最常见的输入输出通常种类很多,在这里就不一一列举了。感光管和LED数码管在其中较为常见,软硬件功能构成都比较简单。在单片机为核心的控制系统中,我们选择晶液显示器作为输入输出元件具有如下的一些好处:首先,液晶显示屏上的每一点在接受信息后都要始终维持着那种颜色和光度,进行恒定的发光,所以它并不会像阴极射线管显示屏一般。其次,是因为液晶显示屏都是数字式的,与单片机的连接比较简单。液晶显示器的使用是在液晶屏表面的阴极上检测液晶分子分布的状况来实现显示屏的目的,在称重工作方面比同样屏幕容积的旧式展示屏要轻得多。二者相比来说,由于液晶显示屏的功率大部分耗费在其内置的阴极和驱动器IC上,所以它的耗电很小,相比其它的显示器都要少很多,大大节约了用电量,更加符合现在节能器件的条件。2.2LCD内部控制方式该控制方式主要是用CPU来管理LCD模组,方法也非常的简便。在LCD模组里面应该看成二个寄存器:指令和数据寄存器,用RS接口管理。在我们使用前,任何对寄存器位的存取都需要先检测LCD内的忙碌标识,此标识提示LCD内还在忙碌工作,并且不能够接受其它任何控制指令。2.31602液晶显示器的RAM地址映射该设计中液晶模块内置的文字发生寄存器中大约储存了一百多个各种类型的点阵图像,其中文字图有:阿拉伯数码、英文字母的大小来写、最常见的文字、以及日文假名等,而每一种文字图都有一种稳定的代号。它的读写操作、显示器和光标的控制,都是利用指令程序来完成的(说明:1为高电平,0为低电平)。例如命令为1:高清显示器,指令码一H,光标复位在地址的零H地方。指令2:将光标恢复,光标恢复到原高度零H。又或者指令4:显示器开关控制。D:控制器整体指示的开和关,高电平值有效说明开呈现,低电平值有效说明闭呈现。C:调节光标的开和关,高电平值有效指向有光标,低电平值有效指向无光标。B:调节光标有无点亮,高电平值有效闪亮,低电平值有效不闪亮。此液晶模组显示比较慢,所以它是一个慢显示部件,在运行每条命令以前都必须首先设定系统的忙标志是低电平,指示为不忙,不然的话此指示将作废。在表示字符时要首先进入表示字符位置,也就要提示模块显示字符的位置,1602液晶显示内部地址如图5所示。图52.4液晶显示原理液晶显示的基本原理主要是利用液晶的物理特点,并利用电流对其颜色指示范围加以控制,有了电流即有颜色表示,如此就能够表现出图像。液晶显示屏由于具备了厚度设计较薄、适用于大型的嵌入式集成电路直接驱动、以及容易达到完全彩色显示的优点,目前现已被广泛运用于笔记本电脑、数码视听产品、PDA移动通讯工具等众多应用领域。本设计的液晶显示模块图如图6所示。图63.矩阵键盘3.1.矩阵键盘概述该系统的每个键,都必须经过设计电路与CPU相连接,CPU才能够通过查看网络连接状况和中断的方式类别知道有没有按键被按下,从而检查是什么按键被按下。不论是查找方法还是中断方法,都需要用到单片机的IO口,但因为内嵌式单片机IO口较小的因素,在操作系统中需要使用较多按钮,为了可以更加合理更加有效地使用内嵌式单片机设计的IO口,人们通常通过矩阵按键的方法来完成较多按钮的实现。而本产品设计就使用了行列式键盘,并且又可以减小键盘在和单片机连接时所占据的I/O连线的数量,当键盘特别多的时代,一般选择了这种方式。每一条水平(行线)与垂直于线(列线)的相交处并不连接,只是根据某个键位来相接,使用这个行列式的矩阵构造为N×M个按钮的键盘,而在一般情况下,N和M的线条数相等。3.2.矩阵键盘的工作原理本次设计采用四位四的矩阵键盘,在本次设计的矩阵键盘中,我们让每条水平线与每条下垂线在相交的那一点处并不发生关系,仅仅只是根据同一个按钮来控制。这样说来,一根接口线(如P2口)就能够组成16个按钮的矩阵键盘,相当直观地把终端线用作按钮个数翻了一翻,而且设计中的线数越多,效果对比越鲜明,如图7所示。所以这样看来,当所要求的按钮数较多时,采用矩阵法来制作按钮也是很合适的。3.3.扫描原理它的原理就是将各个键位都分成水准与下垂的二端连接,所以说如果扫描码是下垂的接入,那么就表示着这一行中所接受到的扫描码就是一个bit,而读出扫描码的则是水平,扫描的基本动作就是首先进入扫描码,然后再去读出所输入的值,通过比对之后我们就可以知晓是什么功能按钮被按下。设计中的这个按钮为机械开关,在键盘上的键位被按下时,键盘就会晃动一会儿后才平稳,为防止单片机错误判断为多次输入了同一个键盘,所以我们就需要检测到所有的键盘都被按下,使键盘键位以达到平衡状态,然后再去重新判读所按下的键盘时,就能够使整个键盘的动作进入平稳。图74.声音提示模块蜂鸣器,是由一体化材料所生产的电子产品讯响器件,通过直流压力直接供电,应用在电脑、印刷机、复印机、各种数码玩具、车辆等电子设备和手机、计时器、手表等电子产品中作为提示的元件。在现在来看,蜂鸣器大致包括高压电式蜂鸣器和低电压式蜂鸣器二个类型,其中压电式蜂鸣器一般由多谐振荡器、压电传感蜂鸣片、电子阻抗匹配器及其共鸣箱、机壳等制成。多谐振荡器通常由结晶管或集合电路所组成。它在接上开关电源后,多谐温度传感器会起振,形成1.5至2.5kHZ的音频讯号,通过电阻配合设备带动压电传感蜂鸣片发射。电磁式蜂鸣器主要由震动仪表、电磁输入接收线圈、磁石、震动涂布薄膜,以及外壳材料等构成。接通电源后,首先由于震动仪表所产生的震动电流通过电磁线圈,使电磁线圈内部所产生的强磁性。鸣声器驱动集成电路通常都包括这样的一些组成部分:一条充气三极管、一只鸣声器、以及一只限流电阻。蜂鸣器是声音元器件,在其二端使用直流输出电压就能够发音,其重要技术参数是外型规格、发音方位、工作输出电压、工作频段、工作输出电流、驱动方法(直流输出/方波)等。它们都应该按照需求来选用,蜂鸣器报警如图8所示。图85.继电器控制模块该模块中的磁继电器通常是由铁心、输入线圈、衔铁、接点阀簧等所构成的。如果同时向输入导线二端加相应的输出电压,那么在输入导线中就将有相应的输出额定电流,就这样形成了电磁效应,衔铁就将在由功率放大器共同引导的作用下,利用回位减震弹簧的牵引力而吸向了铁心,并由此推动了衔铁的活动触点与静态接点重合。当输入导线切断电源后,电磁的吸力自然地就跟着逐渐消失了,衔铁线也会跟随着弹簧的反向拉伸而回归原先的部位,进而使动态触点和原先的静态触点一起放松。这样也正是利用了吸合、放松的特点,进而完成了在集成电路实际工作中的导通、截断的主要目的。在电路设计中继电器室一般采用PNP型三极管驱动器,当额定容量阀值达到规定范围时,当单片或微型计算机会将较高电平值跳转变成较低电平值而有效工作时,使充气过程中三极管与导通继电器开关相吸合,继电器重新起开关的功能,就可以控制驱动器负荷,继电器控制如图9所示。图9四.软件系统设计(一)主程序模块该系统设计的主体由很多小的程式组成,其中主要由主程式、初始化程式、液晶显示屏程式、键盘扫描子程式、键盘功能程式、密码修改程式、EEPROM读取程序与延时程序等所组成。一般程序设计步骤如图10所示:图10(二)键盘扫描子程序从以下流程图11可更直观的看出,其按键辨别程序主要是利用逐行扫描法来判断是否是有键按下,当操作人员在某一列选择按键按下时,系统会自动判断按下的按键类别。在本设计中,以P1.0至P1.3做为行输出口,以P1.4至P1.7做为列输出口。初始化时将P1.0至P1.3值赋为零,将P1.4至P1.7赋为一,紧接着CPU就开始了它的工作,来扫描P一端口,当P一值不为零xf零时,就会知道是否有按键被按下。实际应用中,为了防止由于按键的抖动而造成一个键同时按下去被当做为二个或二次以上处理,就必须首先执行相应的消抖程序设计,方法就是当有键闭合时,必须先延迟一段时间再确定是不是有键已经闭合。图11(三)密码设定子程序该子程序听字面意思都很好理解,就是更换设置密码,但是因为产品设计都是分模组化进行,所以子程序也是整套应用软件体系的一部分。首先,子程序能够将程序化整为零,将其的复杂性直接简洁化,有利于我们的使用;其次,也便于我们作为使用者对密码的读取,编辑等。因为每个职能模块中都有它本身的一些子程序,并且设计中都是用液晶显示来表示数据,于是我们就需要用到屏幕显示子程序,而且本次系统设计中使用的是矩阵按键,于是就用到了按键扫描显示子程序,比如还有显示与初始化子编程、用LCD忙检查子程序、禁用状况提醒子程序、打开状况提醒子程序等等。密码设定子程序流程如图12所示。图12(四)显示模块子程序通俗的来说,该模块就是我们所看到的页面,因为在页面显示设计中,我们能够看到密码记录页面、密码输入信息、密码正确后提示正常网页信息内容、密码出错后提示错误网页信息内容,以及更改与密码相关网页内容等的信息内容,因此需要使用多种显示子程序来表示不同的信息内容。虽然这个显示过程需要进行的子进程繁多,不过因为其显示原理都相同,因此在其逻辑上比较简单。该显示字符流程图如图13所示。图13(五)报警子程序说到报警这方面,不要觉得报警子程序有多么复杂,其实它的基本原理很简单,就是当用户在输入密码信号时,它的出错频率达到了本设计系统所规定要求的最高授权频率,不断地给蜂鸣器提供脉冲信号,并使其连续地发声。而且在这同一时间,CPU总是在为蜂鸣器供电脉冲,而没有时间办理比如密码扫描等的特殊事项,也就是说,在蜂鸣器还在告警的时候就已经彻底屏蔽了按键的使用。图14为报警子程序流程图。图14五.Proteus仿真调试通过本系统的整体设计,最后我终于在Proteus中绘制出完整的模拟电路图,并且在Keil软件中一步一步的逐渐编写出相关功能的代码,实现单片机数据的储存与调用以及指令地读取与完成。本次程序设计的运行调试采用Protues软件进行仿真,进行多次实验并且调整设计中出现的问题。在经过多次仿真达到理想状态后,让单片机在真实环境中进行多次实验,观察是否能达到预期效果。若不能,则根据出现的问题反馈到之前的步骤中,找到出现误差的原因并进行改进完善,进而将它们结合起来联合仿真一步一步的来确保编程的准确性和可行性。Keil软件和Proteus软件都是在单片机系统具体工程设计中常常使用的软件系统,经过它们的统一模拟与设计调试,可以比较生动清晰地体现软件系统的所有主要功能系统模块和控制元件的实际工作状况。Keil软件和Proteus软件都是对单片微型计算机爱好者以及嵌入式单片机模块控制器产品设计

温馨提示

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

评论

0/150

提交评论