杨帆电子密码锁单片机课程设计.doc

上传人:飞****2 文档编号:63964351 上传时间:2022-11-27 格式:DOC 页数:30 大小:302KB
返回 下载 相关 举报
杨帆电子密码锁单片机课程设计.doc_第1页
第1页 / 共30页
杨帆电子密码锁单片机课程设计.doc_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《杨帆电子密码锁单片机课程设计.doc》由会员分享,可在线阅读,更多相关《杨帆电子密码锁单片机课程设计.doc(30页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、湖南工程学院课 程 设 计课程名称 单片机原理与应用 课题名称 智能电子密码锁设计 专 业 电气工程及其自动化 班 级 电气 0881 学 号 5 姓 名 指导教师 汪超、周炼、李世军 2011 年 5 月 6 日湖南工程学院课 程 设 计 任 务 书课程名称 单片机原理与应用 课 题 电子密码锁设计 专业班级 电器工程0781 学生姓名 杨 帆 学 号 5 指导老师 汪超、周炼、李世军 审 批 李晓秀 任务书下达日期 2011 年 4 月 25 日任务完成日期 2011 年 5 月 6 日设计内容与设计要求设计内容:1、 密码的设定,此密码是固定在程序存储器ROM中,假设预设的密码为“123

2、45”共5位密码。2、 密码的输入: 采用两个按键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键。在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。然后进入密码的判断比较处理状态并给出相应的处理过程。3、 按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。设计要求:1、 设计方案要合理、正确;2、 系统硬件设计及焊接制作;3、 系统软件设计及调试;4、 系统联调;5、 写出设计报告。主 要 设 计 条 件1、 MCS-51单片机实验操作台1台;2、 PC机及单片机调试软

3、件;3、 单片机应用系统板1套;4、 制作工具1套;5、 系统设计所需的元器件。说 明 书 格 式1. 封面2. 课程设计任务书3. 目录4. 系统总体方案设计5. 系统硬件设计6. 软件设计(包括流程图)7. 系统的安装调试说明8、 总结 9、参考文献10、附录(源程序清单及硬件原理图等);11、课程设计成绩评分表。 进 度 安 排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计星期五、设计及调试第二周星期一、设计及调试星期二、设计及调试星期三、总调星期四、写说明书星期五、

4、上午:写说明书,整理资料下午:交设计资料,答辩参 考 文 献1、微型计算机原理及应用许立梓编 机械工业出版社 20022、微型计算机接口技术及应用刘乐善编 华中理工大学出版社 2000 3、计算机硬件技术基础试验教程邹逢兴编 高等教育出版社 20004、16位微型计算机原理接口及其应用周佩玲编 中国科学技术大学出版社2000 5、微型计算机原理与接口技术吴秀清编 中国科学技术出版社 20016、微型计算机接口技术邓亚平编 清华大学出版社 20017、单片机原理及及应用王迎旭编 机械工业出版社 20018、单片机应用程序设计技术 周航慈 著 北京航空航天大学出版社 20029、单片机实用技术问答

5、 谢宜仁 主编 人民邮电出版社 2002目录第1章概述-11.1 设计任务-11.2 设计要求-11.3 主要设计条件-1第2章 系统总体方案设计-22.1单片机系统-22.1矩阵键盘-22.3 LED显示-22.4报警系统-2第3章 硬件电路设计-33.1 键盘电路设计-33.2 LED显示电路设计-53.3 报警电路设计-6第4章 软件设计-7 4.1 软件总体设计-74.2 各子程序的设计-7第5章 调试总结-11 附录-12附录A源程序清单-12附录B硬件原理图-16参考文献-17第1章 概述1.1 选题背景在安全技术防范领域,具有防盗报警功能的电子密码控制系统逐渐代替传统的机械式密码

6、控制系统,克服了机械式密码控制的密码量少、安全性能差的缺点,使电子密码控制系统无论在技术上还是在性能上都大大提高了一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码控制系统,它除具有传统电子密码控制系统的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码控制系统具有很高的安全性、可靠性,应用日益广泛。1.2 电子密码控制简介电子密码控制是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。电子密码控制不论性能还是安全性都已大大超过了机械类。其特点如下:1) 保密性好,编码量多,远远大于机械控制。随机开锁成功率几乎

7、为零。2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使控制的保密性下降。3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。4) 无活动零件,不会磨损,寿命长。5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。6) 电子密码控制系统具有操作简单易行,一学即会的特点。1.3 电子密码控制的发展趋势由于电子器件所限,以前开发的电子密码控制系统,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,后来便是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引脚的2051系列单片机来实现的,但密码简单,易

8、破解。随着电子元件的进一步发展,电子密码控制系统也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了更为真正的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码控制系统 。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为电子信息,组合使用这些信息能够使电子防盗密码控制获得更高的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗密码控制系统。组合使用信息也能够使电子防盗密码控制系统获得无穷扩展的可能。可以看出组合使用电子信息是电子密码控制系统今

9、后发展的趋势 。 老师布置下这各课题时,其任务要求条件如下:1.1 设计内容: (1) 密码的设定,此密码是固定在程序存储器ROM中,假设预设的密码为“12345”共5位密码。 (2)密码的输入: 采用两个按键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键,在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。然后进入密码的判断比较处理状态并给出相应的处理过程。 (3)按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。1.2 设计要求: (1)设计方案要合理、正确; (2)

10、系统硬件设计及焊接制作; (3)系统软件设计及调试; (4)系统联调。1.3主要设计条件: (1)MCS-51单片机实验操作台1台; (2)PC机及单片机调试软件; (3)单片机应用系统板1套; (4)制作工具1套; (5)系统设计所需的元器件。 基于以上,我的此次课程设计以单片机为核心,完成电子密码锁的设计。第2章 系统总体方案设计此次课程设计基于单片机控制的电子密码锁,接到课题后,根据老师布置的任务和相关要求,结合主要设计条件,我设计了如下方案,其总体方案设计如下: 本系统由单片机系统、矩阵键盘、LED显示和报警系统组成。系统能完成开锁、超时报警功能。2.1 单片机系统:此次课题采用一种是

11、用以80C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,进行电子密码锁的设计。此次课题用单片机P1口与键盘相连,做输入口,P0口与显示器相连,做显示,P2口做显示器扫描。2.2矩阵键盘接口电路: 此次课程设计采用4*4矩阵键盘,与P1口相连,采用扫描法。设有09十个数字密码,和一个确认键。开机显示,等待密码输入,输入6个密码,按确认键后,密码比较。2.3LED显示:此次课程设计6密码6显示器,按键后即显示,动态显示。P0口送示数据,P2口显示扫描,根据按键次数,第一位显示器显示第一次按的密码,第二位显示器显示第二次按的密码,第三位显示器显示第三次按的密

12、码,依此第六位显示器显示第六次按的密码,按键完成后按确认键后,密码对则执行相关动作,不同则显示器清零,等待重新输入。2.4报警系统: 此次课程设计,当按键三次错误后,系统报警,报警装置由一扬声器实现,从P3.0口输出脉冲,使扬声器鸣报警。第3章 硬件电路设计3.1 键盘电路设计矩阵式键盘电路图31: 图3-1矩阵式键盘电路图 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图1所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,

13、区别越明显,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,图1-1中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。3.1.3 矩阵式键盘的识别方法:确定矩阵式键盘上何键被按下介绍一种“行扫描法”。行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。判断键盘中有无键按下:(1)

14、先将行线p1.7-p1.4置0111,然后检测列线的状态。如果p1.3-p1.0为0111,则k0被按下;如果p1.3-p1.0为1011,则k1被按下;如果p1.3-p1.0为1101,则k2被按下;如果p1.3-p1.0为1110,则k3被按下;(2) 将行线p1.7-p1.4置1011,然后检测列线的状态,方法同(1);(3) 将行线p1.7-p1.4置1101,然后检测列线的状态,方法同(1);(4) 将行线p1.7-p1.4置1110,然后检测列线的状态,方法同(1). 3.2 LED显示电路设计3.2.1LED显示电路图: 图3-2 LED动态显示电路3.2.2 LED显示原理:

15、LED就是light emitting diode ,发光二极管的英文缩写,简称LED。它是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。显示器显示接口按驱动方式可分为静态显示和动态显示,静态显示时,除变更显示数据期间外,各显示器均处于通电状态,每个显示器的通电占空比为100%,静态显示的优点是显示稳定,亮度高,缺点是占用硬件电路多;动态显示的优点是节省硬件电路,缺点是占用软件扫描时占用CPU时间多。对于多位LED显示器,通常都是采用动态扫描的方法进行显示,即逐个地循环点亮各位显示器,这样虽然在任一时刻只有一显示器被点亮,但是

16、由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果完全一样。为了实现LED显示器的动态扫描,除了要给显示器的输入之外,还有对显示器选择位的控制,这就是通常所说的段控和位控。因此,多位LED显示器接口电路需要有两个输出口,其中一个用于8条段控线,另一个用于输出位控线,位控线的数目等于显示器的位数。为了方便编写程序,通常在内部RAM中设置显示缓冲区,存放显示的数字或字符,显示缓冲区单元个数与LED显示器位数相同。此次基于单片机的电子密码锁,我选用动态显示,通过与软件配合,每输入一个密码,进行显示一次,扫描,6个密码输入完后,进行比较,密码正确则开锁,密码错误,可重新输入三次,三次后仍然错误,

17、报警!3.3 报警电路设计3.3.1 报警电路图: 图3-3 报警电路3.3.2报警电路原理:输入密码与设定密码做比较,当输入密码与设定密码不同,返回再输入,当输入密码次数超过3次时,通过软件从80C51的P3.0输出脉冲,使扬声器鸣笛报警。相关软件见(附件)第4章 软件设计 4.1 软件总体设计 软件的设计主要包括:密码的固定、键盘识别判断、密码显示、密码比较、密码对处理、错报警。 软件设计总流程图如下: 开始 固定密码 键盘扫描判断识别(循环) 动态密码显示 密码比较 比较后相关处理 结束 图4-1 软件设计总流程图4.2 各子程序的设计 4.2.1 密码的固定:将密码固定在程序存储器RO

18、M中,设定6位密码,密码固定在ROM的20H到25H六个单元中 。4.2.2 键盘的扫描识别判断: 用矩阵式键盘,扫描法对键盘进行识别判断,具体流程图如下: 开始扫描LOOP1MOV P1,#B 11BP1.3=0?K0键按下显示MOV A,#0P1.2=0?MOV A,#1K1键按下P1.1=0??K2键按下MOV A,#2P1.0=0?MOV A,#3K3键按下MOVP1,#B 图4-2 键盘扫描流程图 以上是第一行的扫描,接着MOV P1,#,扫描第二行,判断K4、K5、K6、K7;再MOV P1,#,扫描第三行,判断k8、K9、KA、KB;接着MOV P1,#,扫描第四行,判断kC、K

19、D、KE、KF;并进行相关显示。如果无键按下,则循环扫描。4.2.3 密码显示:采用LED动态显示,由单片机P0口进行输出显示,P2口扫描,具体显示程序设计流程图如下: 否是开始按键数值存R4(偏移量)显示单元从26H开始,入R1取表(显示表)头地址按键值入AMOVCA,A+DPTRMOV P0,A 显示有键按下?INC R1,位控右移按键是否为6?比较密码对错处理 图43 显示流程图4.2.4密码设置流程图如图5-3为密码设置流程图,开始按下设置键,输入旧密码,如果错误,累计三次错误,进行报警程序。如输入正确,可以改密码,确认后再次输入更改后密码,如两次输入一样,则更改成功。按下设置键输旧密

20、码所输入旧密码正确?输新密码确认程序设置成功输入次数加1次数3?报警程序NYNY返回确认程序再次输新密码两次新密码输入相同?NY设置程序图4-4 密码设置流程图4.2.5开锁流程图如图5-4为开锁流程图,开始时按开锁键,输入密码,如果输入正确,则开锁成功。如果输入错误累计达到三次,则执行报警程序。初始化按开锁键输入密码确认程序所输入密码正确?Y开锁成功开锁程序输入次数加1次数3?报警程序返回NYN图4-5开锁流程图4.2.4 密码比较及对错处理: 密码输入完成之后,进行密码比较,即将设定密码单元20H25H的密码与输入密码26H31H的密码进行一一比较,如果相同,则密码正确,P3.2置高电平,

21、如果密码错误,则显示器清零,重新等待输入密码,如果三次错,则P3.0输出脉冲,使接在P3.0的使扬声器鸣笛报警。第5章 调试总结 单片机系统进行软件盒硬件调试成功后最后一步是进行硬件的连接和物制作,我们的硬件是在试验台上进行的,虽然与设计的电路不太相同,不过可以适当修改源程序,以适应实验台的要求。 4.3.1 根据实验台情况和设计要求连接电路图。4.3.2 在连接的电路上,进行模块测试,就是用简单的程序进行调试以确定电路连接正确。4.3.3 将修改后的程序下载到单片机里,可以用伟福仿真系统,进行单步和断点调试。4.3.4 将运行结果和实验现象与预定值进行比较,再适当修改程序以达到要求。心得体会

22、回顾起此次单片机课程设计,让我感慨很多,从选题到定稿,从理论到实践,在整整两个星期的日子里,可以说是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多书本上所没有学到过的知识。两周以来,整日埋头于电路程序的设计,分析,组装,绘制,仿真,总结以及打印材料等工作,。其实一开始真不知道该从何入手,短短几天内,在各位老师的耐心知道和同学的帮助之下,开始在脑海里有了大致的模块,就这样整天埋在图书馆,面对电脑搜索资料,一块一块的电路慢慢拼成,于是又开始查找相关的资料,分析电路,根据自己的目的有效地编制程序,对比之下有进一步的完善,在形成电路大致模块下又进一步尽可能的减

23、小成本,知道最终电路以自己最理想的形式出现。在本次设计的过程中,我发现很多的问题,单片机课程设计的重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我觉得写好一个程序不是一件简单的事情。通过这次实习,我真正学到了不少东西,真正体会到了理论联系实际的重要性。课堂教学考虑到大多数同学的需求,主要强调基本知识,基本理论,基本方法,基本技能。而这次设计正是为我们提供了一个深入学习、探索的机会,成为课堂教学的有益补充。 附 录附录A.源程序清单: ORG 0030HMain :MOV DPTR,#0CFA3H ;8255初始化MOV A,#80HMOVX DPTR,Amov 20

24、H,#1H ;设定固化密码MOV 21H,#2HMOV 22H,#3HMOV 23H,#4HMOV 24H,#5HMOV 25H,#6HMOV 51H,#0MOV R3,#0LOOP1:MOV P1,#B ;键盘扫描 JNB P1.5, K0 ;判断知否按下 JNB P1.4, K1 JNB P1.3, K2 JNB P1.2, K3 JNB P1.1, K4 JNB P1.0, K5LOOP2:MOV P1,#B JNB P1.5, K6 JNB P1.4, K7 JNB P1.3, K8 JNB P1.2, K9 JNB P1.1, KA JNB P1.0, KB SJMP LOOP1K0

25、:MOV A,#0 ;按下,显示 SJMP DISPK1:MOV A,#1SJMP DISPK2:MOV A,#2SJMP DISPK3:MOV A,#3SJMP DISPK4:MOV A,#4SJMP DISPK5:MOV A,#5SJMP DISPK6:MOV A,#6SJMP DISPK7:MOV A,#7SJMP DISPK8:MOV A,#8SJMP DISPK9:MOV A,#9SJMP DISPKA:MOV A,#10SJMP COMPKB:MOV A,#8SJMP LOOP1K12:MOV A,#0SJMP LOOP1K13:MOV A,#1SJMP LOOP1K14:MOV

26、A,#4SJMP LOOP1K15:MOV A,#7SJMP LOOP1DISP:MOV R4,A ;密码显示程序 MOV A,R3 ADD A,#26H MOV R1,A MOV A,R4 MOV R1,A MOV R0,#50 MOV DPTR,#TABLEDI1: SETB CY MOV R1,#26H MOV R2,#0FEH MOV R5,#6DI0: MOV A,R1 MOVC A,A+DPTR MOV DPTR,#0CFA1H MOVX DPTR,A MOV A,R2 MOV DPTR,#0CFA2H MOVX DPTR,A RLC A MOV R2,A INC R1 ACALL

27、 DLY10MS MOV A,#0FFH ;MOV DPTR,#0CFA2H MOVX DPTR,A DJNZ R5,DI0 DJNZ R0,DI1 INC R3 MOV A,R3 CJNE A,#6,DI2 LJMP LOOP1DI2: LJMP LOOP1DLY10MS:MOV R7,#5 ;延时10MS程序D1: MOV R6,#248 DJNZ R6,$ DJNZ R7,D1 RETCOMP: MOV A,26H ; 密码比较 CJNE A,20H,CUO ;密码是否错 MOV A,27H CJNE A,21H,CUO MOV A,28H CJNE A,22H,CUO MOV A,29

28、H CJNE A,23H,CUO MOV A,2AH CJNE A,24H,CUO MOV A,2BH CJNE A,25H,CUO MOV DPTR,#0CFA1H CLR ACC.2 ;密码对,PA口置低电平 MOVX DPTR,A SJMP $CUO: INC 51H ;按错密码次数 MOV A,51HCJNE A,#3,C1SJMP ALARMC1:MOV 26H,#0H ;密码错,显示清零MOV 27H,#0HMOV 28H,#0HMOV 29H,#0HMOV 2AH,#0HMOV 2BH,#0HMOV R3,#0LJMP LOOP1ALARM: ;三次密码错误,报警 MOV DPT

29、R,#0CFA1H CPL ACC.0 MOVX DPTR,A ACALL DLY10MS SJMP ALARMTABLE: DB 3FH,06H,5BH,4FH ;显示表 DB 66H,6DH,7DH,07HDB 7FH,6FH,77H,7CHDB 39H,5EH,79H,71HEND附录B.硬件原理图: 图6-1硬件原理图 参考文献1 许立梓.微型计算机原理及应用M.北京. 机械工业出版社, 20022 刘乐善.微型计算机接口技术及应用M.华中理工大学出版社, 2000 3 邹逢兴.计算机硬件技术基础试验教程M. 高等教育出版社 , 20004 周佩玲.16位微型计算机原理接口及其应用M.

30、中国科学技术大学出版社,2000 5 吴秀清.微型计算机原理与接口技术M.中国科学技术出版社 , 20016 邓亚平.微型计算机接口技术M.清华大学出版社 , 20017 王迎旭.单片机原理及及应用M. 机械工业出版社 , 20018 周航慈.单片机应用程序设计技术M. 北京航空航天大学出版社, 20029 谢宜仁.单片机实用技术问答M.人民邮电出版社 , 2002电气信息学院课程设计评分表项 目评 价设计方案的合理性与创造性硬件制作或软件编程完成情况*硬件制作测试或软件调试结果*设计说明书质量设计图纸质量答辩汇报的条理性和独特见解答辩中对所提问题的回答情况完成任务情况独立工作能力组织纪律性(出勤率)综合评分 指导教师签名:_ 日 期:_ 注:表中标*号项目是硬件制作或软件编程类课题必填内容;此表装订在课程设计说明书的最后一页。课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com