基于单片机的密码锁.docx

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

基于单片机的密码锁.docx

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

基于单片机的密码锁.docx

基于单片机的密码锁

毕业论文

 

专业

班次

姓名

指导老师

成都工业学院

二00九年六月

 

基于单片机的密码锁

【摘要】:

本次设计是基于单片机AT89S52为控制核心的电子密码锁。

按系统功能划分,可分为控制与开锁两大部件,控制部分由单片机AT89S52、LED发光二极管显示、键盘等组成。

开锁部分由单片机AT89S52、电机锁控制电路等组成。

系统能够完成自动开锁,重设密码等基本的密码锁功能,在不断电的情况下,具有工作稳定可靠,保密性高,实用性强等特点。

【关键词】:

单片机AT89S52,汇编语言,wave软件,Altiumdesigner,

印制电路板PCB

【Abstract】:

Thedesignisbasedonthesingle-chipAT89S52thecoretocontroltheelectroniclocks.Dividedbythesystemcanbedividedintocontrolandunlockthetwoparts,controlinpartbythesingle-chipAT89S52,LEDlight-emittingdiodedisplay,keyboard,andsoon.Unlockinpartbythesingle-chipAT89S52,electriclockcontrolcircuitandsoon.Systemcanbecompletedautomaticallyunlock,resetthepasswordforthepasswordlockandotherbasicfunctions,withastableandreliablework,highconfidentiality,practicalandsoon.

【KeyWords】:

Single-chipAT89S52,assemblylanguage,wavesoftware,Altiumdesigner,

PrintedcircuitboardPCB,

 

目录

第一章引言…………………………………………………(4)

第二章单片机应用系统概述………………………………(4)

1.1单片机密码锁概述…………………………………(5)

1.2本设计任务主要内容………………………………(5)

第三章电子密码锁的原理…………………………………(7)

2.1密码锁的基本论述………………………………...(7)

第三章系统主要硬件设计………………………………….(8)

3.1方案论证与比较……………………………………(8)

3.1.1键盘电路……………………………………(8)

3.1.2缓冲电路…………………………………...(9)

3.1.3电压拉升电阻……………………………...(10)

3.1.4LED显示器……………………………...(10)

3.2单片机主机系统电路……………………………....(11)

3.2.1单片机电路………………………………...(12)

3.2.2复位电路…………………………………...(12)

3.2.3时钟电路…………………………………...(13)

第四章系统软件设计

4.1系统程序结构……………………………………....(14)

4.2系统主程序………………………………………....(14)

4.3基于Proteus的软件仿真…………………………..(21)

第五章PCB设计……………………………………………..(23)

5.1元件选择……………………………………………..(23)

5.2Altiumdesigner原理图的绘制……………………….(23)

5.3元件封装制作………………………………………...(24)

5.4PCB的电磁兼容性设计……………………………...(24)

5.5布局布线……………………………………………..(28)

5.6制造文件输出………………………………………..(29)

第六章元件采购……………………………………………….(33)

6.1BOM文件导出……………………………………….(33)

6.2元件采购……………………………………………..(35)

6.3电路板焊接…………………………………………...(35)

第7章结束语………………………………………………….(38)

致谢……………………………………………………………...(39)

附录……………………………………………………………...(40)

A系统原理图…………………………………………....(40)

源程序…………………………………………...................(40)

参考文献………………………………………………………...(50)

 

第一章引言

1.1单片机应用系统概述

自从1971年微处理器研制成功后,不久就出现了单片微型计算机。

1976年Intel公司推出的MCS-48系列8位单片机,以其优良的特点得到广泛运用。

为以后的单片机发展打下基础。

后来的单片机,一直以此构架发展至今。

单片机是一个单芯片形态、面向控制对象的嵌入式应用计算机系统。

它的出现及发展使计算机技术从通用型数值计算领域进入到智能化的控制领域。

从此,计算机技术在两个重要领域——通用计算机领域和嵌入式计算机领域都得到了极其重要的发展,并正在深深地改变着我们的社会。

嵌入式系统无疑是当前最热门、最具有发展前天的IT应用之一。

嵌入式系统的应用可以使传统的电子系统升级成为智能化的电子产品,使其成为具有“生命”的现代化智能系统。

嵌入式系统一般应用于对实时响应要求较高的设备中,单片机作为嵌入式系统的核心部件,其应用使电子系统的智能化出现了意想不到的效果,常常无需对硬件资源做任何改动,只需更新系统软件就能使系统功能升级。

现代社会中嵌入式系统无处不在,早已被应用在国防、国民经济、以及人们日常生活的各个领域,主要可以归纳为一下几个方面。

(1)军事装备:

各种武器控制(火炮控制、弹道控制、炮弹引信等),坦克、舰船、轰炸等各种电子装备,雷达、电子对抗、军事通讯装备等。

(2)家用电器:

各种家电产品,如数字电视、机顶盒、数码相机、VCD、DVD、可视电话、洗衣机、电冰箱、手机、智能玩具等。

(3)工业控制:

各种智能仪器仪表、数控装置、可编程控制器、分布式控制系统、工业机器人、机电一体化设备、汽车电子设备等。

(4)商用设备:

各种收款机、POS系统、电子秤、条形码阅读器、商务终端、IC卡输入设备、自动柜员机、防盗系统等。

(5)办公用品:

复印机、打印机、传真机、扫描仪、手机、个人数字助理(PDA)、变频空调设备、通信终端、程控变换机、网络设备等。

(6)医疗电子设备:

各种医疗电子仪器,如X光机、超声诊断仪、心脏起搏器、监护仪器等,以及辅助诊断系统、专家系统等。

单片机应用系统的设计包括单片机基本扩展、外围电路设计和程序设计、单片机应用系统开发环境、系统可靠性设计、电磁兼容性设计等内容。

通常开发一个单片机系统的步骤如下:

 

1.2单片机密码锁概述

随着电子技术的发展,具有防盗报警、语音提示等功能的电子密码锁代替安全性差的机械式密码锁已必然趋势。

目前大部分密电子码锁采用单片机进行设计,其主要特点是:

1.电路较简单,小巧灵活,成本低,易于产品化。

2.面向控制,能针对性地解决从简单到复杂的各类控制任务,因而有较高的性价比。

3.抗干扰能力强,适应温度范围宽,在各种恶劣的环境条件下都能可靠的工作,这是其他机种无法比拟的。

4.可以很方便的实现多机和分布控制,使整个系统的效率和可靠性大为提高。

1.3本设计任务的主要内容

1密码锁设计要求如下:

1)能进行密码重置;

2)能进行自动开锁;

3)能有正确的显示(LED)用于提示;

4)具有抗干扰能量;

5)体积小、功耗低、便于嵌入到其他系统。

2硬件电路的设计

1)方案的论证

2)元件的选择

3)用Altiumdesigner绘制原理图

3系统的PCB制作

1)PCB布局布线;

2)PCB实验板的焊接。

4系统软件的编写

1)软件的编写和编译检查;

2)基于Proteus的软件仿真。

5电路板实验测试

1)能否完成以上的功能

6分析数据

1)分析此次设计的不足

 

第二章电子密码锁的原理

2.1电子密码锁原理论

电子锁具的组成框图,它是以51系列单片机(AT89S52)为核心,配以相应硬件电路,完成密码的设置、存贮、识别和显示、开锁、等基本功能。

  单片机接收键入的代码,并与存贮在flashROM中的密码进行比较,如果密码正确,则驱动电机转动示意开锁;如果密码不正确,则允许操作人员重新输入密码,

关键技术

  为了提高智能密码锁的安全性、可靠性,应该在器件选择上采取措施(如采用低功耗、宽温度范围的器件),在设计中还采用了一些关键技术。

下面是一些电子密码锁图片:

 

图2-1电子密码锁图2-2电子密码锁

 

第三章系统主要硬件设计

3.1方案论证与比较

单片机采用Atmel公司的AT89S52,其他外围电路如下

3.1.1键盘3x5

图3-1键盘电路

矩阵式键盘的工作原理及接口:

矩阵式键盘的优点:

约I/O口线。

键盘扫描程序包括:

粗扫描,逐列扫描,求键值三大步骤。

(1)粗扫描

粗扫描可粗略的判断整个键盘上有无键按下,开始时设置所有列线(P20-P22)为低电平,当无键按下时,因各行线与各列线相互断开,各行线(P00-P04)均保持为高电平当有键按下时则相应的行线与列线相连,该行行线变为低电平,由此可见粗扫描的步骤如下:

①输出P20P21P22=000

②输入P00P01P02P03P04=11111,则无键按下;若非全为1,则有键按下

(2)逐列扫描

通过粗扫描能初步判断是否有键按下,但是按下的键时哪一列哪一行的还是不明确,必须通过逐列扫描加以确定。

逐列扫描的步骤如下:

①设置第0列扫描码:

P20P21P22=110

②输入列扫描码P20P21P22,扫描该列,

③输入P00P01P02P03P04,若P00P01P02P03P04为全1,则该列无键按下。

修改列扫描码P20P21P22=101,转②,③扫描下一列,重复直至3列扫描完。

④若扫描某列时,输入P00P01P02P03P04非全为一,则该列有键按下

例如:

当列扫描码P20P21P22=011,输入行码P00P01P02P03P04=11110

则可以判断0行,一列有键按下。

可见,根据列扫描码及行码可知被按键的坐标位置(又称位置码)。

(3)求键值。

根据按键的位置码求键值的方法很多,对于3x5键盘可采用查表的方法求键值。

先将键盘上各键对应的行码和列码组成键识别码。

键盘识别码=行码求反+列码

键盘上的每一个键对应唯一的识别码,先将键盘识别码存入表格中,在通过查表法,查出键值。

键盘识别码表如下:

8DH,8BH,87H

4DH,4BH,47H

2DH,2BH,27H

1DH,1BH,17H,8EH

 

3.1.2缓冲电路

图3-2缓冲电路(74ls07)

74ls07是TTL六位高压输出缓冲器/驱动器(oc,30v)

3.1.3电压拉升电阻

 

图3-3电压拉升电阻

单片机端口不能直接驱动LED亮,所以要加电压上拉电阻把电压提高。

用以点亮LED显示

3.1.4LED显示器

共阴极LED显示字符与对应的七段码表

显示字符

D7D6D5D4D3D2D1D0

七段码

dpgfedcba

0

00111111

3FH

1

00000110

06H

2

01011011

5BH

3

01001111

4FH

4

01100110

66H

5

01101101

6DH

6

01111101

7DH

7

00000111

07H

8

01111111

7FH

9

01101111

6FH

A

01110111

77H

B

01111100

7CH

C

00111001

39H

D

01011110

5EH

E

01111001

79H

F

01110001

71H

P

01110011

73H

U

00113110

3EH

H

01110110

76H

.

10000000

80H

空白

00000000

00H

图3-4LED显示器

3.2单片机主机系统电路

Atmel公司的AT89S52,该单片机主要特点如下:

(1)AT89S52系列单片机以8051为内核,兼容MCS-51系列单片机。

(2)AT89S52系列单片机内、内部含有Flash存储器,在系统开发可以反复擦写。

(3)AT89S52采用静态时钟方式,可以节省电能。

(4)AT89S52支持ISP(在线编程),不需要把单片机从电路板取下来就可以擦写程序。

(5)AT89S52晶振频率高达24M,运行速度更快。

(6)AT89S52价格也比较便宜

(7)增加了看门狗电路,防止程序“走飞”,更加安全可靠。

3.2.1单片机电路

图3.2.1单片机主电路

引脚功能:

P1口用来送显示信号给LED的数据,P200~P202送命令到LED控制LED的显示方式。

P00-P04和P200-P202接键盘电路。

3.2.2复位电路

单片机在RESET端加一个大于20ms正脉冲即可实现复位,上电复位和按钮组合的复位电路如下图:

在系统上电的瞬间,RST与电源电压同电位,随着电容的电压逐渐上升,RST电位下降,于是在RST形成一个正脉冲。

只要该脉冲足够宽就可以实现复位,即

ms。

一般取R

4.7

,C

22uF。

当人按下按钮S1时,使电容C1通过R1迅速放电,待S1弹起后,C再次充电,实现手动复位。

图3.2.2复位电路

3.2.3时钟电路

当使用单片机的内部时钟电路时,单片机的XATL1和XATL2用来接石英晶体和微调电容,如图所示,晶体一般可以选择3M~24M,电容选择30pF左右。

我们选择晶振为12MHz,电容33pF。

图3.2.3时钟电路

第四章系统软件设计

4.1系统程序的结构

(1)本次设计使用汇编语言编写程序,汇编语言运行速度快,效率高。

但是不利于阅读,这方面比C语言稍差

(2)主程序,分为键盘扫描程序和显示程序,还有一些基本的控制程序。

4.2系统主程序

本设计主程序的思想如下:

程序设计框图:

(1)如果输入密码正确,显示RIg;

(2)如果输入密码错误则显示ERR;

(3)如果按下重新设置密码键,则显示RSE;

(4)在重置和输入过程中有相应的提示。

(5)系统采用AT89S52的内时钟:

12MHz;

(6)没有使用看门狗功能;

(7)密码正确电机转动,示意开门

键盘扫描程序如下:

ORG0000H

MOVR1,#11H

COM:

MOV@R1,#08H

INCR1

CJNER1,#17H,COM;设置初始密码,并放在21H-26H中

MOVR1,#20H

MOVP3.0,#0

MOVP1,#00H

KEYD:

MOVP2,#00H

MOVA,P0

CPLA

ANLA,#1FH

JNZKEYD1

LJMPKEYD

KEYD1:

LCALLTM12ms;消抖动延时

MOVR2,#0FEH

KEYD2:

MOVP2,R2

MOVA,P0

CPLA

ANLA,#1FH

JNZKEYD3

MOVA,R2

RLA

MOVR2,A

CJNEA,#0F7H,KEYD2;判断是否三列扫描完毕

LJMPKEYD

KEYD3:

RLA

RLA

RLA

MOV34H,R2

ANL34H,#07H

ORLA,34H

MOV34H,A

MOVDPTR,#KEYTAB

MOVR3,#0FFH

LP:

INCR3

CLRA

MOVCA,@A+DPTR

INCDPTR

CJNEA,34H,LP;查表求键值

KDL:

MOVA,P0;判断按键是否释放

ANLA,#1FH

CJNEA,#1FH,KDL

LCALLTM12ms

MOVA,R3;判断是否按下重新设置密码键

CJNEA,#0BH,AOM

LCALLADISP

MOVR6,#1BH

MOVR1,#20H

LJMPKEYD

AOM:

MOVA,R3;判断是否按下清除键

CJNEA,#0AH,AOM1

LCALLBACK

MOVA,R1

ANLA,#0F0H

CJNEA,#10H,AOM2

LCALLEDISP

AOM2:

LCALLDDISP

LJMPKEYD

AOM1:

INCR1

MOVA,R3

MOV@R1,A

MOVA,R1

CJNEA,#17H,AOM3;判断是不是输入密码完毕

JMPAOM4

AOM3:

LJMPAOM5

AOM4:

MOVA,@R1

CJNEA,#0CH,AOM6

MOVR1,#20H

LCALLGDISP

LJMPKEYD

AOM6:

DECR1

LJMPKEYD

AOM5:

CJNER1,#27H,AOM7:

判断是不是重设密码完毕

JMPAOM9

AOM7:

MOVA,R1;如果既不是重设密码完毕,也不是输入密码完毕那么显示

ANLA,#0F0H

CJNEA,#10H,AOM8

LCALLEDISP

AOM8:

LCALLDDISP

LJMPKEYD

AOM9:

MOVA,@R1

CJNEA,#0CH,BOM

LJMPBOM1

BOM:

DECR1

LJMPKEYD

BOM1:

MOVR1,#21H

MOVR0,#11H

BOM2:

MOVA,@R0

MOV36H,@R1

CJNEA,36H,ERROR

LJMPBOM3

ERROR:

MOVR1,#20H

LCALLCDISP

LJMPKEYD

BOM3:

INCR0

INCR1

MOVA,R1

CJNER1,#27H,BOM2;判断是不是验证密码完毕

LCALLBDISP;验证程序

BOM4:

CJNER6,#1BH,OK

MOVR1,#10H

MOVR6,#00H

LJMPKEYD

OK:

MOVR1,#20H

LCALLFDISP

MOVP3.0,#1

MOV50H,#0FFH

SHI:

LCALLTM12ms

DJNZ50H,SHI

MOVP3.0,#0

LJMPKEYD

KEYTAB:

DB43H,45H,46H

DB23H,25H,26H

DB13H,15H,16H

DB0BH,0DH,0EH,83H

按下重新设置密码键的显示程序:

ADISP:

MOVR0,#0FFH

ADISP1:

MOV30H,#00H

MOVR4,#01H

MOVR5,#0FFH

ADISP2:

MOVP2,#00H

MOVA,30H

MOVDPTR,#BBRSE

MOVCA,@A+DPTR

MOVP2,R4

MOVP1,A

ADISP3:

DJNZR5,ADISP3

INC30H

MOVA,R4

RLA

MOVR4,A

JBAcc.4,ADISP2

DJNZR0,ADISP1

MOVP1,#0FFH

RET

BBRSE:

DB88H,92H,86H

其他显示程序原理相同,故此处不一一列出,完整程序在附录中已经列出。

如有需要,请参考附录上的程序。

谢谢!

延时程序:

TM12ms:

MOVR7,#18H;延时12毫秒

TM:

MOVR0,#0FFH

TM2:

DJNZR0,TM2

DJNZR7,TM

RET

 

4.3基于Proteus的软件仿真

Proteus是一款功能强大的软件,其ISIS用来做仿真十分方便,尤其是单片机系统的仿真,我们在本设计的试验初期,用Proteus来仿真我们的软件程序,以便验证我们的设计的可行性做出分析。

首先在软件中找到我们设计用的元件,然后连接好电路图,设置好各个元件的参数值,特别注意在LED显示器上连接需要接上拉电阻。

电路图如下:

用Proteus绘制好电路图后导入程序文件(HEX文件),然后就可以执行仿真

软件有时候仿真不太正确,但大体上是正确的,能给我门的设计起到指引的作用。

为我门设计成功提供便利条件。

 

第五章PCB设计

5.1元件选择

软件和硬件设计完成后就可以开始制作试验样板,首先是元件的选择,通过找资料和比较,本设计采用Atmel公司的AT89S52单片机,LED显示器

以及74LS07和按键等。

元件如下图所示

LED显示器

按键

5.2AltiumDesigner原理图的绘制

AltiumDesinger6是Protel的最新高版本,其功能强大,集成原理图设计,PCB设计,信号完整性分析,SPICE仿真,FPGA设计等。

Altiumdedsigner6操作更加容易,功能更加完善。

我们采用它来做我们的原理图和PCB设计。

首先绘制原理图。

绘制原理图时注意:

连线简洁,在同一图纸上元件线路多则使用网络标号来表示,

而多张图纸使用端口Port来连接他们:

连线要清楚的表示连接关系,当连接线路比较多而且集中时可以使用总线

来连接它们。

绘制完成后对所有元件做一个编号操作和编译检查。

主要是检查电路的连接是否符合电气规则。

5.3元件封装的建立

在绘制完成原理图后接下来就是确定元件的封装。

元件的封装必须按照元件实物来确定其大小,比如焊盘大小、外轮廓的大小等,绘制封装过程中注意焊盘

必须设置成多层上,元件的外轮廓绘制在TopOverLay,通常第一焊盘设置成方形。

建立之后必须和原理图元件关联起来。

一些典型的元件封装如下:

 

5.

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

当前位置:首页 > 高等教育 > 医学

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

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