毕业设计(论文)-基于单片机的电子密码锁电路设计.doc_第1页
毕业设计(论文)-基于单片机的电子密码锁电路设计.doc_第2页
毕业设计(论文)-基于单片机的电子密码锁电路设计.doc_第3页
毕业设计(论文)-基于单片机的电子密码锁电路设计.doc_第4页
毕业设计(论文)-基于单片机的电子密码锁电路设计.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

陕西理工学院毕业设计基于单片机的电子密码锁电路设计(陕理工物理与电信工程学院电子信息科学与技术专业电信1202班,陕西汉中 723001)指导教师:摘要设计了基于单片机的智能密码控制系统,对系统的硬件设计和软件实现进行了详细的描述。本设计从经济实用的角度出发,采用美国Atmel公司的单片微型计算机STC89C51作为主控芯片与数据存储器单元,结合外围电路的键盘输入、LCD液晶显示、报警、开锁等,用C语言编写主控芯片的控制程序,实现了一款可通过程序多次更改密码,具有报警功能的电子密码控制系统。经实验证明,该密码控制系统设计方法合理,简单易行,符合家庭、办公室的用锁要求,具有一定的应用价值。关键词 密码控制;单片机;报警The Design of Miciocomputer Control Electronic LockHuan Wang(Grade12,Class2,Major Electronic Information Science and Technology,Physics Dept.,Shaanxi University of Technology,Hanzhong 723000,Shaanxi)Tutor:Weixing SongAbstract: This introduces the intelligent password based on single chip control system, the system hardware design and software implementation are described in detail. From the economical point of view, by the United States Atmels STC89C51 microcontroller as the master chip and the data memory unit, combined with the external keyboard, LCD liquid crystal display, alarm, unlock, using C language main chip of the control procedures, designed a program many times can change the password, the password with the alarm function of the electronic control system. The experiment proved that the password control system design is reasonable, simple, in line with household, office lock request is worth using.Key words: Password control, SCM, Alarm 目 录引言11 方案的比较与选择11.1 采用数字电路控制方案11.2 采用单片机控制方案12 主要元器件简介22.1 主控芯片STC89C5122.2STC89C51的性能简介22.2.1 STC89C51引脚功能说明22.2.2 STC89C51芯片的内部结构32.3AT24C02存储芯片43 系统硬件设计43.1 工作原理43.2 LCD显示模块53.3 键盘设计63.4 声音提示模块73.5 继电器控制模块84 系统软件设计84.1 模块介绍84.1.1主程序模块84.1.2 键盘扫描及识别子程序84.1.3 显示子程序84.2 主程序流程图94.3 按键功能流程图94.4 密码比较和报警流程图94.5开锁流程图95 系统软硬件调试105.1 系统硬件调试105.2系统软件调试106 电子密码锁使用说明107 结束语10致谢11参考文献11附录A 密码锁原理图12附录B 源程序13引言在安全技术防范领域内,具有防盗报警功能的电子密码控制系统逐渐代替传统机械式密码控制系统,克服了机械式密码控制系统的密码量少、安全性能差等缺点,使电子密码控制系统无论在技术上还是在性能上都有很大的提高。随着大规模集成电路技术的迅速发展,特别是单片微型计算机的问世,出现了带微型处理器的智能密码控制系统,它除了具有传统电子密码控制系统的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码控制系统具有较高的安全性、可靠性,它的应用日益广泛。电子密码控制系统是通过密码输入来控制电路或是芯片工作的,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。电子密码控制不论性能还是安全性都大大超过了机械类。其特点如下:(1)保密性能好,编码量多,远远大于机械控制。随机开锁成功的概率几乎为零。(2)密码可变,用户可以随时更改电子锁的密码,防止密码被盗,同时也可以避免因人员的更替而使控制的保密性下降。(3)误码输入保护,当输入密码多次错误时,报警系统会自动启动。(4)无活动零件,不会磨损,使用寿命长。(5)灵活性好,不像机械锁必须佩带钥匙才能开锁。(6)电子密码控制系统具有操作简单,一学即会的特点。由于电子器件的限制,以前开发的电子密码控制系统,其种类不多,保密性差,最基本的就是仅仅依靠最简单的模拟电子开关来实现功能,制作简单但是很不安全,后来出现了基于EDA来实现的,其电路结构复杂,电子元件比较繁多,也有使用早先的20引脚的2051系列单片微型计算机来实现的,但密码简单,易破解。随着电子元件的进一步发展,电子密码控制系统也出现了很多的种类,功能也日益增多,使用更加方便快捷,安全保密性更强,由以前的单密码输入发展到现在的密码加感应元器件,实现了更为真正的电子加密系统,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元器件的发展以及人们对保密性需求的提高出现了越来越多的电子密码控制系统。由于数字、字符、图形图像、人体生物特征和时间等因素均可以成为电子信息,组合使用这些信息能使电子防盗密码控制获得更高的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗密码控制系统。组合使用信息也能够使电子防盗密码控制系统获得无穷扩展的可能。可以看出组合使用电子信息将是电子密码控制系统今后发展的一个趋势。本设计采用单片微型计算机为主控芯片,结合外围的电路,组合成电子密码控制系统,采用0-9六位数字实现简单密码锁功能。用户想要打开电子密码锁,必先通过提供的按键输入正确的密码才能开锁,密码输入错误有提示,为了提高安全性,当密码输入错误超过三次时,蜂鸣器报警并且锁定键盘。1 方案的比较与选择1.1 采用数字电路控制方案用74LS112双JK触发器构成的数字逻辑电路作为密码控制系统的控制核心,一共设置九个键作为用户输入键,其中有效的密码按键只有四个,其它的按键作为干扰按键,如果按下的键为干扰按键,此时键盘输入电路将会自动清零,原先输入的密码将视为无效,需要再一次输入密码;如果用户在十秒内没有输入密码(正常情况下,输入时间不会超过十秒,如果用户觉得此设计不方便,可以对电路进行修改)电路将报警十五秒,若电路连续报警三次,电路将锁定键盘三分钟,防止他人非法操作。采用数字电路设计方案时虽然设计简单,但控制的准确性和灵活性比较差1。故不予采用。1.2 采用单片机控制方案由于单片微型计算机种类繁多,各种型号都有一定的应用环境,因此在选用时要多加比较,合理选择单片机,才可获得最佳的性价比。一般来说,在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些还有一些最基本的,比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片微型计算机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还要受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。基于以上因素本设计选用单片机STC89C51单片微型计算机作为本次设计的核心元件,利用单片微型计算机灵活的编程设计和其丰富的I/O端口,及其控制的准确性,实现基本的密码控制功能。在单片微型计算机的外围外接输入按键电路,用于密码的输入和一些功能的控制,外接数码管显示器用于显示输入,提示密码锁状态的作用。当用户需要开锁时,先按键盘的数字键09输入密码。密码输完后按下确认键#,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警并且锁定键盘。用户需要修改密码时,要在开锁的状态下,再次输入正确的密码并按下 # 键,此时听到两声提示,输入新的六位密码并按 D 键,再重复输入一次新密码并按 D ,会听到两声提示音,表示重设密码成功,内部保存新密码并存储2。如两次输入的新密码不一样,则重设密码失败。比较可以看出方案二的控制较灵活,准确性能好,并且保密性强还具有扩展功能,根据现实生活的需要本设计采用此方案。2 主要元器件简介2.1 主控芯片STC89C51图2.1 STC89C51芯片引脚图STC89C5111STC89C51单片微型计算机是低功耗、高性能CMOS8位微控制器,它有 4K 在系统可编程Flash 的存储器,芯片图如下2.1所示。在单芯片上,拥有灵巧的8 位CPU,系统可编程Flash等功能,这使得STC89C51能为大部分嵌入式控制系统提供灵活、有效的服务。STC89C51单片机具有以下标准功能:4k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,2个16 位 定时器/计数器,一个六向量二级中断结构,全双工串行口。另外 STC89C51 可降至0Hz 静态逻辑操作,可选择节电模式,支持两种软件。空闲的模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。在掉电保护的方式下,RAM内部内容就会被保存,继而冻结振荡器,单片机停止一切工作,一直到下一个中断到来或者硬件复位为止。最高的运作频率为35Mhz,6T/12T可选。STC89C51的主要功能:1、兼容MCS51指令系统;2、4K反复擦写Flash ROM;3、32个双向I/O口;4、256x8bit内部RAM;5、两个16位可编程定时/计数器中断;6、时钟频率为024MHz,7、两个串行中断;8、可编程UART串行通道;9、两个外部中断源;10、6个中断源,11、两个读写中断口线;12、三级加密位;13、低功耗空闲及掉电模式,14、软件设置睡眠及唤醒功能3。2.2 STC89C51的性能简介2.2.1 STC89C51引脚功能说明 主电源引脚(两根):VCC(Pin40):电源输入,正5V电源接入;GND(Pin20):地线接入。外接晶振引脚(两根):XTAL1(Pin19):单片机内部振荡电路的输入端;XTAL2(Pin20):单片机内部振荡电路的输出端。控制引脚(四根):RST/VPP(Pin9):复位引脚,当引脚上出现两个机器周期的高电平时,单片微型计算机将复位;ALE/PROG(Pin30):地址锁存允许信号;PSEN(Pin29):外部存储器读选通信号;EA/VPP(Pin31):程序存储器的内外部选通,接入低电平从外部的程序存储器读指令,如果接高电平时则从内部的程序存储器读指令。可编程输入/输出引脚(三十二根):STC89C51单片机有四组八位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有八位(八根引脚),共三十二根;P0口(Pin39Pin32):8位双向I/O口线,名称是P0.0P0.7;P1口(Pin1Pin8): 8位准双向I/O口线,名称是P1.0P1.7 ;P2口(Pin21Pin28):8位准双向I/O口线,名称是P2.0P2.7 ;P3口(Pin10Pin17):8位准双向I/O口线,名称是P3.0P3.7;频率35兆赫兹,6T/12T可供选。最小系统包括单片机及所需必要电源、时钟、复位等各个部件,可使单片机一直处于正常运作状态。电源、时钟等是单片机运行的必备条件,最小系统可作为应用系统的核心部分,通过对其进行存储器的扩展、A/D的扩展等,能使单片机完成较为复杂的功能4。STC89C51是有ROM/EPROM的单片机,所以,这种芯片构成的最小系统简单且相对可靠。当我们使用STC89C51单片机构成最小应用系统时,只需要将单片机接上时钟电路和复位电路,结构如下图2.2所示,由于受集成度的限制,最小应用系统只可用作于一些小型的控制单元。时钟电路复位电路STC89C51I/O口图2.2单片机最小系统原理框图2.2.2 STC89C51芯片的内部结构(1) 时钟电路STC89C51单片机时钟信号通常由两种方式形成:一种是内部时钟方式,第二是外部时钟方式。在STC89C51单片机内部存在一振荡电路,只需在单片机XTAL1(18)和XTAL2(19)引脚外接石英晶体(简称晶振),就能够构成自激振荡器,并能够在单片机的内部产生时钟脉冲信号。图2.3 STC89C51复位电路(2) 复位电路复位电路如图2.3所示。在STC89C51单片机RST引脚引入高电平,并且保持两个机器周期时,单片机的内部就会执行复位操作(若该引脚持续保持高电平,单片机将会处于循环复位状态)。在最简单的上电自动复位电路中,上电自动复位是由外部复位电路的电容充电和放电来实现。只在要VCC的上升时间不大于1mS,就能够实现自动上电复位。除上电复位外,有时候还需要按键来手动复位。本次设计就是通过按键手动复位。按键手动复位有两种方式,分别为:电平方式和脉冲方式。电平复位是通过RST(9)端与电源VCC接通来实现的。(3) STC89C51中断技术中断技术主要被用于实时的监测及控制,它要求单片机能够及时地响应中断请求源提出的服务请求,并且作出快速的回应、并及时处理。这是通过片内中断系统来实现的。在中断请求源发出中断请求时,假如其中断请求被允许,单片机将会暂时中止正在执行的主程序,继而转到中断服务处理程序,然后处理中断服务请求。当中断服务处理程序处理完中断服务请求之后,再次返回到之前被中止的程序之处(断点),继续执行此前被中断的主程序。假如单片机没有中断系统,单片机将会浪费大量时间在查询是否有服务请求发生的定时查询操作上面。使用中断技术完全消除了单片机查询方式中的等待现象,降低了时间浪费,很大程度上提高了单片机的工作效率及实效性5。2.3 AT24C02存储芯片AT24C02是低功耗CMOS型E2PROM,源自Atmel公司,其内是2568位存储空间,拥有工作电压宽(2.55.5 V)、擦写次数较多(超于10000次)、写入速度快(不超过10 ms)、抗干扰的能力强、数据不易丢失安全性高、体积较小等的特点。并且其采用了I2C总线式进行数据读写串行器件,占用空间小资源少和IO线,且支持在线编程,在数据实时的存取时特别方便。AT24C02含有的片内地址寄存器。每次写入读出一个数据字节后,他的地址寄存器将会自动加1,以便能够实现对下一个存储单元的读写过程。所有的字节都会以一种单一的操作方式读取。为了能够降低总写入时间,单次操作可写入达到8个字节的数据。I2C总线是一种能够用于IC器件之间连接的二线制的总线。它由SDA(串行数据线)和SCL(串行时钟线)两根线连接到总线上的器件之间进行信息传递,并且根据地址进行辨识各个器件。AT24C02正是应用了I2C规程,运用主从机双向通信,主机(通常为单片机)及其从机(AT24C02)均可运作于接收器和发送器的状态6。其主机将会产生串行时钟信号(通过SCL引脚)并能够发出控制字,并控制总线传送方向,而且会产生开始和及停止的条件。不管是主机或者从机,只要接收一个字节就必须得发出一个确认信号ACK。AT24C02的控制字是由8位二进制数组成的,当开始信号发出后,主机将会发出控制字,以便选择从机并且控制总线传递的方向。图示2.5为AT24C02电路接线图,图AT24C02的1、2、3脚为三条地址线,被用作确定芯片的硬件地址。第8脚和第4脚依次是正电源、负电源。第5脚SDA是串行数据的输入/输出,数据将会通过这条双向的I2C总线串行进行传送,第6脚SCL是串行时钟输入线, SDA及SCL都要求在正电源间各接一个10 k的上拉电阻。第7脚则要接地。24C02中是有片内地址寄存器。在每次写入或读出一个数据字节时,他的地址寄存器都会自动加1,以便于实现对下一个存储单元的读写。所有的字节都会用单一操作方式来读取。为了能够降低总写入时间,单次操作可以写入达8个字节的数据7。 图2.5 AT24C02的电路接线图3 系统硬件设计3.1 工作原理本设计主要是由单片微型计算机、独立式按键、数码管显示器及密码存储等几部分构成。其中输入数字密码和各种功能的进行是通过按键来实现的。用户可通过单片机连接的独立式按键输入密码,之后通过单片机对用户输入的密码和系统保存的密码进行比对,进而判断密码是不是正确的,再控制引脚高低电平传到开锁电路或报警电路来是否控制开锁或者报警。其系统共两部分组成,分别为硬件部分及软件部,其硬件部分则是由六部分组成,分别为电源输入、键盘输入、复位、晶振、显示和报警部分,软件部分则是由主程序、初始化程序、数码管显示程序、键盘扫描程序、启动程序、关闭程序、键功能程序、密码设置程序及其延时程序等几个部分组成8。系统原理框图如下图3.1所示。按键输入复位电路晶振电路电源输入显示电路报警电路开锁电路STC89C51图3.1电子密码锁原理框图 3.2 LCD显示模块LCD1602A 为一种常用工业字符型液晶,它可以同时显示162 ,32个字符。(16列2行)。在我们的日常生活中,人类对于液晶显示器并不感到陌生。液晶显示器已被广泛地应用于很多电子产品,例如我们常见的计算器、万用表、电脑显示屏、电子表、液晶电视显示屏,在我们使用的家用电子产品中可以看到,主要是数字、专用符号和图形被显示。通常在单片微型计算机的人机交流界面中,最常用的输出方式有:发光管、LED管、液晶显示器。其中发光管和LED管最为常用,应用在软硬件都是比较简单的9。单片机系统中液晶显示器作为输出器件的优点:因为液晶显示器各个点接收信号后会一直保持固有色彩和亮度,持久发光,不需要不断刷新新亮点,所以使用液晶显示器画质高不会闪烁。 液晶显示器是数字式,和单片机系统的接口相对简单可靠,操作十分方便。 液晶显示器是由显示屏上电极控制液晶分子状态来达到显示目的,在重量上比传统的要轻得多。液晶显示器的能耗主要是消耗在内部的电极和驱动上,因此耗电量比其它显示器要少得多。 (1)引脚说明:第1脚:GND是地电源; 第2脚:VCC接5V正电源; 第3脚:V0是液晶显示器对比度调整端,接正电源时的对比度最弱,接地的对比度是最高的,但是对比度过高则会产生“鬼影”,在操作时可通过10K的电位器调来整对比度; 第4脚:RS是寄存器选择,高电平时选择数据寄存器、低电平时将会选择指令寄存器;第5脚:R/W是读写信号线,高电平时将会会进行读操作,低电平时则会进行写操作。如果是RS和R/W共同为低电平时则可以写入指令或显示地址,当RS 和R/W分别为低电平和高电平时,就可以读忙信号,如果RS是高电平R/W为低电平时,就可以写入数据; 第6脚:EN端是使能端,如果当EN端从高电平跳变为低电平时,液晶模块则执行命令; 第714脚:D0D7是8位双向数据线;第15脚:背光源正极; 第16脚:背光源负极10。(2)1602LCD的RAM地址映射及标准字库表LCD1602液晶模块内部字符发生存储器,它已经不断地存储了160个不同的点阵字符图形,这些字符图分别是:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有其固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,就能看到字母。它的读写操作、屏幕和光标的操作都是通过指令编程来实现的(说明:1为高电平,0为低电平)。指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移。S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示。 C:控制光标的开与关,高电平表示有光标,低电平表示无光标。B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线。N:低电平时为单行显示,高电平时双行显示。F:低电平时显示5X7的点阵字符,高电平时显示5x10的点阵字符 (有些模块是 DL:高电平时为8位总线,低电平时为4位总线。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读出忙信号和光标地址。BF为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙,模块就能接收相应的命令或者数据。指令10:写数据。指令11:读数据11。图3.2 液晶显示模块电路图液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。液晶显示的原理是利用液晶的物理特性, 通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。如图3.2为液晶显示模块电路。3.3 键盘设计本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。 每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有NM个按键的键盘。 在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。 44矩阵键盘的工作原理 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)12。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。扫描原理 把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的入,那就代表那一行所接收到的扫描码是同一个bit,而读入扫描码的则是水平,扫描的动作是先输入扫描码,再去读取输入的值,经过比对之后就可知道是哪个键被按下。 比如说扫描码送入01111111,前面的0111是代表此时扫描第一行P1.0列,而后面的1111是让读取的4行接脚先设为VDD,若此时第一行的第三列按键被按下,那读取的结果就会变成01111101(注意1111变成1101),其中LSB的第三个bit会由1变成0,这是因为这个按键被按下之后,会被垂直的扫描码电位short,而把读取的LSB的bit电位拉到0,此即为扫描原理13。 由于这种按键是机械式的开关,当按键被按下时,键会震动一小段时间才稳定,为了避免让单片机误判为多次输入同一按键,我们必须在侦测到有按键被按下,就延迟一小段时间,使键盘以达稳定状态,再去判读所按下的键,就可以让键盘的输入稳定。图3.3为键盘整体模框图。图3.3 键盘整体模框图3.4 声音提示模块蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 ;蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。图3.4 声音报警电路压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成。当接通电源后(1.515V直流工作电压),多谐振荡器起振,输出为1.52.5千赫兹的音频信号,阻抗匹配器推动压电蜂鸣片发声。压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。通电时将金属振动膜吸下,不通电时依振动膜的弹力弹回。蜂鸣器驱动电路一般都包含以下几个部分:一个三极管、一个蜂鸣器、一个限流电阻。蜂鸣器为发声元件,在其两端施加直流电压(有源蜂鸣器)或者方波(无源蜂鸣器)就可以发声,其主要参数是外形尺寸、发声方向、工作电压、工作频率、工作电流、驱动方式(直流/方波)等。这些都可以根据需要来选择。本设计采用有源蜂鸣器。三极管Q1起开关作用,其基极的低电平使三极管饱和导通,使蜂鸣器发声;而基极高电平则使三极管关闭,蜂鸣器停止发声。如图3.4为声音报警电路。本设计中选用9mm5.5mm的有源蜂鸣器,其主要参数为5伏30毫安,电压可在47V的范围内变化,现取蜂鸣器的工作电流IL为20毫安,选用9012三极管,设其值为100,故有: 此处取R1为20千殴。3.5 继电器控制模块图3.5 继电器控制负载电路电磁继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)释放。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。继电器一般有两股电路,为低压控制电路和高压工作电路。电路中继电器室通过PNP型三极管驱动,当阀值超过设定时,单片机会由高电平跳变成低电平,三极管导通继电器吸合,继电器起开关作用,可以驱动负载。如图3.5为继电器控制负载电路。已知继电器参数为:额定吸合电流100毫安,额定工作电压为5伏。二极管的点亮电流为10毫安,则继电器吸合时,三极管的饱和集电极电流为110毫安。则有:图4.1主程序流程图 此处取R1为2200殴,R2为240殴。电路原理总图见附录A。4 系统软件设计4.1 模块介绍该系统的软件设计分为以下几个模块:主程序模块、键盘扫描及识别子程序和显示子程序。4.1.1 主程序模块主程序主要完成初始化、设置中断向量、检查有无按键按下、以及调用显示等等。4.1.2 键盘扫描及识别子程序键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。4.1.3 显示子程序由于是分屏显示数据,所以就要用到5个显示子程序,分别是:关闭状态显示子程序(DIS_A)、开锁状态显示子程序(DIS_B)、密码输入状态显示子程序(DIS_C)、密码输入错误后的提示子程序(DIS_D)。密码在规定的时间内输入错误次数超过3次后的锁定状态显示子程序(DIS_E)。4.2 主程序流程图如图4.1所示为主程序流程图,开始接上电源,程序进行初始化设置,然后在键盘上输入密码,此系统进行键盘扫描,然后启动程序,进行保护,再次在键盘上输入密码,系统进行扫描,如和之前一样,则执行程序,如不是,则执行另一种程序,最后结束14。4.3 按键功能流程图如图4.2为按键功能流程图,在按键当中,有与清除、确认的程序相对应的按键,并按顺序与输入的数相比较,当输入正确时,进入密码程序,错误时进行清除。图4.2 按键功能流程图4.4 密码比较和报警流程图如图4.3为密码比较和报警流程图,在输入密码时,每输入以为系统都会自动与所设密码进行比较,如果正确则继续进行下一位。用户可以通过“清除”按键来清除输入错误的密码。如果密码输入正确程序则自动开启密码锁,如果输入密码错误则提示密码错误,并返回进行第二次密码输入。密码输入错误三次后则启动报警系统15。4.5 开锁流程图图4.3密码比较和报警流程图图4.4开锁流程图如图4.4为开锁流程图,开始时输入密码,如果正确,则开锁成功。如果输入错误则不开锁并有提示,当错误次数累计达到三次,则执行报警程序并锁定键盘15S,15S后错误次数和信号清零。4.6 单片机资源的分配密码的输入与判断需要定义4个变量。原始密码存储在数组init_val6中。键盘输入的密码存储在数据show_val6中,变量 key_index的值表示当前按键是六位密码中的哪一位,每输入一个密码数字该变量增一。密码输入错误的次数暂存在变量error_num中。计时功能需要5个变量。模式变量cnt_state存储计时属于什么状态,0表示待机计时,1表示密码正确的计时,2表示密码错误3次的计时。三个变量(cnt_val_15s,cnt_val_5s, cnt_val_4s)分别实现待机、密码正确和密码错误3次后的计时工作。定时器T1每250ms产生一次中断,变量T1_cnt记录定时器溢出中断的次数,当记录到4000时表示计时1秒。5 系统软硬件调试5.1 系统硬件调试在设计平台中,将单片机的P1.0-P1.7分别与8个独立式键盘通过插线连接起来,将P3.0-P3.3分别与4个发光二极管连接起来,P3.4与蜂鸣器的输入连接起来。在连接好电路后,发现电路中的液晶显示器部分不工作,检查电路中的电源接口、单片机芯片管脚、24C02芯片管脚均正常,液晶显示器的管脚也正常,之后在液晶显示器3管脚和正电源之间串联10k的电阻,在3管脚和地之间串联1.5k的电阻,这时候显示器正常工作。5.2系统软件调试keil软件中,在“文件新建文件”中,新建C语言源程序文件,编写相应的程序。在“文件新建项目”的菜单中,新建项目并将C语言源程序文件包括在项目文件中。在“项目编译”菜单中将C源文件编译,检查语法错误及逻辑错误。在编译成功后,产生以 “*.hex”和“*.bin” 后缀的目标文件。在keil中将程序文件编译成目标文件后,将产生的“hex文件”保留,在ISIS 7 Professional仿真软件上画出电路接线图,完成后将“keil”中产生的“hex”文件插入到51单片机芯片中保存并进行仿真。然后检查所编写的程序是否达到题目的要求。6 电子密码锁使用说明此次密码锁设计为6位密码,若密码输入正确,则锁打开,液晶屏显示open。密码可以自己修改,修改时必须为密码锁打开状态。为防止误操作,修改密码时,新密码得输入两次才可生效。若密码输入错误次数超过3次,蜂鸣器报警并且键盘锁住。芯片24C02有复位、掉电保存密码功能。首次使用时,输入131420,对密码进行初始化,当液晶屏显示initpassword,证明密码初始化完成,此时的密码为000000。如密码忘记就再输入131420初始化,然后密码就是000000。更改密码时,在开锁状态下,再次输入正确的密码并按下#键,此时听到两声提示,输入新的六位密码并按D键,再重复输入一次新密码并按D,会听到两声提示音,表示重设密码成功,内部保存新密码并存储。如两次输入的新密码不一样,则重设密码失败。按下*或者复位键,可以关锁并退出。7 结束语纵观现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。在单片机产生后,就将控制这些东西变为智能化了,只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了。所以,它的魔力不仅是在现在,在将来将会有更多的 人来接受它、使用它。据统计,我国的单片机年容量已达3亿片,且每年以大约20%的速度增长,但相对于世界市场我国的占有率还不到1%。特别是沿海地区的玩具厂等生产产品多数用到单片机,并不断地辐射向内地。所以,学习单片机在我国是有着广阔前景的。本设计是基于单片机的电子密码锁控制系统,主要核心就是80C51单片机。通过本设计,综合运用大学几年所学知识去分析和解决问题,深刻的了解和掌握了单片机的控制原理和设计方法。不仅加深和回顾了单片机等专业知识而且积累到单片机控制技术在实际中的经验。由于自身缺少在实践设计的经验,所以在这次的设计中我自身也发现了很多不足的方面,从论文的本身的方面的结构到具体设计中硬件设计知识和经验的不足使得设计和论文存在的很多的问题,但是我的导师宋卫星老师的细心指导下,经过前后多次的修改和完善,最终完成了毕业设计的任务。单片机控制技术领域是一个有着非常潜力和前景的专业技术,我相信通过这次毕业论文的设计,不仅加深和掌握了这一专业技术,而且也提高了自己的专业能力和综合素质,为我的大学生涯画下一个完整的句号。致谢在这次毕业设计的过程中,指导老师宋卫星老师给予了我很大的帮助,提供了相关的资料,对我的毕设作品给予了指导和支持。使我顺利圆满的完成了此次毕业设计。在此,向宋卫星老师表示衷心的感谢!同时,也要感谢学校提供计算机等设施,使我的设计能够调试。大学四年是我一生的重要阶段,是学习专业知识及提高各方面能力为以谋生发展的重要阶段。从跨入大学的校门的那一刻起我就把这一信念作为人生的又一座右铭。宋卫星老师的亲切关怀和精心指导,虽然有繁忙的工作,但仍抽出大量时间给予我学术上的指导和帮助,从设计草案的确定和修改,开题报告,中期检查,后期详细设计,每一步都是在老师的帮助下完成的,从这个过程中获益不浅。老师严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。通过本次论文使我掌握了基本的设计方法。在此,向老师们致以深深的敬意和由衷的感谢。最后,再次感谢学校及领导几年来对我的培养和教育,以及物电学院的各位老师和许多的朋友、同学在各个方面给予了我很多的帮助和支持,让我坚持到了最后,谢谢你们!参考文献1董海棠,张旭,冯中毅.基于单片机的电子密码锁设计J.自动化与仪器仪表,2014,(10):12-18. 2蔡培中,李旭.具有断电密码记忆功能的电子密码锁群设计J.机械制造与自动化,201,(5):8-16.3周功明.基于AT89C2051单片机的防盗自动报警电子密码锁系统的设计J.绵阳师范学院学报,2007,(5):6-12.4韩团军.基于单片机的电子密码锁设计J.国外电子测量技术,2010,(7):11-18.5张云,周明辉,周海林,李爱华,孟玮.基于AT89S51的多功能电子密码锁设计J.电子设计工程, 2010,(6):5-16.6王大刚.密码锁的设计J.现代电子技术,2005,(13):13-18.7陈丹萍.基于AT89S51单片机的电子密码锁设计J.大众科技,2010,(6):23-31.8李朝青.单片机原理及接口技术(第三版)M.北京:北京航空航天大学出版社,2006.51-187.9辛友顺,胡永生,薛小铃.单片机应用系统设计与实现M.福州:福建科学技术出版社,2005.88-245.10谭浩强.C语言教程设计(第三版) M.北京:清华大学出版社,2005.21-55.11朱清慧,张凤蕊.Proteus教程M.北京:清华大学出版社,2008.201-398.12姜彬,居小琴.基于AT89C51单片机的电子密码锁系统设计J.无线互联科技,201,(12):45-69.13王云涛,王楠,朱传琴.浅谈多功能数字钟的设计J.山东电力高等专科学校学报,2005,(04):71-72. 14 ATMEL Microcontro Arvin Grabel, Microelectronics.McGraw-Hill Book CompanyM. New York,2001,7.15Guihua Cui,M. R. Luo, B. Rigg et a1.Colour-differnce evaluationr using CRT colours.part I:date gathering and testing colour differenc formulaeJ.Col.Res.Appl,2001.图A 密码锁设计总原理图附录A 密码锁原理图附录B 源程序#include #include#define LCM_Data P0#define uchar unsigned char #define uint unsigned int#define w 6/定义密码位数sbit lcd1602_rs=P27;sbit lcd1602_rw=P26;sbit lcd1602_en=P25;sbit Scl=P34;/24C02串行时钟sbit Sda=P35;/24C02串行数据sbit ALAM = P21;/报警sbit KEY = P36;/开锁sbit open_led=P22;/开锁指示灯bit operation=0;/操作标志位bit pass=0;/密码正确标志bit ReInputEn=0;/重置输入充许标志bit s3_keydown=0;/3秒按键标志位bit key_disable=0;/锁定键盘标志unsigned char countt0,second;/t0中断计数器,秒计数器void Delay5Ms(void);unsigned char code a=0xFE,0xFD,0xFB,0xF7; /控盘扫描控制表unsigned char code start_line

温馨提示

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

评论

0/150

提交评论