




免费预览已结束,剩余24页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文(设计) 题 目 电子密码锁的设计 二一二年五月二十一日目 录1 引言11.1 本课题的目的和研究意义11.2 本课题的研究现状11.3 本课题的研究内容32 方案对比与论证32.1 系统选择方案32.2 主控芯片的选择42.3 显示电路的选择42.4 输入键盘按键的选择43 系统硬件设计53.1 系统总体框图53.2 各模块电路简介53.2.1 主控器件单片机模块53.2.2 下载器下载模块83.2.3 I2C总线结构的密码存储模块103.2.4 液晶显示模块123.2.5 报警模块153.2.6 电源电路模块153.2.7 矩阵键盘输入模块163.2.8 模拟开锁模块173.3 完整电路图183.4 PCB图194 软件系统设计204.1 系统整体流程图204.2 子程序流程图214.2.1 LCD1602流程图214.2.2 AT24C02流程图215 结束语23声 明本人郑重声明:1、 持以“求实、创新”的科学精神从事研究工作。2、 本论文是我个人在导师指导下进行的研究工作和取得的研究成果。3、 本论文中除引文外,所有实验、数据和有关材料均是真实的。4、 本论文中除引文和致谢的内容外,没有抄袭其他人或其他机构已经发表或撰写过的研究成果。5、 其他同志对本研究所做的贡献均已在论文中作了声明并表示了谢意。作者签名: 日 期: 电子密码锁的设计童好娉南京信息工程大学电子与信息工程学院,南京,210044摘要:本文的目的是设计一个电子密码锁,实现所需要的基本功能。电子密码锁主要由控制器模块、液晶显示模块、矩阵键盘输入模块、密码存储模块等模块组成。其中控制器采用STC89C52单片机作为主控器件,利用I2C总线AT24C02密码存储器件来进行密码的读取与更改,输入设备采用4*4矩阵键盘。通过输入密码,单片机进行处理后,将结果通过LCD显示器显示。系统还具有报警功能,当输入密码与设定密码不符时,蜂鸣器发声。本论文设计了一种电子密码锁,表述了设计的思路过程以及结果。关键词:电子密码锁;单片机;液晶显示;矩阵键盘; 1 引言1.1 本课题的目的和研究意义 在人类发展进步的历史长河之中,锁具逐渐被广泛应用,且其重要性越来越大。但是随着科技的发展,技术的进步,传统机械式钥匙开锁类型的锁具虽然仍是锁具的主流,但是其安全性在不断的降低。除了随身携带钥匙的不便利性,还存在着钥匙丢失,钥匙被复制等安全隐患。但是各种集成电路技术相继出现,特别是各种可编程器件的问世及普及,渐渐人们开始使用一种既高效又便宜的方法来加强安全防盗性能:电子密码锁。这种电子密码锁越来越被人们接受与喜爱,究其原因在于它的安全性高,使用方便,体积小,使用功耗低,容易操作。刚刚开始使用集成电路做成的电子锁的组成模块比较多:数控的集成电路、传统的机械锁部分、加密装置、报警装置、必要的网络接口电路及电子识别磁条等,造成电子密码锁体积比较大。本系统设计的主控芯片将采用STC89C52型单片机。与传统的电子密码锁相比,电子锁无论在体积、安全性、方便性上都有很大的提高。一般日常使用的机械锁存在几个缺点:容易被非法打开而不易看出打开痕迹;复杂多变的内部结构,特别是开锁部分使用的器材容易受到环境的影响;一旦钥匙丢失或被盗,只能更换锁具,造成麻烦;对于价格低廉的锁,会出现一把钥匙可以打开几把锁的情况;对于老人或小孩来说,一旦锁具内部结构出现问题,需要很大的力气才能打开;容易被损坏,造成无法开锁。从这些情况可以看出,需要迫切改善原有的防盗方式。1.2 本课题的研究现状17世纪末,凸轮转片锁由英国人D.波特发明,这项发明把安全性能带上了一个新的台阶。而钥匙的编号数量从20多种发展到80多种。19世纪中期,滑动转片锁成功问世,这是由欧洲制造商改制完成的,是在凸轮转片锁和三簧锁的基础上对这两种锁具进行整合,使其钥匙编号达到1600种。1848年,弹子锁问世,它含有圆柱形销栓,由美国人L.耶尔发明。在传统锁具里,这种锁具就已经能够满足一般的防盗使用,而广受欢迎。经过时代的发展,现代弹子锁的结构又出现了新的突破,相继出现双向、三向、乃至于四向弹子结构,同时面向的发展产生的平面、双面、多面、双排双面、多排多面弹子结构,这些结构和组合弹子相结合,又有了新的突破。正因为这些突破,锁具的安全性被大大的提高了,通过“向”、“面”的变化,使锁的编号由原有的2500种达到百万种。1970年前后,微电子技术逐渐发展成熟,出现了磁控锁、声控锁、超声波锁、红外线锁、电磁波锁、电子卡片锁、指纹锁、眼球锁、遥控锁等不同的锁具。高保密性能是这些锁的最大特点,它们具有的机械结构是其他锁具所不能相比较的。这些锁具通过编程实现各自的功能,完成安全防盗的目的。现代锁的分类很多,通常可以通过制作材料、用途、是否有钥匙、安全性能的高低和结构的复杂程度来进行分类。 电子密码锁的种类正在逐渐的丰富,但主要有遥控式、键盘式、卡式以及生物特征的防盗电子密码锁。具有生物特征的防盗锁是以后发展的主要趋势,特别是对于安全性高的场合其应用会更加广泛与复杂。生物特征的防盗锁主要是采用人体与生俱来,独一无二且不可复制的指纹、眼膜、声频等信息作为解锁工具。由于这种密码锁的解锁方式是随身携带的,而且不存在遗忘或丢失的特点,所以它的安全性与便利性很高。此外,为了加强防盗的力度,还可以结合其他信息,比如数字,字符,时间等。把这些因素加入其中,就更加可以保障安全。虽然生物特征的防盗锁在发展初期的性能不够稳定以及价格高等不利因素,但技术的日新月异使得这个过程比较短暂,目前具有生物特征的防盗锁是以后防盗的大势所趋。键盘式的密码锁由于其使用的便利性和价格而被广泛使用。它主要被人们用于家庭的一般防盗,小区等的门禁系统,以及一般规格的保险箱。这种密码锁的突出优点在于使用方便,易于掌握。但也存在缺点:由于设计的局限以及价格的考量,在密码的可选择性上不高;而密码过于复杂也会使自己记不清楚,从而影响正常的使用。为改善缺点,目前键盘式密码锁发展出了几种新的防盗方式,例如:任意设定密码功能,使每一次的输入密码都不相同,但又仅限于使用者自己知道;自动更改密码技术,使得密码的更改时间以及有效数字仅限于用户,更改规律不易被人察觉;多重密码输入技术,使得用户可以通过几个不同的密码来降低隐患,提高安全性总体来说键盘式的密码锁在市场上处于主流地位,而且可以被用作辅助方法应用于其他防盗产品中。卡式电子密码锁是目前市场上最为活跃的一款防盗产品,多用于门禁系统。它主要使用不易被复制的卡片,在卡片上射置磁条信息,以达到防盗的目的。还可以在卡片上增加个人信息的输入等以保障安全性能。但是,一旦卡片丢失,就容易出现安全隐患,需要及时对卡片取消授权。另外,在门禁系统中,开门后门还有一段时间才能闭合,这在客观上造成犯罪分子的可乘之机。遥控式电子密码锁利用光来传输信息,传输的信息量大,速度快,而且不容易被发现或复制信息,从而保密性高。但是,这种开锁方式往往需要遥控器,这就要求用户能够妥善保管遥控器,而且需要对遥控器的大小形状等进行改进以便于携带。另需要随时保持遥控器中的电池有电,这样才能够不影响使用。随着各种综合技术的发展,产品的更新周期也在逐渐的缩短,新技术在不断的产生,这些都使得电子密码锁越来越智能化,发展的方向也逐渐多样化。但是同类型产品之间的差异也越来越小,创新,新材料的问世和技术的创新发展成为电子密码锁是否能够继续发展的重要条件。本论文的目的是设计一种性价比比较高的电子密码锁来达到防盗报警的功能。1.3 本课题的研究内容 本次系统设计主要是在经济的前提下设计一种电子密码锁,这种电子密码锁需要能够适用于日常生活的基本防盗功能。本次设计采用STC89C52型单片机为主控器件:1、通过矩阵键盘输入密码;2、采用LCD1602进行显示;3、通过继电器打开锁具;4、能够更改密码;5、具有报警功能。在使用时,输入的密码与原始设定的初始密码对比,如果密码相同,则电路通过三极管导通,继电器模拟锁具打开,同时点亮绿灯;如果两者不同,经过报警提醒后,如果在三次以内仍没有输入正确,则报警,同时要求锁定键盘。数字的显示输出通过液晶显示器LCD1602,选择有16个引脚的背光显示器,这样在夜晚也不影响正常的使用。在更改密码时,首先要求出入正确的原始密码,密码输入正确后才能更改,而且要连续输入两次相同的密码;如果原始密码输入错误,则不能修改。2 方案对比与论证2.1 系统选择方案方案一:采用数字电路控制采用数字电路的设计一般来说有两种可行的方案。一种是利用74LS138译码器通过与门电路的结合,设计一种简单易行的密码锁。但这种方法只有单一的密码,在不改变电路的情况下,不能更改密码。此外,对于采用74LS138译码器设计的密码锁,对于密码的输入顺序也没有要求。基于这两种情况可知,采用74LS138译码器设计的密码锁安全性能不高,不能满足日常生活的需要。另一种是采用74LS112双JK型触发器作为主控器件的电子密码锁,这种电子密码锁虽然突破了74LS138译码器的局限性,但是它的控制的灵活性和准确性不高,所以不予采用。方案二:采用主控芯片为单片机的电子密码锁随着微型计算机的发展,单片机以其体积小,效率高,易编程,功耗小等特点在人们日常生活中的用途越来越广泛。由于单片机的可编程性,通过对它进行特定内容的编程就可以符合特定的要求。它的主要部分可以包括按键输入,显示输出,报警装置,写程序等部分。在单片机外围设计键盘输入以及其他的功能,通过后期的调试编码进一步完成相关的任务要求。输出模块是LCD1602,用这种液晶显示器来显示各种文字和数字。当用户需要输入密码时,首先需要按下键盘上的输入键,然后输入相应的密码,最后按确认键。在这个过程中,如果密码输入正确,则显示开锁;反之,提示密码错误,要求重新输入。密码输入3次均错误时,则键盘锁定,系统报警。当用户需要修改密码时,必须先输入正确的原始密码,提示后再连续两次输入相同的新密码。这两次输入如果不相同,则系统提示密码输入错误,请重新修改。从上述描述中可以看出,采用单片机为主控芯片的电子密码锁不仅性价比高,而且可以进行功能的扩展,所以采取方案二。2.2 主控芯片的选择单片机种类繁多,一般来说,众多单片机的基本功能是一样的,除了各自的工作的最佳环境有所不同之外,另一个要考虑的因素就在于I/O口的多少,以及内存空间的大小。I/O口的数量问题直接关系到能够实现的功能的多少,内存空间的大小则影响单片机的运算处理速度。在本次设计中,这些影响因素都不大,但如果采用ISP下载器,最好使用51系列的单片机;若采用DB9串行下载程序,STC系列则是较好的选择。在电子密码锁中,要求能够更改和保存密码,这就要求电路中有密码存储设备,以进行密码的读取和存储。由单片机构成的电子密码锁具有很好的灵活性,在系统需要更改功能或添加其他功能,对原有系统进行扩展时,能够在不改变或改变很小的原有设计和电路系统的情况下完成任务。虽然两者的差距不是很大,但是通过以前的学习我能够灵活使用ISP下载口写入程序,但是对DB9却知之甚少,所以采用STC89C52单片机来进行本次系统设计。2.3 显示电路的选择方案一:采用LCD1602液晶显示器LCD1602液晶显示器通常用来显示字母,数字和符号等非图形的信息,1602代表着16*2,每一行最多可以显示16个字符,一个屏幕全部使用时,可以有两行。有16脚与14脚两种规格,其中16脚的液晶显示器有背光的功能,即在黑暗条件下也可以使用,能够看清屏幕显示的字符,而14脚的液晶显示器则无此功能。在使用LCD1602时,只需要将16个脚分别进行连接即可,连接方式简单方便。此外,使用LCD1602最大的便利在于它不需要特别编程显示字符,它本身自带显示代码,为使用过程中,各种字符的显示提供了便利,价格也不昂贵。方案二:采用数码管显示使用数码管来显示数字同时存在着利与弊。其优点是:数码管相对于LCD1602来说,价格更为便宜,可以降低制作成本。但是,数码管的连接电路比较复杂,显示的字符需要特别编程,而且几乎只能显示数字。此外,一旦数码管出现余辉干扰,就比较难以消除。在本次系统设计时,如若采用数码管显示,则需要超过6个以上的数码管,从电路的简洁与美观上来说都没有液晶显示器好。通过以上的分析,在制作时,采用LCD1602显示器作为显示电路部分的主控。2.4 输入键盘按键的选择方案一:采用独立的按键采用独立的按键设计输入,在成本上比较节约。但是它不占用单片机的中断,需要在编程时编写按键扫描程序,对按键进行重复的扫描。这种方法在使用时占用过多的I/O口资源,大大增加了编程量,没有充分利用单片机的中断资源,在操作上比较繁琐。方案二:采用4*4矩阵键盘采用4*4矩阵键盘作为输入按键,能够充分调动使用单片机的中断资源。在4*4矩阵键盘反应灵敏,响应时间短的基础上,这种输入方式在连接电路时更为简单,编程时也比较方便。虽然可以使用独立按键先做出一个采用4*4矩阵键盘,但这种方法,虽然节约了成本,但是在制作的过程中,还是不可避免的增加了编程量。综合以上的情况,直接采用采用4*4矩阵键盘来进行制作更为方便。3 系统硬件设计3.1 系统总体框图从上诉方案的对比中可以看出,使用单片机为主控系统的电子密码锁具有更好的性能。系统主要有主控模块,信息显示模块,按键输入模块,报警和电源模块等组成。把编译好的程序通过DB9与MAX232载入单片机中,通过按键的操作即可实现系统的功能。复位电路和时钟电路构成了单片机的最小系统,单片机的P0口与LCD的数据线相连接,P1口接矩阵键盘,P2口部分作为LCD的指令/数据、读写等控制线。系统总体框图如图3.1所示:图3.1 系统总体框图3.2 各模块电路简介3.2.1 主控器件单片机模块 STC89C52微型处理器使用时消耗的能量少,但是在单位时间内能够处理更多的任务。它是一个8位单片机,在系统可编程,同时提供8k大小的空间。由于它是单芯片系统,同时具有8位CPU和在系统可编程Flash,这些优点使得它为各种控制应用系统的开发、发展提供了更加广阔的前景,也使得这些方案能够更加的精确有效。 STC89C52具有很多扩展功能,但其具有的标准配置有:Flash内存有8K字节,看门狗定时器,512字节的RAM,一个6向量2级中断结构,32位I/O口,全双工串行口,内置4KB E2PROM,三个16位定时器/计数器,MAX810复位电路。另外 STC89C52 可以降低到0Hz 静态逻辑操作状态,并且支持2种软件可选择节电模式。在空闲模式下,虽然单片机的CPU将停止工作,但是RAM、定时器/计数器、串口、中断可以继续工作。一旦掉电,在其方式保护下,RAM中的内容将被保存,不丢失,同时单片机的一切运转都将停止,直到硬件复位或者新中断的执行。单片机的最高运行频率为35MHz,有6T/12T两种选择。 STC89C52主要还具有以下的性能:51系列与它的兼容性高,在一般情况下,能够相互代替使用;擦写周期超过1000次,重复使用的效率高;提供全双工UART串行通道的使用,加快运行速度;具有六个中断源,为增加扩展功能提供了可能;即使在掉电后中断仍可唤醒,使程序在整体运行上能够流畅;其存储器有三级加密程序,保证了使用的安全性;掉电标识符;双数据指针。 STC89C52实物及引脚如图3.2所示。图3.2 STC89C52实物及引脚图引脚介绍:单片机的第40个引脚接电源正极,这在使用过程中可以给单片机供电。同时还要求第20引脚接地,这样与第40引脚一起,把单片机成功上电。第31引脚是外部访问允许端口,在本次系统设计中,把该引脚接电源正极,这样可以在操作过程中,读取内部存储器的指令,使得系统能够执行。第9脚是复位端,该引脚通过外部电路,在适当的时候通过手动完成复位的操作。为使该操作能够顺利实现,必须使其保持一定时间的高电平,一般至少需要两个机器周期。该操作在第二个机器周期内通过CPU完成,并且在以后的每一个机器周期都需要重复一次,直至该引脚端电平变低。18脚与19脚构成一个反相放大器,通过添加外部电路的方式,使单片机在一定的频率震荡。19脚是输入脚,18脚是输出脚,只要在其两端添加如下图的电路后,单片机上电后,即可产生自激振荡。同时复位开关不仅使得系统的操作重新开始,而且可以使得单片机与外围电路的震荡频率保持一致,使得单片机工作效率更高。P0口是一个8位双向I/O口,在电路中与液晶显示器的数据口D0D7相连接。由于P0口内部没有上拉电阻,为了保证能够正常工作,需要在外部添加上拉电阻。在正常工作时,液晶显示器初始化,然后向单片机发送信号。单片机根据信号的内容,执行相应的操作,使得其显示各种字符和数字。P1口与P0口的功能基本相似,且其内部具有上拉电阻。在系统设计中,P1口与矩阵键盘相连接,接收来自单片机的扫描信号。单片机扫描到被按下的按键后,通过液晶显示器执行相应的操作:显示一连串的字符,显示密码;或是通过单片机完成键盘解锁等功能。P2.0脚与发光二级管和电源相连,当输入密码错误时,单片机发出低电平信号,电路接通。P2.1脚与蜂鸣器相连接,通过接受信号,决定是否导通电路。P2.2脚与系统的开锁电路相连接,同样是受到引脚的控制来决定开关。P2.5引脚与液晶显示器的RS(第4脚)相连接,P2.6与R/W(第5脚)相连接,在工作时,单片机通过程序的要求对其进行置位。P2.7控制液晶显示器的使能端口,控制整个显示器的工作。第14脚与AT24C02的5脚相连接,使用的是该引脚的第二功能,即定时器功能。通过这个功能来控制密码存储芯片的I2C总线的时钟信号。第15脚与24C02的6脚相连,使用该引脚数据双向传输的功能。P3.0,P3.1与MAX232的9脚,10脚相连,使用单片机的串行输入,输出的功能。主要是写入程序。一般使用P口的双向数据传输功能,但在一些情况下,可以使用其第二功能。一些重要的第二功能引脚见表3.1,3.2。表3.1 P1 口第二功能列表端口引脚功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在线编程)P1.6MISO(在线编程)P1.7SCK(在线编程)表3.2 P3口第二功能列表端口引脚功能P3.0RXD(串行输入口) P3.1TXD(串行输出口)P3.2(外中断0)P3.3(外中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)单片机最小系统如图3.3所示。 图3.3 单片机最小系统图单片机的最小系统包括晶振部分,复位部分以及其他引脚的接地与接电源的部分。时钟电路:振荡电路是由单片机内部的一个反相放大器构成的,振荡电路的输入端是XTAL1,输出端是XTAL2,通过与外围电路的连接可以产生自激振荡。时钟可以由内部方式产生。把石英晶体和电容并联组成的谐振回路通常是定时元件的接法。由于条件的限制,晶体振荡的频率可以在033MHz之间选择,电容值可以在15-30pF之间选择,频率微调作用由电容充当。本次设计采用的是12MHz的晶振和30pF的电容。复位电路: 在9脚输入端出现高电平时实现复位和初始化。单片机接通电源后,时钟电路正常工作,此时,为实现复位操作,必须使RESET(第9脚)保持两个机器周期(24个振荡周期)以上的高电平。复位操作在第二个机器周期内通过CPU完成,并且在以后的每一个机器周期都需要重复一次,直至RESET(第9脚)端电平变低。本系统设计的复位操作是手动的,这一操作通过轻触开关来实现。3.2.2 下载器下载模块系统采用MAX232和DB9的下载方式,这种方法利用串口进行下载。MAX232芯片是美信(MAXIM)公司使用RS-232标准串口设计的单电源电平转换芯片,在使用时接+5V电源。MAX232的主要特点:与RS-232C技术标准完全符合;RS-232C驱动器被集成在器件的内部;供电电源只需要+5V;集成度很高,在器件外部连接4个电容就可以有效地工作;片载电荷泵的反转能力能够产生+10V和-10V电压,这是通过改变升压、电压极性得到的;耗能低,一般供给的工作电流为5mA 。MAX232实物图及引脚图如图3.4所示。 与DB9的连接介绍:第一部分是电荷泵电路,由16,6个引脚和4只电容构成。它的功能是产生电源,来保证RS-232串口电平的需要能够得到满足。 第二部分是数据转换通道,由714脚分别构成两个数据通道。第一数据通道由T1IN(第11脚)、R1OUT(第12脚)、R1IN(第13脚)、T1OUT(第14脚)组成。第二数据通道由T2OUT(第7脚)、R2IN(第8脚)、R2OUT(第9脚)、T2IN(第10脚)组成。TTL/CMOS数据从T1IN(第11脚)、T2IN(第10脚)输入转换成RS-232数据后从T1OUT(第14脚)、T2OUT(第7脚)送到电脑的DB9插头;DB9插头的RS-232数据从R1IN(第13脚)、R2IN(第8脚)输入转换成TTL/CMOS数据后从R1OUT(第12脚)、R2OUT(第9脚)输出。第三部分是供电,第15脚GND接地、16脚VCC接+5V电源。在与DB9的连接过程中,虽然DB9共有9个引脚,但实际上只要使用接收,发送信号引脚以及接地这3个引脚就可以正常使用了。由于大多数PC机已经去掉了RS-232的接口,使得DB9的使用在逐渐的减少。但是MAX232是一种价格便宜而且能够满足多种应用需求的芯片。即使是在资源非常有限的微控制处理器中也是可以很容易实现的,而且RS-232的接口特性使它成为一个可以胜任恶劣环境工作的点对点通信解决方案,这样的需求在许多工业控制或测量的实现中是非常典型的。本系统采用这种方式,主要考虑到对这种方式的不熟悉,虽然它的使用在逐渐的减少,但是学校的资源可以保证它能够正常的工作。MAX232和DB9的连接方式如图3.5所示。 图3.4 MAX232 的实物图以及引脚图图3.5 DB9与MAX232模块连接图3.2.3 I2C总线结构的密码存储模块密码存储模块采用AT24C02。AT24C02是一个E2PROM芯片,它具有2K内存,串行工作。它的内部含有256个8位字节的部件,先进CMOS技术减少了器件消耗的功率。它内置一个16字节的写缓冲器。这个器件通过I2C总线接口进行操作,有一个专门的写保护功能。其引脚如图3.6所示。图3.6 AT24C02的引脚封装排列图 (1)AT24C02的特性:工作电压在2.7V7V;内设防误擦除写保护,增加了使用的安全性;具有高可靠性:擦写周期达到100万次,数据保存超过百年;数据线上有看门狗定时器,能够更好地进行串口操作;最高传送速率可达400KHz;页写缓冲区包含16个字节,足够满足使用要求;高低电平复位信号输出。它的复位门栏电平是可以编程的,这就为使用提供了更多的便利性;可以双向传输数据;输入、输出引脚也可以直接使用+5V电压供电。(2)AT24C02的极限额定参数见表3.3所示: 表3.3 AT24C02的极限额定参数工作温度-55+125存储温度-65+150引脚的对地电压-1.0V+7.0V可以承受的最高工作电压6.25V直流输出电压50mA (3)AT24C02的各个引脚介绍: A0、A1、A2(器件地址输入端):使用器件级联时,需要对各个器件设置引脚,这时就需要通过这些引脚来设置。当这些引脚悬空时默认值为“0”。AT24C02最多可以级联8个器件。在使用时,如果某一次只需要寻址单个的芯片,这三个地址输入脚可以悬空或连接到VSS,即只能处于低电平状态。 SCL(串行时钟):所有的时钟信号都由这个引脚产生,它是一个输入管脚,它产生的时钟信号可以控制数据的收发。SDA(串行数据/地址):数据信息的收发都要通过这个引脚,它是输出管脚,由漏极组成,可以连线到其他开漏输出或集电极开路输出。 WP (写保护):要保证读/写功能能够同时使用,则必须把这个引脚保持在低电平,如果它处于高电平,芯片中的内容只可以被读出。24C02的连接图如下图3.7所示。 图3.7 AT24C02的连接方式AT24C02采用总线结构工作,这就在很大程度上弥补了系统在运行时单片机内存容量不够用的情况,而且为以后程序功能的扩展提供了良好的条件。使用I2C总线接口的IC器件,其内部不仅有I2C接口电路,还有一些相对独立的模块,一般来说,以功能来划分这些模块。在使用时,通过片选功能,寻址找到相应的模块,这样可以减少器件片选线的连接,保持电路的简洁。通过指令来完成硬件系统的扩展与控制,指令还可以把相应的硬件电路抽离或加入总线。I2C总线接口电路如图3.8所示。图3.8 I2C总线接口电路从图中可以看出,传递时钟和数据时,需要在串行数据I/O端SDA外加上拉电阻,拉高电平。 连接在SCL时钟线上的所有器件通过“线与”的功能完成时钟信号,同步传送到I2C总线上来传输信息。由于“线与”的功能,一旦SCL线上的某一器件由高电平跳变到低电平,则SCL将一直保持低电平状态。此时,即使时钟周期短的器件时钟再次回到高电平也不能改变其状态,这些器件将处于高电平的等待状态。只有所有的器件均结束低电平状态时,SCL线才能重新回到高电平状态。然后,由高电平周期最短,最早结束高电平的器件使得SCL线又再次回到低电平。由此可见,时钟处于低电平状态的时间由低电平状态时间最长的器件决定,而高电平状态的时间则是由高电平状态持续时间最短的器件决定。 数据的传输是在起始命令与停止命令之间的。从图3.9中可以看出,开始信号是在当SCL处于高电平时,SDA从高电平跳变到低电平的,任何其他的命令不得在此命令之前;与开始信号相反,结束信号产生于当SCL处于高电平,而SDA由低跳到高这一过程。开始和结束信号均由主器件产生,一旦开始信号产生总线即处于忙状态,直到结束信号产生,总线才回到空闲状态。图3.9 起始命令与停止命令数据的传输每次都是从最高位开始,从器件在接收到字节后会做出响应:释放SCL线回到高电平状态,在准备继续接收数据字节,此时主器件可以继续传递。如果从器件正在进行实时任务而不能接收数据时,可以先使时钟SCL线处于低电平,从器件使SDA保持高电平状态,此时,主器件可以产生一个结束信号,使数据传送结束,迫使主器件处于等待状态,等待从器件的空闲。当从器件处理任务后,释放时钟SCL线,主器件继续传输。当主器件发送完成一个字节的数据后,都需要紧接着发送一个ACK信号,这时在时钟内主器件释放SDA线,一个字节传送结束。3.2.4 液晶显示模块通过上文的分析,本次系统的显示器件设计采用LCD1602液晶显示器。LCD1602液晶显示器也叫1602字符型液晶显示器,它是一种专门用来显示数字、符号、字母等的点阵型液晶显示模块,它的显示由若干个点阵字符组成。每个字符均显示在点阵字符位上。不仅每位之间有间隔,每行之间也有间隔。这些间隔起到了字符间距和行间距的作用,正因为如此,所以LCD1602不能显示图形。(1)LCD1602的实物图如下图3.10所示:图3.10 LCD1602实物图从左到右依次的引脚为116,本次设计电子密码锁采用16脚有背光的液晶显示器。各引脚接口说明如表3.4所示:表3.4 各引脚说明图编号符号引脚说明编号符号 引脚说明1VSS电源地9D2 数据2VDD电源正极10D3 数据3VL液晶显示偏压11D4 数据4RS数据/命令选择12D5 数据5R/W读/写选择13D6 数据6E使能信号14D7 数据7D0数据15BLA 背光源正极8D1数据16BLK 背光源负极(2)LCD1602的指令说明及时序LCD1602液晶显示器的控制器一共有11条控制指令,其控制指令表如下表3.5所示:表3.5 LCD控制指令表序号指令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读出的数据内容通过对指令进行编程,可以实现1602液晶显示器的各项操作,包括读写操作、屏幕以及光标的操作等。(说明:高电平用“1”表示、低电平用“0”表示) 指令1:清显示(清屏),指令码为0x01。这条指令将空格代码0x20写入DDRAM(显示数据RAM)的全部单元内。然后将地址指针计数器AC清零,如果DDRAM移位,显示将会返回到它的初始设定的状态。换句话说,显示的内容全部消失,光标以及闪烁位回到显示的左边界,第一行。 指令2:光标复位(归位),指令码为0x20。这条指令代码同样会将地址计数器AC清零,如果DDRAM移位,将显示返回到它的初始状态。DDRAM的内容不变。光标或闪烁位返回显示的左边界,第一行的位置,即DDRAM地址0x00的单元位置。指令3:输入模式的选择,指令码0x040x07。向DDRAM写入或读出字符代码时使用I/D指令。当其为高电平时,DDRAM的地址增一,进行增一操作后,光标或闪烁位右移一个字符;当其为低电平时,DDRAM的地址减一,进行减一操作后,光标或闪烁位左移一个字符。同样适用于CGRAM(字符发生器RAM)的读写。此时,S的状态也会影响显示。当S、I/D均为高电平时,将整个显示向右滚动;当S为高电平,I/D为低电平时,整个画面向左滚动。当S为低电平时,无论I/D的高低电平状态,画面都不会滚动。如果S处于高电平状态,看起来好像光标没有移动,而是显示滚动。从DDRAM读取时,显示不滚动。在读写CGRAM时,画面不滚动。其具体的操作码可以从下面的表格3.6中明显的看出: 表3.6 指令集 I/DS指令码输入方式000x04画面不动,光标左移010x05画面向右滚动100x06画面不动,光标右移110x07画面向左滚动 指令4:设置显示状态,指令码为0x080x0F。其中包括控制整体的开关、光标的开关、光标的闪烁开关。 D用来控制整体显示的开与关,用高电平表示开显示,用低电平表示关显示。关显示只是画面不出现,而DDRAM的内容不变,将D置为“1”时,即立即可以显示。C用来控制光标的开与关,有光标时设置为高电平,无光标时则设置成低电平。即使光标不显示,在显示数据写时,不改变I/D或其他规范。B表示控制光标是否闪烁,闪烁需将其置“1”,不闪烁即置“0”。 指令5:光标或显示移位。这个指令执行时,不需要对DDRAM进行读写操作就可以使光标或画面左移或右移。其中S/C:高电平时移动显示的文字,低电平时移动光标;R/L:高电平时向右滚动,低电平时向左滚动。 指令6:用以设置数据以及字符的工作状态。DL设置为高电平时数据总线宽度为8为,设置为低电平时为4位,用高4为即D4D7显示。N:用于设置字符的行数,当置N为低电平时,LCD为单行显示,若要其双行显示,则需要将N置为高电平。F:字符体的点阵数通过F来设置。其中若置F为“0”即低电平状态,则显示5*7的点阵字符,反之显示5*10的点阵字符。一般设置F为低电平,使点阵字符保持在5*7的状态。 指令7:设置CGRAM的地址。 指令8:设置DDRAM的地址。指令9:忙标志位和光标地址。其中BF为忙标志位,采用高电平指示忙,在这个时候,无论是数据流还是命令都不能被LCD模块正常接收处理。反之BF为低电平表示不忙。由此可见,在单片机对液晶显示器进行读写操作之前,只有保证BF处于低电平状态,才能确保LCD正常工作。指令10:写数据。指令11:读数据。LCD1602的读写操作主要由使能信号控制,在操作时,E发出高电平;不操作时,处于低电平状态。进行读操作时,E处于高电平状态,控制器将所需要的数据传送到数据总线上去,当R/W端口信号为高电平时,将数据供给MCU读取,这个过程中,必须保证读信号的宽度比使能信号的宽度宽,才能保证读过程顺利;在进行写操作时,E仍是处于高电平,此时的读写信号应保持低电平状态,显示器将信息传送到数据总线上,同样写信号的宽度要比使能信号的宽度宽,这样信号就能顺利写入MCU。LCD同时根据RS端的状态来确定总线上的数据是指令代码还是显示数据。当RS处于低电平时,指令寄存器通道开通,总线传输的是标志位或指令代码;当其处于高电平时,总线通过数据寄存器通道传输显示数据。 图3.11 LCD1602的连线图 图3.12 声光报警模块连接图 对LCD进行连接时,将数据口D0D7与单片机的P0.0P0.7相连接,以便进行数据的传输。根据有背光的要求,把15脚接电源,开启背光功能,16脚接地。同时,为了可以调整光亮的对比度,在3脚上接滑动变阻器,根据需要进行调整。读写控制信号,使能信号,数据命令选择信号也均与单片机的P2口连接,进行通信传输,以实现系统的功能。具体的连接示意图如图3.11所示。 3.2.5 报警模块 为更加符合实用性,报警模块将同时采用声音报警与光报警。根据系统设计,当连续3次输入密码错误时,单片机通过程序置P2.0为高电平,三极管导通,蜂鸣器报警;P2.1为低电平,发光二级管导通,发出红色光。具体电路图见图3.12。3.2.6 电源电路模块 为了增加电源可提供电压的范围,电源电路模块决定采用桥式电路。由下图3.13可见,从D1开始,沿顺时针,依次为D1,D2,D3,D4。前两个电容是输入端的滤波电容,后两个电容是输出端的滤波电容。其中,当连接220V交流电时,由于三极管的导通性,在正半周期内,D1和D3导通;而在负半周期内,D2 和D4导通。通过不同的二极管把正弦交流电(sin)变成只具有正半周期的重复图形(|sin|)。之后进过滤波电容,通过电路的充放电过程,使其变得较为平坦,再经过7805以及滤波电容后,就可以产生稳定的直流电压。如果电路中没有输出滤波电容,那么只要因负载变化带来的电压波动频率恰好与稳压电路的调节速率差不多就会产生振荡效应,导致输出不稳,加了滤波电容就增加了稳压输出的稳定性。其中大电容起稳压和滤低频的作用,小电容起滤高频和退耦的作用。为了提高利用率而采用全波整流,而且整流后的电流产生的波纹成分少。7805是三端稳压集成电路中的一种,它的内部电路包括保护电路,用于保护在整流过程中防止前期电压过高等而对器件产生损害,使得它的使用能够更加可靠。在一系列三端稳压集成电路中,78系列是产生正向电压,05表示输出电压为5V。图3.13 电源电路模块连接图3.2.7 矩阵键盘输入模块矩阵键盘又称为行列式键盘,它拥有8个按键,排成4行4列。与传统单一的按键来确定哪一个按键被按下不同,矩阵键盘判断哪一个按键被按下是通过对行列线进行扫描达到的。判断哪个按键被按下时,要求先将全部的行线置“0”,再检测列线的所处的状态,这时如果有任意一列的列线被检测出为低电平,则被按下的按键就处于那一列中。再确定其所在行,先将第一根行线置“0”,当其被置“0”后,再检测它是否处于低电平状态的,若是,则表明被按下的键处于这根行线和列线的交叉处;若不是,则继续将其他的行线置“0”,直到找到被按下的按键为止。在实际的操作中,初始的行线与列线都处于高电平状态,按键一旦被按下即变为低电平。将行线通过74LS21连接,将输出连接到单片机第12脚(外部中断0)。当有按键被按下时,被按下按键的那一行的行线被置成“0”,此时与门输出低电平,单片机使用外部中断0。单片机读取识别按下的按键,进行相应的操作。连接电路图如图3.14所示。图3.14 矩阵键盘的连接图 按键分布图如表3.7所示:表3.7 按键分布表123setting456back789cleaninput0unlockenter 按键中的setting键使用来重新设置密码的。input键是输入键,选择输入密码时使用。在输入密码的过程中,如果需要取消前一个输入,可以按back键;如果需要全部清除重新输入,就按clean键。Enter键是在输入完毕确认输入时使用的。3.2.8 模拟开锁模块 当用户输入的密码正确时,单片机向P2.2口输出高电平信号,三极管导通,驱动继电器吸合。由于继电器闭合,导致后续电路导通,发光二级管点亮发出绿光,绿光用以指示密码正确,来模拟电子锁打开。在一段时候后,继电器再次断开,保证防盗安全。连接图如下图3.15所示。 图3.15 电子锁模拟打开模块连接图3.3 完整电路图图3.16 系统整体电路图 总体电路图如上图所示。在实际使用时,首先通过DB9下载编译好的程序,然后接通电源。接通电源后,通过桥式整流电路产生稳定的+5V电源,发光二级管发出绿光,表明电路通电。等待一段时间后,LCD显示开机文字“happy every day”。此时,只有按下input键或setting键,系统才会反应。此时若按下input键,系统提示输入密码,连续3次输入密码错误时,系统报警,键盘锁定;若密码输入正确,则继电器模拟开锁,同时灯亮。若选择更改密码,则需要先输入设定的原始密码,密码输入错误,系统报警;在密码输入正确的前提下,连续两次输入相同的密码时,密码被成功更改。在输入过程中,clean键可以消除所有的输入;back键只能取消前一位的输入。键盘被锁定后,可以等待一定的时间再按解锁键就可以解锁。在使用时,只要按下复位键,系统就自动回复到初始状态。3.4 PCB图4 软件系统设计4.1 系统整体流程图图4.1 系统整体流程图4.2 子程序流程图4.2.1 LCD1602流程图LCD1602初始化及信息显示流程图如图4.2所示。 图4.2 LCD1602工作流程图4.2.2 AT24C02流程图 密码存储芯片AT24C02的读、写流程图如下图4.3,4.4所示。 图4.3 写操作流程图 图4.4 读操作流程图 AT24C02在系统中工作流程图,如下图4.5所示。图4.5 AT24C02系统工作流程图5 结束语本系统设计采用STC89C52型单片机为主控芯片,主要通过软件编程,结合外围电路实现电子密码锁的基本功能:若用户密码输入正确,电子锁模拟打开一定的时间后再次自动上锁;当密码输入错误时,系统产生声光报警,LCD提示重新输入,连续3次输入错误,系统报警,并锁定键盘,再次使用时,需要对键盘解锁;更改密码时,必须先输入正确的初始密码,在连续两次输入相同的新密码,若两次密码不一致,会导致报警,提醒重新输入,与开锁一样,连续3次失败,就会锁定键盘。总体上,本次系统设计能够实现这些基本的功能,但是还存在着一些不足和缺陷:首先,使用的主控芯片是比较普遍的单片机,虽然在选择上采用的是STC系列的,但其与51系列的差别不大,应该尝试使用FPGA或是CPLD;其次,关于液晶显示器的选择虽然1602能够满足功能,价格也比较适中,但是它不能显示图形;再其次,开始设计时,设想的报警系统应具有闪光报警功能,而不是单一的声光报警;最后,由于各种原因,板子没有能够调试成功,这是本次系统最大的缺点。在本次设计过程中,从前期资料的阅读到后期具体细节的实现,这一过程让我受益匪浅,不仅温故了以往所学的模电、数电等知识,还让我通过设计学会了其他很多。虽然没有能够调试成功电路板,但是我觉得只要我能够从中学会什么,就是值得的。在以后的生涯中,我一定会保持认真的科研精神,继续努力。参考文献:1邹应全.51系列单片机原理与实验教程M.西安电子科技大学社.2007.2王迎旭.单片机原
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 光源寿命预测模型研究-洞察及研究
- 2025年智慧温室环境监测系统在农业产业链中的应用与市场前景报告
- 九江市八里湖新区第三小学2025年顶岗教师招聘备考考试题库附答案解析
- 2025山东菏泽单县张集煤矿招聘30人考试模拟试题及答案解析
- 2025江苏常州市武进区选调机关和参公事业单位工作人员26人备考考试试题及答案解析
- 2025年湖南省高速公路集团有限公司所属分子公司长期公开招聘考试参考题库及答案解析
- 2025江西南昌市劳动保障事务代理中心招聘劳务派遣人员3人考试参考题库及答案解析
- 2025湖北武汉火箭公司总装总调中心招聘备考考试题库附答案解析
- 农业设施使用及安全责任协议书
- 高品质电梯维护保养服务合同协议文本
- 产教融合育人协同创新模式
- 农资创业项目计划书
- 环境标志产品技术要求 房间空气调节器(HJ 2535-2013代替HJ-T304-2006)
- 矿山支护工安全培训课件
- 冠寓公寓运营管理手册
- 装配工基本技能培训
- 民谣酒馆项目融资计划书
- 新概念张云生讲解的笔记
- 焊工施工方案大全
- 大班数学《年妈妈的故事》课件
- 汕头市房地产租赁合同
评论
0/150
提交评论