基于单片机的电子密码锁设计Word文档下载推荐.docx

上传人:b****6 文档编号:19593737 上传时间:2023-01-08 格式:DOCX 页数:22 大小:262.30KB
下载 相关 举报
基于单片机的电子密码锁设计Word文档下载推荐.docx_第1页
第1页 / 共22页
基于单片机的电子密码锁设计Word文档下载推荐.docx_第2页
第2页 / 共22页
基于单片机的电子密码锁设计Word文档下载推荐.docx_第3页
第3页 / 共22页
基于单片机的电子密码锁设计Word文档下载推荐.docx_第4页
第4页 / 共22页
基于单片机的电子密码锁设计Word文档下载推荐.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

基于单片机的电子密码锁设计Word文档下载推荐.docx

《基于单片机的电子密码锁设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子密码锁设计Word文档下载推荐.docx(22页珍藏版)》请在冰豆网上搜索。

基于单片机的电子密码锁设计Word文档下载推荐.docx

89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用ATMEL公司可靠的CMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。

 

表3-1STC89C52功能特性

标准MCS-51内核和指令系统

片内8kROM(可扩充64kB外部存储器)

32个双向I/O口

256x8bit内部RAM(可扩充64kB外部存储器)

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

时钟频率3.5-12/24/33MHz

向上或向下定时计数器

改进型快速编程脉冲算法

6个中断源

5.0V工作电压

全双工串行通信口

布尔处理器

—帧错误侦测

4层优先级中断结构

—自动地址识别

兼容TTL和CMOS逻辑电平

空闲和掉电节省模式

PDIP(40)和PLCC(44)封装形式

STC89C52引脚介绍

VCC:

供电电压。

GND:

接地。

1、P0口:

P0口为一个8位漏级开路双向I/O口,名称为P0.0~P0.7。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

本系统中把“单片机系统”区域中的P0.0端口用导线连接到报警器上,用来提示密码输入的正确或错误并发出相应的声音。

2、P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,名称为P1.0~P1.7。

P1口的输出缓冲器可驱动(吸收或输出电流)4个TTL逻辑门电路。

本系统中把“单片机系统”区域中的P1.0—P1.7用导线连接到数码管显示器的一端。

用来实现数码管的显示。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,名称为P2.0~P2.7。

本系统中把“单片机系统”区域中的P2.0—P2.7用导线连接到三极管的一端通过三极管放大输入到数码管显示器上。

本系统中由“单片机系统”区域中的P1口和P2口共同来完成数码管的显示。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,名称为P3.0~P3.7。

本系统中把单片机系统中P3.0-P3.3和P3.4-P3.7端口分别连接到的4×

4行列式键盘中的四条横线、四条竖线上,用来完成密码的输入。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

/PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两/PSEN有效。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出。

图3-2STC89C52引脚图

最小系统包括单片机及其所需的必要的电源、时钟、复位等部件,能使单片机始终处于正常的运行状态。

(1)时钟电路

STC89C52单片机的时钟信号通常有两种方式产生:

一是内部时钟方式,二是外部时钟方式。

内部时钟方式如图3-3所示。

在STC89C52单片机内部有一振荡电路,只要在单片机的XTAL1(18)和XTAL2(19)引脚外接石英晶体(简称晶振),就构成了自激振荡器并在单片机内部产生时钟脉冲信号。

图3-3STC89C52内部时钟电路

(2)复位电路

当在STC89C52单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作。

本设计就是用的按键手动复位。

按键手动复位有电平方式和脉冲方式两种。

其中电平复位是通过RST(9)端与电源Vcc接通而实现的。

图3-4STC89C52复位电路

3.4七段数码管显示器部分

七段LED显示器由7个发光二极管组成,其中7个长条形的发光管排列成“日”字形,如上图所示,由七个发光二极管组成的七段显示器。

如再加一个贺点形的发:

共阴和共阳结构的LED显光管在显示器的右下角作为显示小数点用,则组成八段LED显示器。

它能显示各种数字及部份英文字母。

LED显示器有两种不同的形式:

一种是8个发光二极管的阳极都连在一起的,称之为共阳LED显示器;

另一种是8个发光二极管的阴极都连在一起的,称之为共阴LED显示器

图3-5STC89C52复位电路

3.5键盘设计

本设计就采用行列式键盘。

2和4,1和3各为一对通断按钮。

本设计使用2和4引脚。

各行2引脚相串联分别连接单片机的P1.0-P1.4引脚。

各列4引脚相串联分别连接单片机的P1.5-P1.7引脚。

图3-6键盘整体模框图

3.6蜂鸣器模块

蜂鸣器驱动电路包含三个部分:

三极管、蜂鸣器、限流电阻。

蜂鸣器为发声元件,在其两端施加直流电压(有源蜂鸣器)就可以发声。

三极管Q1起开关作用,其基极的低电平使三极管饱和导通,使蜂鸣器发声;

而基极高电平则使三极管关闭,蜂鸣器停止发声。

图3-7蜂鸣器电路 

4系统软件设计

4.1主程序模块

本系统软件设计由主程序、初始化程序、数码管显示程序、键盘扫描程序、键功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。

图4-1主程序的流程图

4.2软件调试

在硬件支持的环境下,用proteus设计好的电路,Keil编好的程序编译成芯片可识别的hex文件,利用PC机写进proteus程序图芯片内进行仿真测试,并对其出现的错误进行修改。

5系统制作及调试

5.1焊接注意事项

LCD的注意事项:

(1) 

焊接LCD基板时,将其小心、平衡地插入万用板插孔焊接,,以避免损坏基板也比较美观。

(2) 

焊接时,基板不宜长时间置于焊锡蒸汽中,焊接时间保持在10秒以内。

(3)显示器表面保护膜直到焊接完成再揭掉,以免污染显示器表面。

单片机焊接注意事项:

STC89C52单片机芯片相比较而言是脆弱的,所以需要使用芯片底座,一切焊接结束之后下载好程序再把单片机插入底座。

其他的电子器件焊接注意事项:

5.2硬件调试问题及解决方法

本设计在焊接调试时遇到的问题以及解决方法:

数码管显示器焊接时的问题:

(1)接通电源后,Lcd显示不亮,调整电路之后,显示亮度合适。

(2)接通电源后不能正常运行,推断可能是程序出现问题。

重新下载程序,可以运行。

6结论

我们刚开始决定做这个课题时,感觉对此摸不透头绪,可以说是一头雾水,毫无经验可言。

题目确定以后开始做这个设计。

我们小组先是进行了收集资料,选择方案,确定要用到的器件然后手工绘制简单的原理图以及编写程序。

之后我们分工合作,一人主攻对各个器件的原理、功能以及器件各引脚的分布、作用。

一人主攻熟悉仿真软件和程序编译、下载。

一人主攻实物焊接。

虽然各有主攻方向但遇到问题时依然是相互探讨商议。

在做课程设计的过程中原理图绘制颇费了点劲但最终还是做到了,理论上可以实现。

接下来是焊接部分,这块完成的很快,只是在显示焊接上有点问题,经调整之后,可正常运行。

通过这次的课程设计,发现自己对于编程这块欠缺太多,对C理解和运用不够深。

而在原理图和焊接方面比较熟练,遇到的问题可以解决。

也明白做一件事需要耐心和知识,再者就是查资料和合作。

细心的坚持下去就可以做到想做的事。

在以后的学习工作中依然需要努力,加油向上。

参考文献

[1]何宏.单片机原理与接口技术.[M]北京:

国防工业出版社.2006.07.10~50

[2]谢宜仁.单片机实用技术问答.[M]北京:

人民邮电出版社 

.2003.02.80~121

[3]梁丽.电子密码锁的计算机仿真设计.[M]北京:

国防工业出版社.2005.45~80

[4]赵益、徐晓林、周振峰.电子密码锁的系统原理.[M]北京:

清华大学出版社.2003.15.10~14

[5]房小翠、王金凤.单片机实用系统设计技术.[M]北京:

国防工业出版社 

.1999.06.60~128

[6]张培仁.基于C语言编程MCS-51单片机原理与应用.[M]北京:

清华大学出版社.2002.12.90~160

[7]龚运新.单片机C语言开发技术.[M]清华大学出版社.2006.10.52~97

附录1:

实物图

附录2:

元件清单

序号

名称

规格

数量

1

线路板

单面pcb板

2

按键

12*12

3

数码管

4位

4

电阻

4.7K

9

5

1K

6

10K

7

排阻

1k

8

三极管

9012

蜂鸣器

10

单片机

STC89C52

11

电解电容

10uf

12

瓷片电容

30pf

13

瓷片电容分

104

14

集成电路插座

40脚

15

晶振

12m

16

发光二极管LED

17

6*6

附录3:

电路原理图

附录4:

程序

#include<

at89x52.H>

unsignedcharwl[]={1,2,3,4,5,6};

unsignedcharcodewl1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

//扫描

unsignedcharcodewl2[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,

0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,0x40,0x73,0xff};

//数码管显示数字部分

unsignedcharcodewl8[]={0x00,0x00,0x77,0x3f,0x77,0x77,0x79,0x5b};

//数码管显示2error

unsignedcharcodewl9[]={0x00,0x00,0x3f,0x38,0x38,0x79,0x76,0x06};

//数码管显示1hello

unsignedcharwl3[8]={18,16,16,16,16,16,16,16};

unsignedcharwl4;

unsignedcharwl5;

unsignedcharwl6;

unsignedcharwl7;

unsignedcharzw;

unsignedcharzq;

unsignedcharwl7count;

unsignedcharwllen=6;

unsignedchargetwl[6];

bitwl7overflag;

biterrorflag;

bitrightflag;

unsignedintsecond3;

unsignedintaa,bb;

unsignedintcc;

bitwl8flag;

bitalarmflag;

bithibitflag;

unsignedcharwl8a,wl8b;

voidmain(void)

{unsignedchari,j;

TMOD=0x01;

TH0=(65536-300)/256;

TL0=(65536-300)%256;

TR0=1;

ET0=1;

EA=1;

while

(1)//键盘输入部分

{P3=0xff;

P3_4=0;

wl6=P3;

wl6=wl6&

0x0f;

if(wl6!

=0x0f)

{

for(i=10;

i>

0;

i--)

for(j=248;

j>

j--);

wl6=P3;

wl6=wl6&

{wl6=P3;

wl6=wl6&

switch(wl6)

case0x0e:

wl7=12;

break;

case0x0d:

wl7=13;

case0x0b:

wl7=14;

case0x07:

wl7=15;

}

//P1_1=~P1_1;

if((wl7>

=0)&

&

(wl7<

10))

{if(wl7count<

6)

{getwl[wl7count]=wl7;

wl3[wl7count+2]=19;

wl7count++;

if(wl7count==6)

{wl7count=6;

elseif(wl7count>

wl7overflag=1;

//wl7overflow}

elseif(wl7==12)//deletewl7

if(wl7count>

0)

wl7count--;

getwl[wl7count]=0;

wl3[wl7count+2]=16;

else

elseif(wl7==15)//enterwl7

if(wl7count!

=wllen)

errorflag=1;

rightflag=0;

second3=0;

for(i=0;

i<

wl7count;

i++)

if(getwl[i]!

=wl[i])

i=wl7count;

gotoa;

errorflag=0;

rightflag=1;

a:

while(wl6!

wl7overflag=0;

//?

?

P3=0xff;

P3_5=0;

wl7=11;

wl7=3;

wl7=6;

wl7=9;

if(wl7count<

getwl[wl7count]=wl7;

wl7count=6;

//wl7overflow

gotoa4;

a4:

P3_6=0;

wl7=10;

wl7=2;

wl7=5;

wl7=8;

gotoa3;

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

当前位置:首页 > 成人教育 > 专升本

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

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