智能密码锁课程设计.docx

上传人:b****5 文档编号:7210359 上传时间:2023-01-21 格式:DOCX 页数:28 大小:228.17KB
下载 相关 举报
智能密码锁课程设计.docx_第1页
第1页 / 共28页
智能密码锁课程设计.docx_第2页
第2页 / 共28页
智能密码锁课程设计.docx_第3页
第3页 / 共28页
智能密码锁课程设计.docx_第4页
第4页 / 共28页
智能密码锁课程设计.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

智能密码锁课程设计.docx

《智能密码锁课程设计.docx》由会员分享,可在线阅读,更多相关《智能密码锁课程设计.docx(28页珍藏版)》请在冰豆网上搜索。

智能密码锁课程设计.docx

智能密码锁课程设计

课程设计

课程名称单片机原理与应用

课题名称智能密码锁设计

专业自动化

班级

学号

姓名

指导教师

2010年6月10日

 

课程设计任务书

 

课程名称单片机原理与应用

课题智能密码锁设计

 

专业班级

学生姓名

学号

指导老师

审批

 

任务书下达日期2010年5月30日

任务完成日期2010年6月10日

设计内容与设计要求

设计内容:

1、密码的设定,此密码是固定在程序存储器ROM中,假设预设的密码为“12345”共5位密码。

2、密码的输入:

采用两个按键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键。

在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。

然后进入密码的判断比较处理状态并给出相应的处理过程。

3、按键禁止功能:

初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。

 

设计要求:

1、设计方案要合理、正确;

2、系统硬件设计及焊接制作;

3、系统软件设计及调试;

4、系统联调;

5、写出设计报告。

 

主要设计条件

1、MCS-51单片机实验操作台1台;

2、PC机及单片机调试软件;

3、单片机应用系统板1套;

4、制作工具1套;

5、系统设计所需的元器件。

说明书格式

1.封面

2.课程设计任务书

3.目录

4.系统总体方案设计

5.系统硬件设计

6.软件设计(包括流程图)

7.系统的安装调试说明

8、总结

9、参考文献

10、附录(源程序清单及硬件原理图等);

11、课程设计成绩评分表。

 

进度安排

设计时间为两周

第一周

星期一、上午:

布置课题任务,讲课及课题介绍

下午:

借阅有关资料,总体方案讨论

星期二、确定总体设计方案

星期三、硬件模块方案设计

星期四、软件模块方案设计

星期五、设计及调试

第二周

星期一、设计及调试

星期二、设计及调试

星期三、总调

星期四、写说明书

星期五、上午:

写说明书,整理资料

下午:

交设计资料,答辩

参考文献

[1]、《微型计算机原理及应用》许立梓编机械工业出版社2002

[2]、《微型计算机接口技术及应用》刘乐善编华中理工大学出版社2000

[3]、《计算机硬件技术基础试验教程》邹逢兴编高等教育出版社2000

[4]、《16位微型计算机原理接口及其应用》周佩玲编中国科学技术大学出版社2000

[5]、《微型计算机原理与接口技术》吴秀清编中国科学技术出版社2001

[6]、《微型计算机接口技术》邓亚平编清华大学出版社2001

[7]、《单片机原理及及应用》王迎旭编机械工业出版社2001

[8]、《单片机应用程序设计技术》周航慈著北京航空航天大学出版社2002

[9]、《单片机实用技术问答》谢宜仁主编人民邮电出版社2002

目录

第1章概述1

1.1设计内容1

1.2设计要求2

1.3主要设计条件2

第2章系统总体方案设计3

2.1单片机系统3

2.2矩阵键盘接口电路3

2.3LED显示电路4

2.4报警系统4

2.5LED信号灯4

第3章硬件电路设计5

3.1键盘电路设计5

3.1.1键盘电路设计原理5

3.1.2矩阵式键盘的识别方法6

3.1.3具体的功能设计6

3.2LED显示电路设计7

3.2.1LED显示电路原理图7

3.2.2LED显示原理8

3.2.3LED显示的功能表9

3.3报警电路设计10

3.3.1报警电路原理图10

3.3.2报警电路原理11

3.4LED信号灯电路11

3.4.1LED信号灯原理图11

3.4.2LED信号灯的原理12

第4章软件设计13

4.1软件总体设计思路13

4.2各子程序设计14

4.2.1密码的固定定14

4.2.2键盘扫描子程序14

4.2.3LED显示子程序15

4.2.4密码比较和报警程序16

第5章系统调试17

总结18

参考文献19

附录20

附录A.源程序清单20

附录B.硬件设计原理图23

第1章概述

随着科学技术的发展和人们生活水平的提高,如何实现保密防盗这一问题变的尤其的突出,传统的机械锁由于其构造的简单,失效的事件屡见不鲜,智能密码锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。

智能密码锁控制是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。

智能密码控制不论性能还是安全性都已大大超过了机械类。

其特点如下:

1)保密性好,编码量多,远远大于机械控制。

随机开锁成功率几乎为零。

2)密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使控制的保密性下降。

3)误码输入保护,当输入密码多次错误时,报警系统自动启动。

4)无活动零件,不会磨损,寿命长。

5)使用灵活性好,不像机械锁必须佩带钥匙才能开锁。

6)智能密码控制系统具有操作简单易行,一学即会的特点。

老师布置下这个课题时,其任务要求条件如下:

1.1设计内容

(1)密码的设定:

此密码是固定在程序存储器ROM中,假设预设的密码为“12345”共5位密码。

(2)密码的输入:

采用两个按键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键,密码的输入过程。

然后进入密码的判断比较处理状态并给出相应的处理过程。

(3)按键禁止功能:

初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。

(4)报警功能:

当有密码输入并且密码判断后,如果密码错误则会有个短时间的报警,当在3次输入不正确的情况下时会一直报警下去,直到断掉电源,同时也禁止再输入。

(5)接通电源后数码管没有显示,在允许按键输入密码的情况时,输入一个数数码管则会显示一个数,既通过数码管显示所键入的密码值。

1.2设计要求

(1)设计方案要合理、正确;

(2)系统硬件设计及焊接制作;

(3)系统软件设计及调试;

(4)系统联调。

1.3主要设计条件

(1)MCS-51单片机实验操作台1台;

(2)PC机及单片机调试软件;

(3)单片机应用系统板1套;

(4)制作工具1套;

(5)系统设计所需的元器件。

基于以上,我的此次课程设计以单片机AT89C51为核心,完成智能密码锁的设计。

第2章系统总体方案设计

此次课程设计基于单片机控制的智能密码锁,接到课题后,根据老师布置的任务和相关要求,结合主要设计条件,我设计了如下方案,其总体方案设计如下:

此控制系统由单片机系统、4*4矩阵键盘、6位LED数码管显示和报警系统组成。

系统能完成开锁、超时报警功能。

2.1单片机系统

此次课题采用的是一种以AT89C51为核心的单片机控制方案。

利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,进行智能密码锁的设计。

此次课题用单片机P1口与键盘相连做输入口,P0口与显示器相连做显示,P2口做显示器扫描并且驱动数码管。

2.2矩阵键盘接口电路

此次课程设计采用4*4矩阵键盘,与P1口相连,采用扫描法。

开机显示000000,等待密码输入,输入6个密码。

键盘所有键的功能的组成如下:

(1)设有0——9十个数字键,作为智能密码锁得密码输入。

(2)欲更改密码时,先输入新密码再按“*”,即可建立新的密码。

(3)按“#”,清楚显示器为“00000”。

(4)要显示密码,按住“C”不放则显示密码,放开则显示“00000”。

(5)输入新密码,再按“D”开门键。

若号码与密码相符合,则会打开,否则显示器会清楚为“00000”。

2.3LED显示电路

此次课程设计5位密码6显示器,按键后即动态显示。

P0口送示数据,P2口显示扫描,根据按键次数,第一位显示器显示第一次按的密码,第二位显示器显示第二次按的密码,第三位显示器显示第三次按的密码,依此第六位显示器显示第六次按的密码,按键完成后按确认键后,密码对则执行相关动作,不同则显示器清零,等待重新输入。

2.4报警系统

此次课程设计,当按键错误后,系统会报警一小段时间,当错误次数到三次时,系统一直报警,报警装置由一扬声器实现,从P3.3口输出脉冲,使扬声器鸣报警。

2.5LED信号灯

此次课程设计,当按键错误后,LED红灯亮,从P3.1输出低电平进行触发,使得红灯亮,提示密码错误请重新输入。

当输入密码正确后,LED绿灯亮,从P3.0输出低电平触发绿灯亮,提示密码正确开锁成功。

 

第3章硬件电路设计

3.1键盘电路设计

3.1.1键盘电路设计原理

此键盘系统使用4*4矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。

其原理如图3.1所示:

图3.1矩阵式键盘电路图

每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过

一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。

在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。

当确认有按键按下后,下一步就要识别哪一个按键按下。

对键的识别通常有两种方法:

一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。

对照图3.1所示的4×4键盘,说明线反转个工作原理。

首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。

方法是:

向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。

如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。

3.1.2矩阵式键盘的识别方法

确定矩阵式键盘上何键被按下介绍一种“行扫描法”。

行扫描法行扫法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。

判断键盘中有无键按下:

(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).

 

3.1.3具体的功能设计

键盘按键的功能设计如下如表3.1:

表3.1按键功能

按键

键名

功能说明

1-9键

数字键

输入密码

*键

重设密码键

设定新密码

D键

确定键

比较密码

#键

清除键

使显示器清零

3.2LED显示电路设计

3.2.1LED显示电路原理图

本系统设计的显示电路是为了给使用者以提示而设置的。

本系统的显示采用串行显示的方式,只使用单片机的一个串行口,利用74LS247驱动数码管发光显示数码和74LS138控制位选信号,就可以完成单片机的显示功能,显示电路的电路原理图如图3.2所示。

用P0.0—P0.3接74LS247的A,B,C,D四端口,74LS247的输出口接LED的七段显示;而P0.4—P0.6接74LS138的A,B,C三个输入口,74LS138的输出口接LED的位显示。

通过软件实现数字和位控制。

图3.2LED显示电路

3.2.2LED显示原理

LED就是lightemittingdiode,发光二极管的英文缩写,简称LED。

它是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。

显示器显示接口按驱动方式可分为静态显示和动态显示,静态显示时,除变更显示数据期间外,各显示器均处于通电状态,每个显示器的通电占空比为100%,静态显示的优点是显示稳定,亮度高,缺点是占用硬件电路多;动态显示的优点是节省硬件电路,缺点是占用软件扫描时占用CPU时间多。

对于多位LED显示器,通常都是采用动态扫描的方法进行显示,即逐个地循环点亮各位显示器,这样虽然在任一时刻只有一显示器被点

亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果完全一样。

为了实现LED显示器的动态扫描,除了要给显示器的输入之外,还有对显示器选择位的控制,这就是通常所说的段控和位控。

因此,多位LED显示器接口电路需要有两个输出口,其中一个用于8条段控线,另一个用于输出位控线,位控线的数目等于显示器的位数。

为了方便编写程序,通常在内部RAM中设置显示缓冲区,存放显示的数字或字符,显示缓冲区单元个数与LED显示器位数相同。

此次基于单片机的电子密码锁,我选用动态显示,通过与软件配合,每输入一个密码,进行显示一次,扫描,6个密码输入完后,进行比较,密码正确则开锁,密码错误,可重新输入三次,三次后仍然错误,报警!

3.2.3LED显示的功能表

用74LS247可以控制输出什么字型。

74LS247的逻辑功能表如表3.2所示:

表3.274LS247的逻辑功能表

 

用74LS138控制位循环显示,其逻辑功能表如表3.3:

表3.374LS138逻辑功能表

C

B

A

Y1

Y2

Y0

Y3

Y4

Y5

Y6

Y7

0

0

0

0

1

1

1

1

1

1

0

0

1

1

0

1

1

1

1

1

1

0

1

0

1

1

0

1

1

1

1

1

0

1

1

1

1

1

0

1

1

1

1

1

0

0

1

1

1

1

0

1

1

1

1

0

1

1

1

1

1

1

0

1

1

1

1

0

1

1

1

1

1

1

0

1

1

1

1

1

1

1

1

1

1

1

0

3.3报警电路设计

3.3.1报警电路原理图

报警电路设计原理图如图3.3所示:

图3.3报警电路原理图

3.3.2报警电路原理

报警模块由蜂鸣器和单片机组成。

选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100mA驱动电流。

蜂鸣器电路如图3.3所示。

当AT89C51的P3.3口输出为高电平时,蜂鸣器产生蜂鸣音,AT89C51输出为低电平时,蜂鸣器不发声。

3.4LED信号灯电路

3.4.1LED信号灯原理图

信号灯原理图如图3.4所示:

图3.4LED信号灯电路图

3.4.2LED信号灯的原理

LED信号灯是功能用来显示开锁是否成功。

当输入密码错误时,则红色的信号灯亮,表示密码错误开锁失败请重新输入。

当输入的密码正确时,绿色信号灯亮,表示开锁成功。

单片机AT89C51的P3.0口输出低电平时,绿色灯亮,说明开锁成功。

AT89C51的P3.1口输出为低电平时,红色灯亮,此时说明输入的密码错误开锁失败。

 

第4章软件设计

4.1软件总体设计思路

智能密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。

当输入密码连续输入错误3次时,系统报警。

由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。

在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。

进入密码的判断比较处理状态并给出相应的处理过程。

软件的设计主要包括:

密码的固定、键盘识别判断、密码显示、密码比较、密码对处理、错报警。

软件设计总流程图4.1所示:

图4.1软甲设计总流程图

4.2各子程序设计

4.2.1密码的固定定

将密码固定在程序存储器ROM中,设定6位密码,密码固定在ROM的30H到35H六个单元中

4.2.2键盘扫描子程序

键盘扫描流程图如图4.2.所示:

图4.2.键盘扫描流程图

键盘进行扫描时首先给P1口送个初值,再读取检测P1口的状态是否发生变化的,再循环一位来检测是否有按键被按下,发现有按键按下时马上延时一定的时间进行去抖动,再次检测,发现还是有键被按下这时可以去获取被按键的按键值。

同时出入显示器单元里面之后调用显示子程序并显示被按下的键锁代表的值。

此时再回到扫描程序继续扫描被按键。

不是数字键时就去实行相应的功能程序。

4.2.3LED显示子程序

LED显示流程图如图4.3所示:

图4.3LED显示流程图

从显示单元中获取按键值,再的到一个显示器所要显示的代码值有按键值加上74LS138的扫描值。

送到P0口通过数码管动态显示出来,

4.2.4密码比较和报警程序

密码比较和报警流程图如图4.4所示:

图4.4密码比较和报警流程

密码输入完成之后,待按下开锁键后,开始进行密码比较,即将设定密码单元30H—34H的密码与输入密码40H—44H的密码进行一一比较,如果相同,则密码正确,P3.0置低电平,绿灯亮开锁。

如果密码错误,则显示器清零,重新等待输入密码,P3.1置低电平并且红灯亮。

如果三次输入错,则P3.3输出脉冲,使接在P3.3的使扬声器鸣笛报警。

 

第5章系统调试

本次调试采用Protues软件仿真。

首先设计智能密码锁的源程序,源程序经过汇编后,生成的目标文件经过仿真调试。

依次按下1,2,3,4,5后,LED显示如图5.1

图5.1LED显示

按下确定键后,二极管亮,表示密码正确开门。

如图5.2

图5.2密码正确开门

 

总结

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的

此次的课程设计主要针对的是由单片机控制系统的智能密码锁设计,本系统由单片机系统、矩阵键盘、LED显示组成、报警系统和信号指示灯所组成。

系统能完成开锁、报警和三次输入错误后的禁此输入功能,以及删减输入显示等的功能。

其中包括硬件设计和软件设计,硬件设计是简单的,但是软件设计是比较复杂的,通过单片机控制扫描矩阵键盘的输入值,再通过单片机软件控制输出信号控制LED的显示功能的。

LED动态显示当前输入数字的值。

矩阵键盘是先扫描行再扫描列而得到按键值的。

在此次课程设计中,让我更加深刻的了解和认识了单片机,提高了自己的动手实践和思考的能力,特别是思考如何扫描键盘和如何去显示自己想要显示的东西。

之前感觉没有什么思路,但是现在感觉都比较简单了。

同时也提高了一定的专业素质。

最主要是学会了如何去思考问题。

但是这次的课程设计不足的地方是不能够及时的更改密码,这样灵活性不是太大。

 

参考文献

[1]王迎旭主编.单片机原理及及应用.北京:

机械工业出版社2001

[2]周航慈编著.单片机应用程序设计技术.北京:

北京航空航天大学出版社2002

[3]谢宜仁主编.单片机实用技术问答.北京:

人民邮电出版社2002

[4]许立梓主编.微型计算机原理及应用.北京:

机械工业出版社2002

[5]刘乐善主编.微型计算机接口技术及应用.武汉:

华中理工大学出版社2000

[6]邹逢兴主编.计算机硬件技术基础试验教程.北京:

高等教育出版社2000

[7]周佩玲主编.16位微型计算机原理接口及其应用.合肥:

中国科学技术大学出版社2000

[8]吴秀清主编.微型计算机原理与接口技术.北京:

中国科学技术出版社2001

[9]邓亚平主编.微型计算机接口技术.北京:

清华大学出版社2001

 

附录

附录A.源程序清单

ORG0000H

LJMPMAIN

ORG0100H

MAIN:

MOV30H,#01H

MOV31H,#02H

MOV32H,#03H

MOV33H,#04H

MOV34H,#05H

MOV51H,#00H

START:

ORLP2,#0FFH

MOVR4,#05H

MOVR1,#40H

CLEAR:

MOV@R1,#0FFH

INCR1

DJNZR4,CLEAR

L2:

MOVR3,#0F7H

MOVR1,#00H

L3:

MOVA,R3

MOVP1,A

MOVA,P1

MOVR4,A

SETBC

MOVR5,#04H

L4:

RLCA

JNCKEYIN

INCR1

DJNZR5,L4

LCALLDISP

MOVA,R3

SETBC

RRCA

MOVR3,A

JCL3

JMPL2

KEYIN:

MOVA,R1

XRLA,#0BH

JZX3

MOVA,R1

XRLA,#0FH

JZX4

MOVR7,#10

D1:

MOVR6,#24

DJNZR6,$

DJNZR7,D1

D2:

MOVA,P1

XRLA,R4

JZD2

MOVA,R1

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOVR7,A

XRLA,#0AH

JZSET0

MOVA,R7

XRLA,#0BH

JZSTART

MOVA,R7

XRLA,#0CH

JZL2

MOVA,R7

XRLA,#0DH

JZL2

MOVA,R7

XCHA,40H

XCHA,41H

XCHA,42H

XCHA,43H

XCHA,44H

CALLDISP

JMPL2

X3:

JMPDISP2

X4:

JMPCOMP

DISP:

MOVR0,#44H

DISP1:

MOVR2,#01H

CLRC

MOVR6,#5

DI0:

MOVA,@R0

MOVP0,A

MOVA,R2

MOVP2,A

RLCA

MOVR2,A

DECR0

ACALLDELAY

DJNZR6,DI0

RET

SET0:

MOVR2,#06H

MOVR0,#40H

MOV

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1