基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx

上传人:b****3 文档编号:6910869 上传时间:2023-05-07 格式:DOCX 页数:28 大小:295.28KB
下载 相关 举报
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第1页
第1页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第2页
第2页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第3页
第3页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第4页
第4页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第5页
第5页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第6页
第6页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第7页
第7页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第8页
第8页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第9页
第9页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第10页
第10页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第11页
第11页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第12页
第12页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第13页
第13页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第14页
第14页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第15页
第15页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第16页
第16页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第17页
第17页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第18页
第18页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第19页
第19页 / 共28页
基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx

《基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx(28页珍藏版)》请在冰点文库上搜索。

基于单片机的智能密码锁的设计与制作含PCB图Word格式.docx

为防止程序“跑飞”等异常情况,本设计在软件中使用了简单的“程序陷阱”技术,根据实际需要,可酌情增加“看门狗”电路。

无论是硬件复位还是软件复位后,自动进入锁定状态,保证异常情况下的安全。

锁定状态时,自动开启报警功能。

如遇非法用户进行恶意多次试探开锁,连续三次输错密码,将进行报警。

直至开锁后,所有报警消失。

2系统硬件设计

电子锁主要由控制电路和锁体两部分组成,锁体包括电磁线圈、锁拴、弹簧和锁框等。

当电磁线圈中有一定的电流通过时,磁力吸动锁栓,锁便打开。

否则.锁栓进入锁框,即处在锁住状态。

为了便于试验,可用发光二极管代表电磁线圈,当绿色发光二极管为亮状态时,代表电子锁被打开,红色发光二极管为亮状态时代表锁着。

2.1硬件组成及工作原理

电子密码锁的组成框图如图2-1所示,

图2-1控制电路功能图

它也是以单片机作为核心控制器,主要是由显示电路、报警电路、时钟电路、复位电路和键盘等组成。

完成密码的设置、存贮、识别和输出开锁电平等功能。

当用户输入密码并按下输入键后,程序判断输入的密码是否正确。

如果输入密码正确,则输出开锁信号,同时点亮绿灯;

如果输入密码不正确,则输出密码错误信号,点亮红灯;

如果连续三次输入的密码均是错的,则输出报警信号,同时蜂鸣器鸣叫响发出报警。

一旦输出报警信号,就必须等待解除报警后方可重新开锁。

   

2.2单片机选型

本设计用STC89C51代替了以往使用的AT89C51,功能更强,速度更快,寿命更长,价格更低。

STC89C51可以完成ISP在线编程功能,而AT89C51则不能。

将AT89C51中的程序直接烧录到STC89C51中后,STC89C51就可以代替AT89C51直接工作。

STC89C51内部有EEPROM,可以在程序中修改,断电不丢失,还增加了两级中断优先级等等。

STC89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。

图2-2STC89C51引脚图

STC89C51是一块高性能单片机,它内含128×

8位存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点。

AT24C02具有PDIP、MSOP/TSSOP及SOIC等三种封装形式,以适应不同产品的需求。

2.3时钟电路

XTALl、XTAL2为片内振荡器的反相放大器的输入和输出端,如图2-3示。

可采用石英晶体或陶瓷振荡器组成时钟振荡器,如需从外部输入时钟驱动STC89C51,时钟信号从XTAL1输入,XTAL2应悬空。

由于输入到内部电路是经过一个2分频触发器,

所以输入的外部,所以输入的外部时钟信号无需特殊要求,但它必须符合电平的最大和最小值及时序规范。

电路里采用的是12MHz的晶振,则周期为:

T=1/(12*10^6)Hz1/12=1us有关电路如下图:

图2-3振荡电路

2.4复位电路

复位电路采用了微分型复位电路如图2-4所示:

图2-4复位电路

复位电路的基本功能是:

系统上电时提供复位信号直至系统电源稳定后撤销复位信号为可靠起见电源稳定后还要经一定的延时才撤销复位信号以防电源开关或电源插头分-合过程中引起的抖动而影响复位,有效的防止系统有时会出现一些不可预料的现象,如无规律可循的“死机”、“程序走飞”等。

2.5密码存储电路

密码锁的密码可修改,并且掉电后不消失,所以需要外接非易失性存储器,在本次设计中采用AT24C02。

图2-5STC89C51与AT24C02连接图

AT24C02与外部通讯采用I2C总线。

I2C(Inter-IntegratedCircuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。

I2C总线最主要的优点是其简单性和有效性。

AT24C02写操作分为字节写和页面写两种操作,读操作分为当前地址读、随机读和顺序读等三种操作,每种读写操作都有规定的时序。

本系统采用字节写和随机读两种操作方式,具体时序由软件模拟。

2.6矩阵式键盘电路设计

图2-6矩阵式键盘

矩阵式键盘适用与按键数量较多的场合,它由行线和列线组成,按键位于行、列的交叉点上。

一个4×

4的行、列结构可以构成一个有16个按键的键盘。

如上图所示,这

是本课题所设计的矩阵键盘电路。

很明显,在按键数量较多的场合,矩阵键盘与独立式按键键盘相比,要节省很多I/O口。

在键盘的设计时,我一开始选用的是大的按键,但是考虑到PCB板的大小,我后来选用的是小的按键,可以节省覆铜板,按键的八个接口分别接P1的八位,在按键前,我先给P1口置F7H,当第一行上有键按下的时候,相对列位输出低电平,反之无键按下为高电平。

相同方法扫描各列,反复循环,直到有键按下。

2.7报警电路

蜂鸣音报警电路如下图所示:

图2-7报警电路

本电路是由两个电阻,一个NPN三极管和一个蜂鸣器组成。

STC89C51的P1.1端接三极管Q1基极的输入端。

如果用户连续三次输入的密码均是错时,CPU发出信号将P1.1置高电平,就会使三极管的基极为高电平,三极管Q1放大导通,压电蜂鸣器两端获得约+5V电压而鸣叫;

当P1.1输出低电平时,三极管Q1截止,则蜂鸣器停止发音。

2.8显示电路

图2-8显示电路

如图2-8所示,是由一个四位数码管和一个二位数码管组成。

显示电路我选用共阴极数码管,显示主要包含了两部分:

段选和位选。

在设计时用7448来译码,用74LS138提供位选,这样可以节省单片机端口。

段码的信号和位选的信号都由P0口提供,P0口的前四位接7448的A、B、C、D四位,由他把单片机输出的十进制转换成数码管能显示的字型码。

P0口的后面三位接3-8译码器的A,B,C,通过译码器输出的数据可以作为数码管的位选,使数码管一个一个的点亮,从而达到动态显示的要求。

3系统软件方案

STC89C51单片机和其开发应用系统具有语言简洁、可移植性好、表达能力强、表达方式灵活、可进行结构化设计、可以直接控制计算机硬件、生成代码质量高、使用方便等诸多优点。

此设计如下要求:

1)上电后,显示器显示“000000”。

初次使用时,密码由程序存储器TABLE读取,“666666”为初始化密码,只要输入此密码便可开门。

密码修改后则从AT24C02中读取。

2)更改密码时,先键入新号码再按“*”,即可建立新密码,并存入EEPROM。

3)键入号码,再按“D”开门键,若号码与密码相符,则开门,计算输错次数,当达到三次则报警。

4)输入的号码通过数码管显示。

方案主要就是密码的输入、显示和比较,所以程序在键盘和显示上占了很大的比重,硬件电路上加了EEPROMAT24C02,断电后密码就是从这里读出来的。

3.1设计与分析

首先进行系统初始化,设置计算输入密码次数的参数N=0,开始解码输入,接着判断输入的密码是否正确。

当输入的密码正确时,查询是否输入set键,如果输入set键(修改密码键)则可以修改密码,接着输入新密码即可。

如果不需要修改密码则可以正常开锁。

当输入的密码错误时就会出现错误指示,每输入一次则N作加1运算,当N=3时也就是连续输入密码出现三次错误,蜂鸣器报警并封锁输入口。

然后定时10分钟,再解锁。

图2-9程序设计流程图

4系统调试

选择好硬件方案和编好软件程序后进行系统调试来检验系统硬件的配置和软件程序的设计是否合理,从而选择一个合理的软件设计方案与硬件的配置紧密联系起来,这是设计的一个非常重要的环节。

在调试时用发光二极管代替电子号码锁,绿色发光二极管亮表示开锁,红色发光二极管亮表示闭锁。

在调试的过程中将能看到你所编的程序是否正确。

如果所编的程序有问题能够在通过此调试纠正过来。

调试分为两部分:

硬件调试和软件调试。

4.1硬件调试

硬件调试过程中的工具和测试仪器:

1)5V稳压电源;

2)MF500型万用表;

3)单片机仿真软件PROTEUS;

4)编译软件MEDWIN;

在整个设计的完成到差不多的时候,硬件电路图已经设计完成。

但是于最次的设计电路图相比有所改动。

在进行设计后,发现输出的锁部分不怎么合理,所以改用了发光二极管,这样能比较形象的表达出锁的动作与不动作,这样一改以后就发现现在的电路图与原来的药简化很多了,但是考虑到PCB板布线问题,我把电路板分成了三块,而且这样也比较经济,符合设计的要求。

4.2软件调试

首先打开电源,出现显示器没有显示“000000”现象,输入密码在显示器显示乱码现象。

进行密码比较时,不管你输入任何密码(包括正确密码),发光二极管始终没有反应,反倒是蜂鸣器发出响声。

经过程序检查,发现有两处错误:

错误之一是初始地址没给;

错误之二是初始化和清零程序有问题。

还有是在调试的过程中遇到不少问题,比如在调试键盘和显示程序的时候,由于把MOVA,@Ri和MOVXA,@Ri搞错了,所以一开始不管你按什么键,数码管上显示的都是乱码,后来改正后,显示和按键就统一。

在整个程序设计是使用汇编语言,通过改正以上两处错误及对硬件电路做了些调整之后,再进行通电调试,最终在MCS-51单片机仿真软件下编写并调试完成的。

在本设计中,程序设计与编程时通过看书上的资料,通过老师和同学的帮助,完成的比较顺利。

结论与谢辞

通过这段时间的努力,终于完成了对基于单片机和串行EEPROM的智能密码锁的设计与制作。

虽然在设计过程中遇到了很多困难,但最终还是在指导老师和同学的共同努力下顺利完成了。

本次设计,涉及到单片机、模拟电路、数字电路、Protel99等等课程里面的知识;

让我明白自身知识的贫乏,很多方面像单片机原理、硬件结构、扩展接口和编程语言等需要加强巩固。

在培养动手能力的同时,更好的掌握了PROTEL99SE、MedWin、KeiluVision3软件的应用,为今后的工作打下了良好的基础。

课题的设计从一开始的选题到最后写论文结稿和实物制作完成的整个过程很漫长,虽说完成了任务,但还存在着很多问题,有本身技术上的问题,也有些是对原理的不太了解而造成的失误问题,最终还是经过仔细的分析和系统的研究解决了。

在毕业设计的过程中,学院的老师们严谨的教学使我受益非浅,我非常感激廖任秀老师,她是我获得深思熟虑的意见和概念清晰的见解的来源,她不惜花费自己时间对本论文提出许多意见和建议,既激发了我的灵感,又给了我持久不断的鼓励。

同时让我学会了如何去分析和解题。

也感谢实验室的老师们,在制版和搭建电路过程中给予了大力支持和帮助,正是由于他们的热情支持,给我们提供了很多方便,本次设计和制作过程才得以顺利的完成。

同时非常感谢在我设计过程中帮助过我的同学和朋友们,为我提供了些我没能买到的电子元件、焊接的电路板子和测试用的一些实验仪器,并且帮助我解决了不少在实物制作过程中出现的技术问题。

在我遇到难题的时候能够乐意、耐心地同我一起讨论、分析问题和查阅资料直至找出答案为止。

 

最后,感谢所有的学校领导、老师和我的同学,在这三年,有你们陪我一起度过校园美好的日子,对我的学习和生活提供了许多的帮助,并祝你们身体健康,工作顺利!

在此,谨对他们致以衷心的感谢。

同时也对本文做出认真审阅的老师们给以深深的敬意!

参考文献

[1]关健.《电子CAD技术》[M].电子工业出版社.2004

[2]潘永雄、沙河、刘向阳.《电子线路CAD实用教程》[M].西安电子科技大学出版社. 2002年8月

[3]夏路易,石宗义.《电路原理图与电路板设计教程Protel99SE》[M].北京希望电子出版社.2002

[4]张义和.《ProtelPCB99电路板设计教程》[M].青岛出版社.2000

[5]张义和.《ProtelSchematic99电路图设计教程》[M].青岛出版社.2000

[6]李春法.《单片机原理及借口技术案例教程》[M].机械工程出版社.2006

[7].张迎新、杜小平、樊桂花、雷道振.《单片机初级教程》[M].北京航空航天大学出版社.2002

[8]何立民.《单片机高级教程》[M].北京航空航天出版社.1999

[9]张毅刚,彭喜源,谭晓昀,曲春波.《MCS-51单片机应用设计》[M].哈尔滨工业大学出版社.1997

[10]周立功单片机.《ZLG7290I2C接口键盘及LED驱动器数据手册》[OL]

[11]刘京南、王成华.《电子电路基础》北京:

电子工业出版社,2003年版

[12]李全利.《单片机原理及应用技术》北京:

高等教育出版社,2001年版

[13]王友仁.《电子线路基础教程-重点分析、例题解析》北京:

科学出版社,2001年版

[14]中国电子网,

[15]中国电子设计网,

[16]XX—全球最大中文搜索引擎,

[17]无线电爱好者协会网站,

附件1:

元器件清单

元器件名称

数量

STC89C51

2

数码管(0.5寸)4位一体(共阴)

AT24C02

1

数码管(0.5寸)2位一体(共阴)

74ls48

三极管9013

10

MAX232

三极管8550

3

IC座DIP16

高亮发光二极管

IC座DIP40

二极管4007

RS232串口座

LED红光

晶振12M

LED绿光

IC座DIP8

按钮6*6*6

按键

16

开关电源座

5

有源蜂鸣器

电源拨动开关

排针

2条

开关电源5V

排母

覆铜单面板10*15cm

点阵式万能实验板

附件2:

系统软件

1.1伪指令

mima1equ40h

mima2equ41h

mima3equ42h

mima4equ43h

mima5equ44h

mima6equ45h

time_1equ46h

time_2equ47h

ztbit00h

cuobitp0.0

baobit01h

baojingbitp0.1

fanhuibit02h

dui1bit03h

duibitp0.2

keybitbit04h

cuociequ48h

key1equ49h

cccequ4ah

ysequ51h

ys0equ52h

display1equ53h

display2equ54h

display3equ55h

display4equ56h

display5equ57h

display6equ58h

weixuanequ59h

data1equ60h

data2equ61h

data3equ62h

data4equ63h

data5equ64h

data6equ65h

1.2Mian程序

org0000h

ajmploop0

org000bh

ljmptime1

org001bh

ljmptime2

loop0:

movsp,#0030h

movcuoci,#3

movtmod,#11h

movth0,#88h

movtl0,#83h

movth1,#3ch

movtl1,#0b0h

setbea

setbet0

setbet1

movtime_1,#20

movtime_2,#100

clrzt

setbdui1

movccc,#20

loop1:

movr2,#0

movdisplay1,#15

movdisplay2,#15

movdisplay3,#15

movdisplay4,#15

movdisplay5,#15

movdisplay6,#15

clrzt

loop2:

ljmpscan

1.3显示程序

delay:

movdptr,#tab

movweixuan,#0feh

movr0,#display1

dlay:

mova,@r0

movca,@a+dptr

movp2,a

movp3,weixuan

lcalld1ms

movp3,#0ffh

incr0

mova,weixuan

rla

movweixuan,a

cjnea,#0bfh,dlay

ljmploop2

d20ms:

movys,#200

ajmpd

d10ms:

movys,#100

d1ms:

movys,#10

d:

movys0,#50

djnzys0,$

djnzys,d

ret

1.4按键程序

scan:

movp1,#0fh

mova,p1

anla,#0fh

cjnea,#0fh,next1

sjmpnext3

next1:

lcalld10ms

mova,#0efh

next2:

movkey1,a

movp1,a

cjnea,#0fh,kcode

mova,key1

setbc

rlca

jcnext2

next3:

clrkeybit

ljmpk1

kcode:

movb,#00h

next44:

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

当前位置:首页 > 初中教育 > 政史地

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

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