单片机密码保险柜.docx
- 文档编号:7378871
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:33
- 大小:674.49KB
单片机密码保险柜.docx
《单片机密码保险柜.docx》由会员分享,可在线阅读,更多相关《单片机密码保险柜.docx(33页珍藏版)》请在冰豆网上搜索。
单片机密码保险柜
##建筑大学
毕业设计(论文)
专业电子信息工程学院
班级_____09计算机〔1〕班
学生##朱进山
学号
课题_基于单片机的密码
保险柜设计与仿真
指导教师梁祥莹
2013年6月10日
摘要
摘要
目前单片机已经在家电领域中得到了广泛的应用,而且在安全密保方面,具有防盗报警功能的电子密码锁逐渐取代了传统的机械密码锁,克制了机械密码锁密码过少的安全性问题。
本密码锁的主控芯片采用价格实惠而且容易购置的STC89C52芯片。
密码输入采用矩阵键盘与独立键盘,密码显示采用LCD1602液晶。
系统能完成密码输入、正确开锁、超次报警等根本功能。
系统的软件实现采用功能强大且易于开发的KeilC51环境,且支持ISP下载。
因此没使用编程器,用C语言实现系统的软件局部。
由于51单片机也有一些不足之处如断电后内部RAM储存的数据会完全丢失,为了克制这一缺点,系统的外围加了以AT24C02芯片为核心的掉电存储电路防止断电后数据丢失。
此设计具有安全性高、价格低廉便于实现、易于改良等优点。
关键词:
电子密码锁;STC89C52;矩阵键盘
ABSTRACT
MCUhadbeenwidelyusedinhomeappliancefield,inthesecuritypasswordprotectionaspectanti-theftalarmfunctionelectronicbinationlockgraduallyreplacethetraditionalmechanicaltricklock,italsooverethesecurityproblemsthatthepasswordofmachinerybinationlockaretoofew.Thisbinationlock'smasterchipadoptsSTC89C52whichisaffordableandeasytobuy.Password’sinputadoptmatrixkeyboardandindependentkeyboard,password'sdisplayusingLCD1602displaydigital.Thissystemcanacplishpasswordinput,correctunlock,supertimesalarm,thesebasicbinationlockfunction.SoftwarerealizationofthissystemisusedinKeilC51environment.itispowerfulandeasytodevelop,andtosupportISPtodownload.Thereforeitisnotuseprogrammer,useClanguageimplementationsoftwareofsystemponents.Because51MCUalsohassomedisadvantages,suchastheinternalRAMstoreddatawillbepletelyloseafterpowerfailure,inorderto,thesystem'speripheryaddedoffelectricitystoragecircuitanduseAT24C02chiptooveretheseshortings.Thisdesignhasahighsecurity,alowprices,whichiseasytoberealizedandimproved.
【Keywords】ElectronicbinationlockSTC89C52Matrixkeyboard
基于Proteus的密码保险柜设计
电子与信息工程学院计算机科学与技术专业2009级1班朱进山
指导教师梁祥莹
1绪论
随着新技术的不断开发与应用,近年来单片机开展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到冶金、电力、建材、化工、机械、石油、食品等各个行业。
单片机控制无疑是人们追求的目标之一,它所给人们带来的方便也是不可否认的。
MCS-51系列单片机应用广泛,是学习单片机技术较好的系统平台,同时也是单片机微型计算机应用系统开发的一个重要系列。
目前,单片机原理与应用教材大都采用汇编语言讲解和设计程序实例,但汇编语言学习困难。
在实际应用系统开发调试中,特别是开发比拟复杂的应用系统时,为了提高开发效率和使程序便于移植,现在多用C语言。
在信息产业飞速开展的今天,我们生活中必不可需的设备都向着小型化、便携化、智能化、自动化的方向开展。
所以电子密码保险柜随着快节奏的生活应运而生。
在我国六七十年代还是传统的一把钥匙配一把锁,不管是单位还是个人每天都要认真检查是否锁上了门,而且钥匙还不能随便乱放,一旦不小心忘记放在哪里很可能就打不开门了。
传统的锁也相当的不安全,会有一些不法分子想尽方法打开你的房锁去偷盗东西。
电子密码保险柜的产生使得这些问题都不再是问题,我们只需简单的记住六位密码即可。
1.1研究的目的和意义
人们从前使用的锁不但不方便,而且安全系数也比拟低。
随着社会的进步和人们生活水平的提高,老式的锁已经跟不上人们的要求,况且人们对防盗的要求越来越高,特别是对使用的便捷性也有了更高的需求。
因此近几年一种新型的电子密码保险柜应运而生,受到了人们的青睐。
有报警功能的密码保险柜这时正为人们解决了不少问题。
但是市场上的密码保险柜大局部都是用于一些大公司财政机构、价格高昂,一般人们难以承受。
如果再设计和生产一种价格低廉、性能灵敏可靠的密码保险柜,必将在防盗和保证财政安全方面发挥更加有效的作用。
电子密码保险柜克制了机械式密码保险柜安全性能差的缺点,特别是使用单片机控制的智能电子密码保险柜,不但功能全,而且具有更高的安全性和可靠性。
并且电子密码保险柜只需记住一组密码,无需携带钥匙,免除了人们携带钥匙的烦恼,被越来越多的人所喜欢。
随着我国第三产业的飞速开展,电子密码保险柜会在不久的将来得到广泛的应用。
1.2国内外研究现状
20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,同时可靠性提高,本钱也相对提高,所以只适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定X围,难以普与,所以对密码锁的研究一直没有明显进展。
到了90年代,美国、意大利、德国、日本、加拿大、韩国以与我国的##、##等地的微电子技术的进步和通信技术的开展为密码锁提供了技术上的支持,从而推动密码锁走向实际应用的阶段。
目前,在西方国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,使之更加安全更加可靠实现大门的管理。
我国于90年代初期开始对密码锁进展初步的探索。
到目前为止,随着电子技术和信息技术的开展,电子密码锁的技术领域已开展的十分成熟。
从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一局部应用于保管箱和运钞车。
在其他技术领域还有遥控式电子密码锁以与卡片式密码锁等。
1.3课题的主要任务
本设计的任务采用单片机AT89C52作为单片机的核心单元,利用单片机丰富的功能而设计的一款具有本机开锁,密码更改和报警功能的电子密码锁。
主要实现以下几个功能:
1、密码显示
为了帮助用户确认是否有键按下,特在电路中设置了模拟显示电路;而为了防止密码外泄,显示时并不是显示用户按下的数字符号,而是以一个特定的字母符号提醒用户是否有键按下。
有键按下,就会显示出字符---“*〞,没键按下,那么不会显示字符。
2、密码更改
设置6位密码,密码通过键盘输入,当按下更改密码的功能键时,要先输入原来的密码,正确无误后,再输入新的密码,最后按下确认键即可。
3、密码错误报警
当用户键入错误密码时,系统就会报警,由扬声器发出警告声。
当连续三次出现密码错误时,那么系统会报警声。
这时必须按复位方可停止。
4、本机键开锁
当用户键入正确密码后,便会自动开锁。
但用户键入密码时应注意:
数字与数字之间的间隔时间为30秒,例如密码为123456,当键入第一个数字1后应在30秒内键入第二个数字2,否那么就会视为无效。
1.4本章小结
无论是在工业生产中还是在日常生活中通过对电子密码保险柜的应用越来越普与,应用场合也越来越多。
因此,对于密码保险柜的需求也在逐渐增加。
本文基于以上方面的考虑,研究并设计了一种简单的基于单片机的密码保险柜具有重要的意义。
2.系统总体设计思路
以AT89C52单片机为主控制单元,键盘为主要输入单元,结合开锁装置、报警器和显示器完成整个系统设计。
系统的运行过程大致如下:
假设初始状态为闭锁,此时系统等待按键输入,数码管显示“pleaseinputpassword〞。
每按下一个数据键〔即每输入一位密码〕,数码管相应的显示一个“*〞标志,当密码全部输入完成后,系统判断密码是否正确,正确那么开锁〔仿真中以继电器动作导致发光二极管点亮为标志〕,错误那么显示“passworderrortryagain〞,此后数码管显示“pleaseinputpassword〞续等待按键;如果连续输入错误密码三次,那么显示“passworderrornochance〞,需复位后才能继续使用。
在开锁状态下,按下密码重置键,那么需先输入原密码,正确后输入新密码,输入密码过程中,数码管显示“*〞,以保证密码的隐秘性。
3.硬件设计
3.1单片机AT89C52
由于此设计需要编写程序,并将程序载入单片机中,因此单片机必须具有足够多的存储空间,本次设计采用的ATMEL公司生产的AT89C52型单片机具有8K字节的FLASH完全满足要求。
16位的定时/计数器使得读取数据变得更加简单,同时其结构有利于晶振电路和复位电路的连接。
最重要的是,能够在掉电状态下保存RAM内的数据。
因此,对于本设计来说,选择AT89C52是最有利的。
AT89C51是一种带8K字节FLASH存储器〔FPEROM—FlashProgrammableandErasableReadOnlyMemory〕的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C52是一种带4K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C52是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
3.1.1主要特性
AT89C52具有如下特点:
AT89C52有40个引脚,32个外部双向输入/输出〔I/O〕端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进展编程,但不可以在线编程(S系列的才支持在线编程)。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发本钱。
AT89C52有PDIP、PQFP/TQFP与PLCC等三种封装形式,以适应不同产品的需求。
其内部结构图如图3-1所示。
·兼容MCS51指令系统
·8k可反复擦写(>1000次〕Flash RO
·4k字节可编程FLASH存储器
· 32个双向I/O口
· 256x8bit内部RAM
· 3个16位可编程定时/计数器中断
· 时钟频率0-24MHz
· 2个串行中断
· 可编程UART串行通道
· 2个外部中断源
· 共6个中断源
· 2个读写中断口线
· 3级加密位
· 低功耗空闲和掉电模式
· 软件设置睡眠和唤醒功能
图3-1AT89C52内部结构图
3.1.2管脚说明
AT89C52引脚排列图如图3-2所示。
图3-2AT89C52引脚图
引脚功能说明:
VCC——电源电压
GND——地
P0口——P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1〞时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址〔低8位〕和数据总线复用,在访问期间激活内部上拉电阻。
在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口——P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动〔吸收或输出电流〕4个TTL逻辑门电路。
对端口写“1〞,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入〔P1.0/T2〕和输入〔P1.1/T2EX〕,参见下表。
引脚号
功能特性
P1.0
T2〔定时/计数器2外部计数脉冲输入〕,时钟输出
P1.1
T2EX〔定时/计数2捕获/重装载触发和方向控制〕
P2口——P2是一个带内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动〔吸收或输出电流〕4个TTL逻辑门电路。
对端口P2写“1〞,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
在访问外部程序存储器或16位地址的外部数据存储器〔例如执行MOVXDPTR指令〕时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器〔如执行MOVXRI指令〕时,P2口输出P2锁存器的内容。
FLASH编程或校验时,P2亦接收高位地址和一些控制信号。
P3口——P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动〔吸收或输出电流〕4个TTL逻辑门电路。
对P3口写入“1〞时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电流。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示:
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INTO(外中断0)
P3.3
INT1(外中断1)
P3.4
TO(定时/计数器0)
P3.5
T1(定时/计数器1)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
RST——复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程存储器或数据存储器时,ALE〔地址锁存允许〕输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲〔PROG〕。
如有必要,可通过对特殊功能存放器〔SFR〕区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN——程序储存允许〔PSEN〕输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令〔或数据〕时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器〔地址为0000H-FFFFH〕,EA端必须保持低电平〔接地〕。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平〔接Vcc端〕,CPU那么执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp.。
P1.0和P1.1的第二功能它接手键盘的输入并作出判断,控制6位7段数码管和LED指示灯的显示。
3.1.3时钟电路
图3-3时钟电路
AT89C52内有时钟发生器、振荡电路〔高增益反相放大器〕,振荡电路与外界振荡元件〔晶振〕构成振荡器,振荡器与时钟发生器一起构成内部时钟方式,产生AT89C52工作所需的时钟信号。
它使单片机在唯一的时钟信号控制下严格地按一定的节拍进展工作〔即按一定的时序工作〕,如图3-3所示。
3.1.4复位电路
本设计采用简单的上电复位电路,如图3-4所示。
其实通过外部电容充电来实现复位的,上电瞬间,RST引脚的电位与Vcc一样,随着充电电流的减小,此引脚电位将逐渐下降。
RST引脚的高电平持续时间取决于电容的充电时间,应大于两个机器周期。
图中的电阻值、电容值为12MHz晶振时的常用值[9]。
图3-4复位电路
3.2模块介绍
根据整体设计思路与设计要求,本设计共分为单片机主控制模块〔含晶振、复位根本工作电路〕、键盘输入模块、显示模块、报警模块
、开锁模块五个局部组成。
3.2.1键盘输入电路
键盘输入电路采用的是4×4的矩阵键盘,因为本设计所用到的按键数量较多而不适合用独立按键式键盘因此采用的是矩阵式按键键盘,它由行和列组成,也称行列式键盘,按键位于行线和列线的交叉点上,密码锁的密码输入由键盘输入完成,与独立式按键键盘相比,要节省很多I/O口。
本设计中使用的这个4X4键盘不但能完成密码的输入还能作特别功能键使用,设置功能等。
键盘的每个按键功能在程序设计中设置。
平时无按键按下时,行线电平状态将由与此电平相连的列线电平决定。
列线电平如果为低,那么行线电平为低;列线电平为高,那么行线电平也为高。
这是识别矩阵键盘是否被按下的关键所在。
由于矩阵键盘中的行、列为多键公用,各按键均影响该按键所在行和列的电平,因此,各按键彼此将相互发生影响,所以必须将行列线信号配合起来,并作适当的处理,这样才能决定闭合键的位置。
其按键结构与与单片机引脚接法如图3-5所示。
图3-5
3.2.2密码存储电路
由于51单片机掉电后会丢失数据存储器里的数据,因此必须外加掉电存储电路。
并由AT24C02芯片来实现。
AT24C02芯片的管脚图如图3-6所示。
图3-6AT24C02芯片的管脚图
本设计采用的是美国Atmel公司生产的AT24C02。
AT24C02是一个2K位串行CMOS型E2PROM,内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。
AT24C02有一个16字节页写缓冲器。
该器件通过IIC总线接口进展操作,有一个专门的写保护功能。
AT24C02支持IC,总线数据传送协议IC,总线协议规定任何将数据传送到总线的器件作为发送器。
任何从总线接收数据的器件为接收器。
数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。
主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据〔发送或接收〕的模式,通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。
3.2.3开锁电路
开锁控制电路的功能是当输入正确的密码后将锁打开。
系统使用单片机其中一引脚线发出信号,经三极管放大后,由继电器驱动电磁阀动作将锁打开。
用户通过键盘任意设置密码,并储存在EEPROM中作为锁码指令。
只有用户操作键盘时,单片机的电源端才能得到3V电源,否那么.单片机处于节电工作方式。
开锁步骤如下:
首先按下键盘上的开锁按键,然后利用键盘上的数字键0-9输入密码,最后按下确认键。
当用户输入一密码后,单片机自动识码,如果识码不符,那么报警。
只有当识码正确,单片机才能控制电子锁内的微型继电器吸台。
当继电器吸台以后带动锁杆伸缩,这时,锁勾在弹簧的作用下弹起,完本钱次开锁。
开锁以后,单片机自动去除掉由用户输人的这个密码。
如图3-7所示:
图3-7继电器电路锁
3.2.4报警电路
报警电路由一个蜂鸣器驱动电路来实现的,包括以下几个局部:
一个蜂鸣器、一个三极管、一个连续流二极管和一个电阻。
蜂鸣器的作用:
用来发声,在其两端加直流电压〔有源蜂鸣器〕或者方波〔无源蜂鸣器〕就可以发声,其主要参数是外形尺寸、发声方向、工作电压、工作频率、驱动方式〔直流/方波〕等。
这些都可以根据需要来选择。
连续流二极管的作用:
蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个连续流二极管提供连续流。
否那么,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏驱动三极管,并干扰整个电路系统的其他局部。
三极管:
三极管起开关作用,其基极的高电平使三极管饱和导通,使蜂鸣器发声,而基极低电平那么使三极管关闭,蜂鸣器停止发声。
报警电路如图3-8所示。
图3-8报警电路
3.2.5显示电路
为了提高密码锁的密码显示效果能力。
本设计的显示局部由液晶显示器LCD1602取代普通的数码管来完成。
只有按下键盘上的开启按键后,显示器才处于开启状态。
同理只有按下关闭按键后显示器才处于关闭状态。
否那么显示器将一直处于初始状态,当需要对密码锁进展开锁时,按下键盘上的开锁按键后利用键盘上的数字键0-9输入密码,每按下一个数字键后在显示器上显示一个*,输入多少位就显示多少个*。
当密码输入完成时,按下确认键,如果输入的密码正确的话,LCD子显示“RIGHT〞,单片机其中P2.0引角会输出低电平,使三极管T2导通,电磁铁吸合,电子密码锁被打开,如果密码不正确,LCD显示屏会显示“ERROR〞,P2.0输出的是高电平,电子密码锁不能被打开。
通过LCD显示屏,可以清楚的判断出锁所处的状态
。
其显示局部引脚接口。
如图3-9所示
图2.71602液晶电路
3.2.6晶振电路
晶体振荡器简称晶振,其作用在于产生原始的时钟频率,这个频率经过频率发生器的放大或者缩小就成了电脑中各种不同的总线频率。
以声卡来说,要实现对模拟信号44.1kHz或48kHz的采样,频率发生器就必须提供一个44.1kHz或48kHz的时钟频率。
如果需要对这两种音频同时支持通话,声卡就需要有两个晶振。
但是现在的娱乐级声卡为了降低本钱,通常都采用SCR将输出的采样频率固定在48kHz,但是SCR会对音质带来伤害,而且现在的娱乐级声卡都没有很好地解决这个问题。
现在应用最广泛的是石英晶体振荡器。
晶振电路图如图3-10所示。
图3-10晶振电路
石英晶体振荡器是一种高精度和高稳定度的振荡器,石英晶体振荡器也称石英晶体谐振器,它用来稳定频率和选择频率,是一种可以取代LC谐振回路的晶体谐振元件。
石英晶体振荡器广泛地应用在电视机、影碟机、录像机、无线通讯设备、电子钟表、单片机、数字仪器仪表电子设备中。
为数据处理设备产生时钟信号和为特定系统提供基准信号。
在单片机中为其提供时钟频率。
石英晶体振荡器是利用石英晶体的压电效应制成的一种谐振元件,它的根本构成是:
从一块石英晶体上按一定方位角切下薄片〔简称为晶片,它可以是正方形、矩形或
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 密码 保险柜