单片机电子密码锁的方案设计课程设计

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

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

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

资源描述

湖南工程学院课程设计任务书课程名称单片机原理与应用课题电子密码锁设计专业班级学生姓名学号指导老师审批任务书下达日期2013年5月27日任务完成日期2013年6月05日2设计内容与设计要求设计内容:1、密码的设定,此密码是固定在程序存储器ROM中,假设预设的密码为“1234”共位密码。2、密码的输入:采用两种按键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键。在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。然后进入密码的判断比较处理状态并给出相应的处理过程。3、按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。设计要求:1、设计方案要合理、正确;2、系统硬件设计及焊接制作;3、系统软件设计及调试;4、系统联调;5、写出设计报告。3主要设计条件1、MCS-51单片机实验操作台1台;2、PC机及单片机调试软件;3、单片机应用系统板1套;4、制作工具1套;5、系统设计所需的元器件。说明书格式1.封面2.课程设计任务书3.目录4.系统总体方案设计5.系统硬件设计6.软件设计(包括流程图)7.系统的安装调试说明8、总结9、参考文献10、附录(源程序清单及硬件原理图等);11、课程设计成绩评分表。4进度安排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计星期五、设计及调试第二周星期一、设计及调试星期二、设计及调试星期三、总调星期四、写说明书星期五、上午:写说明书,整理资料下午:交设计资料,答辩参考文献[1]、《单片机原理及及应用》王迎旭编机械工业出版社2001[2]、《单片机应用程序设计技术》周航慈著北京航空航天大学出版社[3]、《单片机实用技术问答》谢宜仁主编人民邮电出版社2002[4]、《16位微型计算机原理接口及其应用》周佩玲编中国科学技术大学出版社[5]、《微型计算机原理与接口技术》吴秀清编中国科学技术出版社2001[6]、《微型计算机接口技术》邓亚平编清华大学出版社2001[7]、《微型计算机原理及应用》许立梓编机械工业出版社2002[8]、《微型计算机接口技术及应用》刘乐善编华中理工大学出版社2000[9]、《计算机硬件技术基础试验教程》邹逢兴编高等教育出版社20005目录第1章系统概述1.1系统功能……………………………………………………….……71.2设计内容及要求……………………………………………….……7第2章系统方案设计2.1总体方案……………………………………………………………72.2系统组成………………………………………….…………………8第3章硬件设计3.1按键电路设计……………………………………………….………83.2指示灯及报警蜂鸣器的电路设计………………………….………93.3显示电路设计……………………………………….…………….………10第4章软件设计4.1主程序设计…………………………………………………………114.2按键识别与编码设计………………………………………..……..124.3显示程序设计………………………………………………………134.4密码修改程序设计……………………………………………….….…..14第5章系统调试5.1软件调试……………………………………………………………155.2硬件接线及调试………………………………………………….………165.3调试心得………………………………………………………….………17第6章总结6.1课程设计总结……………………………………………………17.附:A、硬件图B、主程序流程图C、程序清单6第1章系统概述1.1系统功能本次设计使用ATMEL公司的AT80C51实现一基于单片机的电子密码锁的设计,其主要具有如下功能:(1)设置4位密码,密码通过键盘输入,并显示在数码管上,若密码正确,则将锁打开。(2)密码可以由用户自己修改设定(只支持4位密码),锁打开后才能修改密码。(3)状态指示、报警、锁定键盘功能。密码输入正确时,开锁,且第一个灯亮,密码输入错误时,第二个灯亮,表示密码输入错误,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘,并且第一和第二个灯亮。电子密码锁的设计主要由三部分组成:4×4矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有LED提示灯,报警蜂鸣器等。1.2设计内容及要求(1)密码的设定,此密码是固定在程序存储器ROM中,假设预设的密为“1234”共4位密码。(2)密码的输入:采用两种按键来完成密码的输入,其中一个按键为功能键另一个按键为数字键。在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。然后进入密码的判断比较处理状态并给出相应的处理过程。(3)按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。第2章系统方案设计2.1总体方案本密码锁系统采用80C51做主控制器,控制密码的输入、判断密码的正确与否。7首先,系统将允许用户输入密码,用存储单元把输入的密码进行动态的保存,当用户输入完后可以按下“F键”表示确定,系统将进行密码的确认,如果密码正确,则显示开锁,并且有第一个LED灯亮,如果不正确,则用户可以再次进行输入密码,第二个LED灯亮,当用户连续三次输入错误时,第二和三个灯同时亮,蜂鸣器报警,并且把键盘进行锁定,禁止用户进行输入,扩展功能的实现可以外交一个按键“C”,在输入了正确的密码之后,当该按键被按下时,就可以对默认密码进行修改,按下表确定的“F”键之后,将修改的密码保存到存储默认密码的单元,即修改功能得以实现,修改成功之后第一,二和三灯都亮,并且由数码管显示被修改后的密码。2.2系统组成与总流程图本系统由单片机80C51系统、矩阵键盘、开关、LED显示和报警系统组成。系统组成原理框图如图2-1所示2-1系统组成原理框图第3章硬件设计3.1按键电路设计由于设计要求使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。其原理如图3-1所示。状态指示灯80C51单片机矩阵键盘控制LCD四位显示器输入错误锁定键盘一个蜂鸣器报警8XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C5112365489=7++CON0ABCD1243LS1SOUNDER3-1单片机的键盘接口电路3.2指示灯及报警蜂鸣器的电路设计指示灯及报警蜂鸣器的电路如下图所示,当输入的密码正确时,第一号灯亮;当输入的密码错误时,第二号灯亮;当三次错误输入时,第二号和第三号灯同时亮并且报警法名器发出报警;当开关按下后,在输入正确的密码后可以修改密码。原理如图2-1所示。9XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51D1DIODE-LEDD2DIODE-LEDD3DIODE-LEDLS1SOUNDER图2-2指示灯及报警蜂鸣器的连接电路3.3显示电路设计将P0与显示的数据端相连,使其它能动态的传输要显示的数据,将p3的低四位与位选通端相连,选通相应的位。接线如图2-3所示10XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51图2-3显示电路的连接电路第4章软件设计4.1主程序设计主程序主要完成初始化、调用按键识别和编码、显示、指示灯、密码修改等子程序。具体模块包括:1、按键识别与编码设计2、显示程序设计3、密码判断设计4、密码保存设计5、密码修改程序设计6、延迟设计主程序的流程图见附表B.114.2按键识别与编码设计当没有按键按下的时候,单片机循环按键扫描指令,一旦有按键按下,便进行进一步处理,处理结束再返回。每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线翻转法。对照图4.2所示的4*4键盘,说明扫描法原理。首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的入,那就代表那一行所接收到的扫描码是同一个bit,而读入扫描码的则是水平,扫描的动作是先输入扫描码,再去读取输入的值,经过比对之后就可知道是哪个键被按下。比如说扫描码送入01111111,前面的0111是代表此时扫描第一行P2.0列,而后面的1111是让读取的4行接脚先设高,若此时第一行的第三列按键被按下,那读取的结果就会变成01111101(注意1111变成1101),其中LSB的第三个bit会由1变成0,这是因為这个按键被按下之后,会被垂直的扫描码电位short,而把读取的LSB的bit电位拉到0,此即为扫描原理。由于这种按键是机械式的开关,当按键被按下时,键会震动一小段时间才稳定,我们必须在侦测到有按键被按下,就Delay一小段时间,使键盘以达稳定状态,再去判读所按下的键,防抖动;为了避免让8051误判为多次输入同一按键,要加入按键是否松开,就可以让键盘的输入稳定。按键的操作面板如图图4.2所示。共计数字键10个,功能键6个。如图,10个数字键用来输入密码,C用来修改密码,F用来进行输入密码的确认.图4.2按键操作面板示意图12流程图如下:图4.3按键识别与编码流程图4.3显示程序设计显示设计采用动态扫描。数码显示板上一共有4个数码管,如果按照传统的数码管驱动方式(静态扫描方式),则需要4个七段译码器进

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

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

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

×
保存成功