基于单片机的电子密码锁设计_第1页
基于单片机的电子密码锁设计_第2页
基于单片机的电子密码锁设计_第3页
基于单片机的电子密码锁设计_第4页
基于单片机的电子密码锁设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录第1章 概 述 .1第2章 系统总体方案设计 2第3章 硬件电路设计 .43.1 键盘电路设计 .43.2LED显示电路. 53.3 开锁电路 . 63.4报警电路.7第4章 软件设计 .84.1软件设计思路. 84.2 各子程序设计. 8第5章 系统调试 .14第6章 心得体会 15致 谢15附 录 .16源程序清单 .16硬件原理图 .2221第1章 概 述密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在使用较广的数字密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其特点是保密性好,随机开锁成功率几乎为零。密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。无活动零件,不会磨损,寿命长。使用灵活性好,不像机械锁必须佩带钥匙才能开锁。数字密码锁操作简单易行,一学就会。本文所涉及的是市场占有率最高的是MCS51系列,因为世界上很多知名的IC生产厂家都生产51兼容的芯片。到目前为止,MCS51单片机已有数百个品种,还在不断推出功能更强的新产品。本设计是基于单片机的密码锁设计方案,根据要求,给出了该单片机密码锁的硬件电路和软件程序,同时给出了单片机型号的选择、硬件设计、软件流程图、单片机存储单元的分配、汇编语言源程序及详细注释等内容。第2章 系统总体方案设计用以AT89S51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其原理如图22所示。89S51单片机矩阵键盘控制输入错误锁定键盘延时报警控制电路AT24C02掉电存储开锁控制电路指示电路串口显示电路图22单片机控制方案初步设计思路如下:输入密码用矩形键盘,包括数字键和功能键。LED数码管显示输入密码,用74JS247驱动数码管发光显示数码,用74LS138控制各位显示器分时进行显示。用发光二极管代替开锁的电路,发光表示开锁。输入密码错误次数超过3次,系统报警。打开电源后,显示器显示“000000”,设原始密码为“123456”,只要输入此密码便了开门。这样可预防停电后再来电时无密码可用。按“C”键,清除显示器为“000000”。欲重新设定密码,先输入密码在案“*”。输入密码,再按“D”键。若密码和设定密码相同,则开门。否则显示器清为“000000”。软件的设计主要包括键盘键值的读取,LED显示程序,密码比较程序和报警程序。第3章 硬件电路设计3.1 键盘电路设计使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘和单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。其原理如图3.1。图3.1 矩阵键盘每一条水平(行线)和垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有NM个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照图3.1所示的44键盘,说明线反转个工作原理。首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在和零电平行线相交的交点上的那个键。具体的功能设计如表3.1:表3.1 按键功能按 键键 名功 能 说 明19键数 字 键输 入 密 码* 键重 设 密 码 键设 定 新 密 码D键确 定 键比 较 密 码# 键清 除 键使 显 示 器 清 零3.2LED显示电路本系统设计的显示电路是为了给使用者以提示而设置的。本系统的显示采用串行显示的方式,只使用单片机的一个串行口,利用74LS247驱动数码管发光显示数码和74LS138控制位选信号,就可以完成单片机的显示功能,显示电路的电路原理图如图3.2所示。用P0.0P0.3接74LS247的A,B,C,D四端口,74LS247的输出口接LED的七段显示;而P0.4P0.6接74LS138的A,B,C三个输入口,74LS138的输出口接LED的位显示。通过软件实现数字和位控制。图3.2 LED显示电路3.3 开锁电路在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。电路图如3.3所示。当P2.0口输出低电平时,二极管发光,表示开锁。图3.3 开锁电路3.4报警电路图3.4报警电路报警模块由蜂鸣器和单片机组成。选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100mA驱动电流。蜂鸣器电路如图3.4所示。当89C51的P2.1口输出为低电平时,蜂鸣器产生蜂鸣音,89C51输出为高电平时,蜂鸣器不发声。第四章 软件设计4.1软件设计思路电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。当输入密码连续输入错误3次时,系统报警。密码的设定,在此程序中密码是固定40H45H中,假设预设的密码为123456共6位密码。由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。4.2 各子程序设计1 键盘扫描子程序键盘扫描流程图如图4.2.1 图4.2.1 键盘扫描流程图键盘扫描子程序如下:L2: MOV R3,#0F7H MOV R1,#00HL3: MOV A,R3 MOV P1,A MOV A,P1 MOV R4,A SETB C MOV R5,#04HL4: RLC A JNC KEYIN INC R1 DJNZ R5,L4 CALL DISP MOV A,R3 SETB C RRC A MOV R3,A JC L3 JMP L22 LED显示子程序 LED显示流程图如图4.2.2图4.2.2 LED显示流程图LED显示子程序如下:DISP:MOV R0,#45HDISP1: MOV A,R0 ADD A,#50H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#40H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#30H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#20H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#10H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#00H MOV P0,A CALL DELAY RET3 密码比较和报警程序密码比较和报警流程图如4.2.3图4.2.3 密码比较和报警流程密码比较和报警程序:COMP: MOV R1,#45H MOV R0,#35H MOV R2,#06HC1: MOV A,R1 XRL A,R0 JNZ C3 DEC R1 DEC R0 DJNZ R2,C1 CLR P2.0 MOV R2,#200C2: MOV R6,#248 DJNZ R6,$ DJNZ R2,C2C3: INC R5 MOV A,R5 MOV R5,A CJNE R5 ,#03H,C4 CLR P2.1 MOV R5,#00H C4: JMP START第5章 系统调试本次调试采用Protues软件仿真。首先设计电子密码锁的源程序,源程序经过汇编后,生成的目标文件经过仿真调试。依次按下1,2,3,4,5,6后,LED显示如图5.1图5.1 LED显示按下确定键后,二极管亮,表示密码正确开门。如图5.2图5.2 密码正确开门第6章 心得体会在着手本次毕业设计时,通过查阅网络和图书馆搜集到的资料,加上指导老师指点,结合生活中对密码锁的功能特性要求,设计出了这一套电子密码锁系统的主要硬件结构和软件结构,基本完成了课题。不过由于了解的专业知识尚浅,对课题的研究经验的不足,使得在技术的解决和运用上显得粗糙了一些,特别是功能键的设定。在设计的过程当中经历和克服了许多困难,暴露我们知识和经验不足的同时也积累了实践经验,检阅了大学所学的知识,使所学的知识得到复习和巩固。通过这次毕业设计我学到了很多东西,复习了理论知识,特别是单片机外围电路模块电路设计及其使用编程;学会收集和处理资料的一些基本问题,提高获取新知识的能力、分析和解决问题的能力以及交流和合作的能力。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,在同学的帮助下,终于游逆而解。非常感谢!致 谢在这大学的最后一页里,我要感谢的指导老师陈卉和我们各科任课老师,没有你们的谆谆教诲,就没有我们学有所长的今天。当然,还要感谢的在我完成论文过程中给予我帮助和鼓励的朋友们。最后要感谢的就是我的父母,谢谢你们对我的支持。现在即将挥别我的学校、老师、同学,还有我三年的大学生活,虽然依依不舍,但是对未来的路,我充满信心。最后,感谢在大学期间认识我和我认识的所有人,有你们伴随,才有我大学生活的丰富多彩,绚丽多姿!附 录源程序清单 ORG 00H MOV R5,#00H MOV R7,#00H DJNZ R7,$ MOV R7,#10H MOV R6,#06H MOV R1,#35HL1: MOV A,R7 MOV DPTR,#TABLE MOVC A,A+DPTR MOV R1,A DEC R1 INC R7 DJNZ R6,L1START: ORL P2,#0FFH MOV R4,#06H MOV R0,#40HCLEAR: MOV R0,#00H INC R0 DJNZ R4,CLEARL2: MOV R3,#0F7H MOV R1,#00HL3: MOV A,R3 MOV P1,A MOV A,P1 MOV R4,A SETB C MOV R5,#04HL4: RLC A JNC KEYIN INC R1 DJNZ R5,L4 CALL DISP MOV A,R3 SETB C RRC A MOV R3,A JC L3 JMP L2KEYIN: MOV A,R1 XRL A,#0BH JZ X3 MOV A,R1 XRL A,#0FH JZ X4 MOV R7,#10D1: MOV R6,#24 DJNZ R6,$ DJNZ R7,D1D2: MOV A,P1 XRL A,R4 JZ D2 MOV A,R1 MOV DPTR,#TABLE MOVC A,A+DPTR MOV R7,A XRL A,#0AH JZ SET0 MOV A,R7 XRL A,#0BH JZ START MOV A,R7 XRL A,#0CH JZ L2 MOV A,R7 XRL A,#0DH JZ L2 MOV A,R7 XCH A,40H XCH A,41H XCH A,42H XCH A,43H XCH A,44H XCH A,45H CALL DISP JMP L2X3: JMP DISP2X4: JMP COMPDISP:MOV R0,#45HDISP1: MOV A,R0 ADD A,#50H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#40H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#30H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#20H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#10H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#00H MOV P0,A CALL DELAY RETSET0: MOV R2,#06H MOV R0,#40H MOV R1,#30HE1: MOV A,R0 XCH A,R1 INC R0 INC R1 DJNZ R2,E1 CALL DELAYE2: JMP STARTCOMP: MOV R1,#45H MOV R0,#35H MOV R2,#06HC1: MOV A,R1 XRL A,R0 JNZ C3 DEC R1 DEC R0 DJNZ R2,C1 CLR P2.0 MOV R2,#200C2: MOV R6,#248 DJNZ R6,$ DJNZ R2,C2C3: INC R5 MOV A,R5 MOV R5,A CJNE R5 ,#0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论