毕业设计(论文)基于单片机的电子密码锁设计.doc

上传人:文库蛋蛋多 文档编号:3980896 上传时间:2023-03-30 格式:DOC 页数:48 大小:1.19MB
返回 下载 相关 举报
毕业设计(论文)基于单片机的电子密码锁设计.doc_第1页
第1页 / 共48页
毕业设计(论文)基于单片机的电子密码锁设计.doc_第2页
第2页 / 共48页
毕业设计(论文)基于单片机的电子密码锁设计.doc_第3页
第3页 / 共48页
毕业设计(论文)基于单片机的电子密码锁设计.doc_第4页
第4页 / 共48页
毕业设计(论文)基于单片机的电子密码锁设计.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机的电子密码锁设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的电子密码锁设计.doc(48页珍藏版)》请在三一办公上搜索。

1、目 录摘要IAbstractII1绪论11.1课题背景11.2 国内外研究历史及发展现状11.3 课题研究内容32系统方案设计52.1设计功能要求52.2方案选择52.3本章小结73系统硬件设计83.1控制芯片AT89S51概述83.1.1控制引脚介绍93.1.2I/O端口介绍103.2显示器件1602LCD概述103.2.11602LCD主要技术参数113.2.2引脚功能说明113.3单片机最小系统设计133.3.1时钟电路133.3.2复位电路143.3.3电源电路设计153.4键盘电路设计153.4.144矩阵键盘的工作原理163.4.2按键抖动的处理173.5报警电路173.6开锁执行

2、电路183.7本章小结194系统软件设计204.2各模块子程序设计214.2.1矩阵键盘扫描程序设计214.2.2密码设置与输入子程序设计224.2,3LCD1602显示程序设计234.3 本章小结245实物制作及调试265.1电路板的制作265.2硬件检测与调试275.3综合调试285.4 调试结果分析285.5 本章小结306结论与展望326.1结论326.2展望32参考文献34附录1密码锁控制电路原理图36附录2源程序代码37摘要随着社会科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变得尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性

3、好,安全系数高,受到了广大用户的亲昵。本系统设计利用单片机对整个系统进行控制,主要包括硬件系统设计和软件系统设计。硬件系统主要包括单片机最小系统电路、LCD显示电路、44矩阵键盘电路。键盘码布局与手机按键一样,操作简单、方便。最后结合编程实现具有按键有效指示、输入错误指示、密码检测、控制开锁电平、控制报警、密码修改等功能的控制电路,可在意外泄密的情况下及时修改密码。根据设计指标要求,通过硬件系统和软件系统的设计,最终制作出密码锁控制电路的实物,经过不断的检测和调试,成功完成了密码锁控制电路的设计。本设计保密性强、操作简单、灵活性高、适用范围广,特别适合家庭、宾馆等场所。关键词:AT89S51;

4、LCD;报警电路;密码锁 Abstract With the social science and technology and peoples living standards, how to achieve family security issue has become particularly prominent, the traditional mechanical locks because of its simple structure, was not uncommon events pry, electronic locks due to the confidential n

5、ature of high, the use of good flexibility and safety coefficient was low, the majority of users of intimacy. This system designs using single-chip microcomputer to control the whole system, including hardware design and software design system. Hardware system mainly include single chip minimize sys

6、tem circuit, LCD display circuit, 4 x 4 matrix keyboard circuit. The keyboard layout and mobile phone key-press code, simple operation, convenient as. Based on the programming realize effective instruction, with key input errors instructions, password inspection, control unlock level, control alarm,

7、 and password changing functions of control circuit, can leak case in accident in a timely manner to amend the password. According to design indexes request, through the hardware and software system design, eventually produce combination lock objects, after constant testing and commissioning, succes

8、sfully completed the combination lock control circuit design. This design simple operation, good secrecy, high flexibility, suitable scope. Especially suitable for family, hotel and other places.Key words:AT89S51;LCD;Aalarm circuit; Combination lock1绪论1.1课题背景随着社会物质财富的日益增长,安全防盗已成为社会问题。而锁自古以来就是把守门户的铁将

9、军,人们对它要求甚高,既要安全可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。目前国内,大部分人使用的还是传统的机械锁。然而,眼下假冒伪劣的机械锁泛滥成灾,互开率非常之高。所谓互开率,是各种锁具的一个技术质量标准,也就是1把钥匙能开几把锁的比率。经国家工商局、国家内贸局、中国消协等部门对锁具市场的调查,发现个别产品的互开率居然超标26倍。据相关专家人士剖析,弹子锁质量好坏主要取决于弹子数量的多少以及弹子的大小,而弹子的多少和大小受一定条件的限制。此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。机械锁的这些弊端为一种新型的锁-电子密码锁,提供了发展的空

10、间1。1.2 国内外研究历史及发展现状本世纪70年代初期由于半导体技术的日新月异,国外研制成脱胎于电气锁的电子锁,美国的Electronics、英国的Wireless World等期刊杂志1974年都介绍过电子锁电路。美国J.Markus1974年编著的Guidebook of Electronic Circuts一书中已收入6个电子锁电路。1977年美国Rudolf F.Graf编著的Modern Dictionary of Electronics则仅收入电气锁(electrics lock)词条。在70年代,以美国耶鲁制锁厂、欧洲西沙集团、联邦德国多姆公司为代表的国际制锁行业已开发出包括电

11、子卡片门锁在内的十多种电子锁。80年代初期,美国LSI公司研制成LS7220专用保密锁集成电路,使用四位密码。日制锁业全都向电子锁方向靠拢,至1985年,其电子锁产销量占锁具总销售额的1/10.90年代初,国外又推出采用12位密码的TWH9013专用保密锁集成电路。在我国,无线电杂志1978,No5,p23-25上曾登载唐玮的“电子锁”一文。此后,该刊与电子世界、电器时代、电世界、五金科技等杂志又相继发表了许多电子锁的文章。在鲍克先生1985年主编的英汉电子学精解辞典中曾收入电子锁(electronic lock)词条。1985年我国开始实施专利法时,天津大学申请了第一个公开的电子锁实用新型专

12、利。在西方发达国家,电子密码锁技术相对先进,种类齐全。近年来,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国电子锁整体水平尚处于国际上70年代左右,电子密码锁的成本还很高,市场上以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。从近几年的技术水平和市场认可程度,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库等。

13、键盘式电子密码在键盘上输入,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失,难以被窃。为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的“键盘乱序显示”技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;“多重密码设定”技术使得单组密码不一定有效,适合多人分权使用,需

14、要输入两组以上的密码才被认可,大大提高了保密性,如果限定输入这些密码的先后顺序或时间区段,则保密性还可提高。在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确,即“封锁”键盘,不再接受输入操作2。总之,尽管新式电子防盗锁层出不穷,但键盘式电子密码防盗锁仍然占据主流,不仅在市场上居于主流地位,而且,还经常作为其他类型电子防盗锁的辅助输入手段。当今,智能电子密码锁发展已经到了非常高的境界,由于电子元件特别是单片机应用在这几年得到空前发展,无论功能性,稳定性都比较全面,在保密方面已做到人眼识别,指纹识别,人声识别基本上电影上有的现实也有。不管在国内和国外密码锁现在

15、的发展都很快。随着技术的不断发展,电子密码锁的应用会越来越普及到平常化,未来的发展也会越来越被大众采用,由于它的功能、安全是弹子锁无法相比的。发展前境是非常大的3。1.3 课题研究内容随着人们生活水平的提高,对家庭防盗技术的要求也是越来越高,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子密码锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的欢迎。但是目前我国由于电子密码锁的设计成本高,故障多等原因,还没有得到更广泛的应用。本着经济实用的角度出发,本设计采用以AT89S51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,来实现基本的密码锁功能

16、。采用44键盘来实现密码的输入和其他功能的控制, LCD1602进行输入的显示,报警电路进行错误报警。2系统方案设计2.1设计功能要求1) 内定一6位数字密码。2) 可以更改6位数字(09)密码。3) 能显示密码输入的相关信息。4) 密码输入正确则锁开启。5)密码输入错误则发出警报声。2.2方案选择方案一:采用一种以AT89S51为核心的单片机控制方案,其总体框图如图1所示。主要由单片机最小系统、键盘电路、LCD显示电路、开锁控制电路、报警电路组成。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能,并且矩阵键

17、盘能非常方便的进行人机交互。开锁控制电路AT89S51单片机电源电路动态LCD显示电路矩阵键盘控制指示电路输入错误锁定键盘延时报警控制电路图1单片机控制方案方案二:采用数字电路控制。其原理方框图如图2所示。主要由密码校验电路、开锁执行电路、报警电路、电源电路、密码修改电路组成。用74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入。其密码的设定和修改是通过双刀双掷开关的切换原理来实现的,密码校验电路由JK触发器非门组成,通过依次按下设定好的密

18、码,让JK触发器输出高电平经非门来控制电磁锁的开与关。本设计的电子密码锁密码不能忘记,且密码只有16种不同组合。图2 数字电路控制方案如上所述,设计本课题时构思了两种方案:一种是用以AT89S51为核心的单片机控制方案;另一种是用以74LS112双JK触发器构成的数字逻辑电路控制方案。考虑到数字电路方案虽然能满足人们的基本要求,但是其密码的组合数少、扩展复杂、安全性能低等,都可以看出其发展的局限性。而采用单片机控制的密码锁其控制更准确,使用更灵活,通过矩阵键盘更能方便的实现简单的人机交互,用户可以自由、方便的进行更多密码的修改,且制作成本也不高。所以本设计采用了第一种方案。2.3本章小结本章主

19、要介绍了设计的设计指标,根据设计指标给出了两种方案,通过对这两种设计方案优缺点的介绍和比较,最后根据设计需求,选择出合适的设计方案。本设计具体的硬件设计将在下一章详细的介绍。3系统硬件设计3.1控制芯片AT89S51概述AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4K Bytes ISP的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方

20、案4 。 AT89S51内部除CPU外,还包括128字节RAM,4个8位并行I/O口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,片内集成4K字节可改变程序Flash存储器,具有低功耗,速度快,程序擦写方便等优点,完全满足本系统设计需要。密码锁控制电路以AT89S51单片机为控制核心,其各功能引脚如下图3所示。图3 AT89S51引脚图3.1.1控制引脚介绍1)电源:单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。2)时钟引脚:时钟引脚XTAL1、XTAL2外接晶体与片内反相放大器构成了振荡器,它提供单片机的时钟控制信号。时钟引脚也可外接晶体振荡器。3)RS

21、T:当振荡器运行时,在此引脚外加上两个机器周期的高电平将使单片机复位(RST)。我们在此引脚与VCC之间连接一个约8.2千欧的下拉电阻,与引脚之间连接一个约10微法的电容,以保证可靠复位。在单片机正常工作时,此引脚应为0.5V低电平。4)ALE:当访问单片机外部存储器时ALE(地址锁存允许)输出脉冲的负跳沿用于16位地址的低8位的锁存信号。即使不访问外部锁存器,ALE端仍有正脉冲信号输出,此频率约为时钟振荡器的1/6。但是每当访问外部数据存储器时,在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲。因此,严格来说,用户不能用ALE做时钟源或定时。ALE端可以驱动8个TTL负载。5)PSEN

22、(29脚):此脚的输出是单片机访问外部程序存储器的读选通信号。在由外部程序存储器取指令(或常数)期间,每个机器周期PSEN两次有效。但在此期间,每当访问外部数据存储器时,这两次有效的/PSEN信号不出现。/PSEN可以驱动(吸收或者输出电平)8个LSTTL负载。6)EA/VPP(31脚):当EA端保持高电平时,单片机访问内部存储器,但在PC值超过0FFFH时,讲自动转向执行外部存储器内的程序。当/EA保持低电平时,则只访问外部程序存储器,不管是否有内部存储器。3.1.2I/O端口介绍AT89S51单片机有四个8位双向并行的I/O端口,每个端口都包括一个锁存器、一个输出驱动器和一个输入缓冲器,这

23、四个端口的功能不完全相同。P0口既可作一般I/O端口使用,又可作地址/数据总线使用;P1口是一个准双向并行口,作通用并行I/O口使用;P2口除了可作为通用I/O使用外,还可在CPU访问外部存储器时作高八位地址线使用;P3口是一个多功能口除具有准双向I/O功能外,还具有第二功能6。AT89S51单片机的四个I/O端口有三种操作方式:输出方式、读端口数据方式、读端口引脚方式。在数据输出方式下,CPU通过一条数据操作指令就可以把输出数据写入P0P3口端口锁存器,然后通过输出驱动器送到端口引脚线。因此,凡是端口操作指令都能达到从端口引脚线输出数据的目的。如:MOV P0, A ;累加器A中的内容送P0

24、口,ORL P0,#data; P0与8位立即数相或送P0口 。 3.2显示器件1602LCD概述液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。液晶显示模块1602LCD的内部结构可分成三部分:LCD控制器、LCD驱动器、LCD显示装置。控制器大都采用HD44780,驱动器采用HD44100。HD44780是集控制器、驱动器于一体。HD44100是做扩展显示位的7。1602LCD分为带背光

25、和不带背光两种,带背光的比不带背光的厚,是否带背光在应用中并无差别,本设计中用的是带背光的。3.2.11602LCD主要技术参数1)显示容量:162个字符。 2)芯片工作电压:4.55.5V。 3)工作电流:2.0mA(5.0V)。 4)模块最佳工作电压:5.0V。5)字符尺寸:2.954.35(WH)mm。3.2.2引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表1所示。下面是以带背光接口的LCD为例来介绍的。表1 1602 LCD引脚接口说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压1

26、1D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,

27、当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第714脚:D0D7为8位双向数据线。第15、16脚:背光源正极、负极。 本设计的显示部分就采用LCD1602作为密码输入显示,状态提示。采用LCD显示器可以更便于人机之间的交互。本设计中因为单片机的输入/输出口充足,在设计中LCD与单片机的接口采用并行数据传输的方式。3.3单片机最小系统设计所谓最小系统是指单片机能进行正常工作的最简单电路。AT89S51单片机的最小应用系统一般包括电源电路、时钟电路、复位电路、片内外程序存储器选择电路、输入/输出接口电路。3.3.1时钟电路 单

28、片机执行指令/操作的工作时序,均在时钟信号的控制下进行的,所以时钟电路是单片机工作的核心6。本设计采用最常用的内部时钟方式。振荡晶体可在1.2MHz到12MHz之间选择。电容值无严格要求,但是,电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,CX1、CX2可在20pF到100pF之间取值。本设计中,振荡晶体选择12MHz,电容选择30pF。在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好的保证振荡器稳定和可靠地工作。内部时钟发生器实质上是一个二分频的触发器,其输出就是单片机工作所需的时钟信号。时钟电路如图4所示。图4 AT89S51时钟电路3.3

29、.2复位电路复位操作可以使单片机初始化,也可以使死机状态下的单片机重新启动,因此非常重要。复位电路通常采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。只要VCC的上升时间不超过1ms,就可以实现自动上电复位9。除了上电复位外,有时还需要按键手动复位。本设计就是采用按键手动复位。按键手动复位有电平方式和脉冲方式两种。如图5所示,就是电平式按键复位。按下按键后,通过与R2与R3形成回路,使RESET端产生高电平,实现系统的复位。按键的时间决定了复位时间。一般我们通过RC来粗略的计算时间常数,下拉电阻一般选用4.7K10K。下图中的电容

30、和电阻可作为参考值,一般电容和电阻的取值随时钟的频率不同而变化,可通过实验取得更合适的值。图5 AT89S51复位电路3.3.3电源电路设计电源电路采用三端集成稳压器LM7805进行稳压,其原理图如图3-4所示。图中没有设计出变压器与桥式整流电路(本设计中直接使用成品变压器),交流电压经降压整流成9V后由电源插孔接入电路中。LM7805输入电压为9V,输出电压为5V。在图中接入了发光二极管,作为电源的指示灯。图6中电路输出的5V电压可直接用到单片机与显示模块上。图6 AT89S51供电电路3.4键盘电路设计键盘是单片机应用系统中最常用的输入设备,在单片机应用系统中,操作人员一般都是通过键盘像单

31、片机系统输入指令、地址和数据,实现简单的人机通信。3.4.144矩阵键盘的工作原理键盘的结构一般有两种:独立式键盘和矩阵式键盘。按键多的情况下,为了节约单片机的I/O口,通常都采用矩阵式键盘。本设计采用44矩阵键盘进行密码的输入。对矩阵式键盘的工作过程可分为两部分:第一步是CPU检测键盘上有无键按下;第二步确认是哪个键按下。本设计采用逐行扫描法进行按键的检测与识别。44矩阵键盘原理图如图7所示。检测键盘上是否有键按下的处理:将行线送入全扫描字,读取列线的状态来判别。具体过程如下:P2口低四位输出00H,即所有行线置低电平,然后将列线电平状态读入累加器A中。如果有键按下,总有一根列线被拉成低电平

32、,从而使列输入状态不全为“1”。识别键盘中哪一个键按下的处理方法是:将行线置成低电平,检查列输入状态,称为逐行扫描。具体过程如下:从P2口低四位开始,逐行输入“0”,置对应的行线为低电平,然后从P2口高四位读入列线状态,如果全为“1”,则按下的键不在此列;如果不全为“1”,则按下的键必在此列,而且是该列与“0”电平行线相交的交点上的那个键。为求取编码,在逐行扫描时,可用计数器记录下当前扫描行的列号,检测到第几列有键按下,就用该行的首键码加列号得到当前按键的编码。图744矩阵键盘原理图3.4.2按键抖动的处理键盘的处理中还要注意的是按键抖动的消除,由于机械触点的弹性作用,一个按键在按下的在闭合时

33、不会马上稳定地接通,断开是也不会马上断开,因而在闭合与断开时都会有一串的抖动,一般为510ms。如果对抖动不处理,必然会出现按一次键输入多次,为确保按键的准确,必须消除按键的抖动10。抖动的消除一般有两种方法:硬件消抖与软件消抖。一般都会采用软件消抖,软件消抖是利用延时来跳过抖动过程,即判断有键按下后,先执行一段大于10ms的延时子程序后再去判断按下的键是哪一个,从而消除抖动的影响。3.5报警电路报警电路主要由PNP三极管、蜂鸣器构成,对错误操作进行报警,即P3.7输出低电平时,三极管导通,则蜂鸣器响,此电路简单实用。其原理图如图8所示。其中的三极管也可采用NPN型的,接法就和下图不同,它是在

34、高电平时报警器才工作。所以在编写软件时存在一个初始化的问题。所以采用下图的接法,简化了软件的编写。图8 报警电路3.6开锁执行电路电磁锁的工作原理和电磁铁的工作原理是一样的,都是利用电生磁的物理现象,当电流通过硅钢片时,电磁锁会产生强大的吸力,通过很小的电流就能产生很大的吸力,达到锁门的目的;通过电磁锁控制电路,在密码输入正确后,通过控制电磁锁的电源断开,电磁锁失去吸力,达到开门的目的。所以电磁锁执行电路是密码锁设计中最重要的部分。本设计中的开锁电路采用发光二极管进行模拟,其原理图如图9所示,采用下图的接法能简化程序的编写,下图中当P3.6为低电平时,发光二极管才导通,而单片机复位后的P口是高

35、电平,所以采用下面的接法,在程序编写时不用对其进行初始化。其实现的功能是当输入的密码正确,发光二极管亮,表示开锁。否则,发光二极管不亮。图9模拟开锁执行电路3.7本章小结本章主要介绍了密码锁控制电路硬件系统的设计,其中对主控芯片AT89S51和显示模块1602LCD做了详细的介绍,并对各模块电路的设计思路及各单元电路工作原理进行了详细的阐述。4系统软件设计在本设计中采用模式化,在系统初始化显示时有个模式选择:设置密码和输入密码。设置密码模式下首先要输入原始密码,再设置新密码,设置新密码时有个新密码再次输入,设置完新密码后程序跳到最初显示模式。输入密码模式下主要完成密码的输入和电锁的开和关。当然

36、,不管在那个模式下,输入密码错误都会触动报警电路报警,并对输入密码错误次数进行计数,达到三次后会对键盘有个10S的锁定。根据这主要的设计思路得到程序主体流程图如图10所示。YNNY开始初始化调用设置密码程序键盘扫描调用输入密码程序设置键按下?输入键按下?返回图10 程序主体流程图4.2各模块子程序设计4.2.1矩阵键盘扫描程序设计键盘采用44行列式键盘,分为10个数字键(09)和6个功能键。其布局(操作面板)如下表2所示。共计数字键10个,并有4个特殊功能键,还有两个未定义键。A键为设计新密码,B键为输入密码,C键为清除键,F键为退出键(关锁键)。当按下设计新密码时,除了C键不能作为密码键其他

37、均可为密码键。当在开锁时,输入密码正确后,键入F键即可返回主函数。表2键盘布局码123A456B789CE0FD设计中采用行扫描方式对键盘检测和识别,行扫描原理在硬件设计中已经说明。简单说就是对行与列的写入和读出来对按键进行识别。键盘扫描流程图如图11所示。图11键盘扫描子程序流程图4.2.2密码设置与输入子程序设计按下 A 设置密码键,首先输入原始密码,要是正确可以输入要设置的新密码,输入后显示再次输入新密码,两次的新密码进行比较若是一致设置密码成功,返回主界面,若是两次新密码比较不同则返回重新设置新密码;若是输入的密码与原始密码不一致的话,可以再次输入直至三次若是还不一致便锁键10S。其程

38、序流程图如图12所示。按下 B 输入密码键。若是输入的密码与原始密码不一致的话,可以再次输入直至三次若是还不一致便锁键10S;若是输入密码与原始密码一致显示密码正确并开锁,即LED亮。其程序流程图如图13所示。开始 开始调用显示调用显示 NB键按下A键按下 输入密码输入原始密码 错误3 次? N密码正确?输入新密码 再次输入新密码 YN 开锁Y两次新密码相等? N锁键10msF按下? YY 设置成功 返回主界面 返回主界面 图12密码设置程序流程图 图13密码输入程序流程图4.23LCD1602显示程序设计1602液晶模块内部的控制器共有11条控制指令,在这里就不一一介绍了。LCD1602在显

39、示时要需对其进行初始化,初始化过程包括:清屏、功能设置、开/关显示设置和输入方式设置。其初始化流程图如图14所示。液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。所以每次输入指令前都要判断液晶模块是否处于忙的状态。对忙碌状态的处理方法有两种:一个是采用延时,经过一段时间延时再对液晶进行操作;另一种方法是查询其忙标志位(即最高位就是忙碌ACC.7),当液晶不忙时,该位为0,此时可以对其进行别的操作。本设计采用第二种方法。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。1602为162行的LCD,其第一行地址为00H-2

40、7H,第二行地址为40H-67H。因为写入显示地址时要求最高位D7恒定为高电平1,所以实际写入的数据应该是行地址加80H。本设计LCD显示程序流程图如15所示。 开始开始清屏LCD初始化功能设置显示字符地址设置显示状态设置输入方式设置检测忙碌标志返回显示字符 图14LCD初始化流程图 图15 LCD显示流程图4.3 本章小结本章主要根据设计要求,通过系统软件设计控制硬件系统实现密码锁的基本功能。软件设计中首先介绍了整体流程图的设计思路,其次对设置密码子程序、输入密码子程序、键盘扫描子程序、LCD显示子程序进行了详细的功能介绍,并绘制出了相应的程序流程图。5实物制作及调试5.1电路板的制作 1)

41、打印菲林纸。打印菲林纸是整个电路板制作过程中至关重要的一步,打印时确保打印出的电路图清晰。 2)压板。两面均有印制电路的印制板(虽然制作的是单面板,当使用的是双面板制的)。这类的印制板,两面导线的电气连接是靠穿透整个印制板并金属化的通孔来实现的。相对来说,双面板的可利用面积比单面板大了一倍,并且有效的解决了单面板布线间不能交叉的问题。把打印的PCB图印制上去是用压板机高温压制上去的,等压板机温度达到120左右时,把板慢慢推进去,反复2-3次。压好后,慢慢揭下菲林纸,如有断线或不完好的地方,用油性笔修好。 3)腐蚀。腐蚀就是用FeCl3将线路板非线路部分的铜箔腐蚀掉。首先,把FeCl3包装盒打开

42、,将FeCl3 放进胶盘里,把热水倒进去,FeCl3与水的比例为1:1,热水的温度越高越好。把胶盘拿起摇晃,让FeCl3尽快溶解在热水中;然后将板放进FeCl3溶液里,因为腐蚀时间跟FeCl3的浓度、温度、以及是否经常摇动有很大的关系,所以,要经常摇动,以加快腐蚀。当线路板两面非线路部分铜箔被腐蚀掉后将其拿出来,这时可以看到,线路部分在碳膜的保护下留了下来,非线路部分全部被腐蚀掉。腐蚀过程全部完成约10分钟;最后将电路板放进清水里,待清洗干净后,拿出并用纸巾将附水吸干。 4)钻孔。首先选择好合适的钻头,以钻普通接插件孔为例,选择0.95mm的钻头,安装好钻头后,将电路板平放在钻床平台上,打开钻

43、床电源,将钻头压杆慢慢往下压,同时调整电路板位置,使钻孔中心点对准钻头,按住电路板不动,压下钻头压杆,这样就打好一个孔。提起钻头压杆,移动电路板,调整电路板其它钻孔中心位置,以便钻其它孔,注意此时钻孔为同型号。对于其它型号的孔,更换对应规格的钻头后,按上述同样的方法钻孔。 5)元器件的焊接。板制好以后,下面就是安装和焊接元件了。安装和焊接其实是并行的,即边安装边焊接。在这个过程中,各类元件一定要按顺序进行,即按由低到高的顺序。先焊接过孔,再安装较低的电阻等器件并焊好,最后安装较高的元件,这样会使所制的板更完善。5.2硬件检测与调试硬件的的检测在焊接元器件前就开始了,在焊接前对电路板进行目测,是

44、否有铜线短接和断开。焊接元器件前,用万用表对元器件进行测量,检测元器件是否损坏,参数是否正确等。焊接好电路板后,还是首先目测检查是否用元件漏焊,错焊等,其次在用万用表在不上电的情况下检测线路是否连通,有无虚焊,特别是电源线和地线有无短路。最后就是上电检测,上电后首先是电源电压的检测,因为电源出故障很可能会把各元器件和电路烧坏。上电中可以通过测试各元件和模块的工作电压等测试其是否正常工作。在硬件测试中还可以用软件辅助对各模块进行检测,如编写一段LCD测试程序对显示模块进行测试。5.3综合调试在硬件无误后,就是软件结合硬件的综合调试。本设计软件采用汇编语言编写。使用的是伟福程序编译器。编写和调试时采用的是分布设计。即对各个功能进行分布设计,如先设计

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号