基于51单片机的电子密码锁设计_第1页
基于51单片机的电子密码锁设计_第2页
基于51单片机的电子密码锁设计_第3页
基于51单片机的电子密码锁设计_第4页
基于51单片机的电子密码锁设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

基于51单片机的电子密码锁设计摘要在日常的生活和工作中,住所的防盗门、重要的文件档案、财务账目和一些个人文件的安全大多通过加锁来解决。若是使用传统的钥匙开锁,还存在很多安全隐患,钥匙丢失后连自己都打不开锁,并且丢失后很容易被不怀好意的人利用。因而,更为方便安全的电子密码锁取代传统的钥匙锁已是必然趋势。随着科术的不断进步,人们对日常生活中的锁具的要求越来越高。为满足人们不断提高的使用要求,增加其安全性,密码锁于是应运而生。密码锁具有成本低、功耗小、操作简单、安全性高、记住密码即可开锁等多种优点。本文主要介绍了用STC89C51单片机控制的电子密码锁功能以及相应的硬件电路设计,本系统还包括报警系统、LCD1602显示和4×4矩阵键盘。本设计同时包括了开锁、关锁、修改密码、超次报警、超次锁定和输错报警等功能。本设计通过P0口控制LCD显示,当密码输入正确时LCD显示OPEN!密码输入错误显示ERROR!当密码错误超过三次时自动锁定。并且本设计还增加了红外遥控功能,可通过遥控器进行远距离控制。关键词:STC89C51;LCD1602;电子密码锁;红外遥控

AbstractIndailylifeandwork,homesecuritydoors,importantdocuments,thesafetyoffinancialaccountsandsomepersonalfilesaremostlyaddressedbylocking.Ifusethetraditionalkeytounlock,therearemanysafehiddentrouble,can'tunlockkeyafterlostthemselves,andlostafterusedbymaliciouspeopleeasily.Therefore,moreconvenientsafeelectroniccombinationlocktoreplacethetraditionalkeylockisinevitabletrend.Alongwiththeadvanceofbranchoperation,peoplemoreandmorehightotherequirementoflocksineverydaylife.Tomeettherequirementsoftheuseoftheincreasingimprovementofthepeople,increaseitssafety,combinationlocksoarisesatthehistoricmoment.Combinationlockhaslowcost,lowconsumption,simpleoperation,highsafety,rememberpasswordlockandsoonthemanykindsofoptimal.ThisarticlemainlyintroducedtheSTC89C51microcontrollercontrolbyusingelectroniccombinationlockfunctionandthecorrespondinghardwarecircuitdesign,thissystemalsoincludesalarmsystem,theLCD1602displayand4*4matrixkeyboard.Thisdesignincludesthelockatthesametime,shut,changepasswords,supermistypedalarmandalarm,superlock,andotherfunctions.ThisdesignthroughP0portcontrolLCDdisplay,whenthepasswordinputthecorrectLCDdisplayOPEN!PasswordinputERRORdisplayERROR!Automaticallylockwhenwrongpasswordmorethanthreetimes.Andthisdesignalsoincreasethefunctionofinfraredremotecontrol,remotecontrolbyremotecontrol.Keywords:STC89C51,LCD1602,ElectronicCombinationLock,InfraredRemoteControl

目录摘要 IAbstract II第一章引言 11.1研究背景 11.2研究意义 11.3研究现状 2第二章系统总体方案设计 32.1电子密码锁设计的具体要求 32.2设计思路 32.3系统总体框图 3第三章硬件设计 53.1单片机STC89C51简介 53.2时钟电路模块 53.3复位电路模块 63.4密码储存电路模块 73.5LCD显示模块模块 83.6键盘扫描电路模块 93.7声音提示模块 103.8继电器控制模块 113.9红外接收模块 12第四章软件设计 134.1主程序模块 134.2键盘扫描子程序 144.3密码设置子程序 144.4开锁子程序 16第五章系统制作与调试 175.1焊接流程及注意事项 175.2调试 18结论 20参考文献 21致谢 22附录 23第一章引言1.1研究背景现代社会越来越需要高效可靠的身份识别系统。“锁”既要安全可靠又要使用方便,这也是人们从古至今一直研究的主要目标。随着科学技术的迅猛发展,电子锁也应运而生,比如指纹锁、刷卡锁、密码锁等各类电子锁,其中密码锁更是其中的佼佼者,不仅安全性高而且价格便宜,更容易被人们普遍接受。但当前国内自主研发的电子锁还不够完善,市场结构也未形成,因此目前来说电子锁的应用还不够广泛。希望可以通过不断的努力,使电子密码锁在我国能够得到广泛应用。社会的快速发展及科学技术的不断更新,单片机技术已经普及到我们的生活,工作,科研等各个领域,已经成为一种比较成熟的技术。由于单片机具有速度快、低功耗、体积小、结构简单、使用方便、处理速度快、环境适应能力强等特点,因而在工业建设、家用电器、通信设备等各个领域得到了广泛应用。因此,本论文设计了以单片机作为控制核心的电子密码锁。1.2研究意义人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁一直是守卫门的铁将军。人们要求它们既安全又可靠,以防被盗和易于使用。这也是储物柜长期以来发展的课题。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。目前,在西方发达国家,电子密码锁技术比较先进,种类繁多。1.3研究现状自古以来,锁具就被人们视为“铁将军”。随着社会物质财富的不断增加和人民生活水平的不断提高,人们对锁具的要求越来越高,即安全可靠,而且使用方便。因此,锁具的安全性和实用性一直是锁具的制造者长期以来研究的主题。保险箱作为人们生活或工作中不可缺少的重要设施,主要用于存放各种贵重物品,因此保险锁的安全性就显得十分重要。目前市场上的保险柜产品使用的锁具主要是传统的机械转盘式密码锁,使用电子密码锁保险柜数量相对较少。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码,完成开锁过程。研究这种锁的初衷,就是为提高锁具的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需要记住一组密码,而不携带金属钥匙,以避免携带金属钥匙的麻烦。越来越多的人欣赏电子锁的种类,如数字锁、指纹锁等。到目前为止,随着电子技术和信息技术的发展,电子密码锁的技术领域已发展的十分成熟。从目前的技术水平和市场接受度来看,键盘电子密码锁是应用最广泛的。本产品主要用于保险箱、保险箱、金库以及储物柜、运钞机等。在其他技术领域,有遥控电子密码锁和卡片式密码锁。为了解决电子密码锁存在的诸多安全问题,进一步提高电子密码锁系统的安全性、可靠性和实用性,将滚动加密技术与无线网络技术相结合,开发了一种新型的无线遥控电子密码锁系统。计算机技术。采用多级加密机制和无线遥控技术,彻底解决了固定键盘密码锁和固定密码遥控锁的缺点,用户可以在一定范围内任意位置安全操作电子密码锁。使系统具有抗截获重传的能力。使一切利用“追码器”或跟踪代码破解密码系统的企图都无法奏效,保证密文电波的安全传输。

第二章系统总体方案设计2.1电子密码锁设计的具体要求(1)本设计为了提高密码的安全性,输入密码时在LCD显示屏上仅显示“*”号。(2)本设计的电子密码锁开锁密码为六位密码。(3)显示“INPUTPASSWORD”时输入密码;当输入密码正确时,LCD显示屏显示“OPEN”;当密码输入错误时LCD显示屏显示“ERROR”。(4)当密码输入错误达到三次时,电子密码锁自动锁定。(5)4×4的矩阵键盘其中包括“0-9”的数字键、“*”、“#”和“A、B、C、D”的功能键。(6)本设计还有报警功能,当输入密码错误次数达到三次时蜂鸣器发出报警声并且LED灯亮三秒。(7)用户可以自行修改密码,修改密码时,先输入旧密码,再输入新密码,新密码需要确认两次,以防操作错误。2.2设计思路本设计具体设计主要由矩阵键盘、单片机、液晶显示器和密码存储等部分组成。其中矩阵键盘主要用于密码的输入及修改等功能的操作。用户通过矩阵键盘输入密码,然后将其传送到单片机。然后,单片机将传输的用户密码与系统中设置的原始密码进行比较,判断密码是否正确。然后控制销的高低电平根据密码的错误判断是解锁还是报警。在实际使用中,只需要单片机。芯片机的负载可由继电器改为电子密码锁的电磁吸盘。当然,电磁吸力线圈也可以通过继电器的常开触点来控制。2.3系统总体框图本系统由两部分构成,即软件部分与硬件部分。软件由主程序、LCD显示程序、初始化程序、启动程序、关机程序、键盘扫描程序、构建功能程序、密码设置程序、EEPROM读写程序、延时程序等组成,硬件包括电源输入模块。时钟电路模块、复位电路模块、密码存储电路模块、显示电路模块、键盘输入模块、报警电路模块、解锁电路模块、红外接收模块。示意图如图2.1所示。图2.1电子密码锁原理框图

第三章硬件设计3.1单片机STC89C51简介STC89C51是一种功耗低、性能高的CMOS8位微控制器,还具有4K在系统可编程Flash存储器。在单片机中,它具有8位CPU和系统可编程闪存,为许多嵌入式控制应用系统的缓慢处理提供了一种有效的解决方案。STC89C51具有以下标准功能:1、兼容MCS51指令系统2、4K可反复擦写FlashROM3、32个双向I/O口4、256x8bit内部RAM5、时钟频率0-24MHz6、可编程UART串行通道7、6个中断源8、3级加密位9、2个16位可编程定时/计数器中断10、低功耗空闲和掉电模式11、4k字节Flash另外,STC89C51单片机的频率可降至0Hz,从而减少工作消耗,进行静态逻辑操作。并且处于空闲模式时,CPU会暂停工作,但串口、RAM、中断定、时器/计数器还会继续工作。同时具有断电保存功能,RAM内容保存,振荡器冻结,单片机立即停止所有工作,直到出现下一个中断或硬件复位。3.2时钟电路模块STC89C51单片机通常有两种方式产生时钟信号:一是内部时钟电路产生时钟信号,二是外部时钟电路产生时钟信号。图中的电容C2和C3起到了稳定频率和快速起振的作用,电容值一般在在5~30pF,典型值为30pF。内部时钟方式如图3.1所示:图3.1STC89C51内部时钟电路3.3复位电路模块单片机的复位不仅需要上电复位,有时还需要按键手动复位。本设计使用的便是按键手动复位,并且是通过电平方式来实现按键手动复位的。当按键S4按下,单片机的RST(9)端与电源Vcc接通而实现系统复位。图3.2STC89C51复位电路3.4密码储存电路模块密码存储电路存储管理员密码、原始密码和用户设置的密码。当用户通过输入设备输入密码时,系统自动将输入密码与密码存储电路中的密码进行比较。当密码相同时,根据输入的密码生成相应的操作,当密码不同时,发送提示输入错误。本设计中使用了AT24C02来存储这些密码信息。AT24C02是美国Atmel公司的低功耗CMOS型带电可擦可编程只读存储器,存储空间有256×8位,具有体积小、抗干扰能力强、数据不易丢失、擦写次数多(大于10000次)、工作电压宽(2.5~5.5V)、写入速度快(小于10ms)等特点。I2C总线协议中发送器是指所有将数据传送到总线的器件,而接收器则是指所有从总线接收数据的器件为接收器。主器件产生所有起始停止信号和串行时钟并且控制数据传送。通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上,通过不同的配置进行选择器件。AT24C02正是运用了I2C规程,使用主/从机双向通信,主机(单片机)和从机可以工作在接收机和发射机的状态。通过SCL引脚主机产生串行时钟信号并发出控制字,从而控制总线的传送方向,并为开始和停止提供条件。无论是主机还是从机,确认信号ACK都会在接收到一个字节后发出。密码存储模块的电路如图4.8所示。图中AT24C02的1、2、3都是地址线,用来确定芯片硬件地址的。第8脚和第4脚分别为正、负电源。第5脚SDA的作用为串行数据输入/输出,这是双向I2C总线串行,可以进行数据传送。第6脚SCL是串行时钟输入线,SDA和SCL均需要和正电源各接一个10K的电阻上拉。第7脚需要接地。图3.3AT24C02的电路接线图如图3.3所示,P34接T0端,P35接T1端。AT24C02中带有单片机内部地址寄存器。每当AT24C02进行读写时,该地址寄存器便会自动加1,从而实现对下一个存储单元的读写。单片机以单一的操作方式读取所有字节。并且一次操作最多可同时写入8个字节的数据,大大缩短了写入时间。3.5LCD显示模块模块液晶显示器在我们的日常生活中并不陌生。在正常情况下,一般我们采用的输出端,大多采用以下几种:发光管、液晶显示器、LED数码管。其中比较常用的是发光管和LED数码管,软硬件方面的操作都简单易懂。采用液晶显示器作为单片机系统中的输出器件,主要有以下三个优点:①传统的阴极射线管显示器(CRT)在接收信号时,每一点都会产生明亮的光线,但需要不断地刷新亮点。与液晶显示器(LCD)不同,LCD的每个点在接收信号时都会发光,并始终保持亮度和颜色。因此,液晶显示器画面质亮更高且屏幕不会闪烁让人产生视觉疲劳。②LCD的各个连接端口都是数字式的,通用简单,与单片机系统连接时更为简单方便,易插易拔。③LCD上的数据变化是通过改变显示屏上液晶分子的状态来实现的,而传统的CRT显示器比相同显示区域的液晶显示器更复杂。本设计选择的显示器件是LCD1602。它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。1602液晶也叫1602字符型液晶,它由若干个5X7或者5X11等点阵字符位组成,能够同时显示16x2个字符(16列2行)。一个字符需要一点阵字符位来显示,并且字符的间距和行间距在显示器上都有间隔出来,从而使数据看起来简单明了。3.5.1引脚定义LCD1602具有16个引脚。引脚示例如图3.4。各引脚功能见表3.1。图3.4LCD1602引脚示例表3.1引脚功能表序号名称描述1GND接地2VCC接+5V3VL液晶显示器对比度调整端4RS寄存器选择端5RW读写控制端6EN使能端7-14D0-D7双向数据端15BL+背灯电源正极16BL-背灯电源负极3.5.2指令介绍LCD1602液晶显示器内部共有11条指令。各指令定义及功能见表3.2。表3.2LCD1602指令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L**6置功能00001DLNF**7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容3.5.3显示自定义字符显示自定义字符步骤如下:(1)先将自定义字符写入CGRAM。LCD160内含的CGROM字符代码表中的00H~07H地址中的内容没有定义,它是用户自定义区域。用户可以向CGRAM中定义内容。在设定内容时,要逐行设定,每行对应一个CGRAM,每行5点,共8行。(2)将CGRAM中的自定义字符传送到DDRAM中。首先写入行地址。格式见表3.3。然后设定CGRAM数据的内容。见表3.4。表3.3行地址格式RSR/WDB7DB6DB5-DB3DB2-DB00001字符地址行号表3.4设定CGRAM中的数据格式RSR/WDB7-DB5DB4-DB010一般取‘000’每行5点的字模数据图3.5为LCD1602的内部RAM显示缓冲区地址的映射图:图3.5LCD1602内部地址映射图00~0F、40~4F地址分别对应的是LCD1602液晶屏的上下两行中的每个字符,只要将要写入显示的字符的ASCII码值写到对应的RAM地址上,就可以通过显示屏显示出来。显示电路如图3.6所示。图3.6显示电路3.6键盘扫描电路模块本设计采用的是矩阵键盘来输入密码,这种方法能减少键盘与单片机接口时所占用的I/O线的数目。矩阵键盘又叫做行列式键盘,它的行线是用4条I/O线组成的,再加上4条I/O线组成的列线组成键盘。每个按键都设置在行线和列线的每一个交叉点上。所以键盘中的按键由四条行线和四条列线组成,为4×4个。这种矩阵键盘结构有利于提高单片机系统中I/O端口的利用率。当线路数量较大时,结构与港口线路的差异最为明显。例如,向矩阵键盘添加一行可以组成20个键,而直接使用端口行只能添加一个键。因此,采用4×4的矩阵键盘更适合我们的电子密码锁。图3.7为键盘模块电路图。图3.7键盘模块电路图3.7声音提示模块声音提示模块使用蜂鸣器作为报警器件,当密码输入错误达到三次时,蜂鸣器发出报警声,三秒后停止。蜂鸣器是一个集成的电子扬声器,由直流电压供电。它主要用作电脑、报警器、复印机、电话、打印机、定时器、电子玩具、汽车电子设备等电子设备中的扬声器。蜂鸣器的类型主要可以分为电磁式蜂鸣器和压电式蜂鸣器两种。在电路中用字母“H”或“HA”(旧标准用“FM”、“ZZG”、“LB”、“JD”等)来表示蜂鸣器。蜂鸣器的组成电路包含了三部分:一个三极管、一个蜂鸣器、一个限流电阻。蜂鸣器作为发声元件,两端施加直流电压或方波,发出报警。其主要参数有工作电流、工作电压、声音方向、工作频率、形状尺寸、驱动方式(直流/方波)等。这些都可以根据需要来选择。本设计采用有源蜂鸣器。声音报警电路如图3.8所示。其中,三极管Q1起开关作用,当基极处于低电平时,三极管饱和导通,从而使蜂鸣器发声;而基极处于高电平时,则使三极管截止,蜂鸣器停止发声。图3.8声音报警电路3.8继电器控制模块继电器控制模块实现了继电器功能与接触器功能的集成。主要控制部分线路的切换。在本设计中,控制负载的切换。电磁继电器的部件主要由衔铁、弹簧、电磁铁和动触点、静触点等组成的。首先,线圈应产生电磁效应。因此,应在线圈两端加上电压,使线圈中的电流在线圈中循环。最后,电枢能克服电磁力作用下弹簧的张力,回拉到铁心,从而带动电枢的动触头闭合和静触头闭合。将线圈两端的电压断开,电磁吸力消失,衔铁也失去了反向吸力,在弹簧的拉力下返回原处,从而使动触点打开与原来的静触点打开。通过这种闭合、打开的方式,便可达到电路中的导通、切断目的。由于继电器中的常开和常闭触电,还可以通过以下方式进行辨别:继电器线圈处于接通状态的静触点我们称为“常闭触点”;而线圈未通电时,处于断开状态的静触点,则称为“常开触点”。图3.9继电器控制负载电路继电器控制负载电路如图3.9所示。电路中的继电器由PNP三极管驱动。当阈值低于设定值时,单片机将保持高电平状态,继电器打开。当阈值高于设定值时,单片机由高电平变为低电平,三极管导继电器接通。因此,继电器在电路中起开关作用。它还驱动负载。3.9红外接收模块本设计中,红外控制模块主要用于遥控器的发射电路和电路板上的接收电路。遥控器按键产生的指令信号从发射电路发送到电路板上的接收电路。接收电路对信号进行解码并发送到单片机。由红外发射器产生的T波,转换成相应的电信号,送至后放大器。发射电路由指令键或杠杆、调制电路、驱动电路和发射电路指令编码系统组成。当指令由指令键或操作杆发出时,指令编码电路根据发出的指令生成相应的指令编码信号。指令编码信号由载波进行调制(某一频率的数据和载波进行“和”运算),然后由驱动电路放大功率,最后由发射电路放大功率。发送调制指令编码信号。接收电路由驱动电路、放大电路、调制电路、执行电路、接收电路、指令译码电路等几部分组成。接收电路的功能是接收来自发送器的调制和编码指令信号,然后放大接收到的编码指令信号并发送到解调电路,解调电路将编码指令信号转换为编码信号。最后根据翻译出来的编码信号通过驱动电路和执行电路做出各种指令的具体操作控制。一体化红外接器电路如图3.10所示。图3.10一体化红外接器电路其中VCC端接电源,HW接单片机的P3.3(INT1)端。

第四章软件设计4.1主程序模块本系统软件主要由主程序以及包含的几个子程序组成,需要实现以下几个功能:识别在矩阵键盘输入的密码;用户设置密码的功能;开锁和密码错误报警功能。因此,系统程序分为以下几个模块:主程序模块、扫描键盘键盘键盘扫描子程序模块、用户设置新密码的密码设置子程序模块、实现解锁和密码错误报警功能的解锁子程序模块。主程序设计流程图如图4.1所示:开始开始初始化模式选择输入密码密码比较开锁手动清除B输入旧密码输入新密码存入缓存区再次输入密码是否相同A设置完毕图4.1主程序的流程图首先,初始化后,进行模式选择。模式A:要修改密码,首先输入旧密码,然后输入新密码,新密码存储在缓冲区中,然后再次输入新密码。如果两个密码相同,则设置完成,如果两个密码不同,则重新进入;模式B:解锁模式,识别钥匙后输入密码。系统自动与存储的密码进行比较,密码正确时解锁,密码错误时清除并重新输入。4.2键盘扫描子程序本程序为扫描矩阵键盘输入的密码。键盘扫描键盘扫描有键闭合延时去键抖动扫描键盘找到闭合键计算键值闭合键释放建立有效标志返回建立无效标志NNNY图4.2键盘扫描程序流程图Y如图4.2所示,当扫描键盘时,当关闭无钥匙时,将创建并返回无效标志。当无钥匙关闭时,快速扫描关闭的钥匙以找到关闭的钥匙。否则,将建立并返回无效标志。找到时,计算键值。关闭键被释放。当释放关闭键时,卸载功能知道释放,直到释放为止,当释放关闭键时。发生这种情况时,将创建并返回一个有效标志。4.3密码设置子程序本程序为设置修改用户密码的功能。设置程序设置程序初始化按下设置键输旧密码确认程序所输入旧密码正确?输新密码确认程序设置成功输入次数加1次数>3?报警程序N返回确认程序再次输新密码两次新密码输入相同?图4.3设置密码子程序如图4.3所示,这个为密码修改流程,程序初始化后按下设置键输入旧密码并按“#”确认,当密码正确时,连续两次输入新密码并按“#”确认,当两次密码相同时,设置成功,两次密码不相同则重新输入新密码。当旧密码输入错误时,系统初始化,重新输入密码,并且输入错误次数加一,当次数达到三次是报警。4.4开锁子程序本程序为密码锁开锁的程序。图4.4开锁流程图如图4.4所示,这个便是开锁的操作流程,首先程序初始化,打开开锁键后通过矩阵键盘或遥控器输入6位密码并按确认键,系统内部将输入的密码与系统内保存的密码进行对比,如果密码相同则开锁成功,如果密码不同,则开锁失败,并且错误次数加一,然后重新开始解锁流程,当错误次数达到三次时,报警程序启动。

第五章系统制作与调试5.1焊接流程及注意事项1、焊接流程首先要根据本设计的系统整体电路原理图按照下列顺序依次焊接:(1)首先焊接单片机最小系统的外围电路:晶振电路、复位电路和时钟电路;(2)再根据原理图中LCD的各个管脚序号,焊接到相应的单片机管脚上;(3)然后再焊接稍微复杂点的矩阵键盘,先将电路板与原理图上的线路整理清楚,再将矩阵键盘焊接到电路板上;(4)当矩阵键盘焊接好后便可焊接报警电路;(5)接着再焊接密码锁最关键的开锁电路;(6)最后将剩余的接口与其他电路焊接好;(7)注意接地接口与高电平接口的焊接。2、焊接LCD时的注意事项:(1)在往LCD上焊接PIN金属基时,玻璃末端与电路板要留有一定的距离,保证金属基的灵活,而且焊接的温度也不可过高,需低于260度,并且焊接的时间也不可过长,否则长时间的高温容易对元器件造成损坏。(2)焊接LCD时,必须要先调整好基板与PIN金属基的位置,否则焊接完成后再进行位置的调整时,很容易对基板与PIN金属基造成不可修复性的损伤。焊接LCD时,应当讲电路板放平,摆放好LCD后再进行焊接。(3)焊接LCD时,基板不可以长时间被电烙铁熏烤,并且在清洗电路板的时候要避开基板,以防止损坏封口胶与偏光片。(5)未使用的显示器在表面贴有保护膜,焊接过程中不能撕下,否则融化的焊锡丝和其他化学物质会对显示器造成影响,而且清洗的时候也会让显示器进水。3、单片机焊接注意事项:STC89S51单片机中的dsp和arm微处理器是非常脆弱的,焊接过程中一不小心就会对它们造成严重破坏。因此在焊接单片机时,需特别注意电焊笔的温度,最好能够控制在300度以下,并且焊接的时候,引脚焊接时间也不能过长,以防止引脚温度过高烧毁内部芯片。焊接单片机时,最好选用质量比较好可以调温的电焊笔。4、其他的电子器件焊接须知:一般分四步骤进行。①焊接准备:清理需要焊接的部件。在焊接前,应将焊接在部件周围的部件从外部断开,以便焊接笔能接触到焊点,防止误烧其他部件。②开始焊接:将沾有少许焊锡和松香的电焊笔头部接触被焊元器件的底脚上,讲焊锡均匀涂抹在底脚周围后拿开。如果元器件焊接错误需要拆除时,用电焊笔点在元器件底脚上将焊锡融化,用手拉动元器件,将其拔出。③清洁电路板:首先用湿海绵擦拭电路板。对于不小心喷在电路板上的焊锡,可以用焊锡笔轻轻地触摸,然后将其粘在一起。④检查焊点:仔细查看元器件的焊点处的焊点是否圆滑,元器件焊接是否牢固,有问题时要处理掉。5.2调试1、仿真调试在硬件支持环境下,将proteus和keil程序设计的电路编译成芯片可识别文件,装入proteus原理图芯片进行仿真测试,并对误差进行修正。图5.1仿真成功密码正确运行仿真后,在proteus中通过键位矩阵输入正确的密码“000000”后,LCD显示屏显示“OPEN”,表示输入正确。图5.2密码正确黄灯亮当密码输入正确后,LCD显示屏显示“OPEN”,同时LED灯也亮起来。2、系统调试(1)焊接好的密码锁,需要先输入管理员密码:“131420”,并按“#”号键确认,密码便会重置为“000000”;(2)通过矩阵键盘(或遥控器)输入“000000”,LED灯亮,电磁锁打开,按“*”再次锁住;(3)修改密码:连续两次输入“000000”并按“#”,进入修改界面,输入想要修改的密码“123456”并按“D”确认,再重复一次并可讲密码修改为“123456”;(4)通过矩阵键盘(或遥控器)输入“000000”,显示屏显示ERROR,表示错误,再输入“123456”,显示屏显示OPEN,LED灯亮,电磁锁打开;(5)掉电保存功能:这时,关闭电源再打开,输入“123456”,显示屏显示OPEN,LED灯亮,电磁锁打开,密码仍为“123456”;(6)当密码忘记时,可以输入管理员密码“131420”,密码便可重置为“000000”(7)报警功能:当密码输入错误达到三次后,蜂鸣器报警并锁定键盘。密码锁实物如图5.3所示。图5.3实物图片

结论从经济性和实用性的角度出发,本设计以STC89C51单片机、低功耗CMOSE2PROMAT24C02为主控芯片和数据存储单元,结合外设键盘输入、显示、报警、解锁电路和C语言控制程序,开发了一种具有报警功能的电源。功能,可多次更改密码。子代码锁。设计完全可行,能达到设计目的。同时,本文设计的单片机电子密码锁具有硬件和软件设计简单、开发方便、成本低、安全可靠、操作方便等特点,可应用于住宅、办公等场所的保险箱和文件柜。要求防盗,具有一定的实用性。

参考文献[1]江路明,《模拟电子技术基础》,江西高校出版社,2008年[2]张成,周媛媛等.指纹采集技术及其产品发展趋势.电子技术应用,2004年[3]柴晓光,岑宝炽.民用指纹识别技术,北京:人民邮电出版社,2004[4]丁化成,耿德根等.AVR单片机应用设计,北京:北京航空航天大学出版社,2002[5]张毅刚.单片机原理与应用,北京:高等教育出版社,2006[6]张天凡.51单片机C语言开发详解,北京:电子工业出版社,2008[7]温正,何嘉扬等.AVR单片机开发从入门到精通,中国电力出版,2009[8]李泓.AVR单片机入门与实践,北京航空航天大学,2008[9]佟长福.AVR单片机GCC程序设计,北京航空航天大学出版社,2006[10]张军,宋涛.AVR单片机C语言程序设计实例精粹,电子工业出版社,2009年01月[11]严天峰.单片机应用系统设计与仿真调试,北京航天航空大学出版社,2005[12]周立民.单片机应用系统设计.北京:北京航空航天大学出版社,1990.[13]张维振.无线电设备装接调试与检测维修实用手册[M],北京:银声音像出版社,2004[14]李贵山,杨建平等.微型计算机测控技术。北京:机械工业出版社,2002.[15]张锡富.传感器.北京:机械工业出版社,2004.[16]曹承志.微型计算机控制技术.北京:机械工业出版社,2001.[17]黄贤武.传感器实用电路设计.成都:电子科技大学出版社,1998.[18]李贵山,周征等.检测与控制技术.西安:西安电子科技大学出版社,2006.

致谢本论文是在导师的谆谆教诲和指导下完成的,从选题、构思到定稿无不渗透着导师的心血和汗水;导师渊博的知识和严谨的学风使我受益终身,在此表示深深的敬意和感谢。这次写论文的经历也会使我终身受益,我感受到,做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程。没有认真学习和钻研,自己就不可能有研究的能力,就不可能有自己的研究,就不会有所收获和突破。希望这个经历,在今后的学习和生活中能够继续激励我前进。另外,还要特别感谢我的家人,他们时刻关心我,给我提供了学习的机会,时时刻刻为我鼓劲、为我加油,进而促使我不断成长和进步。同时,也要感谢寝室的室友以及所有关心我的朋友,感谢他们陪伴我走过了很多美好的时光,在我遇到困难时他们关心我、帮助我。在完成毕业论文的过程中,很多朋友都给了我无私的帮助和支持,在此表示由衷的谢意!最后,因本人水平有限,论文肯定还有不少不足之处,恳请各位老师批评指正,我希望可以有机会继续去完善,我将不断努力继续充实自己。

附录[1]系统整体电路图[2]仿真图[3]程序主要源代码#include<REG52.h>#include<intrins.h>#defineLCM_DataP0#defineucharunsignedchar#defineuintunsignedint//#definew6 //定义密码位数//时间计算#defineImax14000//此处为晶振为11.0592时的取值,#defineImin8000//如用其它频率的晶振时,#defineInum11450//要改变相应的取值。#defineInum2700#defineInum33000sbitlcd1602_rs=P2^7;sbitlcd1602_rw=P2^6;sbitlcd1602_en=P2^5;sbitScl=P3^4; //24C02串行时钟sbitSda=P3^5; //24C02串行数据sbitALAM=P2^1; //报警 sbitKEY=P3^6; //开锁sbitopen_led=P2^2; //开锁指示灯bitoperation=0; //操作标志位bitpass=0; //密码正确标志bitReInputEn=0; //重置输入充许标志 bits3_keydown=0; //3秒按键标志位bitkey_disable=0; //锁定键盘标志unsignedcharcountt0,second; //t0中断计数器,秒计数器//解码变量unsignedcharIm[4]={0x00,0x00,0x00,0x00};//全局变量ucharf;unsignedlongm,Tc;unsignedcharIrOK;//voidDelay5Ms(void);unsignedcharcodea[]={0xFE,0xFD,0xFB,0xF7}; //控盘扫描控制表unsignedcharcodestart_line[] ={"password:"};unsignedcharcodename[] ={"===CodedLock==="}; //显示名称unsignedcharcodeCorrect[] ={"correct"}; //输入正确unsignedcharcodeError[] ={"error"}; //输入错误unsignedcharcodecodepass[] ={"pass"};unsignedcharcodeLockOpen[] ={"open"}; //OPENunsignedcharcodeSetNew[] ={"SetNewWordEnable"};unsignedcharcodeInput[] ={"input:"}; //INPUTunsignedcharcodeResetOK[] ={"ResetPasswordOK"};unsignedcharcodeinitword[] ={"Initpassword..."};unsignedcharcodeEr_try[] ={"error,tryagain!"};unsignedcharcodeagain[] ={"inputagain"};unsignedcharInputData[6]; //输入密码暂存区unsignedcharCurrentPassword[6]={1,3,1,4,2,0}; //当前密码值unsignedcharTempPassword[6];unsignedcharN=0; //密码输入位数记数unsignedcharErrorCont; //错误次数计数unsignedcharCorrectCont; //正确输入计数unsignedcharReInputCont; //重新输入计数unsignedcharcodeinitpassword[6]={0,0,0,0,0,0};//==============================主函数===============================voidmain(){ unsignedcharKEY,NUM; unsignedchari,j; P1=0xFF; EA=1; TMOD=0x11; IT1=1;//下降沿有效 EX1=1;//外部中断1开 TH0=0;//T0赋初值 TL0=0; TR0=0;//t0开始计时 TL1=0xB0; TH1=0x3C; ET1=1; TR1=0; Delay400Ms(); //启动等待,等LCM讲入工作状态 lcd_init(); //LCD初始化 write_1602com(yi);//日历显示固定符号从第一行第0个位置之后开始显示 for(i=0;i<16;i++) { write_1602dat(name[i]);//向液晶屏写日历显示的固定符号部分 } write_1602com(er);//时间显示固定符号写入位置,从第2个位置后开始显示 for(i=0;i<16;i++) { write_1602dat(start_line[i]);//写显示时间固定符号,两个冒号 } write_1602com(er+9); //设置光标位置 write_1602com(0x0f); //设置光标为闪烁 Delay5Ms();//延时片刻(可不要) N=0; //初始化数据输入位数 while(1) { if(key_disable==1) Alam_KeyUnable(); else ALAM=1; //关报警 KEY=keynum(); if(KEY!=0||IrOK==1) { if(key_disable==1) { second=0; } else { NUM=coding(Im[2],KEY);

温馨提示

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

评论

0/150

提交评论