基于51单片机的密码锁论文.docx
《基于51单片机的密码锁论文.docx》由会员分享,可在线阅读,更多相关《基于51单片机的密码锁论文.docx(33页珍藏版)》请在咨信网上搜索。
摘要 在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作、记住密码即可开锁等优点。 目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。 本系统由STC89C51单片机系统(主要是STC89C51单片机最小系统)、4×4矩阵键盘、LCD1602显示和报警系统等组成,具有设置、修改六位用户密码、超次报警、超次锁定、密码错误报警等功能。 关键词: STC - 89C51、LCD1602、电子密码锁、4×4矩阵键盘 Abstract In our daily life and work, the security of residential and department, the file of the unit, the financial report and the preservation of some personal data are more and more. If using the traditional mechanical key to unlock, people often need to carry more than the key, the use of extremely inconvenient, and the key is lost after the security is greatly reduced. It is an inevitable trend to have a mechanical cipher lock which has the function of anti theft alarm, less password lock, less security. With the continuous development of science and technology, people's daily life in the safety of the device is increasingly high requirements. In order to meet the requirements of the use of the lock, increase its security, with a password to replace the key to the password lock came into being. The password lock has the advantages of high security, low cost, low power consumption, easy operation, remember password can unlock and so on. At present, most of the electronic cipher lock is based on SCM technology, with the single chip microcomputer as the main device, the encoder and decoder are generated as the software mode. This system is composed of STC89C51 microcontroller system (STC89C51), 4 * 4 matrix keyboard, LCD1602 display and alarm system, etc., which has the functions of setting up and modifying six user passwords, super alarm, super lock, password error alarm and so on. Key words:STC - 89C51;LCD1602;Electronic password lock;4×4 keyboard 目录 1.引言 1 1.1.研究背景 1 1.2.设计内容及要求 1 2.硬件设计 3 2.1.系统整体设计 3 2.2.子电路设计 4 2.2.1.单片机STC89C51简介 4 2.2.2.AT24C02存储芯片 6 2.2.3.LCD显示模块 8 2.2.4.键盘设计 11 2.2.5.声音提示模块 12 2.2.6.继电器控制模块 13 3.软件设计 15 3.1.系统整体流程图 15 3.2.键盘扫描子程序 16 3.3.系统模块密码设置子程序 16 3.4.开锁子程序 18 4.调试与测试 19 4.1.焊接注意事项: 19 4.1.1.LCD的注意事项 19 4.1.2.单片机焊接注意事项 19 4.1.3.其他的电子器件焊接须知 19 4.2.硬件调试问题及解决方法 20 4.3.测试结果 20 5.总结与展望 22 参考文献 23 附录 24 附录A:仿真图 24 附录B:C语言主要程序 24 附录C:实物图 30 附录D:设计分工 30 1. 引言 1.1. 研究背景 随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性能价格比显著提高,技术日趋完善。由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。本设计利用单片机及附加电子元器件实现数据采集和控制算法,来完成某一实际功能,检验并提高同学对整体电路设计和把握能力,了解单片机系统设计流程,以及电路板的实际制作和调试能力。同时也加强对数字电路、单片机和微机原理等课程知识的实际应用能力,也为同类产品的进一步发展奠定理论和实践基础。 随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。这种锁是通过键盘输入一组密码完成开锁过程。由于电子锁的密钥量极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。但较实用的还是按键式电子密码锁。 在我国电子锁整体水平尚处于国际上70年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用 1.2. 设计内容及要求 (1)本设计为了防止密码被窃取要求在输入密码时在LCD屏幕上显示*号。 (2)设计开锁密码位六位密码的电子密码锁。 (3)能够LCD显示在密码正确时显示open,密码错误时显示error,输入密码时显示INPUT。 (4)4×4的矩阵键盘其中包括0-9的数字键、*、#和A-D功能键 (5)本产品具备报警功能,当输入密码错误时蜂鸣器响并且LED灯亮。 (6)密码可以由用户自己修改设定(只支持6位密码),修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作 。 2. 硬件设计 2.1. 系统整体设计 本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈。 本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,软件部分对应的由主程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。其原理框图如图2.1所示。 STC89C51 键盘输入 复位电路 密码存储电路 晶振电路 电源输入 显示电路 报警电路 开锁电路 图2.1 电子密码锁原理框图 2.2. 子电路设计 2.2.1. 单片机STC89C51简介 STC89C51是一种低功耗、高性能CMOS8位微控制器,具有 4K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 4k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,2个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89C51 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。STC89C51主要功能如表1所示,其DIP封装如图2.2.1所示 表1:STC89C51主要功能 主要功能特性 兼容MCS51指令系统 4K可反复擦写Flash ROM 32个双向I/O口 256x8bit内部RAM 2个16位可编程定时/计数器中断 时钟频率0-24MHz 2个串行中断 可编程UART串行通道 2个外部中断源 共6个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 STC89C52引脚介绍: ① 主电源引脚(2根) VCC(Pin40):电源输入,接+5V电源 GND(Pin20):接地线 ②外接晶振引脚(2根) XTAL1(Pin19):片内振荡电路的输入端 XTAL2(Pin20):片内振荡电路的输出端 ③控制引脚(4根) RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。 ALE/PROG(Pin30):地址锁存允许信号 PSEN(Pin29):外部存储器读选通信号 EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。 ④可编程输入/输出引脚(32根) STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。 P0口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7 P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7 P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7 P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7 作频率35Mhz,6T/12T可选。 图2.2.1 STC89C51 DIP封装图 最小系统包括单片机及其所需的必要的电源、时钟、复位等部件,能使单片机始终处于正常的运行状态。电源、时钟等电路是使单片机能运行的必备条件,可以将最小系统作为应用系统的核心部分,通过对其进行存储器扩展、A/D扩展等,使单片机完成较复杂的功能。 STC89C51是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单﹑可靠。用STC89C52单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,结构如图2.2.2所示,由于集成度的限制,最小应用系统只能用作一些小型的控制单元。 时钟电路 复位电路 STC89C51单片机 I/O口 图2.2.2单片机最小系统原理框图 (1) 时钟电路 STC89C51单片机的时钟信号通常有两种方式产生:一是内部时钟方式,二是外部时钟方式。内部时钟方式如图2.2.3所示。在STC89C51单片机内部有一振荡电路,只要在单片机的XTAL1(18)和XTAL2(19)引脚外接石英晶体(简称晶振),就构成了自激振荡器并在单片机内部产生时钟脉冲信号。图中电容C1和C2的作用是稳定频率和快速起振,电容值在5~30pF,典型值为30pF。晶振CYS的振荡频率范围在1.2~12MHz间选择,典型值为12MHz和6MHz。 图2.2.3 STC89C51内部时钟电路 (2) 复位电路 当在STC89C51单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。 最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充放电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。 除了上电复位外,有时还需要按键手动复位。本设计就是用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST(9)端与电源Vcc接通而实现的。 图2.2.4 STC89C51复位电路 2.2.2. AT24C02存储芯片 AT24C02是美国Atmel公司的低功耗CMOS型E2PROM,内含256×8位存储空间,具有工作电压宽(2.5~5.5 V)、擦写次数多(大于10000次)、写入速度快(小于10 ms)、抗干扰能力强、数据不易丢失、体积小等特点。而且他是采用了I2C总线式进行数据读写的串行器件,占用很少的资源和I/O线,并且支持在线编程,进行数据实时的存取十分方便。AT24C02中带有的片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。I2C总线是一种用于IC器件之间连接的二线制总线。他通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。AT24C02正是运用了I2C规程,使用主/从机双向通信,主机(通常为单片机)和从机(AT24C02)均可工作于接收器和发送器状态。主机产生串行时钟信号(通过SCL引脚)并发出控制字,控制总线的传送方向,并产生开始和停止的条件。无论是主机还是从机,接收到一个字节后必须发出一个确认信号ACK。AT24C02的控制字由8位二进制数构成,在开始信号发出以后,主机便会发出控制字,以选择从机并控制总线传送的方向。 SOIC PDIP 图2.2.5 24C02的两种引脚图 图2.2.6 AT24C02的电路接线图 图中AT24C02的1、2、3脚是三条地址线,用于确定芯片的硬件地址。第8脚和第4脚分别为正、负电源。第5脚SDA为串行数据输入/输出,数据通过这条双向I2C总线串行传送,第6脚SCL为串行时钟输入线, SDA和SCL都需要和正电源间各接一个10 K的电阻上拉。第7脚需要接地。 24C02中带有片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。 2.2.3. LCD显示模块 LCD1602A 是一种工业字符型液晶,能够同时显示16x02 即32个字符。(16列2行)。在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。发光管和LED数码管比较常用,软硬件都比较简单。 在单片机系统中应用晶液显示器作为输出器件有以下几个优点: 由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。 液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。 液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。 相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。 (1)引脚说明: 第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端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。 (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:读数据 。 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。 1602 内部显示地址如图2.2.7所示: 图2.2.7 1602内部显示地址 例如第二行第一个字符的地址是40H,那么是否直接写入40H 就可以将光标定位在第二行第 一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1,所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H) 。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602 液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如下图所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H 中的点阵字符图形显示出来,我们就能看到字母“A”。 液晶显示的原理是利用液晶的物理特性, 通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。 图2.2.8 液晶显示模块电路图 2.2.4. 键盘设计 本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。 每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。 在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。 4×4矩阵键盘的工作原理 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图5所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。 扫描原理 把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的入,那就代表那一行所接收到的扫描码是同一个bit,而读入扫描码的则是水平,扫描的动作是先输入扫描码,再去读取输入的值,经过比对之后就可知道是哪个键被按下。 比如说扫描码送入01111111,前面的0111是代表此时扫描第一行P1.0列,而后面的1111是让读取的4行接脚先设为VDD,若此时第一行的第三列按键被按下,那读取的结果就会变成01111101(注意1111变成1101),其中LSB的第三个bit会由1变成0,这是因为这个按键被按下之后,会被垂直的扫描码电位short,而把读取的LSB的bit电位拉到0,此即为扫描原理。 由于这种按键是机械式的开关,当按键被按下时,键会震动一小段时间才稳定,为了避免让单片机误判为多次输入同一按键,我们必须在侦测到有按键被按下,就延时一小段时间,使键盘以达稳定状态,再去判读所按下的键,就可以让键盘的输入稳定。图2.2.9为键盘整体模框图: 图2.2.9 键盘整体模框图 2.2.5. 声音提示模块 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 ;蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。 多谐振荡器由晶体管或集成电路构成。当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。 压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。 电磁式蜂鸣器 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。 接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互缠绕 蜂鸣器驱动电路一般都包含以下几个部分:一个三极管、一个蜂鸣器、一个限流电阻。 蜂鸣器为发声元件,在其两端施加直流电压(有源蜂鸣器)或者方波(无源蜂鸣器)就可以发声,其主要参数是外形尺寸、发声方向、工作电压、工作频率、工作电流、驱动方式(直流/方波)等。这些都可以根据需要来选择。本设计采用有源蜂鸣器。 图2.2.10 蜂鸣器整体模框图 2.2.6. 继电器控制模块 电磁继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)释放。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。继电器一般有两股电路,为低压控制电路和高压工作电路。 图2.2.11 继电器整体模框图 电路中继电器室通过PNP型三极管驱动,当阀值超过设定时,单片机会由高电平跳变成低电平,三极管导通继电器吸合,继电器起开关作用,可以驱动负载。 3. 软件设计 3.1. 系统整体流程图 本系统软件设计由主程序、初始化程序、LCD显示程序、键盘扫描程序、键功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。主要程序设计流程图如图3.1所示: 开始 初始化 模式选择 识别按键 密码输入 手动清除 密码比较 开门 旧密码输入 新密码输入 存入缓存区 再次输入密码 重新输入 设置完毕返回 N A N B Y 图3.1 程序设计流程图 3.2. 键盘扫描子程序 图3.2 键盘扫描子程序图 3.3. 系统模块密码设置子程序 由于设计是分模块化进行,所以子程序是整体软件系统的组成部分,子程序不但可以使程序化整为零,使其复杂简单化,同时也方便阅读,修改等,每个功能模块都有它自己的子程序,在本设计中是用LCD显示数据,所以就要用到显示子程序,设计中用的是矩阵键盘,所以就用到键盘扫描子程序,例如还有显示初始化子程序、LCD忙检测子程序、关闭状态显示子程序、开锁状态显示子程序、密码输入及修改状态显示子程序、密码输入错误后的提示子程序等。下图3.3为密码修改子程序流程图 设置程序 初始化 按下设置键 输旧密码 确认程序 所输入旧密码正确? 输新密码 确认程序 设置成功 输入次数加1 次数>3? 报警程序 N Y N Y 返回 确认程序 再次输新密码 两次新密码输入相同? N Y 图3.3 设置密码子程序 3.4. 开锁子程序 初始化 按开锁键 输入密码 确认程序 所输入密码正确? Y 开锁成功 开锁程序 输入次数加1 3次数>3? 报警程序 返回 N Y N 图3.4 开锁子程序流程图 4. 调试与测试 4.1. 焊接注意事项: 4.1.1. LCD的注意事项 1.采用焊接方法将金属基PIN安装于LCD时,从玻璃末端到PCB的焊接位置的长度至少5mm,焊接温度必须在260℃以下,且焊接时间必须在10秒以内,以免焊接过程中对装置的损坏,确保焊接性能。在230℃,30秒条件下,90%的焊料须紧密附着于PIN上。 2.对LCD基板或基PIN焊接位置的调整必须在安装前完成。严禁猛烈移动基PIN,否则会机械地破坏LCD屏与基PIN之间的连接点。焊接时平放LCD,尽量不让LCD受力。 3.焊接LCD基板时,将其小心、平衡地插入PCB插槽,以避免损坏基PIN或LCD基板。 4.焊接时,LCD基板不应长时间置于焊锡蒸汽中,清洗PCB时,必须避免污染LCD基板,否则可能损坏显示器表面的偏光片及封口胶。 5.显示器表面的保护膜直到焊接完成才可揭掉,禁止手指及其它硬物接触偏光片,禁止水和其他化学物质沾污装置,因为这些物质会污染显示器表面。 4.1.2. 单片机焊接注意事项 80s51单片机与其它单片机,dsp,arm芯片相比较而言是脆弱的,如果焊接时不小心就很可能把芯片损坏!建议用比较好的恒温可调的烙铁,功率在30瓦左右,温度控制在260到300度,建议采用点焊而不用拉焊,焊接时烙铁放在每个引脚的时间不能太长(最好低于3秒)。上边提到的方法还不能确保芯片完好,对芯片有危害的还有带电烙铁的静电感应!烙铁质量不是太好的,焊接时可以把烙铁电源插头拔掉。 4.1.3. 其他的电子器件焊接须知 一般分四步骤进行。①准备焊接:清洁被焊元件处的积尘及油污,再将被焊元器件周围的元器件左右掰一掰,让电烙铁头可以触到被焊元器件的焊锡处,以免烙铁头伸向焊接处时烫坏其他元器件。焊接新的元器件时,应对元器件的引线镀锡。②加热焊接:将沾有少许焊锡和松香的电烙铁头接触被焊元器件约几秒钟。若是要拆下印刷板上的元器件,则待烙铁头加热后,用手或银子轻轻拉动元器件,看是否可以取下。③清理焊接面:若所焊部位焊锡过多,可将烙铁头上的焊锡甩掉(注意不要烫伤皮肤,也不要甩到印刷电路板上!),用光烙锡头"沾"些焊锡出来。若焊点焊锡过少、不圆滑时,可以用电烙铁头"蘸"些焊锡对焊点进行补焊。④检查焊点:看焊点是否圆润、光亮、牢固,是否有与周围元器件连焊的现象。 焊接流程按照附录I所示的电子密码锁的硬件联接原理图按下列顺序依次焊接: (1)焊接单片机的晶振电路、复位电路等单片机的最小系统的外围电路。 (2)焊接LCD的相应管脚并把LCD的管脚单片机相连接。 (3)焊接键盘的按键电路。 (4)焊接电子密码锁的密码输入错误的报警电路。 (5)焊接密码锁的开锁机构电路。 (6)焊接其他接口及辅助电路。 (7)焊接接地及高电平。 4.2. 硬件调试问题及解决方法 本设计在焊接调试时遇到的问题以及解决方法: (1)在焊接完成时,插电进行测试,发现LCD1602只在第一行显示小方块,没有显示内容,在经过查阅资料后发现问题所在为排阻第一脚应接Vcc,改正后正常显示。 (2)在调试过程中发现LED灯一直处于点亮状态,经仔细检查发现,在三极管基极(B极)一端引出了一根线接了电源,去掉后即可正常使用。 4.3. 测试结果 图4.3.1 实物运行结果 图4.3.2 仿真运行结果 5. 总结与展望 本设计从经济实用的角度出发,采用单片机STC89C51低功耗CMOS型E2PROM AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、显示、报警、开锁等电路并用C语言的控制程序,研制了一款可以多次更改密码具有报警功能的电子密码锁。设计完全可行可以达到设计目地。使用单片机制作的电子密码锁具有软硬件设计简单,易于开发,成本较低,安全可靠,操作方便等特点,可应用于住宅、办公室的保险箱及档案柜等需要防盗的场所,有一定的实用性。该电路设计还具有按键有效提示,输入错误提示,控制开锁电平,控制报警电路,修改密码等多种功能。可在意外泄密的情况下随时修改密码。保密性强,灵活性高,特别适用于家庭、办公室、学生宿舍及宾馆等场所。 参考文献 [1] 何宏主编.单片机原理与接口技术[M]. 北京:国防工业出版社. 2006.07 [2] 杨西明,朱骐主编.单片机编程与应用入门[M].北京:机械工业出版社.2004.06 [3] 先锋工作室编著. 单片机程序设计实例[M]. 北京:清华大学出版社.2003.01 [4] 王宽仁. 可靠安全的智能密码锁[J]. 电子技术应用,2001 [5] 李捷,陈典涛,陈建华,等. 一种基于单片机的电子密码锁的设计[J]. 农机化研究,2004.05 [6] 董继成. 能防止多次试探密码的单片机密码锁[D].国外电子元器件,2004.03 [7] 赵益丹,徐晓林,周振峰编著.电子密码锁的系统原理、设计程序及流程图[J].嘉兴学院学报,2003,15 [8] 张培仁.基于C语言编程 MCS- 51单片机原理与应用[M]. 北京:清华大学出版社,2002.12 [9] 范风强 兰婵丽.单片机语言C51应用实战集锦[M].电子工业出版社,2003.03 [10] 王宜怀.单片机原理及其嵌入式应用教程[M].北京希望电子出版社,2002.08 附录 附录A:仿真图 附录B:C语言主要程序 void ResetPassword() //更改密码 { unsigned char i; unsigned char j; if(pass==0) { pass=0; DisplayChar(); ThreeAlam(); } else { if(ReInputEn==1) { if(N==6) { ReInputCont++; if(ReInputCont==2) { for(i=0;i<6;) { if(TempPassword[i]==InputData[i]) //将两次输入的新密码作对比 i++; else { write_1602com(er); for(j=0;j<16;j++) { write_1602dat(Error[j]); } ThreeAlam(); //错误提示 pass=0; ReInputEn=0; //关闭重置功能, ReInputCont=0; DisplayChar(); break; } } if(i==6) { write_1602com(er); for(j=0;j<16;j++) { write_1602dat(- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 密码锁 论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文