基于单片机电子密码锁Word文档下载推荐.docx

上传人:b****5 文档编号:16163975 上传时间:2022-11-21 格式:DOCX 页数:23 大小:360.42KB
下载 相关 举报
基于单片机电子密码锁Word文档下载推荐.docx_第1页
第1页 / 共23页
基于单片机电子密码锁Word文档下载推荐.docx_第2页
第2页 / 共23页
基于单片机电子密码锁Word文档下载推荐.docx_第3页
第3页 / 共23页
基于单片机电子密码锁Word文档下载推荐.docx_第4页
第4页 / 共23页
基于单片机电子密码锁Word文档下载推荐.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

基于单片机电子密码锁Word文档下载推荐.docx

《基于单片机电子密码锁Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机电子密码锁Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。

基于单片机电子密码锁Word文档下载推荐.docx

89S52;

键盘接口;

输出八段显示。

Abstract

Thisarticleparticularlyintroducesthedesign89S51microcontrollercorewithanelectroniclock,describetheoverallstructureofelectroniclock,mainfunctionandworkingprinciples.Becausetraditionalmechanicallockspoorsafetyperformance,it’seasyforsomeonetopickalock.Electroniclocksforitsconfidentialityusegoodflexibility,highsafetyfactor,themajorityofusers.Electroniccodelockasanewtypeoflock,eliminatesthetraditionalmechanicalkeytothelock,theuserjustremembertheirpassword,theycanopen,thusgreatlyimprovinganti-theftfeature.Electroniccodelockconsistsofthreeparts:

thekeyboardinterfacecircuit,electroniclockcontrolcircuit,theoutputoferectiondigitaltubecircuit.Keyboardinterfacecircuitincludesthetiminggeneratingcircuit,keyboardscanningcircuit,bounceeliminationcircuit,thekeyboarddecodercircuit.Electroniccodelockcontrolcircuitdesign,includingdigitalkeydigitalinput,functionaldesignoffunctionkeys,shiftregisterdesignandcontrol,passwordremove,change,tostepdown,storage,alarmsignalgeneratingcircuitpasswordcheck,theliftingpowerlockscircuit.

Keywords:

electroniccodelock;

keyboardinterface;

outputofeightdigitaltube

 

引言

在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。

若使用机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。

为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。

随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。

为了更好的推广单片机在家电领域中的应用,本系统采用AT89S51单片机来实现密码锁的控制。

1.关于课题

1.1几种常见的密码锁

1.1.1普通密码锁

目前最常用机械锁,这种锁结构简单、使用方便、价格便宜,但在使用中暴露了很多缺点:

(1)机械锁是靠金属制成的,通过钥匙上的不同齿形与锁芯的配合来工作的,安全性较低;

(2)钥匙一旦丢失,无论谁捡到钥匙都可将门打开。

1.1.2机械密码锁

该型锁将解锁密码以机械装定的形式存储在装置的鉴别机构上,在装置的外围设立密码操作键。

密码的输入,产生相应的鉴别动作,即正确的密码输入,鉴别机构产生开锁动作:

错误的密码输入,鉴别机构的部件将发生错位或不做出响应。

机械密码锁采用机械加工(如精密机械加工/微细加工)制作,皮实、耐用,电磁干扰、外界的异常信号很难启动鉴别机构。

但机械密码锁通常包含多个较复杂的机、电功能组件,装置微小型化需借助先进的制造技术与装配工艺,制造周期长、成本高,机电接口及测试也有一定难度。

1.1.3电磁/卡片式密码锁

该型锁类似于机械锁,利用光电耦合或电磁感应的原理,将密钥信息预先置于卡片内,加工好的卡片充当钥匙,开锁时将卡片插入锁内或近距离感应就能将锁打开。

该锁的优点是:

成本较低;

授权用户一人一卡,可联微机,有开门记录。

缺点是:

卡片设备有磨损,寿命较短;

卡片容易复制,不易双向控制;

磁卡内存储的信息容易因外界磁场干扰而错乱,以致卡片(钥匙)无效。

1.1.4指纹密码锁

该类锁通过检验人员生物特征(如指纹)等方式来识别开锁。

管理员利用采样控制软件,通过指纹采集仪采集、保存指纹;

识别软件依赖指纹库识别开锁者的身份,通过外围设备显示、打印和存储。

指纹具有唯一性和终身不变性的特点,一直被当作身份鉴定的可靠手段,从是否允许非法开启角度来说,安全性极好;

但从使用是否方便的角度看,对安装环境和使用者的要求很高,安装位置与使用者身高之间必须满足一定的关系;

同一个人,在指纹划伤,或任何被用于开锁的识别部位有损伤的情况下,可能产生错误识别而无法开锁。

1.2研究背景及意义

随着老百姓生活水平的提高,住房条件的改善,决定了门锁必然成为锁具市场的领头羊。

目前,我国门锁市场以机械锁为主。

现今,很多行业的许多地方都要用到密码锁,随着人们生活水平的提高,如何实现家庭或公司的防盗这一问题也变的尤其突出,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,再者,普通密码锁的密码容易被多次试探而破译,所以,考虑到单片机的优越性,一种基于单片机的电子密码锁应运而生。

在安全技术防范领域,具有防盗报警功能的电子密码锁代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。

随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的电子密码锁,它除具有机械密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。

本文介绍以51系列单片机为核心的电子密码锁,详细阐述了其工作原理、基本功能框图、关键设计技术及软件工作流程。

目前使用的密码锁种类繁多,各具特色。

本设计从经济实用的角度出发,采用AT89S51单片机,研制了一款具有报警功能的电子密码锁。

该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有推广价值。

1.3本设计主要内容及功能描述

电子密码锁以AT89S52单片机为系统控制单元,通过4*4矩阵键盘输入密码,当用户输入密码正确时,绿灯闪亮;

当用户输入密码错误时,红灯闪亮,以提示用户输入密码错误;

除了简单的密码对错判断,本次设计额外添加几项人性化功能,如:

加电后,显示“888888”,表示电路运行正常,可以输入密码;

输入密码时,只逐位显示“F”,以防止泄漏密码;

输入密码过程中,如果输入错误,可按“取消”键清除屏幕。

2.系统总体方案设计

本次设计利用单片机中一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。

这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。

外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。

对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性。

如果使用石英晶体,最好电容使用30pF±

10pF,而如使用陶瓷谐振器建议选择40pF±

10pF。

另外也可以用外部时钟,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空,由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。

本方案采用一种是以8052为核心的单片机控制方案。

利用石英晶体谐振器和单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本密码锁功能。

初步设计如下:

(1)输入密码用矩形键盘,包括数字键和功能键。

(2)LED数码管显示输入密码,但只逐位显示“F”,以防止泄漏密码。

(3)输入密码过程中,如果输入错误,可按“取消”键清除屏幕。

(4)输入密码完后按“确认”键,单片机与设置密码比较,若正确,则绿色发光二极管亮1秒钟,不正确则红色二极管亮1秒钟。

系统总体方案图如下图:

图2-1系统总体方案图

3.硬件电路设计

3.1AT89S52介绍

2

3

1.

3.1.1芯片介绍

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

3.1.2引脚排列及其功能

AT89S52芯片引脚排列如图3-1所示:

图3-1AT89S52引脚图

AT89S52单片机为40引脚芯片如图3-1所示,具有PDIP,PLCC和TQFP3钟封装形式。

各引脚的功能如下:

•P0口——8位、开漏极、双向I/O口。

当用做通用I/O口时,每个引脚可驱动8个TTL负载;

当用做输入时,每个端口首先置1。

P0口也可用做访问片外数据存储器和程序存储器时的低8位地址/数据总线的复用口。

这种情况下,P0口内含上拉电阻。

在Flash编程时,P0口输入代码数据;

在Flash校验时,P0口输出代码数据。

在进行编程校验时,需外接10KΩ的上拉电阻。

•P1口——8位、双向I/O口,内含上拉电阻。

P1口为用户使用的通用I/O口,每个引脚可驱动4个TTL负载。

P1.0和P1.1引脚也用做定时器2的外部计数输入(P1.0/T2)和触发器输入(P1.1/T2DX)。

在编程和校验期间,P1口可输入低字节地址。

•P2口——8位、双向I/O口,内部具有上拉电阻。

P2口可用做通用I/O,可以驱动4个TTL负载。

对P2口各位写入1,可作为输入。

每个引脚由外部负载拉为低电平时,经由内部上拉电阻向外输出电流。

在访问16位地址的外部程序存储器和数据存储器时,P2口提供高8位地址。

P3口可用做通用I/O口,可驱动4个TTL负载。

当用做输入熟,要先将P3口各位置如外部负载将P3口拉低,则经过上拉电阻向外输出电流。

在编程和校验时,P3口接收某些控制信号。

另外,XTAL1和XTAL2——XTAL1是片内振荡器反相放大器和时钟发生器的输入端,XTAL2是片内振荡器反相放大器的输出端。

其他引脚还有RST、ALE/PROG、PSEN、EA/VPP。

3.2按键电路设计

由于设计要求使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。

其原理如图3-2所示。

图3-24×

4行列式键盘原理图

每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×

M个按键的键盘。

在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。

当确认有按键按下后,下一步就要识别哪一个按键按下。

对键的识别通常有两种方法:

一种是常用的逐行扫描查询法;

另一种是速度较快的线反转法。

对照图3-2所示的4×

4键盘,说明线反转个工作原理。

首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。

方法是:

向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。

如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。

判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。

依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;

如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。

3.3LED显示电路

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);

按能显示多少个“8”可分为1位、2位、4位等数码管;

按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管;

共阳极数码管在应用时将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

反之,则不亮。

共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极,应用时将这一极接到地线上,当某一字段发光二极管的阴极为高电平时,相应字段就点亮。

数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式不同,可以分为静态式和动态式两类。

(1)静态显示驱动:

每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。

静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×

8=40根I/O端口来驱动,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路复杂性。

(2)动态显示驱动:

数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划的同名端“a,b,c,d,e,f,g,dp”连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示字形,没有选通的不会亮。

通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

本系统设计的显示电路是为了给使用者以提示而设置的。

考虑到节约成本,使用最少的电子元器件,这次显示采用并行显示的方式,即使用单片机的P00-P07作为段选码口,P22-P27为位选码口,由于银行账户密码均为六位,因此本次设计也采用六位密码,将前末位数码空置。

电路原理图如图3-3所示。

图3-3四位七段数码管显示电路的电路原理图

从单片机P00-P07输出的信号是六位七段数码管的段选信号,直接送到七段数码管的段选地址中,控制七段数码管显示的码型:

从单片机P22-P27输出的信号是六位七段数码管的位选信号,送到六位七段数码管的片选地址中,控制六位七段数码管的显示个数和哪一个管子显示。

3.4开锁电路

本设计中,基于节省材料的原则,用发光二极管代替电磁锁,红色管亮,表示密码错误,绿色管亮,表示密码正确。

再配有限流电阻。

具体电路图如下图3-4所示。

图3-4发光二极管(开锁)电路原理图

3.5复位电路

单片机的第9脚RST为硬件电路复位端,当振荡器工作时,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机各状态都恢复到初始状态,此时六位数码管显示000000。

复位电路如下图3-5所示。

图3-5复位电路原理图

图中以电解电容,电阻及按键构成上电复位电路,由于单片机是高电平复位,所以当按键按下的时候,单片机的9脚RESET管脚处于高电平,此时单片机在复位状态。

当上电后,由于电容的缓慢充电,单片机的9脚电压逐步由高向低转化,经过一段时间后,9脚处于稳定的低电平状态,此时单片机上电复位结束,系统程序从0000H开始执行。

4.软件设计

4

4.1软件设计思路

对于电子密码锁的设计,需要解决3个问题:

键盘输入、数码管显示、单片机电路以及密码比较与处理的有关程序设计。

通过行列键盘扫描程序获取所按键的行、列号,得到键值。

键值编码规则如下:

将字节的高四位(D7、D6、D5、D4)表示列号(4、3、2、1),低四位(D3、D2、D1、D0)表示行号(4、3、2、1),比如11H(00010001)表示第1行第1列,21H(00100001)表示第1行第2列,以此类推,可得其他键值的编码。

根据获取的键值编码,选择相应的功能,驱动数码管的指示灯显示。

主程序流程图中,计数器0、1初始化后,六位数码管显示888888,然后通过扫描键盘,判断是否有键按下。

这个时候若没有键按下,则要继续扫描,不断重复循环过程,知道发现有键按下,程序才能根据按键的功能进行相应的处理,当6位密码输入完毕,按下“确认键”,则数码管关闭显示,进入密码比较环节,根据比较的结果,指示灯输出不同的状态,指示灯点亮的时间由定时器1控制。

数码管的动态扫描显示由定时器0控制。

当程序中断时,程序保存现场,并重装TH0、TL0的初值,然后判断showflag是否为1,如是则调用数码管显示函数,最后中断返回。

定时器1用于指示灯点亮时间的控制。

当程序中断时,程序保存现场,并重装TH1、TL1的初值,然后判断t1count是否大于20,即有没有到1s,若到1s,则关闭指示灯,6位数码管显示为“888888”,同时关闭定时器1;

若没到1s,则t1count继续累加,最后中断返回

4.2软件主程序流程图

4.3中断服务子程序流程图

5.系统调试

软件编译好后下载到芯片,进行系统调试。

这次系统调试经过许多问题,下面对于这些问题逐一进行总结。

首先是PCB的问题。

因为这次实验板比较小,所以在PCB原理图上进行了繁琐的压缩,布线,一些连接线布置的非常细,最后腐蚀又出现失误,导致几根线出现断裂,而且这些线非常细不好弥补。

解决方法:

用焊锡仔细弥补。

其次是程序设计问题。

本次程序设计参考了许多实验流程图和代码,对于一些函数的程序设计不是完全了解,导致调试时数码管显示不理想,经过同学的指导,我了解到主要的障碍是对S52单片机引脚分配理解不透彻,为此我又重温一遍单片机技术,最后显示问题得以解决。

6.总结

耗时近一个多月的课程设计已经结束了,在这紧张而又充实的的时间里,通过对电子密码锁的制作,清楚地看到了自己在单片机方面知识的薄弱,各个知识点没有融汇贯穿,程序设计也显得粗糙,因此要在仅剩的一个学期中,继续努力学习软硬件知识。

在做此课题的过程中,充分体会到了实际操作的重要性。

如果没有老师、同学的指点,可能自己会在一些地方停滞不前,因此浪费掉很多时间。

通过这次课程设计,可以很好的把理论知识与实际情况有机的联系在一起,对以后的学习、工作很有帮助。

经过这次的课程设计,让我感觉自己在动手操作方面比以前有很大提高。

再加上前几次实践所积淀下来的经验,以及老师悉心的指导,让这次课程设计的进行较为顺利,提高了这次课程设计任务的质量和速度,进一步地增强了独自完成任务的能力,巩固了所学的理论知识。

我们一组同学当中有不少人选择单片机方向,所以在实际操作中可以相互讨论,相互提高。

虽然这是我第二次做课程设计,但也必然在设计与实施方面弊端,具体体现在独自编程以及程序的调试上面,让我们看到了与工程人员的差距。

这次一人一个题目,使我们独立完成任务能力增强,又增强了我们的团结协作能力。

所有的专业课实验,以及这次的课程设计,无不有力地证明了基础知识的重要性,无不在提醒自己,要重视对基础知识的学习。

通过这次的实验,理解了电子技术设计的设计方法和流程,夯实了制作单片机的操作流程以及下载程序。

很显然,任何的实践活动,都不可能闭门造车,是必须去吸取前人的实践经验,这就要求在课程设计的过程中,从网络上,从图书馆,借寻相关资料书籍等,有力地指导课程设计。

进一步认清了毕业走向。

增强了搜索资料的能力。

通过这次的课程设计,我认识了C语言的强大以及重要性。

这就要求在以后的大学时间里,要继续巩固相关的理论知识,继续多动手操作,提高具体的实践操作能力,为即将毕业谋求出路,做好充分的准备。

谢辞

课程设计是培养学生综合运用所学知识,发现提出和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体考察,随着科学技术发展的日新月异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在,因此作为当代大学生来说掌握单片机开发技术是十分重要的。

经过近一个月的查资料,整理资料,设计电路,编写程序,本次课程设计顺利结束了,作为一个大四学生的作品,由于经验、想象力的匮乏,难免有许多考虑不周全的地方,如果没有王国富老师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象的。

在此感谢我的指导老师王国富,老师平日繁忙这是众所周知的,但仍会挤出时间关心我们的进展,之中有许多好的提议让我们醍醐灌顶,但因为我们实践动手能力太差,也让多多老师费心,耽误了老师很多时间及精力,对此我们深感愧疚。

对于老师孜孜不倦的教会及指导,让我受益终生。

另外还要感谢和我一起并肩合作的三位同学:

陈俊全、冯一帆、党生。

有他们的帮助及支持,让我充满信心面对一切挑战。

在课程设计期间,我们共同攻克了许多困难,让我懂得了一个人的力量远不足以成功。

通过这次训练,大大增进了我们合作能力。

参考文献

[1]周航慈.单片机程序设计基础[M].北京:

北京航空航天大学出版社,2004:

3-21.

[2]冯建华,赵亮.单片机应用系统与产品开发[M].北京:

人民邮电出版社,2004

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 环境科学食品科学

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

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