单片机电子密码锁报告.docx

上传人:b****2 文档编号:2055063 上传时间:2023-05-02 格式:DOCX 页数:20 大小:373.04KB
下载 相关 举报
单片机电子密码锁报告.docx_第1页
第1页 / 共20页
单片机电子密码锁报告.docx_第2页
第2页 / 共20页
单片机电子密码锁报告.docx_第3页
第3页 / 共20页
单片机电子密码锁报告.docx_第4页
第4页 / 共20页
单片机电子密码锁报告.docx_第5页
第5页 / 共20页
单片机电子密码锁报告.docx_第6页
第6页 / 共20页
单片机电子密码锁报告.docx_第7页
第7页 / 共20页
单片机电子密码锁报告.docx_第8页
第8页 / 共20页
单片机电子密码锁报告.docx_第9页
第9页 / 共20页
单片机电子密码锁报告.docx_第10页
第10页 / 共20页
单片机电子密码锁报告.docx_第11页
第11页 / 共20页
单片机电子密码锁报告.docx_第12页
第12页 / 共20页
单片机电子密码锁报告.docx_第13页
第13页 / 共20页
单片机电子密码锁报告.docx_第14页
第14页 / 共20页
单片机电子密码锁报告.docx_第15页
第15页 / 共20页
单片机电子密码锁报告.docx_第16页
第16页 / 共20页
单片机电子密码锁报告.docx_第17页
第17页 / 共20页
单片机电子密码锁报告.docx_第18页
第18页 / 共20页
单片机电子密码锁报告.docx_第19页
第19页 / 共20页
单片机电子密码锁报告.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机电子密码锁报告.docx

《单片机电子密码锁报告.docx》由会员分享,可在线阅读,更多相关《单片机电子密码锁报告.docx(20页珍藏版)》请在冰点文库上搜索。

单片机电子密码锁报告.docx

单片机电子密码锁报告

第1章概述

随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。

单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。

本文所涉及的是市场占有率最高的是MCS—51系列,因为世界上很多知名的IC生产厂家都生产51兼容的芯片。

到目前为止,MCS—51单片机已有数百个品种,还在不断推出功能更强的新产品。

本设计是基于单片机的密码锁设计方案,根据要求,给出了该单片机密码锁的硬件电路和软件程序,同时给出了单片机型号的选择、硬件设计、软件流程图、单片机存储单元的分配、汇编语言源程序及详细注释等内容。

 

第2章系统总体方案设计

系统总体设计方案框图2.1:

图2.1系统总体设计方案框

本方案采用一种是用以89S51为核心的单片机控制方案。

利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。

初步设计思路如下:

1.输入密码用矩形键盘,包括数字键和功能键。

2.LED数码管显示输入密码,用74JS247驱动数码管发光显示数码,用74LS138控制各位显示器分时进行显示。

3.用发光二极管代替开锁的电路,发光表示开锁。

4.输入密码错误次数超过3次,系统报警。

5.打开电源后,显示器显示“000000”,设原始密码为“123456”,只要输入此密码便了开门。

这样可预防停电后再来电时无密码可用。

6.按“C”键,清除显示器为“000000”。

7.欲重新设定密码,先输入密码在案“*”。

8.输入密码,再按“D”键。

若密码与设定密码相同,则开门。

否则显示器清为“000000”。

9.软件的设计主要包括键盘键值的读取,LED显示程序,密码比较程序和报警程序。

第3章硬件电路设计

3.1键盘电路设计

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

其原理如图3.1

图3.1矩阵键盘

每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。

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

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

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

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

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

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

方法是:

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

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

判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。

方法是:

依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。

具体的功能设计如表3.1:

按键

键名

功能说明

1-9键

数字键

输入密码

*键

重设密码键

设定新密码

D键

确定键

比较密码

#键

清除键

使显示器清零

表3.1按键功能

3.2LED显示电路

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

本系统的显示采用串行显示的方式,只使用单片机的一个串行口,利用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显示电路

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

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

表3.274LS247的逻辑功能表

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

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.374LS138逻辑功能表

3.3开锁电路

在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。

电路图如3.3所示。

当P2.0口输出低电平时,二极管发光,表示开锁。

图3.3开锁电路

 

3.4报警电路

图3.4报警电路

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

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

蜂鸣器电路如图3.4所示。

当89C51的P2.1口输出为低电平时,蜂鸣器产生蜂鸣音,89C51输出为高电平时,蜂鸣器不发声。

第四章软件设计

4.1软件设计思路

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

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

密码的设定,在此程序中密码是固定40H—45H中,假设预设的密码为"123456"共6位密码。

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

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

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

4.2各子程序设计

4.2.1键盘扫描子程序

键盘扫描流程图如图4.2.1

图4.2.1键盘扫描流程图

键盘扫描子程序如下:

L2:

MOVR3,#0F7H

MOVR1,#00H

L3:

MOVA,R3

MOVP1,A

MOVA,P1

MOVR4,A

SETBC

MOVR5,#04H

L4:

RLCA

JNCKEYIN

INCR1

DJNZR5,L4

CALLDISP

MOVA,R3

SETBC

RRCA

MOVR3,A

JCL3

JMPL2

4.2.2LED显示子程序

LED显示流程图如图4.2.2

图4.2.2LED显示流程图

LED显示子程序如下:

DISP:

MOVR0,#45H

DISP1:

MOVA,@R0

ADDA,#50H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#40H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#30H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#20H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#10H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#00H

MOVP0,A

CALLDELAY

RET

4.2.3密码比较和报警程序

密码比较和报警流程图如4.2.3

图4.2.3密码比较和报警流程

 

密码比较和报警程序:

COMP:

MOVR1,#45H

MOVR0,#35H

MOVR2,#06H

C1:

MOVA,@R1

XRLA,@R0

JNZC3

DECR1

DECR0

DJNZR2,C1

CLRP2.0

MOVR2,#200

C2:

MOVR6,#248

DJNZR6,$

DJNZR2,C2

C3:

INCR5

MOVA,R5

MOVR5,A

CJNER5,#03H,C4

CLRP2.1

MOVR5,#00H

C4:

JMPSTART

 

第5章系统调试

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

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

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

图5.1LED显示

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

如图5.2

图5.2密码正确开门

 

第6章心得体会

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

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

  

回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。

  

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,在同学的帮助下,终于游逆而解。

非常感谢!

第7章参考文献

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

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

 

第8章附录

8.1源程序清单

ORG00H

MOVR5,#00H

MOVR7,#00H

DJNZR7,$

MOVR7,#10H

MOVR6,#06H

MOVR1,#35H

L1:

MOVA,R7

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOV@R1,A

DECR1

INCR7

DJNZR6,L1

START:

ORLP2,#0FFH

MOVR4,#06H

MOVR0,#40H

CLEAR:

MOV@R0,#00H

INCR0

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

CALLDISP

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

XCHA,45H

CALLDISP

JMPL2

X3:

JMPDISP2

X4:

JMPCOMP

DISP:

MOVR0,#45H

DISP1:

MOVA,@R0

ADDA,#50H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#40H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#30H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#20H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#10H

MOVP0,A

CALLDELAY

DECR0

MOVA,@R0

ADDA,#00H

MOVP0,A

CALLDELAY

RET

SET0:

MOVR2,#06H

MOVR0,#40H

MOVR1,#30H

E1:

MOVA,@R0

XCHA,@R1

INCR0

INCR1

DJNZR2,E1

CALLDELAY

E2:

JMPSTART

COMP:

MOVR1,#45H

MOVR0,#35H

MOVR2,#06H

C1:

MOVA,@R1

XRLA,@R0

JNZC3

DECR1

DECR0

DJNZR2,C1

CLRP2.0

MOVR2,#200

C2:

MOVR6,#248

DJNZR6,$

DJNZR2,C2

C3:

INCR5

MOVA,R5

MOVR5,A

CJNER5,#03H,C4

CLRP2.1

MOVR5,#00H

C4:

JMPSTART

DISP2:

MOVR0,#35H

CALLDISP

MOVA,P1

XRLA,R4

JZDISP2

CALLDELAY

JMPSTART

DELAY:

MOVR7,#C3

D3:

MOVR6,#248

DJNZR7,D3

RET

ORG300H

TABLE:

DB01H02H03H0CH

DB04H05H06H0DH

DB07H08H09H0EH

DB0AH00H0BH0FH

DB01H02H03H04H05H06H

END

 

8.2硬件原理图

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2