基于单片机的电子密码锁

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

专业综合课程设计填写题目:基于单片机的电子密码锁班级:通信工程2班姓名:宋健学号:成绩:基于单片机的电子密码锁摘要本课题设计以AT89C52单片机为核心器件,结合按键电路、LED数码管显示电路、存储电路、报警指示电路和开锁机构,利用单片机灵活的编程设计、丰富的I/O端口来控制整个系统实现电子密码锁的基本功能。系统能实现密码的输入、清除、显示。密码正确开锁,密码错误报警,密码修改功能。关键词:单片机,电子密码锁,4×4矩阵键盘AbstractCombinedwiththepressedkeycircuit,LEDdigitaldisplaycircuit,storagecircuit,alarminstructioncilcuitandunlockmachinethedesigntakestheSCMofAT89S52asthecorecomponenttocontroltheentiresystemachievingthebasicfunctionsoftheelectroniccipherlockthroughthesoftwareprogramwithit’sflexibleprogrammingdesignandrichI/Oport.Thissystemhasthefollowingfunctions:passwordinput,clearanddisplay,,unlockwhenthepasswordiscorrect,alarmwhenthepasswordiswrong,andusercanchangepasswordKeywords:Single-chip,Electroniclocks,4×4matrixkeyboard3目录第1章概述…………………………………………………………4第2章系统总体方案设计……………………………………………5第3章硬件电路设计…………………………………………………83.1键盘电路设计……………………………………………………83.2LED显示电路………………………………………………………93.3开锁电路…………………………………………………………113.4报警电路…………………………………………………………13第四章软件设计………………………………………………………1334.1软件设计思路………………………………………………………1334.2各子程序设计………………………………………………………133第5章系统调试………………………………………………18第6章心得体会…………………………………………………………19第7章参考文献…………………………………………………………20附录…………………………………………………………………21源程序清单………………………………………………………………21硬件原理图………………………………………………………………274第1章概述随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。本文所涉及的是市场占有率最高的是MCS—51系列,因为世界上很多知名的IC生产厂家都生产51兼容的芯片。到目前为止,MCS—51单片机已有数百个品种,还在不断推出功能更强的新产品。本设计是基于单片机的密码锁设计方案,根据要求,给出了该单片机密码锁的硬件电路和软件程序,同时给出了单片机型号的选择、硬件设计、软件流程图、单片机存储单元的分配、汇编语言源程序及详细注释等内容。5第2章系统总体方案设计方案一:采用数字电路控制。其原理方框图如图1-1所示。图2-1数字密码锁电路方案采用数字密码锁电路的好处就是设计简单。用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻6烦。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。方案二:采用一种是用以AT89S51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其原理如图1-2所示。图2-2单片机控制方案通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。本方案采用一种是用以89S51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。初步设计思路如下:输入密码用矩形键盘,包括数字键和功能键。开锁控制电路89S51单片机AT24C02掉电存储串口显示电路矩阵键盘控制指示电路输入错误锁定键盘延时报警控制电路7LED数码管显示输入密码,用74JS247驱动数码管发光显示数码,用74LS138控制各位显示器分时进行显示。用发光二极管代替开锁的电路,发光表示开锁。输入密码错误次数超过3次,系统报警。打开电源后,显示器显示“000000”,设原始密码为“123456”,只要输入此密码便了开门。这样可预防停电后再来电时无密码可用。按“C”键,清除显示器为“000000”。欲重新设定密码,先输入密码在案“*”。输入密码,再按“D”键。若密码与设定密码相同,则开门。否则显示器清为“000000”。软件的设计主要包括键盘键值的读取,LED显示程序,密码比较程序和报警程序。8第3章硬件电路设计3.1键盘电路设计使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。其原理如图3.1。图3.1矩阵键盘每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。9当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照图3.1所示的4×4键盘,说明线反转个工作原理。首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。具体的功能设计如表3.1:表3.1按键功能按键键名功能说明1-9键数字键输入密码*键重设密码键设定新密码D键确定键比较密码#键清除键使显示器清零3.2LED显示电路本系统设计的显示电路是为了给使用者以提示而设置的。本系统的显示采用串行显示的方式,只使用单片机的一个串行口,利用74LS247驱动数码管发光显示数码和74LS138控制位选信号,就可以完成单片机的显示功能,显示电路的电路原理图如图3.2所示。10用P0.0—P0.3接74LS247的A,B,C,D四端口,74LS247的输出口接LED的七段显示;而P0.4—P0.6接74LS138的A,B,C三个输入口,74LS138的输出口接LED的位显示。通过软件实现数字和位控制。图3.2LED显示电路用74LS247可以控制输出什么字型。74LS247的逻辑功能表如表3.2:表3.274LS247的逻辑功能表11用74LS138控制位循环显示,其逻辑功能表如表3.3:表3.374LS138逻辑功能表CBAY1Y2Y0Y3Y4Y5Y6Y70000111111001101111110101101111101111101111100111101111011111101111011111101111111111103.3开锁电路在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。电路图如3.3所示。当P2.0口输出低电平时,二极管发光,表示开锁。12图3.3开锁电路3.4报警电路图3.4报警电路报警模块由蜂鸣器和单片机组成。选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100mA驱动电流。蜂鸣器电路如图3.4所示。当89C51的P2.1口输出为低电平时,蜂鸣器产生蜂鸣音,89C51输出为高电平时,蜂鸣器不发声。13第四章软件设计4.1软件设计思路电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。当输入密码连续输入错误3次时,系统报警。密码的设定,在此程序中密码是固定40H—45H中,假设预设的密码为123456共6位密码。由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。4.2各子程序设计1键盘扫描子程序键盘扫描流程图如图4.2.114图4.2.1键盘扫描流程图键盘扫描子程序如下:L2:MOVR3,#0F7HMOVR1,#00HL3:MOVA,R3MOVP1,AMOVA,P1MOVR4,ASETBCMOVR5,#04HL4:RLCAJNCKEYININCR1DJNZR5,L415CALLDISPMOVA,R3SETBCRRCAMOVR3,AJCL3JMPL22LED显示子程序LED显示流程图如图4.2.2图4.2.2LED显示流程图LED显示子程序如下:DISP:MOVR0,#45HDISP1:MOVA,@R0ADDA,#50HMOVP0,ACALLDELAYDECR0MOVA,@R0ADDA,#40H16MOVP0,ACALLDELAYDECR0MOVA,@R0ADDA,#30HMOVP0,ACALLDELAYDECR0MOVA,@R0ADDA,#20HMOVP0,ACALLDELAYDECR0MOVA,@R0ADDA,#10HMOVP0,ACALLDELAYDECR0MOVA,@R0ADDA,#00HMOVP0,ACALLDELAYRET3密码比较和报警程序密码比较和报警流程图如4.2.317图4.2.3密码比较和报警流程密码比较和报警程序:COMP:MOVR1,#45HMOVR0,#35HMOVR2,#06HC1:MOVA,@R1XRLA,@R0JNZC3DECR1DECR0DJNZR2,C1CLRP2.0MOVR2,#200C2:MOVR6,#248DJNZR6,$DJNZR2,C218C3:INCR5MOVA,R5MOVR5,ACJNER5,#03H,C4CLRP2.1MOVR5,#00HC4:JMPSTART第5章系统调试本次调试采用Protue

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功