基于单片机AT89S52的密码锁设计资料.docx

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

基于单片机AT89S52的密码锁设计资料.docx

《基于单片机AT89S52的密码锁设计资料.docx》由会员分享,可在线阅读,更多相关《基于单片机AT89S52的密码锁设计资料.docx(19页珍藏版)》请在冰点文库上搜索。

基于单片机AT89S52的密码锁设计资料.docx

基于单片机AT89S52的密码锁设计资料

 

江苏信息职业技术学院

毕业设计论文

 

基于单片机AT89S52的密码锁设计

 

系电子信息工程系

专业应用电子技术姓名

班级学号

指导教师夏玉果 职称讲师

设计时间2010.11.22-2011.1.8

摘要:

目前,单片机广泛应用在控制领域,本设计采用单片机设计电子密码锁,在系统中采用单片机AT89S52,该型号单片机具有51系列单片机通用的特性,在硬件电路设计中采用报警、显示、密码存储、开锁等等,在软件设计中采用汇编语言编程,该电子密码锁具有结构简单,功能齐全的特点。

关键字:

电子密码锁;单片机

 

第一章引言

随着人们生活水平的提高和安全意识的加强,对安全的要要求也越来越高。

所自古以来就是把守护门的铁将军,人们对他要求甚高,既要安全可靠的防盗,又要使用方便。

这也是制锁者长期以来研制的主题。

随着电子技术的发展,电子密码的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。

这种锁是通过键盘输入一组密码完成开锁过程。

研究这种的初衷,就是为了提高锁的安全性。

由于电子锁的密钥量(密码量)极大,电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。

电子锁的种类繁多,例如密码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。

担较使用的还是按键式电子密码锁。

20世纪80年代后随着电子锁专业集成电路的出现。

电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场所,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显的进展。

目前在西方发达国家,密码锁技术相对先进,种类齐全,电子密码锁已经被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。

在我国密码锁整体水平尚处在国际70年代左右,电子密码的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进过劲先进水平,现国内有几个厂生产供应市场。

但国内自行研制开发的电子锁,其市场结构尚未形成。

应用还不够广泛。

国内的不少企业也引进了世界上先进的技术,发展前景非常可观。

希望通过不断的努力,是电子密码锁在我国也能得到广泛的应用。

本设计采用AT89S52单片机为主控芯片,结合外围电路,通过软件程序组成电子密码锁系统,能够实现:

正确输入密码前提下,开锁提示。

错误输入密码情况下,蜂鸣器报警。

密码可以根据用户需要更改。

第二章方案论证

方案一:

采用数字电路控制

用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,将密码锁保存在JK触发器中,与输入密码通过比较器比较,判断结果是否相符合。

采用数字电路设计的方案好处就是设计简单,但控制的准确性和灵活性差,故不采用。

方案二:

采用单片机为核心的控制方案

选用单片机作为系统的核心部分,实现控制与处理的功能。

单片机具有资源丰富,速度快,编程容易等优点。

利用单片机内部的随机存储器(RAM)和只读存储器(ROM)及其引脚资源,外接液晶显示(LCD),键盘输入等实现数据的处理传输和显示功能,基本上实现设计指标,因此综合考虑,本系统采用方案二。

根据方案一设计如下系统电路,如图1所示,主要由两大部分组成:

密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电,造成的密码锁电路失效,使用户免遭麻烦。

密码锁电路包含:

键盘输入、密码修改、密码检测、开锁电路、显示电路、报警电路、键盘输入次数锁定电路。

图1系统电路原理图

第三章系统硬件设计

3.1总体设计

本设计主要有单片机,矩阵键盘,液晶显示器和密码存储等部分组成。

其中矩阵键盘用于输入数字密码和进行各种功能的实现。

由用户通过连接单片机的矩阵键盘出入密码,后经过单片机对用户输入的的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可。

系统整体框架图如图1:

 

图2系统结构框架

各模块功能如下:

1.键盘输入模块:

分为密码输入按键与几个功能按键,用于完成密码锁输入功能。

2.显示模式:

用于完成对系统状态显示及操作提示功能。

3.复位电路:

完成系统的复位。

4.报警电路:

用于完成输错密码时的报警功能。

5.密码存储模块:

用于完成掉电存储功能。

6.开锁电路:

用于继电器及发光二极管模拟开锁,完成开锁及开锁提示。

3.2单片机AT89S52

3.2.1AT89S52介绍

AT89S52单片机是一个低功耗,高性能CMOS8位单片机,片内含8KBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能欠打的微型计算机的AT89S52可为许多嵌入式控制应用系统提高性价比的解决方案。

AT89S52具有以下标准功能:

8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,准许RAM定时器/计数器,串行口、中断继续工作。

掉电模式下,ROM内容被保存,震荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

表1AT89S52主要特性如:

兼容MCS-51指令系统

8K可反复擦写(>1000次)ISPFlashROM

32个双向I/O口

4.5----5.5V工作电压

3个16位可编程定时/计数器

时钟频率0—33MHz

全双工UART串行中断口线

256x8bit内部RAM

2个外部中断源

低功耗空闲和省电模式

中断唤醒省电模式

3级加密位

看门狗(WDT)电路

软件设置空闲和省电功能

灵活的ISP字节和分页编程

双数据寄存器指针

3.2.2LCD1602显示器

现在的字符型液晶模块已经是单片机应用中最常见的信息显示器件了。

1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。

1602型LCD可以显示2行16个字符,有8位数据总线D0---D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。

接口信息说明:

1602型LCD接口信号说明如表2所示:

表21602型LCD的接口信号说明

第1脚

VSS电源地

第9脚

D2双向数据线

第2脚

VDD+5V电源

第10脚

D3双向数据线

第3脚

VEE液晶显示器偏压信号

第11脚

D4双向数据线

第4脚

RS数据/命令选择端

第12脚

D5双向数据线

第5脚

R/W读/写选择端

第13脚

D6双向数据线

第6脚

E使能端

第14脚

D7双向数据线

第7脚

D0双向数据线

第15脚

BLA背光源正极

第8脚

D1双向数据线

第16脚

BLK背光源正极

 

1602型LCD的主要技术参数,如表3所示

表31602型LCD的主要技术参数

显示容量

16×2个字符

芯片工作电压

4.5~5.5V

工作电流

20mA(5.0V)

模块最佳工作电压

5.0V

字符尺度

2.95×4.35(WXH)mm

基本操作程序:

读状态:

令RS=L,RW=L,E=H输出:

D0~D7=状态字

读数据:

令RS=H,RW=H,E=H输出:

写指令:

令RS=L,RW=L,D0~D7=指令码,E=高脉冲输出:

D0~D7=数据

写数据:

令RS=H,RW=L,D0~D7=数据,E=高脉冲输出:

3.3密码存储电路

图3所示AT24C02的1、2、3脚是三条地址线,用于确定芯片的硬件地址。

在AT89S51试验开发板上它们都接地,第5脚和第8脚分别为正、负电源。

第8脚SDL为串行数据输入/输出,数据通过这条双向I²C总线串行传送,在AT89S52试验开发板上和单片机的P3.6连接。

第6脚SCL为串行时钟输入线,在AT89S52试验开发板上和单片机的P3.7连接。

SDL和SCL都需要和正电源间各接一个5.1K的电阻上拉。

第6脚接P3.5。

AT24C02中带有片内地址寄存器。

每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。

所有字节均以单一操作方式读取。

为降低总的写入时间,一次操作可写入多达8个字节的数据。

图3密码存储电路

3.4报警电路

报警电路实现的功能是:

当输入密码的时间超过40秒(一般情况下用户输入不会超过),电路报警80秒,防止他人恶意开锁。

电路包含两大部分,2分钟延时和40秒延时电路。

其工作原理是当用户开始输入密码时,电路开始2分钟计时,超出40秒,电路开始80秒的报警。

如图3所示

图4报警电路

有人走近门时,触摸了TP端(TP端固定在键盘上,其灵敏度非常高,保证电路可靠的触发),由于人体自身带的电,使IC10的2脚出现低电平,使IC10的状态发生翻转,其3脚输出高电平,T5导通(可以通过R12控制T1的基极电流),其集电极接的黄色发光二极管D3发光,表示现在电子锁处于待命状态,T6截止,C4开始通过R14充电(充电时间是40秒,此时为用户输入密码的时间,即用户输入密码的时间不能超过40秒,否则电路就开始报警,由于用户经常输入密码,而且知道密码,一般输入密码的时间不会超过40秒),IC2开始进入延时40秒的状态。

开始报警:

当用户输入的密码不正确或输入密码的时间超过40秒,IC11的2脚电位随着C4的充电而下降,当电位下降到1/3Vcc时(即40秒延时结束时候),3脚变成高电位(延时时是低电平),通过R15使(R15的作用是为了限制T7的导通电流防止电流过大烧毁三极管)T7导通,其集电极上面接的红色发光二极管D4发亮,表示当前处于报警状态,T8也随之而导通,使蜂鸣器发声,令贼人生怯,实现报警.

停止报警:

当达到了80秒的报警时间,IC10的6,7脚接的电容C5放电结束,IC10的3脚变成低电平,T5截止,T6导通,强制使强制电路处于稳态,IC11的3脚输出低电平,使T7,T8截止,蜂鸣器停止报警;或者用户输入的密码正确,则有开锁电路中的T10集电极输出清除报警信号,送至T12(PNP),T12导通,强制使T7基极至低电位,解除报警信号。

若用户操作连续失误超过3次,电路将锁定5分钟。

其工作原理如下:

当电路报警的次数超过3次,由IC9(74161)构成的3位计数器将产生进位,通过IC7,输出清零信号送往74161的清零端,以实现重新计数。

经过IC8(与门),送到IC12(555)的2脚,使3脚产生5分钟的高电平锁定脉冲(其脉冲可由公式T=1.1RC计算得出),经T9倒相,送IC6输入端,使IC6输出低电平,使IC13不能开锁,到锁定的目的。

电路图如下图2.6所示:

图5报警次数检测及锁定电路

3.5键盘电路

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

其原理如图6

图6键盘电路

3.6显示电路

单片机应用系统中,通常都需要进行人机对话。

这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果等。

显示器、键盘电路就是用来完成人机对话活动的人机通道。

LCD显示器的驱动是一个非常重要的问题,由图3-1可知,显示电路由LCD显示器、段驱动电路和位驱动电路组成。

由于单片机的并行口不能直接驱动LCD显示器,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。

如果驱动电路能力差,即负载能力不够,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏。

LCD显示器的显示控制方式分为静态显示和动态显示两种,若选择静态显示,则LCD驱动器的选择较为简单,只要驱动器的驱动能力与显示器电流相匹配即可,而且一般只需考虑段的驱动;动态显示则不同,由于一位数据的显示是由段和位选信号共同配合完成的,因此,要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。

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

本系统的显示采用串行显示的方式,在本次设计中我选择了4位的数码显示管。

其连线如图所示。

 

图7LCD显示电路

3.7开锁电路

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

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

图8开锁电路

第四章系统软件设计

4.1系统软件流程图

进行应用软件设计时可采用模块化结构设计,其优点是:

每个模块的程序结构简单,任务明确,易于编写、调试和修改;

程序可读性好,对程序的修改可局部进行,其他部分可以保持不变,便于功能扩充和版本升级;

对于使用频繁的子程序可以建立子程序库,便于多个模块调用;

便于分工合作,多个程序员同时进行程序的编写和调试工作,加快软件研制进度。

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

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

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

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

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

 

 

图9总流程图

4.2系统软件源程序

ORG00H

SJMPSTART

ORG0BH

START:

PASSWORD:

MOVR4,#08H

MOVR0,#40H

MOVA,#00H

PASSNEXT:

MOV@R0,A

INCR0

INCA

DJNZR4,PASSNEXT

MLOOP:

CLRP3.0

SETBP3.1

SETBP3.2

SETBP3.3

SETBP3.4

MOVR3,#03H

GETPW:

MOVR4,#08H

MOVR0,#30H

AGAIN:

ACALLKEY

CJNEA,#0AH,CONTIUE

SJMPAGAIN

CONTIUE:

MOV@R0,A

ACALLDISPLED

INCR0

DJNZR4,AGAIN

AGAIN1:

ACALLKEY

CJNEA,#0AH,AGAIN1

ACALLDISPLED

ACALLCOMP

SETBP3.0

CLRP3.1

WAIT:

MOVC,P3.5

JNCMLOOP

 

SJMPWAIT

COMP:

MOVR4,#08H

MOVR0,#30H

AGAI:

MOV50H,@R0

MOVA,R0

ADDA,#010H

MOVR0,A

MOVA,@R0

MOVB,A

MOVA,R0

SUBBA,#010H

MOVR0,A

MOVA,B

CJNEA,50H,ONCEMORE

INCR0

DJNER4,AGAI

RET

ONCEMORE:

ACALLDISPLED1

ACALLDISPLED2

CLRP3.3

CLRP3.4

MOVR6,#0FFH

ACALLDELAY

MOVR6,#0FFH

ACALLDELAY

SETBP3.3

SETBP3.4

DJNZR3,GETPW

CLRP3.4

CLRP3.3

W:

SJMPW

DISPLED1:

CLRP3.3

MOVR6,#80H

ACALLDELAY

SETBP3.3

RET

DISPLED2:

CLRP3.4

MOVR6,#80H

ACALLDELAY

SETBP3.3

RET

DISPLED2:

CLRP3.4

MOVR6,#80H

ACALLDELAY

SETBP3.4

RET

DISPLED:

CLRP3.2

MOVR6,#80H

ACALLDELAY

SETBP3.2

RET

KEY:

MOVP1,#0F0H

MOVA,P1

CJNEA,#0F0H,K11

K10:

AJMPKEY

K11:

MOVR6,#02H

ACALLDELAY

MOVP1,#0F0H,K12

SJMPK10

K12:

MOVB,A

MOVP1,#0FH

MOVA,P1

CJNEA,#0FH,K122

K121:

AJMPKEY

K122:

MOVR6,#02H

ACALLDELAY

MOVP1,#0FH

MOVA,P1

CJNEA,0FH,K13

AJMPK10

K13:

ORLA,B

MOVB,A

MOVR1,#11

MOVR2,#0

MOVDPTR,#K1TAB

 

K14:

MOVA,R2

MOVCA,@A+DPTR

CJNEA,B,K16

K15:

MOVA,R2

RET

K16:

INCR2

DJNZR1,K14

AJMPK10

K1TAB:

DB7eh,0beh,0deh,0eeh

DB7dh,0bdh,0ddh,0edh

DB7bh,0bbh,0bdh

DELAY:

MOVR7,#0F8H

AA1:

MOVR5,#0F8H

AA:

NOP

NOP

DJNZR5,AA

DJNZR6,AA1

RET

END

 

第五章结语

一个多月的单片机已经告已段段落,这是一次难得的检验,既锻炼了自己,又提高自己得理论水平,所以我一开始我就十分认真,积极地对待这次课程设计。

单片机是一门实践性很强的学科,能充分地运用于实践中去,因而直接关系到我们以后找工作,关系到我们的将来。

这次的课题是智能密码锁设计,主要设计到的芯片主要是89S52。

虽然我们学过单片机,理论知识掌握的还算好,但总感觉不知道单片机到底有什么用。

通过这次设计让我有了较深的体会,单片机的用处还是很广的,不但用起来方便,而且其功能也是很强大的。

单片机可以实现很多我们想要实现的功能,使复杂的电路简单化,使难以实现的事情变为现实等等。

我隐约可以看到单片机在这个社会有着举足轻重的地位,并且还有着无穷大的潜能。

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

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

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

与此同时,我们也深刻领略到细节的重要性,细节决定成败,实在是很深刻。

有一点小问题,都不会出正确的结果。

经过一次次的查错,纠错,让我们深深体会到了做设计科研,必须具备严谨的科学作风。

对我们以后从事的工作也有巨大的帮助。

总而言之,这次课程设计终于顺利完成了,在进行设计的过程中遇到了很多编程问题,在此特别感谢夏玉果等老师的耐心讲解和细心的指导。

使我们在设计的过程中,少走了许多弯路,同时也领略了老师的许多新理念。

单片机课程设计重在一个思维的改变,而不是仅仅的一个程序的设计。

参考文献

[1]康华光.电子技术基础(第四版)[M].北京:

高等教育出版社,1998

[2]梁宗善.新型集成块应用[M].武汉:

华中理工大出版社,2004

[3]胡汉才单片机原理及其接口技术清华大学出版社2004年2月

[4]周立功单片机实验与实践教程北京航空航天大学出版社2006年5月

[5]李朝青单片机原理与接口技术北京航空航天大学出版社2005年

[6]赵秀菊单片机与测控技术东南大学出版社1988年

[7]许立梓微型计算机原理及应用机械工业出版社2002

[8]微刘乐计算机接口技术及应用华中理工大学出版社2000

 

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

当前位置:首页 > 经管营销 > 经济市场

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

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