毕业设计(论文)基于8051单片机的密码锁设计.doc
《毕业设计(论文)基于8051单片机的密码锁设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于8051单片机的密码锁设计.doc(27页珍藏版)》请在三一办公上搜索。
1、基于AT89C51的密码锁控制Password lock control based on AT89C51院系:机电汽车工程学院专业:机械设计制造及其自动化姓名:学号:指导老师: 2015年7月4日烟台大学目录概述.21.功能分析及总体设计.32.硬件设计.42.1 键盘扫描电路设计.42.2 LCD液晶显示电路设计.5LCD1602主要技术参数.5清屏指令 Clear display.8功能设置指令 Function set.9LCD1602电路.112.3发声电路设计.122.4开锁控制电路.122.5晶振电路.132.6 电路连接总图.133.软件设计.143.1系统相关子程序.15 3
2、.1.1按键相关子程序.16 3.1.2显示相关子程序.173.2系统主程序.184.设计小结.255.参考文献.26概述在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。眼下假冒伪劣的机械锁泛滥成灾,互开率非常之高。机械锁的这些弊端为一种新型的锁-电子密码锁,提供了发展的空间。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高
3、锁的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。但较实用的还是按键式电子密码锁。随着单片机的问世,出现了带微处理器的智能电子密码锁,它除了具有一般电子密码锁的功能外,还引入了智能化管理,专家分析系统等功能,从而使密码锁具有很高的安全性,可靠性。当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研
4、究它具有重大的现实意义。20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,只适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。目前,在西方发达国家,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国电子密码锁的成本还很高,应用还不广泛。目前市场上的按键密码锁主要有以下两类,但都存在不同程度的缺陷。固定键盘式电子密码锁:这类密码锁使用固定键盘输入门锁密码。用户密码可以在18位任意设定,密码量极大,尝试法输入密码时,系统会出现保护性自锁,同时具有自
5、动报警功能。这种密码锁成本不高,操作非常简单,常与机械弹子锁配合使用。类密码锁有以下缺陷:需要安装固定键盘,数字按键的位置固定不变,用户在操作时没有隐蔽性,其他人可以通过记住密码输入人员的手势推测出输入的密码,或被他人偷拍输入过程而得到密码。随机键盘式密码锁:为了防止用户在利用固定键盘输入密码的过程被偷窥或偷拍,研制出了随机键盘系统。用这种键盘输入密码时,每输入一个数字,键盘上的数字键的摆放顺序会随机变化,用户利用变化后的键盘输入下一位数字,使得利用偷窥或偷拍的方式记住密码的企图无法奏效。但它的缺点也是显著的:由于随机键盘对硬件要求较高,要采用触摸屏幕,键盘与显示器就必须合二为一,因此成本较高
6、,难于应用到保险柜上。本设计利用8051单片机的控制程序结合LCD,设计一个LCD密码锁,可以用在需要密码输入的应用场合。本设计可以学习8051按键扫描输入、LCD显示、密码比较处理的设计方法。1.功能分析及总体设计本设计的密码锁具备的功能有:(1)使用LCD显示器来显示密码输入的相关信息;(2)可以设置四位数字(09)密码;内定另一组四位数字密码为“1234”;(3)密码输入正确则继电器启动2s,密码输入错误则发出警报声。程序执行后工作指示灯LED亮,表示程序开始执行,LCD显示“PASSWARD A OR B KEY”,按下操作键A或B动作如下:操作键A:设置新的四位数字密码;操作键B:输
7、入四位数字密码并作检查。2.硬件设计2.1 键盘扫描电路设计本实验使用是的是矩阵式键盘扫描设计。其方式包括三种,程序控制随机扫描方式、定时扫描方式、中断扫描方式。由于本设计所用到的按键数量较多而不适合用独立按键式键盘。采用的是矩阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多I/O口。本设计中使用的这个4*4键盘不但能完成密码的输入还能作特别功能键使用,比如清除功能等。键盘的每个按键功能在程序设计中设置。如图所示,本系统采用44矩阵键盘,16个按键分为输入字符和数字键:*、0、#、1、2、3、4、5、6、7、
8、8、9;功能键A、B、C、D。矩阵键盘内部原理图如图3-2所示,外观图如图1所示。图1键盘电路设计对照图1的44键盘,说明线反转个工作原理。首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交
9、的交点上的那个键。图2为键盘作用表。K1清零K5#确认K90K13*K2无定义K69K108K147K3BK74K115K156K4AK83K122K161图2 键盘作用表2.2 LCD液晶显示电路设计图3 LCD1602引脚图LCD1602简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,市面上字符液晶绝大多数是基于HD44780液晶芯片,HD44780是带西文字库的液晶显示控制器,用户只需要向HD44780送ASCII的字符码,HD44780就按照内置的ROM点阵发生器自动在LCD液晶显示器上显示出来。所以,HD44780主要适用于显示西文ASCII字符内容的液晶显示
10、。1602字符型LCD能够同时显示16*2即32个字符(16列2行)。其内置192种字符(160个5*7点阵字符和32个5*10点阵字符),具有64个字节的自定义字符RAM,可自定义8个5*8点阵字符或4个5*11点阵字符。1602通常有14条引脚线或16条引脚线两种,多出来的2条线是背光电源线和地线,带背光的比不带背光的略厚,控制原理与14脚的LCD完全一样,是否带背光在应用中并无差别。本设计中采用带背光16引脚线的。LCD1602主要技术参数:显示容量:162个字符芯片工作电压:4.55.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.954.35(WH)
11、mm 第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。
12、第15脚:背光源正极。第16脚:背光源负极。 1602模块内部主要由LCD显示屏、控制器、列驱动器和偏压产生电路构成。控制器接受来自MPU的指令和数据,控制着整个模块的工作。主要由显示数据缓冲区DDRAM,字符发生器CGROM,字符发生器CGRAM,指令寄存器IR,地址寄存器DR,忙标志BF,地址计数器AC以及时序发生电路组成。模块通过数据总线DB0DB7和E、R/W、RS三个输入控制端与MPU接口。这三根控制线按照规定的时序相互协调作用,使控制器通过数据总线接受MPU发来的数据和指令,从CGROM中找到欲显示字符的字符码,送入DDRAM,在LCD显示屏上与DDRAM存储单元对应的规定位置显示
13、出该字符。控制器还可以根据MPU的指令,实现字符的显示,闪烁和移位等显示效果。CGROM内提供的是内置字符码,CGRAM则是供用户存储自定义的点阵图形字符。模块字符在LCD显示屏上的显示位置与该字符的字符代码在显示缓冲区DDRAM内的存储地址一一对应。 LCD1602模块内部具有两个8位寄存器:指令寄存器IR和地址寄存器DR,用户可以通过RS和R/W输入信号的组合选择指定的寄存器,进行相应的操作。1602提供了较为丰富的指令设置,通过选择相应的指令设置,用户可以实现多种字符显示样式。下面仅简要介绍本次设计中需要用到的一些指令设置。l 清屏指令 Clear display清显示指令将空位字符码2
14、0H送入全部DDRAM地址中,时DDRAM中的内容全部清除,显示消失,地址计数器AC=0,自动增一模式。显示归位,光标闪烁回到原点(显示屏左上角),但不改变移位设置模式。清屏指令码见表1。表1 清屏指令码RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000000001l 进入模式设置指令 Entry mode set见表2,进入模式设置指令用于设定光标移动方向和整体显示是否移动。表2 模式设置指令码RSR/WDB7DB6DB5DB4DB3DB2DB1DB000000001I/DSI/D:字符码写入或者读出DDRAM后DDRAM地址指针AC变化方向标志。I/D=1,完成一个字符码传
15、送后,AC自动加1。I/D=0,完成一个字符码传送后,AC自动减1。S:显示移位标志。S=1,完成一个字符码传送后显示屏整体向右(I/D=0)或向左(I/D=1)移位。S=0,完成一个字符码传送后显示屏不移动。l 显示开关控制指令 Display on/off control指令码见表3,该指令功能为控制整体显示开关,光标显示开关和光标闪烁开关。表3显示开关控制指令码RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000001DCBD:显示开/关标志。D=1,开显示;D=0,关显示。关显示后,显示数据仍保持在DDRAM中,开显示即可再现。C:光标显示控制标志。C=1,光标显示;C=
16、0,光标不显示。不显示光标并不影响模块其他显示功能。显示5*8点阵字体时,光标在第八行显示;显示5*10点阵字符时,光标在第11行显示。B:闪烁显示控制标志。B=1,光标所在位置会交替显示全黑点阵和显示字符,产生闪烁效果;B=0,光标不闪烁。l 功能设置指令 Function set功能设置指令用于设置接口数据位数,显示行数以及字形。指令码见表4。表4功能设置指令码RSR/WDB7DB6DB5DB4DB3DB2DB1DB000001DLNF*DL:数据接口宽度标志。DL=1,8位数据总线DB7DB0;DL=0,4位数据总线DB7DB4,DB3DB0不使用,此方式传送数据需分两次进行。N:显示行
17、数标志。N=0,显示一行;N=1,显示两行。F:显示字符点阵字体标志。F=0,显示5*7点阵字符;F=1,显示5*10点阵字符。1602模块内部设有上电自动复位电路,当外加电源电压超过+4.5V时,自动对模块进行初始化操作,将模块设置为默认的显示工作状态。初始化大约持续10ms左右。初始化进行的指令操作为:l 清显示l 功能显示DL=1:8位数据接口。N=0:显示一行。F=0:显示5*8点阵字符字体。l 显示开/关控制D=0:关显示。C=0:不显示光标。B=0:光标不闪烁。l 输入模式设置I/D=1:AC自动增一。S=0:显示不移位。但是需要特别注意的是,倘若供电电源达不到要求,模块内部复位电
18、路无法正常工作,上电复位初始化就会失败。因此,最好在系统初始化时通过指令设置对模块进行手动初始化。LCD1602电路如图4,80C51的P0口接1602的8位数据线,通过输出数据控制1602显示不同的提示字符。1602本身内置各种字符,还可以自定义显示字符。本设计中根据不同场合1602会显示各种提示字符。图4 LCD1602电路P2.0P2.2接1602控制端,其中P2.2接使能端E,写操作时,使能端下降沿有效。P2.1接读写控制端R/W,R/W=0,读操作;R/W=1,写操作。P2.0接寄存器选择端RS,RS=0,写操作时指向指令寄存器,读操作时指向地址寄存器;RS=1,无论读操作还是写操作
19、都指向数据寄存器。LCD1602的VSS为电源地,需接地;VDD为电源电压;V0为LCD驱动电压,接电位器,通过调节电位器控制显示的亮度,使LCD显示清晰而无黑影。背光电源线LCD正负两端分别接电源和地即可。2.3发声电路设计用P3.7口控制一个有源蜂鸣器发声,作为提示音或报警音。程序设定为每当识别到有一位按键被按下时,蜂鸣器发声0.1S;密码错误时每次停顿0.5S发声1S。蜂鸣器有两个引脚,其中长脚为正极,短脚为负极。其发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它。由于单片机I/O引脚输出的电流较小,基本上驱动不了蜂鸣器,因此需要增加一个电流
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 8051 单片机 密码锁 设计
链接地址:https://www.31ppt.com/p-3978325.html