湖南学院课程设计课程名称课题名称电子密码锁设计专业测控技术与仪器班级测控学号姓名指导教师年月日-2-湖南学院课程设计任务书课程名称课题电子密码锁设计专业班级测控学生姓名学号指导老师审批任务书下达日期年月日任务完成日期年月日-3-设计内容与设计要求设计内容:1、密码的设定,此密码是固定在程序存储器ROM中,假设预设的密码为“12345”共5位密码。2、密码的输入:采用两个按键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键。在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。然后进入密码的判断比较处理状态并给出相应的处理过程。3、按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。设计要求:1、设计方案要合理、正确;2、系统硬件设计及焊接制作;3、系统软件设计及调试;4、系统联调;5、写出设计报告。-4-主要设计条件1、MCS-51单片机实验操作台1台;2、PC机及单片机调试软件;3、单片机应用系统板1套;4、制作工具1套;5、系统设计所需的元器件。说明书格式1.封面2.课程设计任务书3.目录4.系统总体方案设计5.系统硬件设计6.软件设计(包括流程图)7.系统的安装调试说明8、总结9、参考文献10、附录(源程序清单及硬件原理图等);11、课程设计成绩评分表。-5-进度安排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计星期五、设计及调试第二周星期一、设计及调试星期二、设计及调试星期三、总调星期四、写说明书星期五、上午:写说明书,整理资料下午:交设计资料,答辩参考文献[1]、《微型计算机原理及应用》许立梓编机械工业出版社2002[2]、《微型计算机接口技术及应用》刘乐善编华中理工大学出版社2000[3]、《计算机硬件技术基础试验教程》邹逢兴编高等教育出版社2000[4]、《16位微型计算机原理接口及其应用》周佩玲编中国科学技术大学出版社2000[5]、《微型计算机原理与接口技术》吴秀清编中国科学技术出版社2001[6]、《微型计算机接口技术》邓亚平编清华大学出版社2001[7]、《单片机原理及及应用》王迎旭编机械工业出版社2001[8]、《单片机应用程序设计技术》周航慈著北京航空航天大学出版社2002[9]、《单片机实用技术问答》谢宜仁主编人民邮电出版社2002目录第1章概述-------------------------------11.1设计任务---------------------------------------------------------------------11.2设计要求---------------------------------------------------------------------11.3主要设计条件---------------------------------------------------------------1第2章系统总体方案设计------------------22.1单片机系统---------------------------------------------22.1矩阵键盘-----------------------------------------------22.3LED显示-----------------------------------------------22.4报警系统-----------------------------------------------2第3章硬件电路设计----------------------33.1键盘电路设计------------------------------------------33.2LED显示电路设计--------------------------------------53.3报警电路设计--------------------------------------------6第4章软件设计--------------------------74.1软件总体设计-------------------------------------------74.2各子程序的设计-----------------------------------------7第5章调试总结-------------------------11第6章附录-----------------------------12附录A源程序清单-------------------------------------------12附录B硬件原理图-------------------------------------------16第7章参考文献-------------------------171第1章概述随着科技的发展和人们生活水平的提高,如何实现保密防盗这一问题变的尤其的突出,传统的机械锁由于其构造的简单,失效的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。老师布置下这各课题时,其任务要求条件如下:1.1设计内容:(1)密码的设定,此密码是固定在程序存储器ROM中,假设预设的密码为“12345”共5位密码。(2)密码的输入:采用两个按键来完成密码的输入,其中一个按键为功密码的输入过程。然后进入密码的判断比较处理状态并给出相应的处理过程。(3)按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。1.2设计要求:(1)设计方案要合理、正确;(2)系统硬件设计及焊接制作;(3)系统软件设计及调试;(4)系统联调。1.3主要设计条件:(1)MCS-51单片机实验操作台1台;(2)PC机及单片机调试软件;(3)单片机应用系统板1套;(4)制作工具1套;(5)系统设计所需的元器件。基于以上,我的此次课程设计以单片机为核心,完成电子密码锁的设计。2第2章系统总体方案设计此次课程设计基于单片机控制的电子密码锁,接到课题后,根据老师布置的任务和相关要求,结合主要设计条件,我设计了如下方案,其总体方案设计如下:本系统由单片机系统、矩阵键盘、LED显示和报警系统组成。系统能完成开锁、超时报警功能。2.1单片机系统:此次课题采用一种是用以80C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,进行电子密码锁的设计。此次课题用单片机P1口与键盘相连,做输入口,P0口与显示器相连,做显示,P2口做显示器扫描。2.2矩阵键盘接口电路:此次课程设计采用4*4矩阵键盘,与P1口相连,采用扫描法。设有0——9十个数字密码,和一个确认键。开机显示000000,等待密码输入,输入6个密码,按确认键后,密码比较。2.3LED显示:此次课程设计6密码6显示器,按键后即显示,动态显示。P0口送示数据,P2口显示扫描,根据按键次数,第一位显示器显示第一次按的密码,第二位显示器显示第二次按的密码,第三位显示器显示第三次按的密码,依此第六位显示器显示第六次按的密码,按键完成后按确认键后,密码对则执行相关动作,不同则显示器清零,等待重新输入。2.4报警系统:此次课程设计,当按键三次错误后,系统报警,报警装置由一扬声器实现,从P3.0口输出脉冲,使扬声器鸣报警。3第3章硬件电路设计3.1键盘电路设计矩阵式键盘电路图3-1:图3-1矩阵式键盘电路图在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图1所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,图1-1中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可4得知是否有键按下了。3.1.3矩阵式键盘的识别方法:确定矩阵式键盘上何键被按下介绍一种“行扫描法”。行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。判断键盘中有无键按下:(1)先将行线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).53.2LED显示电路设计3.2.1LED显示电路图:图2-2LED动态显示电路3.2.2LED显示原理:LED就是lightemittingdiode,发光二极管的英文缩写,简称LED。它是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。显示器显示接口按驱动方式可分为静态显示和动态显示,静态显示时,除变更显示数据期间外,各显示器均处于通电状态,每个显示器的通电占空比为100%,静态显示的优点是显示稳定,亮度高,缺点是占用硬件电路多;动态显示的优点是节省硬件电路,缺点是占用软件扫描时占用CPU时间多。对于多位LED显示器,通常都是采用动态扫描的方法进行显示,即逐个地循环点亮各位显示器,这样虽然在6任一时刻只有一显示器被点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果完全一样。为了实现LED显示器的动态扫描,除了要给显示器的输入之外,还有对显示器选择位的控制,这就是通常所说的段控和位控。因此,多位LED显示器接口电路需要有两个输出口,其中一个用于8条段控线,另一个用于输出位控线,位控线的数目等于显示器的位数。为了方便编写程序,通常在内部RAM中设置显示缓冲区,存放显示的数字或字符,显示缓冲区单元个数与LED显示器位数相同。此次基于单片机的电子密码锁,我选用动态显示,通过与软件配合,每输入一个密码,进行显示一次,扫描,6个密码输入完后,进行比较,密码正确则开锁,密码错误,可重新输入三次,三次后仍然错误,报警!3.3报警电路设计3.3.1报警电路图:图3-3报警电路3.3.2报警电路原理:输入密码与设定密码做比较,当输入密码与设定密码不同,返回再输入,当输入密码次数超过3次时,通过软件从80C51的P3.0输出脉冲,使扬声器鸣笛报警。相关软件见(附件)7第4章软件设计4.1软件总体设计软件的设计主要包括:密码的固定、键盘识别判断、密码显示、密码比较、密码对处理、错报警。软件设计总流程图如下:图4-1软件设计总流程图4.2各子程序的设计4.2.1密码的固定定:将密码固定在程序存储器ROM中,设定6位密码,密码固定在ROM的20H到25H六个单元中。4.2.2键盘的扫描识别判断:用矩阵式键盘,扫描法对键盘进行识别判断,具体流程图如下:开始固定密码键盘扫描判断识别(循环)动态密码显示密码比较比较后相关处理结束8图4-2键盘扫描流程图以上是第一行的扫描,接着MOVP1,#10111111,扫描第二行,判断k4、K5、K6、K7;再MOVP1,#11011111,扫描第三行,判断k8、K