ImageVerifierCode 换一换
格式:DOCX , 页数:49 ,大小:836.97KB ,
资源ID:10413779      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10413779.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字密码锁的设计论文.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字密码锁的设计论文.docx

1、数字密码锁的设计论文电子与信息工程学院本 科 毕 业 论 文论文题目 数字密码锁的设计 学生姓名 073621* 学 号 073621010 专 业 电子信息科学与技术 班 级 07电信(1) 指导教师 2010年5月摘 要基于Atmega88V设计的数字密码锁是以Atmega88V为核心控制电路,配以电源电路、复位电路、指示电路、报警电路、键盘电路等外围电路,实现对密码的输入、识别、修改、存储及输入密码错误时报警等功能。该系统中,Atmega88V是输入和输出的联系部件,它通过读取从键盘输入的数据并对存储在单片机中的密码进行识别比较,判断密码是否输入正确,并作出相应的决定,指示报警器是否发出

2、嗡鸣声以及发光二极管是否闪烁。这种密码锁以其安全性高、成本低、易操作等优点受到越来越多人的欢迎。关键词:密码锁;Atmega88V;键盘;LCD显示ABSTRACTThe core control circuit of digital code lock designed based on ATMEGA88V is Atmega88V,and together with the power circuit, reset circuit, indicating circuit, alarm circuit, keyboard and other peripheral circuits circu

3、it it can realize the function of input, identification, modification, storage of the password, and the alarm when inputting the wrong password. In the system, Atmega88V is the link of input and output components, it can estimate whether the input password is right by identifying and comparing the d

4、ata reading from the keyboard and the password stored in the microcontroller, and make the appropriate decision that whether the indicating alarm audible hum and the light diode blinking. Because of its high security, low cost, easy operation, etc, this digital code lock is more and more popular. Ke

5、y words: digital code lock; Atmega88V; keyboard; LCD display1.绪 论随着社会经济的不断发展,安全防盗已成为社会问题。如何制造安全可靠,又要使用方便的各种防盗锁,是制锁着长期以来研制的主题。数字密码锁是二十一世纪锁业的一次革命,它特点是不用钥匙、无锁孔、不易损坏、不易磨损、不易被破译、可多次跟换密码、换号不换锁,具有防砸、防撬、防堵等功能,安装门锁时不破坏原门1。数字密码锁是利用数字密码来开启的锁具,其重复概率仅为十万分之一,具有很高的安全性;而旋芯式锁具使用却相对不够安全2。通过对社会各阶层千余人的调查,百分之百的人都愿意一身轻松没

6、有任何顾虑的出入家门,都愿意用上一种锁具可使人摆脱钥匙的束缚3。因此,设计数字密码锁的市场发展前景极为广阔。基于ATMEGA88V设计的数字密码锁是以ATMEGA88V为核心控制电路,配以电源电路、晶振电路、复位电路、指示电路、报警电路、键盘和机电驱动电路等,实现对密码的输入、识别、修改、存储及输入密码错误时报警等功能。该系统中,ATMEGA88V是输入和输出的联系部件,它通过读取从键盘输入的数据并对数据进行识别比较,判断密码是否输入正确,并作出相应的决定,指示驱动电磁是否执行开锁功能及报警器是否发出嗡鸣声。这种密码锁以其安全性高、成本低、易操作等优点受到越来越多人的欢迎。2. 课题设计方案2

7、.1 整体方案选择方案一:基于触发式电子密码锁的设计触发式电子密码锁是应用数字电子技术的编、译码技术,并通过按键实现密码的设置、修改及识别功能4。该设计电路主要由按键部分、计数部分、译码部分、显示部分及报警等电路组成。由于密码采用脉冲输入法,故按键部分不能用数字键盘,须采用轻触式开关。密码由用户按下轻触式开关的次数决定。按键部分与脉冲触发计数器相连接,当用户按下轻触式开关,经计数器计数后,将输入密码送入译码部分进行识别比较,从而决定密码锁是否打开以及警报是否响起。其原理框图如图1。图1 触发式电子密码锁原理框图基于触发式电子密码锁的设计方案简单,制作成本也较低,不过需用到较多集成芯片,电路焊接

8、起来很复杂;密码采用脉冲输入法,故对输入脉冲有很高要求,而且密码输入及修改过程也比较繁杂。方案二:基于VHDL的电子密码锁的设计基于VHDL的电子密码锁的设计,是以现场可编程逻辑器件(FPGA)为设计载体,以硬件描述语言(VHDL)为主要表达方式,以Quartus开发软件和EDA开发系统为设计工具, 实现对密码的输入、识别、修改、存储及输入密码错误时报警等功能5。其硬件电路比较简单,可以将其分成键盘输入部分、密码锁控制电路部分、电源电路部分和密码锁显示电路四部分。其组成框图如图2:图2 数字密码锁原理框图该设计中,电源部分是用来为整个电路提供工作电压,保证电路正常工作;用户可以通过外接键盘输入

9、密码开锁或者修改密码等;显示电路包括数字显示器和信号指示灯,数字显示器是用来显示用户输入的密码,信号灯用来提示用户密码输入的正确与否;报警部分是在密码输入错误时发出警报;整个硬件电路的核心部分就是控制部分,控制部分又可以分成使能电路、消抖电路、编码器、比较器、译码器、密码存储器、控制器等几个模块6,这几个模块共同控制着密码输入,密码修改,开锁,报警等功能,这些模块的功能可以由一片FPGA芯片来完成。基于VHDL的电子密码锁的设计,硬件电路简单,焊接方便,其硬件描述语言即程序的编写较为复杂,硬件成本相对较高。方案三: 基于单片机的数字密码锁的设计 基于单片机的数字密码锁的设计,是以单片机为核心控

10、制器,配以稳压电路、晶振电路、复位电路、指示电路、报警电路、键盘和机电驱动电路等,实现对密码的输入、识别、修改、存储及输入密码错误时报警等功能7。其原理框图如图3:图 3 基于单片机的电子密码锁的设计原理框图在原理框图中,稳压电路为整个电路提供工作电压,使电路各部分能正常工作;晶振电路产生稳定的时钟周期,使程序正常运行;复位电路是在系统出现故障时使程序在地址为零的地方重新运行;键盘是用来输入或修改密码的;指示电路是指明电路是否正常工作;报警电路是在密码输入错误时发出报警信号。在这几部分电路的共同工作下,即可实现数字密码锁的各项功能。基于单片机的数字密码锁的设计方案,硬件电路较简单,软件编程也不

11、复杂,而且其硬件成本很低,安全性高,易操作,方便而且实用。由上述分析、系统成本和可行性实用性等因素考虑,本课题选用方案三,即采用单片机来实现数字密码锁的各项功能。2.2 控制器的选择2.2.1 51系列单片机概述应用最广泛的八位单片机首推Intel的51系列,主要有8031系列、8051系列,后来Atmel公司以8051的内核为基准,推出了AT89系列单片机8。51系列有如下优点9:1.从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,或布尔处理器。它的处理对象不是字或字节而是位。它不光能对片内某些特殊功能寄存器的某位进行处理,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。2

12、.乘法和除法指令,这也给编程带来了便利。很多的八位单片机都不具备乘法功能,作乘法时还得编上一段子程序调用,十分不便。3.二进制-十进制调整指令 DA,能将二进制变为BCD码,这对于十进制的计量十分方便。而在其他的单片机中,则也需调用专用的子程序才行。51系列也有许多值得改进之处10,如:1.运行速度过慢等。当晶振频率为12MHz时,机器周期达1s,显然适应不了现代高速运行的需要2.所有I/O口都是准双向口,I/O口的驱动能力弱。3.芯片里面的P0口没有上拉电阻,如果要输出高电平或者要定义成输入口,一般要接电阻上拉。4.功耗比较高,抗干扰能力也不是很强。2.2.2 PIC系列PIC系列单片机是美

13、国微芯公司(Microship)的产品,它也是一种精简指令型的单片机,指令数量比较少,中档的PIC系列仅仅有35条指令而已,低档的仅有33条指令。但是如果使用汇编语言编写PIC单片机的程序有一个致命的弱点就是PIC中低档单片机里有一个翻页的概念,编写程序比较麻烦11。PIC系列单片机的特点是:1. 哈佛结构的总线结构:MCS-51单片机的总线结构是冯-诺依曼型,计算机在同一个存储空间取指令和数据,两者不能同时进行;而PIC单片机的总线结构是哈佛结构,指令和数据空间是完全分开的,一个用于指令,一个用于数据,由于可以对程序和数据同时进行访问,所以提高了数据吞吐率。正因为在PIC单片机中采用了哈佛双

14、总线结构,所以与常见的微控制器不同的一点是:程序和数据总线可以采用不同的宽度。数据总线都是8位的,但指令总线位数分别位12、14、16位。 2.双指令流水线结构:MCS-51单片机的取指和执行采用单指令流水线结构,即取一条指令,执行完后再取下一条指令;而PIC的取指和执行采用双指令流水线结构,当一条指令被执行时,允许下一条指令同时被取出,这样就实现了单周期指令。 3.寄存器组:PIC单片机的所有寄存器,包括I/O口,定时器和程序计数器等都采用RAM结构形式,而且都只需要一个指令周期就可以完成访问和操作;而MCS-51单片机需要两个或两个以上的周期才能改变寄存器的内容。2.2.3 AVR系列AV

15、R单片机也是Atmel公司的产品,最早的就是AT90系列单片机,现在很多AT90单片机都转型为Atmega系列和Attiny系列,AVR单片机最大的特点是精简指令型单片机,执行速度在相同的振荡频率下是8位MCU中最快的一种单片机12。AVR单片机其显著的特点为高性能、高速度、低功耗。它取消机器周期,以时钟周期为指令周期,实行流水作业13。AVR单片机指令以字为单位,且大部分指令都为单周期指令。而单周期既可执行本指令功能,同时完成下一条指令的读取。通用寄存器一共32个(RO-R31),前16个寄存器(R0R15)都不能直接与立即数打交道,因而通用性有所下降。AVR系列没有类似累加器A的结构,它主

16、要是通过R16R31寄存器来实现A的功能。在AVR中,没有像5l系列的数据指针DPTR,而是由X(由R26、R27组成)、Y(由R28、R29组成)、Z(由R30、R31组成)三个16位的寄存器来完成数据指针的功能(相当于有三组DPTR),而且还能作后增量或先减量等的运行。在51系列中,所有的逻辑运算都必须在A中进行;而AVR却可以在任两个寄存器之间进行,省去了在A中的来回折腾,这些都比51系列强。AVR的专用寄存器集中在003F地址区间,无需像PIC那样得先进行选存储体的过程,使用起来比PIC方便。AVR的I/O脚类似PIC,它也有用来控制输入或输出的方向寄存器,在输出状态下,高电平输出的电

17、流在10mA左右,低电平吸入电流20Ma。综合来看,AVR与51、PIC单片机相比具有一系列的优点,用通俗的说法主要体现在这几个方面:1.在相同的系统时钟下AVR运行速度最快;2.所有AVR单片机的FLASH、EEPROM蓄存器都可以反复烧写、支持在ISP在线编程(烧写),入门费用非常少;3.片内集成多种频率的RC振荡器、上电自动复位、看门狗、启动延时等功能,使得电路设计变得非常简单;4.每个IO口作输出时都可以输出很强的高、低电平,作输入时IO口可以是高阻抗或者带上拉电阻14;5.片内具有丰富实用的资源,如AD模数器、DA数模器,丰富的中断源、SPI、USART、TWI通信口、PWM等等;6

18、.片内采用了先进的数据加密技术,大大的提高了破解的难度;7.片内FLASH空间大、品种多,引脚少的有8脚,多的有64脚等各种封装8.部分芯片的引脚兼容51系列,代换容易,如ATtiny2313兼容AT89C2051,ATmega8515/162兼容AT89S51等本课题采用AVR系列的Atmega88V单片机作为密码锁的核心控制器。3.系统的主要器件由于本设计采用Atmega88V单片机作为核心控制器,该单片机的特点之一就是内部自带晶振电路,而且该晶振电路可以满足完成本设计所需的要求,故本设计的结构框图与第二章节中的图3稍有差别,本系统的结构框图如图4:图 4 基于单片机的电子密码锁的设计原理

19、框图 在该设计中,电源部分由外接电源直接提供,故在作品版面上没有设计电源模块;复位电路是由一个按键,一个电容和两个电阻组成;键盘电路是由6个按键和6个电阻组成独立键盘连接到单片机上完成按键功能;指示电路是由发光二极管和液晶显示以及电阻组成,用以完成设计中的指示功能和显示功能;报警电路是由发光二极管、蜂鸣器和电阻组成,用以完成密码输入错误时发出警报的功能;核心控制器采用Atmega88V单片机。所以本设计中用到的器件很少也很简单,下面主要介绍一下Atmega88V单片机的引脚结构和功能以及液晶显示器的用法。3.1 ATmega88V单片机简介ATmega88V是基于AVR增强型RISC结构的低功

20、耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega88V的数据吞吐率高达1MIPS/MHZ,从而可以缓减在功耗和处理速度之间的矛盾15。ATmega88V有如下特点16:8K字节的系统内可编程Flash(具有在编程过程中还可以读的能力,即RWW),512字节的EEPROM,1K字节SRAM,23个通用I/O口线,32个通用工作寄存器,三个具有比较模式的灵活的定时/计数器(T/C),片内/外中断,可编程串行USART,面向字节的两线串行借口,一个SPI串行端口,一个6路10位ADC(TQFP与MLF封装的器件具有8路10位ADC),具有片内振荡器的可编程看门狗定时

21、器,以及五种可以通过软件选择的省电模式。空闲模式时CPU停止工作,而SRAM、T/C、USART、两线串行接口、SPI端口以及终端系统继续工作;掉电模式时晶体振荡器停止震荡,所有功能除了中断和硬件复位之外都停止工作,寄存器的内容则一直保持;省电模式时异步定时器继续运行,以允许用户维持时间基准,器件的其他部分则处于睡眠状态;ADC噪声抑制模式时CPU和所有的I/O模块停止运行,而异步定时器和ADC继续工作,以减少ADC转换时的开关噪声;Standby模式时振荡器工作而其他部分睡眠,使得器件只消耗极少的电流,同时具有快速启动能力。ATmega88V芯片的引脚图17如图5:图 5 ATmega88V

22、引脚图VCC: 数字电路的电源GDN: 地端口B(PB7.0)XTAL1/ 端口B为8位双向I/O口,并具有可编程的内部上拉电XTAL2/TOSC1/TOSC2 阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟未起振,端口B保持高阻态。通过对系统时钟选择位的设定,PB6可作为反向震荡放大器与内部时钟操作电路的输入,PB7可作为反向震荡放大器的输出。系统使用内部RC振荡器时,通过设置ASSR寄存器的AS2位,可以将PB7.6作为异步定时器/计数器2的输入口TOSC2.1使用。端口B也可以用作其

23、他不同的特殊功能。端口C(PC5.0): 端口C为7位双向I/O口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B保持为高阻态。PC6/RESET: RSTDISBL位被编程时,可将PC6作为一个I/O口使用。因此PC6引脚与端口C其它引脚的电特性是有区别。RSTDISBL位未被编程时,PC6将作为复位输入引脚Reset。此时,即使系统时钟没有运行,该引脚上出现的持续时间超过最小脉冲宽度的低电平将产生复位信号。持续时间不到最小脉冲宽度的低电平不会产生

24、复位信号。端口C也可以用作其它不同的特殊功能。端口D(PD7.O) 端口D为8位双向I/O口,并具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D保持为高阻态。端口D也可以用作其它不同的特殊功能。AVCC: AVCC为A/D转换器的电源。当引脚PC3.0与PC7.6用于ADC时,AVCC应通过一个低通滤波器与VCC连接。不使用ADC时该引脚应直接与VCC连接。PC6.4的电源则是由VCC提供的。AREF: AREF为ADC的模拟基准输入引脚。ADC7.6(

25、TQFP与MLF封装) TQFP与MLF封装芯片的ADC7.6引脚为两个10位A/D转换器的输入口,它们的电压由AVCC提供。3.2 液晶显示模块0802字符型液晶显示模块是一种将LCD显示屏、驱动器、控制器和偏压产生电路集成在一块PCB板上的液晶显示模块,是专门用于显示字符、数字和符号的点阵型液晶显示模块,分4位和8位数据传输方式,提供57点阵光标和510点阵光标的显示模式。字符型液晶显示模块还有显示数据缓冲区DDRAM、字符发生器CGROM和字符发生器CGRAM。0802液晶显示就是一种字符型液晶显示模块,下面用表格的方式介绍它的主要技术参数、引脚说明和指令功能以及字符代码与字符图形对应关

26、系18。1. 主要技术参数如表1:表1 主要技术参数显示容量82个字符工作电压4.55.5V工作电流2.0mA最佳工作电压5.0V2. 引脚说明如表2:表2 引脚说明编号符号引脚说明编号符号引脚说明1VSS电源负端9D2Data I/O2VDD电源正端10D3Data I/O3VOLCD驱动电压11D4Data I/O4RS数据/命令选择端12D5Data I/O5R/W读/写选择端13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15LEDA背光源正极8D1Data I/O16LEDK背光源负极3 指令表如表3表3 指令表指令RSRWD7D6D5D4D3D2D

27、1D0清除屏幕0000000001光标返回000000001*置输入模式00000001I/DS显示开关控制0000001DCB光标或字符移位000001SCRL*置功能00001DLNF*置字符发生存储地址0001字符发生存储器地址置数据存储地址001显示数据存储器地址读忙标志或地址01BF计数器地址写数据到DDRAM10要写的数据从DDRAM读数据11读出的数据在表3.2.3中,I/D表示光标移动方向,I/D=1右移,I/D=0左移;S表示屏幕上所有文字是否左移或右移,S=1表示有效,S=0无效;D控制整体的开与关,1开显示,0关显示;C控制光标的开与关,1有光标,0无光标;B控制光标是否

28、闪烁,1闪烁,0不闪烁;S/C为1时移动显示的文字,0时移动光标;R/L为1时右移,0时左移;DL为1时为8位总线,0时为4位总线;N为0时为单行显示,1时双行显示;F为0时显示57的点阵字符,1时显示510的点阵字符;BF为忙标志位,1表示忙,此时模块不能接受命令或者数据,0表示不忙。4. 字符代码与字符图形对应关系如表4:表4 字符代码与字符图形对应关系4. 硬件设计由第三章中图4可知,本课题的硬件设计部分可分为控制器模块、电源模块、复位模块、按键模块、液晶显示模块和报警模块。电源模块由外接电源直接提供,为单片机提供工作电压,使电路各部分能正常工作;复位电路是由一个按键,一个电容和两个电阻

29、组成,功能是在系统出现故障时使程序在地址为零的地方重新运行;键盘电路是由6个按键和6个电阻组成独立键盘连接到单片机上,用来输入或修改密码;指示电路是由发光二极管和液晶显示以及电阻组成,用以完成设计中的指示功能和显示功能;报警电路是由发光二极管、蜂鸣器和电阻组成,用以完成密码输入错误时发出警报的功能;核心控制器采用Atmega88V单片机。在所有模块中,电源模块、复位模块和控制器模块可构成单片机最小系统,本章节主要介绍这几个模块的设计原理原理图。4.1单片机的最小系统单片机最小系统一般由电源电路、晶振电路、复位电路以及单片机组成19。电源电路是为单片机提供工作电压,保证单片机正常工作;晶振电路是

30、为单片机提供时钟周期,使程序正常运行;复位电路是在系统出现故障时使程序在地址为零的地方重新运行。本课题选用的单片机是AVR系列的Atmega88V,该芯片内部自带晶振部分20,其晶振在本课题中可以完成为单片机提供时钟周期的任务,故无需再外加外部晶振电路。电源模块由外接5V电源来提供,故也没设计;其复位电路图设计如图6:图6 复位电路复位电路的设计是由1个按键、1个电容和2个电阻组成,其工作原理是:按键后:电容器被短路放电、REST直接和+5V相连,就是高电平,此时进入“复位状态”;松手后,电源开始对电容器充电,此时,充电电流在电阻上,形成高电平送到REST,仍然是“复位状态”;稍后,充电结束,电流降为0,电阻上的电压也将为0,REST降为低电平,开始正常工作21。在本课题中,单片机最小系统图如图7:图7 Atmega88V单片机最小系统4.2键盘电路键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘。而靠软件编程来识别的称为非编码键盘。在单片机组成的各种系统中,用得最多的是非编码键盘,也有用到编码键盘的。非编码键盘又分为行列式(又称为矩阵式)键盘和独立键盘22。矩阵键盘就是将键盘的两端都接到单片机的I/O口上;独立键盘就是把键盘的一

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1