险箱报警器的设计.docx
- 文档编号:8167402
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:31
- 大小:591.79KB
险箱报警器的设计.docx
《险箱报警器的设计.docx》由会员分享,可在线阅读,更多相关《险箱报警器的设计.docx(31页珍藏版)》请在冰豆网上搜索。
险箱报警器的设计
长沙航空职业技术学院
毕业设计论文
《保险箱报警器设计与制作》
系别:
航空电子电气工程系
姓名:
--------------------
学号:
2009000410XX
指导老师:
--------------------
摘要
随着人民生活水平日益提高科学技术的不断发展,人们对财产以及资料的安全保密要求也在不断的提高,设计出一款拥有较高的安全性能的保险箱已成从事电子行业人员的一项重要任务,保险箱的设计应该改进以往的设计思路,增加多项功能使其更安全更人性化,为满足人们对保险箱的使用要求,增加其安全性,用密码代替钥匙,并且增加报警功能的保险箱应运而生。
电子密码装置无论在技术上还是在性能上都有了大大的提高,从而使保险装置的安全性、可靠性得到大幅度的提高、应用日益广泛,人民对保险装置的需求得到满足。
一下所介绍的电子保险箱报警器采用AT89C51单片机控制、AT24C02存储、1602液晶显示,4×4矩阵键盘输入密码。
该保险箱报警器具有安全性高、成本低、功耗低、易操作等优点。
关键字:
AT89S52LCD1602检测模块报警模块
Abstract
Aspeople'slivingstandardsareimprovingthecontinuousdevelopmentofscienceandtechnology,people'spropertyandthesecurityandconfidentialityofinformationrequirementsarealsoconstantlyimprove,designedwithahighersafetyperformancesafehasbecomeengagedintheelectronicsindustryprofessionalsisanimportanttask,safedesignshouldbeimprovedthepreviousdesignthinking,increasethenumberoffunctiontomakeitsaferandmorehumane,tomeetpeopleonthesafeuseofrequirements,increaseitssecurity,passwordinsteadofkeys,andincreasethesafeemergeasthetimesrequirealarmfunction.Electroniccipherdevicebothintechnicalorperformancehasbeengreatlyimproved,sothatthesafetydevicesafety,reliabilityisgreatlyimproved,applicationisincreasinglywide,peopleontheinsurancedeviceneedsaremet.ItintroducedtheelectronicsafealarmcontrolledbyAT89C51,AT24C02storage,1602LCD,4x4matrixkeyboardinputpassword.Thesafealarmhashighsafety,lowcost,lowpowerconsumption,easytooperate.
Keyword:
AT89S52、LCD1602、detectionmodule、alarmmodule
2.8检测电路………………………………………………………………………...-10-
2.9震动模块:
……………………………………………………………………….-10-
附录5程序代码------------------------------------------------------------------------------------_21_
致谢--------------------------------------------------------------------------------------------------------------------_22_
1、系统的硬件设计
1.1硬件系统的总体结构图
图1硬件系统的总体结构图
1.2AT89S51的介绍
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。
1.3硬件系统组成
如图1所示,本系统的硬件部分主要由单片机AT89S51、存储芯片AT24C02、4×4矩阵键盘、LCD1602、报警电路和检测电路组成;其中检测电路是用光敏电阻、lm741、电阻电位器组成,而报警电路使用蜂鸣器。
1.4微处理器模块:
CPU是采用AT89S51单片机,因为本系统要实现密码检测、密码设定、环境变化检测、声光提示等功能,要求微处理器必须能提供很多I/O口,而且由于系统体积限制,很难扩展I/O口和使用外部程序存储器,所以选用AT89S51单片机。
1.5记忆模块:
AT24C02芯片作为记忆模块的核心部分,作用是存储用户设置的有效开锁密码。
由于一片AT24C02拥有256字节存储空间,而本设计中只需要存储8个字节的数据,所以只需要一片AT24C02就已足够了。
并且AT24C02是一种非易失性存储器,掉电后数据不会掉失,而且该存储器内数据保存寿命可以保证达到100年以上,功耗低,十分适合本设计使用。
1.6声光提示模块:
由发光二极管LED和蜂鸣器组成,由单片机控制。
发光二极管LED有两种状态,LED亮表示密码输入正确并且解除报警;输入密码错误时LCD1602会有相应的提示。
蜂鸣器采用5V驱动蜂鸣器,作为报警电路。
当输入密码错误次数超过3次后就发出声音警报。
1.7显示模块:
考虑到友好的人机界面,采用LCD1602液晶显示。
显示模块的作用主要是显示提示信息和输入的密码,以方便用户使用。
1.8键盘模块:
键盘模块的作用是让用户输入密码和修改密码。
考虑到本系统需要用到大量的按键,键盘模块采用4×4的16矩阵键盘模式。
2、芯片介绍
2、单元模块电路
2.14×4矩阵键盘
如图2所示,本系统采用4×4矩阵键盘。
当LCD12864为时钟界面显示时,S2为时设置键,S3为分设置键,S4为切换键;当切换到密码锁界面显示时,16个按键分为输入数字键和功能键。
按键也有相应的标识E为取消键,F为确定键,D为密码重设键。
图24×4矩阵键盘
2.2复位电路
为确保系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。
如图3所示,时钟电路工作后,在REST管脚上加两个机器周期的高电平,芯片内部开始进行初始复位。
图3复位电路
2.3振荡电路
图4所示为单片机晶体振荡电路。
在本系统设计中晶振选择频率为12MHz,其中两个电容叫晶振的负载电容,分别接在晶振的两个脚上和对地,一般在几十皮法,它会影响到晶振的谐振频率和输出幅度。
多数情况下电容取值在15pF-30pF左右,在本系统中取电容为15pF。
图4振荡电路
2.4发光二极管LED电路
图5所示为发光二极管LED电路,开始时发光二极管LED1、LED2连接的单片机I/O口均为高电平。
当输入密码正确后,LED1连接的I/O口由高电平变为低电平,绿色的发光二极管LED点亮,表示驱动了开锁电路;当输入密码错误时,LED2连接的I/O口由高电平变为低电平,红色的发光二极管LED点亮。
其中R10、R11为发光二极管LED的保护电阻,阻值均为1K。
图5发光二极管LED电路
2.5报警电路
本系统中的报警电路采用蜂鸣器,如图6所示。
当连续3次输入错误密码后,就会驱动报警电路,蜂鸣器不停地响,以示警报。
其中,R5阻值为1kΩ,R6阻值为100Ω。
三极管为8550。
8550是PNP型中功率高频三极管,最大耗散功率为700mW,在此电路中起功率放大作用。
图6报警电路
2.6电源输入电路
电源输入电路如图7所示,由于目前那种5V输出的直流电源非常普遍
因此本系统采用这种供电方式,方便,易用,可重复利用。
图7电源输入电路
图8电源实物图
2.7AT24C02存储电路
按I2C总线电气标准,AT24C02与硬件接口如图9所示。
接4.7K的上拉电阻
图19AT24C02构成电路
2.7LCD11602显示电路
LCD1602液晶显示模块基本技术:
1)、主要功能A、40通道点阵LCD驱动;B、可选择当作行驱动或列驱动;C、输入/输出信号:
输出,能产生20×2个LCD驱动波形;输入,接受控制器送出的串行数据和控制信号,偏压(V1∽V6);D、通过单片机控制将所测的频率信号读数显示出来
2)、技术参数
11LCD1602的外接电路
2.8检测电路
为了使该装置具有更高的安全性能、根据环境的变化设计了在没有密码的情况下使用暴力手段破坏保险箱,在这种情况下,一直处在黑暗的光敏电阻受到强光照射阻值会变小由LM741比较器输出低电平、检测到LM741输出端口电平变化就发出报警信号、若是在正常输入密码而且正确的情况下就解除发出报警信号、电路如下图:
2.8检测电路图
LM741芯片资料
LM741引脚图管脚图通用型集成单运放LM741。
LM741的管脚图如附图(a)所示,其特点是电压适应范围较宽,可在±5~±18V范围内选用;具有很高的输入共模、差模电压,电压范围分别为±15V和±30V;内含频率补偿和过载、短路保护电路;可通过外接电位器进行调零,如附图1-22(b)所示。
LM741管脚图和调零电路:
lm741pdfdatasheet
LM741图
2.9震动传感器模块
图2-9震动传感器模块
一、长尺寸:
prefix=st1ns="urn:
schemas-microsoft-com:
office:
smarttags" 10mm X宽30mm X高20mm
二、主要芯片:
LM393、振动检测探头
三、工作电压:
直流 3-5V
四、特点:
1、具有信号输出指示;
2、单路信号输出;
3、输出有效信号为低电平,指示灯亮;
4、带安装孔,安装方便,灵活;
5、可用于检测振动的场合等;
6、电路板输出开关量,传感器发生振动时,传感器会输出TTL电平信号,产品灵敏度高;
2.10电路板的绘制于生产
采用ProtelDXP2004软件绘制原理图和PCB板。
使用湿膜制版工艺制版
3、软件程序设计
3.1软件总设计流程图
软件总设计流程图如图12所示。
图12软件总设计流程图
3.24×4矩阵键盘扫描程序
当键盘中按键数量较多时,为了减少对I/O口的占用,通常将按键排列成矩阵形式,也称为行列键盘,这是一种常见的连接方式。
矩阵式键盘接口见图13所示,它由行线和列线组成,按键位于行、列的交叉点上。
当键被按下时,其交点的行线和列线接通,相应的行线或列线上的电平发生变化,MCU通过检测行或列线上的电平变化可以确定哪个按键被按下。
图134×4矩阵键盘
图13为一个4×4行列结构,可以构成16个键的键盘。
很明显,在按键数量多的场合,矩阵键盘与独立式按键键盘相比可以节省很多的I/O口线。
矩阵键盘不仅在连接上比单独式按键复杂,它的按键识别方法也比单独式按键复杂。
在矩阵键盘的软件接口程序中,常使用的按键识别方法有行扫描法和线反转法。
这两种方法的基本思路是采用循环查循的方法,反复查询按键的状态,因此会大量占用MCU的时间,所以较好的方式是采用状态机的方法来设计,尽量减少键盘查询过程对MCU的占用时间。
图14中,KEY1、KEY2、KEY3、KEY4为4根列线,作为键盘的输入口(工作于输入方式)。
KEY5、KEY6、KEY7、KEY8为4根行线,工作于输出方式,由MCU(扫描)控制其输出的电平值。
行扫描法也称为逐行扫描查询法,其按键识别的过程如下:
(1)将全部行线KEY5-KEY8置低电平输出,然后读KEY1-KEY4四根输入列线中有无低电平出现。
只要有低电平出现,则说明有键按下(实际编程时,还要考虑按键的消抖)。
如读到的都是高电平,则表示无键按下。
(2)在确认有键按下后,需要进入确定具体哪一个键闭合的过程。
其思路是:
依次将行线置为低电平,并检测列线的输入(扫描),进而确认具体的按键位置。
如当KEY5输出低电平时(KEY5=0、KEY6=1、KEY7=1、KEY8=1),测到KEY2的输入为低电平(KEY=1、KEY2=0、KEY3=1、KEY4=1),则可确认按键S3处于闭合状态。
通过以上分析可以看出,MCU对矩阵键盘的按键识别,是采用扫描方式控制行线的输出和检测列线输入的信号相配合实现的。
(3)矩阵按键的识别仅仅是确认和定位了行和列的交叉点上的按键,接下来还要考虑键盘的编码,即对各个按键进行编号。
在软件中常通过计算的方法或查表的方法对按键进行具体的定义和编号。
3.3显示子程序
本系统使用LCD12864实现显示,只要参照LCD12864的使用手册进行初始化和程序编写就可以显示,即在程序编写中添加LCD12864的驱动程序。
这里的驱动程序主要包括:
初始化函数、设置显示坐标、写字符函数及写字符串函数。
在时钟界面时显示时间的运行,在密码锁界面时主要显示提示信息和输入的密码,当然,当输入密码数字时,输出不是显示数字,而是用“*”显示代替。
3.4密码修改子程序
修改密码时,先输入旧密码,如果输入的密码正确,再输入新密码,否则返回;输入新密码后要求再次输入新密码,当两次输入的新密码一致时,然后存储到AT24C02中,否则重新输入新密码。
修改密码时,如果连续二次输入的旧密码都不正确,报警电路响应。
修改密码程序流程图如图14所示
3.5读/写AT24C02子程序
当对AT24C02操作时,在总线空闲状态下发送起始信号后,主器件向总线传送第一个字节始器件的写地址,第二个字节是要操作的器件内部RAM地址,如果是写操作,则在第三个字节传送开始数据,最后是停止信号;如果是主器件向从器件的读操作,第三个字节写入从器件的地址,然后等待读数据,最后是停止信号。
每传送一个字节信号后,接收器将使SDA拉低,以产生应答信号
图13AT24C02的管脚功能图
图14修改密码程序流程图
附录1PCB原理图
附录2PCB板图
附录3PCB3D效果图
附录3产品实物图
附录4元件清单
名称
参数
数量
备注
电容
15pF
2
电容
104
2
电容电容
10V/10uF
2
电容电容
16V/22uF
1
电阻
4K7
3
电阻
2K
3
电阻
5K1
3
电阻
510
2
排阻
103
1
电位器
10K
1
VR4封装
发光二极管
Φ5红
1
排针
2P
1
跳线帽
插座
8P
1
插座
4P
2
插座
2P
3
液晶插座
16P
1
三极管
8550
3
单片机芯片
AT89S52
1
芯片座
EEPROM芯片
24C02
1
芯片座
晶振
11.0595MHz
1
按键
*
1
继电器
*
1
蜂鸣器
*
1
附录五:
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharcodetab1[]="Pleaseinputpassword:
";
ucharcodetab01[]="Succes";
ucharcodetab001[]="Failure";
uchartab2[6];
uchartab3[6];
uchartab4[6];
ucharmimazu,pdgm;
uchartishi,okflag;
ucharBJflag,xiugaimima;
sbitscl=P1^1;
sbitsda=P1^0;
sbitwp=P1^2;
sbiten=P2^7;
sbitrw=P2^6;
sbitrs=P2^5;
sbitFMQ=P2^1;
sbitKS=P1^5;
/***延时函数****/
voiddelay(inti)
{
while(i--);
}
/**开始信号函数**/
voidstart()
{
sda=1;
delay(4);
scl=1;
delay(4);
sda=0;
delay(4);
}
/**停止信号函数***/
voidstop()
{
sda=0;
delay(4);
scl=1;
delay(4);
sda=1;
delay(4);
}
/***应答信号函数***/
voidying()
{
sda=0;
delay(5);
scl=1;
delay(4);
scl=0;
delay(4);
}
/**数据与时钟线初始化***/
voidinit()
{
sda=1;
delay(4);
scl=1;
delay(4);
}
/****写一个字节函数*****/
voidxie_zijie(uchardate)
{
uchari,temp;
temp=date;
for(i=0;i<8;i++)
{
temp=temp<<1;
scl=0;
delay(4);
sda=CY;
delay(4);
scl=1;
delay(4);
}
scl=0;
delay(4);
sda=1;
delay(4);
}
/***读一个字节函数****/
uchardu_zijie(void)
{
uchari,k;
scl=0;
delay(4);
sda=1;
delay(4);
for(i=0;i<8;i++)
{
scl=1;
delay(4);
k=(k<<1)|sda;
scl=0;
delay(4);
}
returnk;
}
/*********存密码入24C02************/
voidxiejin(ucharshu,uchardizhi)
{
init();
start();
xie_zijie(0xa0);
ying();
xie_zijie(dizhi);
ying();
xie_zijie(shu);
ying();
stop();
delay(200);
}
/******从24C02读出密码********/
ucharduchu(uchardizhi)
{
ucharshu;
init();
start();
xie_zijie(0xa0);
ying();
xie_zijie(dizhi);
ying();
start();
xie_zijie(0xa1);
ying();
shu=du_zijie();
stop();
delay(200);
returnshu;
}
/******1602写命令*******/
voidwrite_com(ucharcom)
{
rs=0;
rw=0;
P0=com;
en=1;
delay(10);
en=0;
}
/*******1602写数据********/
voidwrite_dat(uchardat)
{
rs=1;
rw=0;
P0=dat;
en=1;
delay(10);
en=0;
}
/******初始化1602******/
voidlint_1602(void)
{
write_com(0x38);
delay(15);
write_com(0x38);
delay(15);
write_com(0x38);
delay(15);
write_com(0x0c);
delay(15);
write_com(0x80);
delay(15);
}
/*****显示函数******/
voidxianshi(void)
{
uchari;
write_com(0x80);
for(i=0;i<25;i++)
{
write_dat(tab1[i]);
delay(5);
if(i==15)
{
write_com(0xc0+0);
}
}
write_com(0xc0+9);
for(i=0;i<6;i++)
{
write_dat(tab3[i]);
delay
(2);
}
}
/***屏幕初始化***/
voidchushi(void)
{
uchari;
for(i=0;i<6;i++)
{
tab3[i]='_';
delay
(2);
}
xianshi();
}
/****提示语显示函数****/
voiddisplay1(void)
{
uinti;
write_com(0x01);
delay(150);
write_com(0xc0+5);
for(i=0;i<6;i++){write_dat(tab01[i]);delay(5);}
for(i=0;i<15;i++){delay(5000);}
chushi();
}
voiddisplay2(void)
{
uinti;
write_com(0x01);
delay(150);
write_com(0xc0+5);
for(i=0;i<7;i+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 报警器 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)