电子密码锁课程设计2.docx

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

电子密码锁课程设计2.docx

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

电子密码锁课程设计2.docx

电子密码锁课程设计2

 

摘要

围绕电子密码锁系统的设计与开发进行研究和实践,详细介绍了电子密码锁系统的整体结构,硬件设计,软件设计,系统方案以及其它的开发和具体实现。

介绍一种基于在系统可编程技术和AT89C51编译器配有集成开发的新型电子密码锁的设计方法,阐述其工作原理和软硬件设计。

在硬件上,用KEIL公司的C51大规模集成芯片对其外围电路进行集成,用一片AT89C51实现了几十片分离元件才能实现的功能,几乎将整个系统下载与同一芯片中,实现了所谓的片上系统,从而大大简化了系统结构,增强系统的结构的可靠性和性价比。

该密码锁特别适用于宾馆,办公大楼,公寓等场所。

 

关键字:

密码锁AT89C51芯片Keil软件Proteus软件74LS245芯片蜂鸣箱显示屏

 

目录

1.绪论                              3

 1.1.引言                           3   

   1.2.电子密码锁的背景                     3

2.设计说明                            4

 2.1.总体说明                         4  

 2.2.总体结构图                        5 

  3.硬件设计                            5

 3.1.元件清单                         5

 3.2.原理图                          6 

 3.3.电路元件说明及原理图                   7

  3.3.1.LED数码显示器                   7 

3.3.2.复位电路                      9

3.3.2.时钟电路                      9 

3.3.4.矩阵电路                      10 

3.3.5.74LS245说明                    11

3.3.6.单片机引脚说明                   11

  4.程序存储器和数据存储器的单元分配                 12 

4.1.程序存储器和数据存储器的单元分配            12     

 4.1.1.程序存储器                    13

 4.1.2.数据存储器                    13   

 4.1.3.特殊功能寄存器                  13   

5.程序设计                             14       

   5.1.程序流程图                       14 

   5.2.原程序                         16    

6.运行结果                             26  

7.总结                               27 

8.参考文献                             28

 

1绪论

1.1引言

随着人们生活水平的提高,如何实现防盗这一问题也变的尤其突出,传统的机械锁由于其构造的简单,被撬的时间屡屡发生。

电子所由于其保密性高,使用灵活性好,安全系数高,受到了广大人民的喜爱。

锁是置于可启闭的器物上,用以关注某个确定的空间范围或某种器具的,必须以钥匙或暗码打开的扣件。

锁具发展到现在已有若千年的历史了,人们对他的结构,机理也研究的很透彻,因此,不用钥匙打开的方式也层出不穷。

现代人类文明社会里,由于各种矛盾冲突十分激烈,人们的思想道德观念,价值观,文化修养水平等差异,群众中良莠不齐,善良的人们能够自觉规范自己的行为,“非礼不为”,虽无钥匙亦不会乱闯。

然而,那些毫无道德观念的盗贼却想法设法利用高科技设备撬开门锁,使广大居民防不胜防。

所以更为现在的锁具需要需要革命。

1.2电子密码锁的背景

随着社会科技的进步,锁已经发展到了密码锁。

电子锁,激光锁,声控锁等等。

在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同光束,光波,不同图像(指纹,脸部等)来控制锁的开启。

从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。

当今安全信息系统越来越广泛,特别是保护机密,维护隐私和财产保护方面起到重要作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。

 

2设计说明

2.1总体说明

用4*3的矩阵键盘组成0至9及确认键和清除键;提示信息的显示电路用8位数码管组成显示,初始化时显示器显示“EF”,当输入密码时,只显示“-”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码输入正确,则锁开,即LED发光二极管发光;若密码输入不正确,则蜂鸣器一直发出“嘀”、“嘀”的报警声,直到复位。

在输入密码的后按“ENTER”键,进行密码比较然后给出相应信息。

若输入密码错误,可以利用“CLR”键删除刚才输入的错误的数字。

 2.2总体结构图:

 显示屏幕

AT89C51

 晶振电路

           

 复位电路

键盘

3硬件设计

3.1元件清单:

原件名称

所属类

所属子类

AT89C51

MicroprocessorICs

8051family

CAP

Capacitors

Generic

CAP-ELEC

Capacitors

Generic

CRYSTAL

Miscellameous

-------

RES

Resistors

Generic

7SEG-MPX8-CC-BLUE

Optoelectronics

6-SegmengDisplays

74LS245

TTL74LSseries

Transceivers

BUTTON

Switches&Relays

Switches

SOUNDER

Speakers&Sounder

-------

LED-YELLOW

Optoelectronics

LEDs

元件全部添加完后,在ProteusISIS的编辑区域中按下图所示的原理图连接硬件电路。

3.2原理图:

3.3电路元件说明及原理图:

3.3.1 LED数码显示器

LED显示块是由发光显示二极管显示字段的显示器件。

它实际上是由8个发光二极管,其中7个发光二极管构成七笔字形“8”,另一个发光二极管构成小数点。

七段显示块与单片机接口非常容易。

只要将一个8位并行输出与显示块的发光二极管引脚相连即可。

8位并行输出口输出不同的字节数据即可获得不同的数字或字符,通常将控制发光二极管的8位字节数据称为段选码。

LED数码显示器内部有两种不同的形式:

共阳极显示和共阴极显示,此设计采用共阴极显示。

其内部结构及共阴极显示其内部电路如下:

LED数码显示字形(段)码表如下:

显示字形

字形码(共阳极)

字形码(共阴极)

0

C0H

3FH

1

F9H

06H

2

A4H

5BH

3

B0H

4FH

4

99H

66H

5

92H

6DH

6

82H

7DH

7

F8H

07H

8

80H

7FH

9

90H

6FH

A

88H

77H

B

83H

7CH

C

C6H

39H

D

A1H

5EH

E

86H

79H

F

8EH

71H

3.3.2复位电路:

  复位电路有上电自动复位和手动复位,此设计用的是上电复位,电路图如上。

pin9:

RESET/VPD复位信号复位脚,当8951通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统及初始复位。

   

3.3.3时钟电路:

89C51芯片内部有一个高增益反相放大器,用于构成振荡器。

反相放大器的输入端为XTAL1,输出端为XTAL,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。

电容

器C1和C2通常取30PF,可稳定频率并对振荡频率有微调作用。

此振荡脉冲频率为12MHZ。

单片机时钟电路振荡脉冲可以由内部方式和外部方式产生,XTAL1(19引脚)XTAL2(18引脚)即为单片机的两个时钟引脚。

 

3.3.4矩阵键盘:

矩阵式键盘又称行列式键盘,往往用于按键个数多的场合,矩阵式键盘的按键于行、列的交叉点上,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接,列线通过上拉电阻接电源,将行线所得单片机的I/O口作为输出端,列线所接的I/0口为输入端,编程所有行线输出低电平,列线输出高电平,当没有键被按下时,所有输出端为高电平,表示无键按下,一旦有键按下,则出现输入端被拉低变为低电平。

这样,通过读入列线的状态即可知道是否有键按下。

3.3.5 74LS245说明:

74LS45芯片常来驱动LED或者其它设备,它是8路同相三态双向总线收发器,可双向传输数据。

当单片机的PO口总线负载达到或者超过PO最大负载能力是,必须接入74LS245等总线驱动器。

3.3.6 单片机引脚说明

Pin20:

接地脚。

pin40:

正电源脚,工作时,接+5v电源。

pin19:

时钟XTAL1引脚,片内振荡电路的输入端。

pin18:

时钟XTAL2脚,片内振荡电路的输出端。

 

4程序存储器和数据存储器的单元分配

4.1程序存储器和数据存储器的单元分配

  存储器是单片机的一个重要组成部分,每个存储单元对应一个地址,每个个单元共有1个地址,用两位16进制数表示,即存储器的地址(00H~FFH)。

存储器中每个存储单元可存放一个八位二进制信息,通常用两位16进制数来表示,这就是存储器的内容。

4.1.1程序存储器

在单片机处理问题之前必须事先将编好的程序、表格、常数汇编成机器代码后存入单片机的存储器中,该存储器称为程序存储器。

程序存储器可以放在片内或片外,亦可片内片外同时设置。

由于PC程序计数器为16位,使得程序存储器可用16位二进制地址,因此,内外存储器的地址最大可从0000H到FFFFH。

4.1.2数据存储器

单片机的数据存储器由读写存储器RAM组成。

其最大容量可扩展到64k,用于存储实时输入的数据。

8051内部有256个单元的内部数据存储器,其中00H~7FH为内部随机存储器RAM,80H~FFH为专用寄存器区。

4.1.3特殊功能寄存器

特殊功能寄存器(SFR)的地址范围为80H~FFH。

在MCS-51中,除程序计数器PC和四个工作寄存器区外,其余21个特殊功能寄存器都在这SFR块中。

MCS-51共有P0~P3四个这样的并行口,可提供32根I/O线,每根线都是双向的,并且大都有第二功能。

其余用于芯片控制的寄存器中,累加器A、标志寄存器PSW、数据指针DPTR等的功能。

 

5程序设计

8位数码显示,初始化时,显示“EF”,接着输入最大6位数的密码,当密码输入完毕后,按下“ENTER”键,与密码初始值进行比较,若发光二极管发光,则说明密码正确;如果蜂鸣器发出报警声,则说明密码错误。

在输入密码过程中,显示器只显示“-”,当输入密码位数超过6个数字时,蜂鸣器会发出报警声。

在输入密码过程中,若输入错误,则可以通过清零键“CLR”删除输入错误的数字,接着可以继续输入数字。

5.1程序流程:

如下图

 

 

5.2源程序

LED_BIT1EQU30H

LED_BIT2EQU31H

LED_BIT3EQU32H

LED_BIT4EQU33H

LED_BIT5EQU34H

LED_BIT6EQU35H

LED_BIT7EQU36H

LED_BIT8EQU37H

WORD_1EQU38H

WORD_2EQU39H

WORD_3EQU3AH

WORD_4EQU3BH

WORD_5EQU3CH

WORD_6EQU3DH

KEY_1EQU3EH

KEY_2EQU3FH

KEY_3EQU40H

KEY_4EQU41H

KEY_5EQU42H

KEY_6EQU43H

KEY_CNTEQU46H

LINEEQU47H

ROWEQU48H

VALEQU49H

ORG0000H

SJMPSTART

START:

MOVCNT_A,#00H

MOVCNT_B,#00H

MOVKEY_CNT,#00H

MOVLINE,#00H

MOVROW,#00H

MOVVAL,#00H

CLRP1.0

CLRP1.7

MOVLED_BIT1,#00H

MOVLED_BIT2,#00H

MOVLED_BIT3,#00H

MOVLED_BIT4,#00H

MOVLED_BIT5,#00H

MOVLED_BIT6,#00H

MOVLED_BIT7,#79H

MOVLED_BIT8,#73H

MOVKEY_1,#00H

MOVKEY_2,#00H

MOVKEY_3,#00H

MOVKEY_4,#00H

MOVKEY_5,#00H

MOVKEY_6,#00H

MOVWORD_1,#6

MOVWORD_2,#5

MOVWORD_3,#4

MOVWORD_4,#3

MOVWORD_5,#2

MOVWORD_6,#1

A0:

LCALLDISP

LSCAN:

MOVP3,#0F0H

L1:

JNBP3.0,L2

LCALLDLY_S

JNBP3.0,L2

MOVLINE,#00H

LJMPRSCAN

L2:

JNBP3.1,L3

LCALLDLY_S

JNBP3.1,L3

MOVLINE,#01H

LJMPRSCAN

L3:

JNBP3.2,L4

LCALLDLY_S

JNBP3.2,L4

MOVLINE,#02H

LJMPRSCAN

L4:

JNBP3.3,A0

LCALLDLY_S

JNBP3.3,A0

MOVLINE,#03H

RSCAN:

MOVP3,#0FH

C1:

JNBP3.4,C2

MOVROW,#00H

LJMPCALCU

C2:

JNBP3.5,C3

MOVROW,#01H

LJMPCALCU

C3:

JNBP3.6,C1

MOVROW,#02H

CALCU:

MOVA,LINE

MOVB,#03H

MULAB

ADDA,ROW

MOVVAL,A

CJNEA,#0AH,J1

MOVR1,KEY_CNT

CJNER1,#00H,J2

LCALLALARM_2

LJMPSTART

J2:

DECKEY_CNT

LCALLSHIFTR

W00:

LCALLDISP

MOVA,P3

CJNEA,#0FH,W01

LJMPA0

W01:

MOVA,P3

CJNEA,#0F0H,W02

LJMPA0

W02:

SJMPW00

J1:

MOVA,VAL

CJNEA,#0BH,J3

MOVR1,KEY_CNT

CJNER1,#06H,J4

MOVA,WORD_1

CJNEA,3EH,J5

MOVA,WORD_2

CJNEA,3FH,J5

MOVA,WORD_3

CJNEA,40H,J5

MOVA,WORD_4

CJNEA,41H,J5

MOVA,WORD_5

CJNEA,42H,J5

MOVA,WORD_6

CJNEA,43H,J5

SETBP1.0

LCALLDLY_L

LJMPFINI

J5:

LCALLALARM_2

LJMPSTART

J4:

LCALLALARM_2

LJMPSTART

J3:

INCKEY_CNT

MOVA,KEY_CNT

CJNEA,#07H,K1

LCALLALARM_2

W10:

LCALLDISP

MOVA,P3

CJNEA,#0FH,W11

LJMPSTART

W11:

MOVA,P3

CJNEA,#0FH,W12

LJMPSTART

W12:

SJMPW10

LJMPSTART

K1:

LCALLSHIFTL

W20:

LCALLDISP

MOVA,P3

CJNEA,#0FH,W21

LJMPA0

W21:

MOVA,P3

CJNEA,#0F0H,W22

LJMPA0

W22:

SJMPW20

LJMPA0

ALARM_2:

SETBP1.7

LCALLDLY_L

SHIFTL:

MOVLED_BIT6,LED_BIT5

MOVLED_BIT5,LED_BIT4

MOVLED_BIT4,LED_BIT3

MOVLED_BIT3,LED_BIT2

MOVLED_BIT2,LED_BIT1

MOVLED_BIT1,#40H

MOVKEY_6,KEY_5

MOVKEY_5,KEY_4

MOVKEY_4,KEY_3

MOVKEY_3,KEY_2

MOVKEY_2,KEY_1

MOVKEY_1,VAL

RET

SHIFTR:

MOVLED_BIT1,LED_BIT2

MOVLED_BIT2,LED_BIT3

MOVLED_BIT3,LED_BIT4

MOVLED_BIT4,LED_BIT5

MOVLED_BIT5,LED_BIT6

MOVLED_BIT6,#00H

MOVKEY_1,KEY_2

MOVKEY_2,KEY_3

MOVKEY_3,KEY_4

MOVKEY_4,KEY_5

MOVKEY_5,KEY_6

MOVKEY_6,#00H

RET

DISP:

CLRP2.7

MOVP0,LED_BIT8

LCALLDLY_S

SETBP2.7

CLRP2.6

MOVP0,LED_BIT7

LCALLDLY_S

SETBP2.6

CLRP2.5

MOVP0,LED_BIT6

LCALLDLY_S

SETBP2.5

CLRP2.4

MOVP0,LED_BIT5

LCALLDLY_S

SETBP2.4

CLRP2.3

MOVP0,LED_BIT4

LCALLDLY_S

SETBP2.3

CLRP2.2

MOVP0,LED_BIT3

LCALLDLY_S

SETBP2.2

CLRP2.1

MOVP0,LED_BIT2

LCALLDLY_S

SETBP2.1

CLRP2.0

MOVP0,LED_BIT1

LCALLDLY_S

SETBP2.0

RET

DLY_S:

MOVR6,#10

D1:

MOVR7,#250

DJNZR7,$

DJNZR6,D1

RET

DLY_L:

MOVR5,#100

D2:

MOVR6,#100

D3:

MOVR7,#248

DJNZR7,$

DJNZR6,D3

DJNZR5,D2

RET

FINI:

NOP

6运行结果

按下Play键,显示器显示字母“EF”,输入密码后,按“ENTER”键,密码正确,二极管发光,密码不正确,发出警报声。

若操作错误也会发出警报声。

7总结

通过此次课程设计,我重新把单片机及相关知识联系在了一起,虽然掌握的知识不是很多,但通过查找资料我还是对单片机有了很好的了解和掌握。

  在设计中我才发现单片机虽然体积小但是功能很强大,在生活中很多地方都可以用到它。

单片机这门学科博大精深,在以后的学习中只有多看书,理论与实践结合才能把这门课掌握好。

同时我也体会到合作的好处。

让我懂得了如何合作,对不同看法发表自己的意见。

此次设计中最要的一点是,让我知道了,理论联系实践的好处。

不管理论学的再怎么好都必须联系实践,只有在实践中我们才会更加懂得如何运用自己的所学,在实践中将自己的知识实物化。

理论联系实践是我们获取知识的最佳途径。

8参考文献

[1]周润景张丽娜丁莉.基于PROTEUS的电路及单片机设计与仿真(第二版).北京航天航空大学出版社2009.12

[2]李朝清.单片机原理及接口技术(第三版).北京航天航空大学出版社.2006.12

[3]周兴华.手把手教你学单片机.北京航天航空大学出版社.2006.12

[4]张文利.微机原理及单片机接口技术.中国科学技术大学出版社2007.7

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

当前位置:首页 > 小学教育 > 小学作文

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

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