欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机课程设计-电子密码锁设计(16页).doc

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

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

    单片机课程设计-电子密码锁设计(16页).doc

    -单片机课程设计-电子密码锁设计-第 16 页单 片 机 课 程 设 计设计题目 电子密码锁 学生姓名 学 号 专业班级 通信工程指导老师 年 月 日设计题目单片机课程设计成绩姓名学号课程设计主要内容设计题目:电子密码锁1、 设计任务:本课程的设计任务是利用现有的目标板实验装置,利用实验箱上的设备,设计一个完整电子密码锁程序,并在实验箱上运行演示。2、设计指标及要求:(1)系统初始化,用户依次输入密码,LED显示用户输入的密码。 (2)密码输入后判断是否正确。密码错误,系统发出一声长“滴”声错误提示音,红灯亮2.5S,之后系统复位,用户重新输入密码。错误次数超过三次,则发出长鸣声报警,错误报警指示灯亮,同时键盘锁住,用户在无法输入密码。(3)密码正确有2种权限:开锁和修改密码,由功能键选择权限。(4)开锁成功,发出2声“滴”提示开锁,绿灯亮,5S延时后开锁信号和开锁指示清零,系统返回启动界面,等待密码的输入。(5)改密过程中,如果两次输入的密码不同,LED提示并返回修改密码界面。若密码修改成功,则保存密码,系统返回启动界面,等待密码的输入。(6)LED显示的系统当前操作界面(密码输入,修改密码,开锁,锁键盘等)可自行设定显示状态指导教师评语建议:从学生的工作态度、工作量、设计(论文)的创造性、学术性、实用性及书面表达能力等方面给出评价。签名: 20 年 月 日设计题目:电子密码锁一、 课题概述在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。 随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世,但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等,而且指纹识识别器若在公共场所使用存在容易机械损坏。IC卡还存在容易丢失、损坏等特点,加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。 二、 设计任务及技术要求2.1设计目的本课程的设计任务是利用现有的目标板实验装置,利用实验箱上的设备,设计一个完整电子密码锁程序,并在实验箱上运行演示。通过硬件课程设计中电子密码锁的设计与实验,使我们更进一步的掌握单片机原理的相关知识,尤其加深对8279芯片原理的理解,提高对汇编语言编程的能力并加深对汇编语言的理解与应用。在程序的不断编写与改正过程中,提高了我们检错就错的能力。实物电路的连接锻炼我们的动手能力,增强了我们通过动手进行硬件设计及程序设计从而解决实际问题的能力。2.2设计内容在本次实验中我们主要用到可编程键盘显示接口芯片8279来实现输入输出数字并用相关程序来判断字符匹配程度。主要实现以下功能: 1、可设定密码(6位);2、实时显示输入密码;3、具有密码错误输入限制。有3次输入密码的机会若三次密码全错会报警响铃并锁定键盘。4、密码正确有2种权限:开锁和修改密码,由功能键选择权限。5、密码可变性。用户可以更改密码,保存并重新回到初始界面。2.3实验器材(1)PC机一台 用于对程序的编译测试等,同时还需要对硬件实验设备进行控制,提供整个程序的运行平台,并且收集和释放硬件信号,实现程序功能。(2)单片机原理实验箱一台,单片机接口设备。(3)数据线一条,电源线一条,导线若干条用于电路和芯片之间的连接。三、 工作原理及原理框图 基于单片机的电子密码锁系统工作原理框图如下图所示 图1 单片机电子密码锁系统原理框图 用户密码通过键盘的输入,密码输入正确后,进行功能选择。输出开锁信号控制,开锁电路开锁并发出2声短“滴”声提示音,5S延时后开锁信号与已开锁提示清零,系统回到初始界面。密码输入错误时,发出一声长“滴”声错误提示音,密码错误指示灯亮,连续三次密码错误时,发出长鸣声报警,密码错误报警灯亮。10S后延时锁定键盘,此后键盘将无法再次输入密码。用户密码直接存储在单片机ROM中,可以通过键盘修改密码,系统的工作状态由显示电路提示。四、 主要器件分析及仿真电路4.1 单片机AT89C51组成基本框图单片机引脚介绍 P0:P0口是一个漏极开路的8位双向I/O口。在访问片外存储器时P0分时提供低8位地址线和8位双向数据线。当不接片外存储器或不扩展I/O口时,P0可作为一个通用输入/输出口。P0口作输入口使用时,应先向口锁存器写“1”,P0口作输出口时,需接上拉电阻。 P1:P1口是一个内部提供上拉电阻的8位双向I/O口,因此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写“1”。 P2:P2口也是一个内部提供上拉电阻的8位双向I/O口,在访问片外存储器时,输出高8位地址。 P3:P3口除了一般的准双向通用I/O口外,还有第二功能。 VCC:+5V电源 VSS:接地 ALE:地址锁存器控制信号。在系统扩展时,ALE用于控制把P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。此外,由于ALE是以晶振1/6的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。 PSEN:外部程序存储器读选通信号。在读外部ROM时,/PSEN有效(低电平),以实现外部ROM单元的读操作。 EA:访问程序存储控制信号。RST:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机的复位初始化操作。 XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。4.2通用可编程键盘和显示器的接口电路芯片8279图2 8279引脚分布图DB0DB7:双向数据总线。在CPU与8279间做数据与命令的传送。CLK:8279的系统时钟,100KHz为最佳选择。RESET:复位信号,输入线,当RESET=1时,8279复位,其复位状态为:16个字符显示,编码扫描键盘双键锁定,程序时钟编码1。CS:芯片选择信号,低电平有效。A0:区分信息的特征位。A0=1时,读取状态标志位或写入命令;A0=0时,读写一般数据。RD:读取控制线。RD=0,8279会送数据至外部总线WR:写入控制线。WR=0,8279会从外部总线捕捉数据。IRQ:中断请求输出线,高电平有效。在键盘工作方式中,当FIFO传感器RAM中有数据时为“1”,CPU每读一次就变为0,如果RAM中仍有数据则IRQ又变为“1”。在传感器工作方式中,传感器矩阵无论哪里发生变化都会使IRQ为“1”。SL0SL3:扫描按键开关或传感器矩阵及显示器可以是编码模式或解码模式。RL0RL7:回复输入线,它们是键盘或传感器的列(或行)信号输入线;平时保持为“1”,当矩阵结点上有键(开关)闭合时变为“0”。SHIFT:移位信号输入线,高电平有效。CNTL/STB:控制/选通输入线,高电平有效。通常用来扩充键开关的控制功能,作为控制功能键用。在选通输入方式时,该信号的上升沿可把来自RL0RL7的数据存入FIFO/RAM中;在传感器方式下,该信号无效。4.3键盘输入电路及数码管LED显示当前键入数字电路主要基于可编程键盘和显示器的接口电路芯片8279 图3键盘输入电路及数码管LED显示当前键入数字电路4.4 声光报警电路声光报警电路由蜂鸣器和3个LED灯组成,单片机引脚平P1.1、P1.2、P1.4和P1.5 分别控制绿灯、红灯、蜂鸣器、和黄灯。图4声光报警电路4.5 仿真电路五、 实验代码 由于源程序代码很长,下面仅为部分代码,具体请见报告最后的附录部分 ORG 0000H LJMP MAIN ORG 0013H LJMP INT1P ;外部中断入口地址,外部中断1MAIN: MOV SP,#60H CLR P1.0 ;开机,初始化,指示灯黄灯亮 START:SETB EX1 ;开外部中断 MOV DPTR,#5FFFH ;指向8279命令、状态口 MOV A,#0DCH MOVX DPTR,A ;送显示RAM清除命令,全部置为0LP: MOVX A,DPTR JB ACC.7,LP ;输入的密码会显示在数码管上 MOV A,#00H MOVX DPTR,A ;8*8的显示左边输入,编码扫描键盘,双键互锁 MOV A,#34H ;20分频 MOVX DPTR,A 六、 感想体会本次课程设计我选做的是电子密码锁。实验主要用到了:可编程键盘和显示芯片8279、单片机AT89C51,显示电路。我采用的是汇编语言,实现电子密码锁的设置密码、输入密码、开启提示、清除输入、错误提示、报警提示、重上锁操作、重置密码等操作,以实现电子密码锁的一部分功能。我首先对密码锁的整个功能进行了一个大概的了解,并初步想好整个流程。之后,在着手准备的过程中,就遇到了很多的困难。刚开始时,对芯片了解不足,以前学的知识也生疏了,于是先温习课本,实验中的主要运用了可编程键盘和显示器的接口电路芯片8279,所以我特别关注8279的用法和如何在实验箱上使用。我是边写程序边调试,先把主体功能实现后,再完善一些小功能,如亮灯,延时,响铃等。其中最为复杂的是,功能键设定,密码判断和改密程序。在对各个功能调试时,出现了不少错误,但经过细心的检查,认真的调试,以及老师解答相关的疑惑,纠正相关错误,才能最终完成调试。不断出现的状况,虽然一定程度阻碍了实验的进行,但也锻炼了我的毅力,让我深刻意识认识到,一份付出就有一份收获。 这次课程设计对于提高编程能力,改错纠错能力,以及实际操作能力都有很大的帮助。我通过实验,深刻的了解到,要想把书本上的东西变成自己的能力,就必须不断的做实验,不断地实践,这样才能熟能生巧。总之,这次课程设计对于我今后的发展和进一步的学习都有着非常重要的作用。七、 参考文献1. 王琼主编 . 单片机原理及应用(第二版).合肥工业大学出版社,20132. 王琼主编 . 单片机原理及应用.实验教程(第二版).合肥工业大学出版社,20133. 张丽娜 刘美玲 编著. 51单片机系统开发与实践. 北京航空航天大学出版社,20134. 徐伟 等编著. C51单片机高效入门. 北京.机械工业出版社,2010附录:;以下6字节存放初始密码WORD1 EQU 31HWORD2 EQU 32HWORD3 EQU 33HWORD4 EQU 34HWORD5 EQU 35HWORD6 EQU 36H;以下6字节存放用户改密时第一次输入新密码(47H-4CH)KEY1 EQU 57H KEY2 EQU 58HKEY3 EQU 59HKEY4 EQU 5AHKEY5 EQU 5BHKEY6 EQU 5CH;以下为初始化程序,包括数据存储空间初始化,设置初始密码123456 ORG 0000H LJMP MAIN ORG 0013H LJMP INT1P ;外部中断入口地址,外部中断1MAIN: MOV SP,#60H MOV WORD1 ,#01H ;设置初始密码为123456 MOV WORD2 ,#02H MOV WORD3 ,#03H MOV WORD4 ,#04H MOV WORD5 ,#05H MOV WORD6 ,#06H MOV KEY1 , #00H ;第一遍新密码初始化 MOV KEY2 , #00H MOV KEY3 , #00H MOV KEY4 , #00H MOV KEY5 , #00H MOV KEY6 , #00H START: CLR P1.0 ;开机,初始化,指示灯 黄灯亮表示进入初始化,待机状态 SETB EX1 ;开外部中断 MOV DPTR,#5FFFH ;指向8279命令、状态口 MOV A,#0DCH MOVX DPTR,A ;送显示RAM清除命令,全部置为0LP: MOVX A,DPTR JB ACC.7,LP MOV A,#00H MOVX DPTR,A ;8*8的显示左边输入,编码扫描键盘,双键互锁 MOV A,#34H ;20分频 MOVX DPTR,A CLR IT1 ;电平触发 NOP SETB EA ;开总中断 NOP MOV A,#00H MOV R0,#39H ;数据存放的初试地址 MOV R1,#39H MOV R4,#03H ;密码允许错误次数3 MOV R7,#06H ;六次中断 MOV R6,#06H;显示六个数据 XH: JNZ PP ;做一个选择 ,等于0顺序执行,不等于0则跳转到功能选择部分 LCALL DSY1 ;显示全零 LJMP XH;功能选择 功能选择键控制 A 开锁 B改密PP: MOV A,#0AH ;判断是否按下功能键A CJNE A,39H,L0 LCALL DSYA;调用显示开锁子程序 LCALL KAISUO ;开锁子程序 LJMP START L0: MOV A,#0BH ;判断是否按下功能键B CJNE A,39H,L1 LCALL DSYB LCALL GAIMI;修改密码子程序 LCALL START L1: MOV A, R6 JZ BIJIAO ;R6等于0时,跳转到比较程序 LCALL DSY ;显示按键值 LJMP XH;中断服务程序INT1P: PUSH ACC PUSH DPH PUSH DPL MOV A,#40H MOV DPTR,#5FFFH ;读键盘输入的信息 MOVX DPTR,A ;指向命令口 MOV DPTR,#5EFFH ;指向数据口 MOVX A,DPTR MOV R1,A ;读键盘输入的信息,仅读一个单元,依次放入39H,40H. INC R1 DJNZ R6 ,NEXT CLR EA ;当放满六位,循环 CLR EX1 NEXT: NOP POP DPL POP DPH POP ACC RETIDSY1: MOV R0,#39HLLP: MOV R0,#00H INC R0 DJNZ R7,LLP MOV R7,#06H MOV R2,#06H ;显示密码全零 MOV A,#92H MOV DPTR,#5FFFH MOVX DPTR,A MOV R0,#39HTY1: MOV A,R0 MOV DPTR,#TABL MOVC A,A+DPTR MOV DPTR,#5EFFH MOVX DPTR,A INC R0 DJNZ R2,TY1 RETDSY: MOV R2,#06H ;显示密码任意数字 MOV A,#92H MOV DPTR,#5FFFH MOVX DPTR,A MOV R0,#39HTY: MOV A,R0 MOV DPTR,#TABL MOVC A,A+DPTR MOV DPTR,#5EFFH MOVX DPTR,A INC R0 DJNZ R2,TY RET;密码比较 BIJIAO: LCALL DSY LCALL DELAY SETB P1.0 ;黄灯熄灭 MOV A,WORD1 CJNE A,39H, J5 ;密码不对跳转 MOV A,WORD2 CJNE A,3AH, J5 MOV A,WORD3 CJNE A,3BH, J5 MOV A,WORD4 CJNE A,3CH, J5 MOV A,WORD5 CJNE A,3DH, J5 MOV A,WORD6 CJNE A,3EH, J5 MOV R6,#06H MOV R1,#39H SETB EA SETB EX1 MOV A,#01H LJMP XH ;密码正确,调用功能选择部分 J5: LCALL ALARM ;报警,同时错误加1. DJNZ R4, J1 CLR EA CLR EX1 LCALL DSY1 ; CLR P1.2 ;红灯亮 SETB P1.0 ;关闭黄灯 CLR P1.7 ;密码三次错误,报警指示灯 MOV R2 ,#05H BJ: LCALL DELAY DJNZ R2 , BJ SETB P1.7 LJMP $ ;红灯长亮 长鸣报警指示 8s ALARM: SETB P1.0 ;关黄灯 CLR P1.2 ;开红灯,滴一声,红灯亮2S CLR P1.7 ;报警 滴滴 LCALL DELAY1 SETB P1.7 LCALL DELAY1 LCALL DELAY SETB P1.2 ;关掉红灯 CLR P1.0 ;开黄灯,表示回到初始状态 RET J1: MOV A,#00H ;显示全零 LCALL DSY1 MOV R6,#06H MOV R1,#39H SETB EA SETB EX1 LJMP XH ;密码错误,返回;显示功能切换界面 DSYA: MOV R0,#3AH ;3AH开始的数据清零LLPA: MOV R0,#00H INC R0 DJNZ R7,LLPA MOV R7,#05H MOV R2,#06H ;显示密码A00000,开锁成功 MOV A,#92H MOV DPTR,#5FFFH MOVX DPTR,A MOV R0,#39HTYA: MOV A,R0 MOV DPTR,#TABL MOVC A,A+DPTR MOV DPTR,#5EFFH MOVX DPTR,A INC R0 DJNZ R2,TYA RETDSYB: CLR EA CLR EX1 MOV R0,#3AHLLPB: MOV R0,#00H INC R0 DJNZ R7,LLPB MOV R7,#05H MOV R2,#06H ;显示密码B00000,表示修改密码 MOV A,#92H MOV DPTR,#5FFFH MOVX DPTR,A MOV R0,#39HTYB: MOV A,R0 MOV DPTR,#TABL MOVC A,A+DPTR MOV DPTR,#5EFFH MOVX DPTR,A INC R0 DJNZ R2,TYB RET;开锁 KAISUO: CLR EA ;无法再输入密码 CLR EX1 SETB P1.0 ;关黄灯 CLR P1.7 ;P1.7 连接报警器,两声滴 LCALL DELAY1 SETB P1.7 LCALL DELAY1 CLR P1.7 LCALL DELAY1 SETB P1.7CLR P1.1 ; P1.1连接绿灯 ,绿灯长亮,5秒延时 LCALL DELAY SETB P1.1 SETB EA SETB EX1 RET ;关绿灯;改密GAIMI: CLR P1.1 ;绿灯亮,进入改密 MOV R6,#06H MOV R1,#39H SETB EA SETB EX1 MOV A,#00H XHH: JNZ PP2 ;做一个选择 ,等于0顺序执行,不等于0则跳转. LCALL DSY1 ;屏幕清零, 显示全零 LJMP XHH;显示输入 第一遍的新密码 PP2: MOV A, R6 JZ BAOCUN ;R6等于0时,调用比较子程序,此时中断关闭了 LCALL DSY ;显示按键值 LJMP XHH RETBAOCUN: MOV KEY1 , 39H ;第一遍新密码保存 MOV KEY2 , 3AH MOV KEY3 , 3BH MOV KEY4 , 3CH MOV KEY5 , 3DH MOV KEY6 , 3EH CLR P1.7 ; 滴滴 LCALL DELAY1 LCALL DELAY1 SETB P1.7 LCALL DSY1 ;屏幕再次清零, 显示全零 MOV R6,#06H MOV R1,#39H SETB EA SETB EX1 XJ1: MOV A, R6 ;再次确认密码 JZ BIJIAO1 ;R6等于0时,调用比较子程序 LCALL DSY ;显示按键值 LJMP XJ1;两次密码 比较BIJIAO1: LCALL DSY LCALL DELAY MOV A,KEY1 CJNE A,39H, XJ5 ;密码不相同,跳转 MOV A,KEY2 CJNE A,3AH, XJ5 MOV A,KEY3 CJNE A,3BH, XJ5 MOV A,KEY4 CJNE A,3CH, XJ5 MOV A,KEY5 CJNE A,3DH, XJ5 MOV A,KEY6 CJNE A,3EH, XJ5 ;密码相同,改密成功。保存新密码 ;将新密码保存,替换初始密码 MOV WORD1, KEY1 MOV WORD2, KEY2 MOV WORD3, KEY3 MOV WORD4, KEY4 MOV WORD5, KEY5 MOV WORD6, KEY6 CLR P1.2 ; 红灯,绿灯 同时亮,表示改密成功 CLR P1.7 ;P1.7 连接报警器,两声滴 LCALL DELAY1 SETB P1.7 LCALL DELAY1 CLR P1.7 LCALL DELAY1 SETB P1.7 SETB P1.2 SETB P1.1 SETB EA SETB EX1 MOV R1,#39H LJMP START XJ5: SETB P1.1 ; 关闭 绿灯 LJMP GAIMI ;两次密码不一样,改密码失败,重新修改 RETDELAY: ;延时1s MOV R2,#0A7H DL1:MOV R3,#0ABH DL:MOV R5,#10H DJNZ R5,$ DJNZ R3,DL DJNZ R2,DL1 NOP RETDELAY1: ;延时 MOV R2,#0FFH DL2:MOV R3,#0FFH DJNZ R3,$ DJNZ R2,DL2 NOP RETTABL: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H,88H DB 83H,0C6H,0A1H,86H,8EH,8CH DB 0C1H,89H,0C7H,0BFH,91H DB 00H,0FFH END

    注意事项

    本文(单片机课程设计-电子密码锁设计(16页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开