电子密码锁Word格式文档下载.docx
- 文档编号:22102503
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:50
- 大小:315.58KB
电子密码锁Word格式文档下载.docx
《电子密码锁Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《电子密码锁Word格式文档下载.docx(50页珍藏版)》请在冰豆网上搜索。
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
AT89S52主要特性如表1所示。
表1AT89S52主要特性
兼容MCS-51指令系统
8k可反复擦写(>
1000次)ISPFlashROM
32个双向I/O口
4.5-5.5V工作电压
3个16位可编程定时/计数器
时钟频率0-33MHz
全双工UART串行中断口线
256x8bit内部RAM
2个外部中断源
低功耗空闲和省电模式
中断唤醒省电模式
3级加密位
看门狗(WDT)电路
软件设置空闲和省电功能
灵活的ISP字节和分页编程
双数据寄存器指针
2.2.2存储芯片AT24C02
AT24C02是美国Atmel公司的低功耗CMOS型E²
PROM,内含256×
8位存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)、抗干扰能力强、数据不易丢失、体积小等特点。
而且他是采用了I²
C总线式进行数据读写的串行器件,占用很少的资源和I/O线,并且支持在线编程,进行数据实时的存取十分方便。
AT24C02中带有的片内地址寄存器。
每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。
所有字节均以单一操作方式读取。
为降低总的写入时间,一次操作可写入多达8个字节的数据。
I2C总线是一种用于IC器件之间连接的二线制总线。
他通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。
AT24C02正是运用了I²
C规程,使用主/从机双向通信,主机(通常为单片机)和从机(AT24C02)均可工作于接收器和发送器状态。
主机产生串行时钟信号(通过SCL引脚)并发出控制字,控制总线的传送方向,并产生开始和停止的条件。
无论是主机还是从机,接收到一个字节后必须发出一个确认信号ACK。
AT24C02的控制字由8位二进制数构成,在开始信号发出以后,主机便会发出控制字,以选择从机并控制总线传送的方向[7]。
管脚描述:
SCL为串行时钟:
串行时钟输入管脚用于产生器件所有数据发送或接收的时钟这是一个输入管脚。
SDL为串行数据/地址:
双向串行数据/地址管脚用于器件所有数据的发送或接收SDL,是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线或。
A0、A1、A2为器件地址输入端:
当使用24C02时最大可级联8个器件,如果只有一个24C02被总线寻址,这三个地址输入脚A0、A1、A2可悬空或连接到Vss。
WP为写保护:
如果WP管脚连接到Vcc所有的内容都被写保护只能读当WP,管脚连接到Vss或悬空,允许器件进行正常的读/写操作[12]。
管脚图如图3所示。
图3AT24C02引脚图
2.2.3LCD1602显示器
现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了。
1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。
1602型LCD可以显示2行16个字符,有8位数据总线D0~D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能[8]。
接口信号说明:
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背光源负极
主要技术参数[9]:
1602型LCD的主要技术参数如表3所示。
表31602型LCD的主要技术参数
显示容量
16×
2个字符
芯片工作电压
4.5~5.5V
工作电流
2.0mA(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=高脉冲输出:
2.3硬件设计
本系统外围电路包括键盘输入部分、密码存储部分、复位部分、显示部分、报警部分、开锁部分组成,根据实际情况键盘输入部分选择4×
4矩阵键盘,显示部分选择字符型液晶显示LCD1602,密码存储部分选用AT24C02芯片来完成。
其原理图如图4所示。
图4电路原理图
2.3.1键盘输入模块
由于本设计所用到的按键数量较多而不适合用独立按键式键盘。
采用的是矩阵式按键键盘,它由行和列组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多I/O口。
本设计中使用的这个4×
4键盘不但能完成密码的输入还能作特别功能键使用。
键盘的每个按键功能在程序设计中设置。
它与单片机的连接如图5所示。
图5键盘输入模块
2.3.2密码存储模块
图6所示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中带有片内地址寄存器。
所有字节均以单一操作方式读取[10]。
图6密码存储电路
2.3.3复位部分
单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。
该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容C1上的电压很小,复位下拉电阻上的电压接近电源电压,即RST为高电平,在电容充电的过程中RST端电压逐渐下降,当RST端的电压小于
某一数值后,CPU脱离复位状态,由于电容C1足够大,可以保证RST高电平有效时间大于24个振荡周期,CPU能够可靠复位。
增加手动复位按键是为了避免死机时无法可靠复位。
当复位按键按下后电容C1通过R5放电。
当电容C1放电结束后,RST端的电位由R5与R6分压比决定。
由于R5<
<
R6因此RST为高电平,CPU处于复位状态,松手后,电容C1充电,RST端电位下降,CPU脱离复位状态[11]。
R5的作用在于限制按键按下瞬间电容C1的放电电流,避免产生火花,以保护按键触电。
其电路如图7所示。
图7复位电路
2.3.4晶振部分
AT89S52引脚XTAL1和XTAL2与晶体振荡器及电容C2、C3按图4-5所示方式连接。
晶振、电容C2/C3及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器[12],振荡信号频率与晶振频率及电容C2、C3的容量有关,但主要由晶振频率决定,范围在0~33MHz之间,电容C2、C3取值范围在5~30pF之间。
根据实际情况,本设计中采用12MHZ作为系统的外部晶振。
电容取值为10pF。
其电路图如图8所示。
图8晶振电路
2.3.5显示模块
显示部分由液晶显示器LCD1602取代普通的数码管完成。
开锁时,按下键盘上的开锁按键后,利用键盘上的数字键0-9输入密码,每按下一个数字键后在显示器上显示一个*,输入多少位就显示多少个*。
当密码输入完成时,按下确认键,如果输入的密码正确的话,LCD显示“DOOROPEN”,单片机其中P2.0引脚会输出低电平,使三极管T2导通,电磁铁吸合,继电器开关跳转,电子密码锁被打开,如果密码不正确,LCD显示屏会显示“CODEWRONG”,P2.0输出的是高电平,电子密码锁不能打开。
通过LCD显示屏,可以清楚地判断出密码锁所处的状态。
电路图如图9所示。
图9显示电路
2.3.6报警部分
报警部分由陶瓷压电发声装置及外围电路组成,加电后不发声,当有键按下时,“叮”声,每按一下,发声一次,密码正确时,不发声直接开锁,当密码输入错误时,单片机的P2.1引脚为低电平,三极管T3导通蜂鸣器发出噪声报警。
如图10所示。
图10报警电路
2.3.7开锁部分
开锁控制电路的功能是当输入正确的密码后将锁打开。
系统使用单片机其中一引脚线发出信号,经三极管放大后,由继电器驱动电磁阀动作将锁打开。
用户通过键盘任意设置密码,并储存在E2PROM中作为锁码指令。
只有用户操作键盘时,单片机的电源端才能得到3V电源,否则,单片机处于节电工作方式。
开锁步骤如下:
首先按下键盘上的开锁按键,然后利用键盘上的数字键0-9输入密码,最后按下确认键。
当用户输入密码后,单片机自动识别密码,如果密码不符,则报警。
只有当密码正确,单片机才能使继电器处于开锁状态。
具体电路如图11所示。
图11开锁电路
2.4软件设计
2.4.1主程序
主程序设计流程图如图12所示。
图12主程序流程框图
2.4.2键功能程序
键功能程序流程图如图13所示。
图13键功能程序流程图
2.4.3开锁程序
开锁程序流程框图如图14所示。
图14开锁程序流程图
2.4.4子程序举例
开锁子程序:
if(sk[15]==1)//>
>
提示输入密码
{
GotoXY(0,0);
count=0;
Print("
Code:
"
);
count1=1;
count2=1;
count6=1;
sk[15]=0;
sk[14]=0;
m=0;
cp[0]=1;
}
if((count!
=0)&
&
(count1==1))//>
LCD上显示"
*"
{
if(count==1)
{GotoXY(0,0);
Print("
*
}
if(count==2)
**
}
if(count==3)
***
if(count==4)
****
"
if(count==5)
*****
if(count==6)
******
}
if(count>
6)
count1=0;
if((sk[14]==1)&
(count6==1))//>
按下确认,刚进入较验
//>
密码正确
if((password[0]==cq[0])&
(password[1]==cq[1])&
(password[2]==cq[2])&
(password[3]==cq[3])&
(password[4]==cq[4])&
(password[5]==cq[5])&
(count==6))
DoorOpen!
count=0;
count2=0;
m=0;
count4=1;
DelayMs(1000);
count6=1;
P2_0=0;
DelayMs(500);
P2_0=1;
密码错误
LCD_Initial();
cp[0]=0;
else
{GotoXY(0,0);
Codewrong!
);
count6=0;
m=0;
p3_6=0;
DelayMs(100);
DelayMs(3000);
p3_6=1;
LCD_Initial();
//密码错误
按键扫描子程序:
voidCheck_Key(void)
unsignedintrow,col,tmp1,tmp2;
tmp1=0x10;
//tmp1用来设置P1口的输出,取反后使P1.4~P1.7中有一个为0
for(row=0;
row<
4;
row++)//行检测
P1=0x0f;
//先将p1.0~P1.3置高
P1=~tmp1;
//使P1.4~p1.7中有一个为0
tmp1*=2;
//tmp1左移一位
if((P1&
0x0f)<
0x0f)//检测P1.0~P1.3中是否有一位为0,只要有,则说明此行有键按下,进入列检测
{DelayMs(30);
tmp2=0x01;
//tmp2用于检测出哪一列为0
for(col=0;
col<
col++)//列检测
if((P1&
tmp2)==0x00)//该列如果为低电平则可以判定为该列
key_val=row*4+col;
//获取键值,识别按键
while((P1&
tmp2)==0x00);
return;
//退出循环
tmp2*=2;
//tmp2左移一位
密修改码子程序:
if((sk[11]==1)&
(cp[0]==0))
{
//提示输入旧密码
OldCode:
pass=1;
count7=1;
count6=0;
sk[11]=0;
f((count!
(pass==1)&
//输出显示"
pass0=0;
if(count==1)
}
(pass0==1)&
pass=0;
NewCode:
(count7==1))//>
按键盘认键,较验旧密码
{//旧密码输入正确
(count>
=6))
pass0=1;
count7=0;
n=0;
else
OldCodeWrong!
//>
旧密码输入错误
count2=0;
if((pa!
=10)&
(pass0==1))
if(n<
7)
co[n]=pa;
n++;
pa=10;
if(sk[14]==1)
if((n>
=7)&
(count==6))
SetOver!
//>
旧密码输入正确,存新密码
cq[0]=co[1];
cq[1]=co[2];
cq[2]=co[3];
cq[3]=co[4];
cq[4]=co[5];
cq[5]=co[6];
pass1=1;
SetWrong!
密码过多或过少,报错
m=0;
3、参考文献
[1]叶启明.单片机制作的新型安全密码锁[J].家庭电子.2000,第六期:
24-27
[2]郭海英.基于单片机的电子安全密码锁的设计[J].现代电子技术.2005,第三期:
57-58
[3]李明喜.新型电子密码锁的设计[J].机电产品开发与创新.2004,第八期:
77-79
[4]董继成.一种新型安全的单片机密码锁[J].电子技术.2004,第三期:
55-60
[5]祖龙起.刘仁杰.孙乃凌.一种新颖的电子密码锁[J].电子世界.2001,第六期:
88-90
[6]李明喜.新型电子密码锁的设计[J].机电产品开发与创新.2004,第五期:
22-28
[7]瞿贵荣.实用电子密码锁[J].家庭电子.2000,第三期:
77-82
[8]杨茂涛.一种电子密码锁的实现[J].福建电脑.2004,第九期:
44-49
[9]张俊谟.单片机中级教程—原理与应用[M].北京:
北京航空航天大学出版社,1999:
66-77
[10]肖洪兵.跟我学用单片机[M].北京:
北京航空航天大学出版社,2002:
88-92
[11]RichardPark.Ele
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 密码锁