欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    基于单片机控制的密码锁的设计.doc

    • 资源ID:4148443       资源大小:262.50KB        全文页数:45页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机控制的密码锁的设计.doc

    常州机电职业技术学院毕业设计(论文)作 者: * 学 号: * 系 部: 电气工程系 专 业: 电子设备维修 题 目: 基于单片机控制的电子密码锁的设计 指导者: * * 评阅者: 年 月 毕业设计(论文)中文摘要在科技高速发展的今天,如何实现有效的防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,容易被撬开,不能有效的防住“梁上君子”,如何解决好这个大难题?为了满足现代人高节奏,方便,时尚的潮流,实现智能化生活,数字化生活,电子密码锁出现了,由于其稳定性高,使用灵活方便,电子密码锁受到了广大用户的喜爱,同时也被广泛的运用到人们的日常生活中,使用电子密码锁已近成为了一种趋势了。以单片机AT89C51作为密码锁监控装置的检测和控制核心,根据51单片机之间的串行通信原理,对密码信息随机加密和保护。采用键盘输入的电子密码锁具有较高的优势,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。软件设计采用模块化设计思想,增强系统的可扩展性和运行的稳定性。关键词:单片机 密码锁 矩阵式键盘 目录1引言11.1 电子密码锁的简介11.2 电子密码锁的发展历程22系统的方案和原理42.1 设计的方案42.2 密码锁的工作原理53系统的硬件设计63.1系统框图及AT89C51的介绍63.2密码锁电路总体结构103.3输入电源的设计113.4按键键盘的处理123.4.1矩阵式键盘的原理图123.4.2矩阵式键盘的按键识别143.5数码管显示的处理154系统的软件设计164.1储存芯片AT24C02164.2密码储存系统184.3主程序流程的编辑204.4复位系统的设计214.5开锁程序的处理224.6报警电路的选择244.7晶振电路系统255电子密码锁的未来展望275.1设计密码锁的目的275.2密码锁的发展趋势28 结论29致谢30参考文献31附录321 引言1.1 电子密码锁的简介密码锁是锁的一种,开启时用的是一系列的数字或符号。密码锁的密码通常都只是排列而非真正的组合。它是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。电子密码锁的特点是不用钥匙、无锁孔、机械传动、不易损坏、不磨损、不易被破译、可多次更换密码、换号不换锁、一把锁多个密码,具有防拨、防砸、防撬、防堵等功能。安装门锁时不破坏原门的结构,避免用钥匙开启旋芯式锁具的一切烦恼(如丢、落、拆、堵门被反锁等)。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。键盘式电子密码锁使用的日益广泛,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。键盘式电子密码在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。1.2电子密码锁的发展历程 锁自古以来就是把守门户的“铁将军”, 人们对它要求甚高,既要安全可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。19世纪60年代后期,美国人发明了保险柜用之锁机构及多锁栓技术,保险柜的安全性能才有了大大的提升。早期带锁机构及多门栓设计的保险柜,出现于1865年之后。19世纪末20世纪初,欧洲人利用瑞士钟表工艺,开发出转盘式密码锁,保险柜技术才出现了突破性的发展,保密性、安全性大幅度提高。锁具的发展与保险柜相辅相成,直到今天,转盘式密码锁仍大量运用于保险柜行业。早期的转盘式密码锁也应用此类锁具的保险柜。20世纪六七十年代因为半导体技术的日新月异,业界开发出电子密码锁,电子密码锁亦广泛运用于各种类型之保险柜产品。之后又将LED、LCD数码显示用于保险柜中,用户对于防火的需求也催生了各类防火产品,指纹扫描识别技术的发展又促进指纹锁在保险柜中的运用,磁卡的流行派生了磁卡式保险柜而保险柜的产品种类,以当初最简单的功能发展到防盗、防火、防盗/防火、防磁、家用、商用、酒店用、枪械用、文件/数据等几乎不可胜数的种类。因此,为了发扬优点、克服弱点,键盘式电子密码在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的键盘乱序显示技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;“多重密码设定”技术使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提高了保密性,如果限定输入这些密码的先后顺序或时间区段,则保密性还可提高。在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确,即“封锁”键盘,不再接受输入操作。在安全技术防范领域,具有防盗报警功能的电子密码锁代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,出现了带微处理器的智能数码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,当今智能电子密码锁发展已经到了非常高的境界,由于电子元件特别是单片机应用在这几年得到空前发展,无论功能性,稳定性都比较全面,在保密方面已做到人眼识别,指纹识别,人声识别基本上电影上有的现实也有。在国外发展比较早,所以应用也比较广泛,主要在家庭装较贵重地方,银行,保险柜等应用较多,在国内这方面发展也较快,不管自己开发或是引进都有,在重要地方应用也较多,由于价钱比普通弹子锁较贵,早几年应用较少,现在越来越普及到平常化,未来的发展也会越来越被大众采用,由于它的功能、安全是弹子锁无法相比的。总之,尽管新式电子防盗锁层出不穷,但键盘式电子密码防盗锁仍然“老树发新芽”,不仅在市场上居于主流地位,而且,还经常作为其他类型电子防盗锁的辅助输入手段,应用也日益广泛。 2 系统的方案和原理 2.1设计的方案 电子密码锁所用元件是单片机的硬件和软件相结合的方法,利用了C语言的强大功能,通过编写一个合适的正确的程序,依靠所接的按键开关输入相应的指令就可以进行一系列的程序操作,从而实现所需要的功能。电路节省了大量的硬件电路设计过程,使得硬件电路的焊接对设计的要求和结果的影响达到最低的限度,而51系列单片机所用元件简单,成本也较低;电路不是很复杂,易于焊接;如果在电路的测试过程中出现了一些问题,可以很容易的检查出来。而采用数字密码锁电路的好处就是设计简单。当用户需要开锁时,先按键盘开锁键之后按键盘的数字键09输入密码。密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。新密码输入无误后按确认键使新密码将得到存储,密码修改成功。2.2密码锁的工作原理它是以51系列单片机(AT89C51)为核心,配以相应硬件电路,完成密码的设置、存贮、识别和显示、驱动电磁执行器并检测其驱动电流值、接收传感器送来的报警信号、发送数据等功能,单片机接收键入的代码,并与存贮在EEPROM中的六位密码进行比较,六位密码的可以有298万多组密码供主人随意变换,保密性极高,可选密码组是连续排列的,如果密码正确,则驱动电磁执行器开锁;如果密码三次都不正确,则单片机通过通信线路向智能报警器发出报警信号。 密码锁主要由矩阵键盘、单片机、液晶显示器和外部硬件等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈,单片机将每次开锁操作和此时电磁执行器的驱动电流值作为状态信息发送给单片机的芯片处理,同时将接收来自无限循环的密码识别程序的报警信息也发送给智能报警器,从而使整个密码锁正常运行。电子密码锁使用框图如图2-1所示:4×4键盘单片机控制器LCD显示器图2-1 电子密码锁使用框图 密码锁的使用方法简单,而用户所看到的界面很简洁,只有一个输入键盘,一个显示器,一个小喇叭,这样不仅让使用者看的舒心,也简化界面起到美观的作用,同时简介的界面也解决了文话水平不高的大众人群,使得用户用起来不会觉得无从下手。3 系统的硬件设计3.1 系统框图及AT89C51的介绍 本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由电源输入部分、键盘输入部分、电路复位部分、晶振部分、数码管显示部分、报警部分、开锁部分组成,软件部分对应的由主程序、密码储存程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、密码设置程序、密码修改程序、ROM读写程序和延时程序等组成。电子密码锁系统框图如3-1所示:AT89C51密码锁电路输入电路按键部分数码管显示密码储存修改密码开锁系统报警系统 图3-1 电子密码锁系统框图 硬件部分的密码锁电路是密码锁系统的整体工作电路,可以很清晰的看出密码锁的工作流程,输入电路是密码锁的电源输入端,保证密码锁可以正常工作,按键部分选择的是矩阵式键盘,矩阵式键盘的有点是减少I/O口的占用、按键选择多,数码管显示部分是显示用户输入密码位数,并不显示输入数据。 软件部分的密码储存是放在AT24C02储存芯片里,保证储存、验证用户输入的密码是否正确,修改密码的系统部分用于用户更换密码时所需的处理程序的执行,开锁报警系统是用户输入密码开锁时执行的程序,密码正确则开锁,密码错误则报警。 关于AT89C51: AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51的芯片引脚如图3-2所示:1 402 393 38 4 375 366 357 348 339 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST (RXD)P3.0 (TXD)P3.1(INT0)P3.2(INT1)P3.3 (T0)P3.4 (T1)P3.5 (WR)P3.6 (RD)P3.7 XTAL2 XTAL1 GND VCCP0.0(AD0)P0.1(AD1)P0.2(AD2)P0.3(AD3)P0.4(AD4)P0.5(AD5)P0.6(AD6)P0.7(AD7)EA/VPPALE/PROGPSENP2.7(A15)P2.6(A14)P2.5(A13)P2.4(A12)P2.3(A11)P2.2(A10)P2.1(A9)P2.0(A8)图3-2 AT89C51芯片引脚图 其主要功能特性: 兼容MCS-51指令系统 4k可反复擦写(>1000次)ISP Flash ROM 32个双向I/O口 4.5-5.5V工作电压 2个16位可编程定时/计数器 时钟频率0-33MHz 全双工UART串行中断口线 128x8 bit内部RAM 2个外部中断源 低功耗空闲和省电模式 中断唤醒省电模式 3级加密位 看门狗(WDT)电路 软件设置空闲和省电功能灵活的ISP字节和分页编程 双数据寄存器指针 AT89S51引角功能说明:VCC:电源电压GND:接地P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当 P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口, 当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。端口引脚第二功能P1.5 MOSI(用于ISP编程)P1.6 MISO(用于ISP编程)P1.7 SCK(用于ISP编程)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口同时为闪烁编程和编程校验接收一些控制信号。P3口的第二功能如下表3-1所示: 表3-1 P3口的第二功能端口功能第二功能端口引脚第二功能RXD(P3.0)串行输入口T0(P3.4)定时/计数器0外部输入TXD(P3.1)串行输出口T1(P3.5)定时/计数器1外部输入INT0(P3.2)外中断0WR(P3.6)外部数据存储器写选通INT1(P3.3)外中断1RD(P3.7)外部数据存储器读选通RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出的正脉冲信号,因此它可对外输出时钟或用于定时目地,要注意的是:第当访问外部数据存储器时将跳过一个ALE脉冲。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位禁位后,只有一条MOVX 和MOVC指令ALE才会被激活。此外,该引脚伎被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,高有两次有效的PSEN信号。EA/VPP:外部访问允许。欲使CPU公访问外部程序存储器(地址0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上12V的编程电压VPP。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。AT89C51芯片内部结构:特殊功能寄存器:特殊功能寄存器的片内空间分存如AT89C51的芯片引脚所示。这些地址并没有全部占用,没有占用的地址不可使用,读这些地址将得到一个随意的数值。而写这些地址单元将不能得到预期的结果。中断寄存器:各中断允许控制位于IE寄存器,5个中断源的中断优先级控制位于IP寄存器。双时钟指针寄存器:为方便地访问内部和外部数据存储器,提供了两个16位数据指针寄存储器:PD0位于SFR区块中的地址82H、83H和DP1位于地址84H、85H,当SFR中的位DPS=0时选择DP0,而DPS=1时选择DP1。在使用前初始化DPS。电源空闲标志:电源空闲标志(POF)在特殊功能寄存储器SFR中PCON的第4位(PCON.4),电源打开时POF置“1”,它可由软件设置睡眠状态并不为复位所影响。存储器结构:MCS-51单片机内核采用程序存储器和数据存储器空间分开的结构,均具有64KB外部程序和数据的寻址空间。程序存储器:如果EA引脚接地(GND),全部程序均执行外部存储器。在AT89C51,假如接至VCC(电源),程序首先执行从地址0000H0FFFH(4KB)内部程序存储器,再执行地址为1000HFFFFH(60KB)的外部程序存储器。数据存储器:在AT89C51的具有128字节的内部RAM,这128字节可利用直接或间接寻址方式访问,堆栈操作可利用间接寻址方式进行,128字节均可设置为堆栈区空间。看门狗定时器(WDT):WDT是为了解决CPU程序运行时可能进入混乱或死循环而设置,它由一个14bit计数器和看狗复位SFR(WDTRST)构成。外部复位时,WDT默认为关闭状态,要打开WDT,必按顺序将01H和0E1H写到WDTRST寄存器,当启动了WDT,它会随晶体振荡器在每个机器周期计数,除硬件复位或WDT溢出复位外没有其它方法关闭WDT,当WDT溢出,将使RST引脚输出高电平的复位脉冲。 3.2密码锁电路总体结构本系统总体结构由硬件部分与软件部分构成。其中硬件部分由电源输入部分、键盘输入部分、数码管显示部分,软件部分由主程序、密码储存程序、键盘扫描程序、启动程序、密码修改程序、ROM读写程序和延时程序等组成。密码锁的总体电路原理图如图3-3所示: 图3-3 电路原理图 其工作过程是:当用户需要开锁时,先按键盘开锁键之后按键盘的数字键09输入密码。密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。新密码输入无误后按确认键使新密码将得到存储,密码修改成功。 3.3输入电源的设计 密码锁主控制部分电源需要用直流电源供电,其电路如下图所示,把频率为50Hz、有效值为220V的单相交流电压转换为幅值稳定的5V直流电压。其主要原理过电源变压器、整流电路、滤波电路、稳压电路转换成稳定的直流电压。由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的作用显现出来起到降压作用。降压后还是交流电压,所以需要整流电路把交流电压转换成直流电压。由于经整流电路整流后的电压含有较大的交流分量,会影响到负载电路的正常工作。需通过低通滤波电路滤波,使输出电压平滑。稳压电路的功能是使输出直流电压基本不受电网电压波动和负载电阻变化的影响,从而获得稳定性足够高的直流电压。本电路使用集成稳压芯片7805解决了电源稳压问题。电源输入电路图如图3-4所示:D1T1C5C8C60C77805123¡«220V5VR3D2VCC图3-4 电源输入电路图 3.4按键键盘的处理3.4.1矩阵式键盘的原理图 单片机系统中,在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图3-5所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4×4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。 矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就得知是否有键按下了,矩阵式键盘的原理图如图3-5所示:R4R3R2VCCR10 1 2 3 4 5 6 78 9 开锁 清空启动 关闭 设置 确认 P1.0 P1.1 P1.2 P1.3P1.4P1.5P1.6 P1.7图3-5 矩阵式键盘的原理图 由图可知,一个4×4的行、列结构可以构成一个含有16个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。 3.4.2矩阵式键盘的按键识别1、判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。 2、判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键,键盘扫描程序设计的流程图如图3-6所示:按键程序键值09键值开锁键值清除键值重设键值确认密码输入程序重设程序清除程序开锁程序确认程序YYYYYNNNN返回N 图3-6 键盘扫描程序设计的流程图 当用户需要开锁时,先按键盘开锁键之后按键盘的数字键09输入密码,系统会调用密码输入程序判断密码是否正确,当密码正确时系统会调用开锁程序,当开锁程序执行完后系统会自动清除,当密码输入正确后用户可以重新设置密码,重设完成后,用户需要再一次输入确认密码,系统会自动检测两次输入的密码是否一样,一样则要用户按确认键,如果两次输入的密码不同,系统会跳到前面要用户再次输入确认密码。键盘处理程序就作这么一个简单的介绍,实际上,键盘处理是很复杂的,它往往占到一个应用程序的大部份代码,可见其重要性。 3.5数码管显示的处理 为了提高密码锁的密码显示效果能力。本设计的显示部分由液晶显示器LCD1602取代普通的数码管来完成。 LCD1602液晶也叫LCD1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。选用1602LCD特征是因为它的微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。 1602采用标准的16脚接口,其中:第1脚:GND为电源地。第2脚:VCC接5V电源正极。第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。其显示电路部分引脚接口如图3-7所示:GNDVCCVORSRW EDB0DB1DB2DB3DB4DB5DB6DB7BG VCCBG GND VCC1 2 3 P3.2 4 P3.1 5 P3.0 6 P0.0 7 P0.1 8 P0.2 9 P0.3 10 P0.4 11 P0.5 12 P0.6 13 LCD1602 P0.7 14 VCC 15 16 LCD1602图3-7 显示电路引脚图 只有按下键盘上的开启按键后,显示器才处于开启状态。同理只有按下关闭按键后显示器才处于关闭状态。否则显示器将一直处于初始状态,当需要对密码锁进行开锁时,按下键盘上的开锁按键后利用键盘上的数字键09输入密码,每按下一个数字键后在显示器上显示一个”-”,输入多少位就显示多少个”-”。当密码输入完成时,按下确认键,如果输入的密码正确的话,显示“E”,单片机其中P2.0引角会输出低电平,使三极管T2导通,电磁铁吸合,电子密码锁被打开,如果密码不正确,显示屏会显示“O”,P2.0输出的是高电平,电子密码锁不能被打开。通过LCD显示屏,可以清楚的判断出锁所处的状态 。 4 系统的软件设计4.1储存芯片AT24C021 8 2 73 64 5AT24C02VCCAT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个16字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。AT24C02支持IC,总线数据传送协议IC,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。1-A0,2-A1,3-A2 地址管脚;4-Vss 电源地;5-SDA 串行数据;6-SCL 串行时钟;7-WP 写保护;8-Vcc 电源。Vcc Vss 电源供电电压在2-6V之间。SCL 串行时钟,AT24C02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。SDA 串行数据/地址,AT24C02 双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA 是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线(wire-OR)A0、A1、A2 器件地址输入端这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0。当使用AT24C02 时最大可级联8个器件。如果只有一个AT24C02被总线寻址,这三个地址输入脚(A0、A1、A2 )可悬空或连接到Vss,如果只有一个AT24C02被总线寻址这三个地址输入脚(A0、A1、A2 )必须连接到Vss。AT24C02的电路接线图如图4-1所示:图4-1 AT24C02的电路接线图 图中AT24C02的1、2、3脚是三条地址线,用于确定芯片的硬件地址。在AT89C51试验开发板上它们都接地,第8脚和第4脚分别为正、负电源。第5脚SDA为串行数据输入/输出,数据通过这条双向I2C总线串行传送,I2C总线由单片机控制,挂在I2C总线上的设备可以很多个,每个有独立的地址,A0,A1,A2。但单片机发送地址后,该地址的设备就会被激活,向单片机反馈一个应答信号,然后进行该设备的操作任务,AT24C02,它是用来存储数据的,具体的操作有发送地址,发送指令,接受数据以及发送数据等等。在AT89C51试验开发板上和单片机的P3.5连接。第6脚SCL为串行时钟输入线,在AT89C51试验开发板上和单片机的P3.6连接。SDA和SCL都需要和正电源间各接一个5.1K的电阻上拉。第7脚需要接地。24C02中带有片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总写 入时间,一次操作可写入多达8个字节的数据。4.2密码储存系统 密码锁是用EPROM芯片AT24C02存储密码。AT24C02是一种低功耗CMOS型E2PROM,内含256×8位存储空间,具有工作电压宽(2.55.5 V)、擦写次数多(大于10000次)、写入速度快(小于10 ms)、抗干扰能力强、数据不易丢失、体积小等特点。而且他是采用了I2C总线式进行数据读写的串行器件,占用很少的资源和IO线,并且支持在线编程,进行数据实时的存取十分方便。AT24C02中带有的片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。I2C总线是一种用于IC器件之间连接的二线制总线。他通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。密码存储电路原理图如图4-2所示:VCC5WP6SCL7SDL8GND4A23A12A01AT24C02

    注意事项

    本文(基于单片机控制的密码锁的设计.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开