报警器与旋转灯设计.docx
《报警器与旋转灯设计.docx》由会员分享,可在线阅读,更多相关《报警器与旋转灯设计.docx(14页珍藏版)》请在冰豆网上搜索。
![报警器与旋转灯设计.docx](https://file1.bdocx.com/fileroot1/2022-12/18/e9d62112-d77d-4756-92ac-d2ea003165f4/e9d62112-d77d-4756-92ac-d2ea003165f41.gif)
报警器与旋转灯设计
报警器与旋转灯设计
题目名称报警器与旋转灯设计
专业班级机械电子工程
学号*********111
完成时间2012年6月8日
参考文献13
基于单片机的报警器与旋转灯设计
1概述
1.1课题研究背景与意义
报警器与旋转灯,是一种为防止或预防某事件发生所造成的后果,以声、光两种形式来提醒或警示我们应当采取某种行动的电子产品。
随着科技的进步,机械式报警器越来越多地被先进的电子报警器代替,经常应用于系统故障、安全防范、交通运输、医疗救护、应急救灾、感应检测等领域,与社会生产密不可分。
其通常具有以下几个优点:
1)光效节能:
光效高、寿命长、节能环保;优良的芯电路设计,声音和声光两种工作模式任意转换,声音报警声强高达115分贝以上,穿透能力强。
2)充电组,充放电性能稳定、容量高、自放电率低、节能环保。
3)安全可靠:
采用先进的光学软件和优化的结构密封设计,具有很强的环境适应性,转动安静平稳,经受强力的碰撞和冲击,确保元件可在恶劣的环境中长期稳定可靠的工作。
4)使用方便:
体积小、重量轻、携带方便,可采用台面放置、手提、磁力吸附等多种方式。
报警器与旋转灯一般匹配探测器,应根据实际现场环境和用户的安全防范要求,合理的选择和安装各种类型的报警探测器,才能较好的达到安全防范的目的。
当选择和安装报警探测器不合适时,有可能出现安全防范的漏洞,达不到安全防范的严密性,给入侵者造成可乘之机,从而给安全防范工作带来不应有的损失。
报警探测器的灵敏度和可靠性是相互影响的。
合理选择报警探测器的探测灵敏度和采用不同的抗外界干扰的措施,可以提高报警探测器性能。
采用不同的抗干扰措施,决定了报警探测器在不同环境下的使用性能。
了解各种报警探测器的性能和特点,根据不同使用环境,合理配置不同的报警探测器是防盗报警系统的关键环节。
由于本课程设计只需设计处报警环节和旋转灯环节,无需添加探测感应环节,所以设计简单,容易实现。
1.2课题设计内容
本课题的主要任务是设计采用单片机控制的报警器与旋转灯,要求通过外部中断0控制报警器和旋转灯。
报警器与P3.7口接,八个发光二极管分别接P2口。
当接外部中断0的开关按下时,报警器响,八个发光二极管顺时针方向旋转;当第二次按下开关时,报警器停止和发光二级管熄灭。
设计报警器与旋转灯的硬件电路与软件控制程序,对硬件电路与软件程序分别进行调试,并进行软硬件联调,要求获得调试成功的实物。
2系统设计
2.1设计方案论证
采用40脚,片内带8kBFlashROM的ATC89C51单片机作为控制核心,开关模块和报警器模块接P3口,旋转灯模块接P2口,按以上系统构架设计,单片机端口资源刚好满足要求。
设计框图如图2-1所示。
图2-1报警器与旋转灯系统结构图
2.2系统硬件设计
基于单片机的报警器与旋转灯系统的电路原理图如图2-2所示。
系统由旋转灯模块、复位模块、开关报警器模块、最小系统LED模块和电源模块五部分组成。
2.2.1控制模块
控制模块原理图如图2-3所示。
主控制器采用ATC89C51。
ATC89C51是一种带8K字节闪烁可编程可檫除只读存储器的低电压,高性能CMOS8位的微处理器。
在本设计中,P3口用于对报警器和旋转灯的控制,连接开关和蜂鸣器。
P2口用于对旋转灯的控制。
P0口接一发光二极管,验证最小系统。
在控制模块里面,包含了时钟电路以及复位电路两部分。
图2-2基于单片机的报警器与旋转灯系统电路原理图
图2-3控制模块原理图
A.时钟电路
ATC89C51内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
时钟可以由内部方式产生或外部方式产生。
内部方式的时钟电路如图2-4(a)所示,在XTAL1和XTAL2引脚上外接定时元件,内部振荡器就产生自激振荡。
定时元件通常采用石英晶体和电容组成的并联谐振回路。
晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。
外部方式的时钟电路如图2-4(b)所示,XTAL2接地,XTAL1接外部振荡器。
对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。
(a)内部方式时钟电路(b)外部方式时钟电路
图2-4时钟电路
B复位及复位电路
a.复位操作
复位是单片机的初始化操作。
其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。
除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。
b.复位信号及其产生
RST引脚是复位信号的输入端。
复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。
若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。
整个复位电路包括芯片内、外两部分。
外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。
复位操作有上电自动复位相按键手动复位两种方式。
上电自动复位是通过外部复位电路的电容充电来实现的。
这样,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。
按键手动复位有电平方式和脉冲方式两种。
其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的。
2.2.2开关报警器模块
开关控制电路的运行,报警器是运行中所显示的一种状态。
如图2-5所示。
图2-5开关报警器模块
在没有按键按下时,P3.7口输出的是高电平。
当某一层有键按下时,相应的端口引脚变为低电平。
PNP型的蜂鸣器驱动电路,从图上我们可以看出:
三极管基极连1KΩ的电阻接P3.7口,发射极接地,集电极接蜂鸣器短脚,长脚接+5V电压。
2.2.3旋转灯模块
旋转灯电路由8个LED发光二极管和8个0.3KΩ的电阻构成。
该电路设计比较简单,但是要注意节点的电气连接。
如图2-6所示。
2.2.4硬件电路中器件选择
A.ATC89C51单片机
STC89系列单片机是MCS-51系列单片机的派生产品。
它们在指令系统、硬件结构和片内资源上与标准8052单片机完全兼容,DIP40封装系列与8051为pin-to-pin兼容。
STC89系列单片机高速(最高时钟频率90MHz),低功耗,在系统/在应用可编程(ISP,IAP),不占用户资源。
本设计采用ATC89C51,它提供的功能标准如表2-1。
表2-1ATC89C51功能标准
兼容MCS51指令系统
8K可反复擦写FlashROM
32个双向I/O口
256x8bit内部RAM
3个16位可编程定时/计数器中断
时钟频率0-24MHz
2个串行中断
可编程UART串行通道
2个外部中断源
共6个中断源
2个读写中断口线
3级加密位
低功耗空闲和掉电模式
软件设置睡眠和唤醒功能
ATC89C51引脚图如图2-7所示。
图2-6旋转灯模块
a.主电源引脚(2根)
VCC(Pin40):
电源输入,接+5V电源
GND(Pin20):
接地线
b.外接晶振引脚(2根)
XTAL1(Pin19):
片内振荡电路的输入端
XTAL2(Pin20):
片内振荡电路的输出端
c.控制引脚(4根)
RST/VPP(Pin9):
复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):
地址锁存允许信号
PSEN(Pin29):
外部存储器读选通信号
EA/VPP(Pin31):
程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
d.可编程输入/输出引脚(32根)
ATC89C51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
P0口(Pin39~Pin32):
8位双向I/O口线,名称为P0.0~P0.7
P1口(Pin1~Pin8):
8位准双向I/O口线,名称为P1.0~P1.7
P2口(Pin21~Pin28):
8位准双向I/O口线,名称为P2.0~P2.7
P3口(Pin10~Pin17):
8位准双向I/O口线,名称为P3.0~P3.7
图2-7ATC89C51
2.3软件设计
2.3.1主程序模块
系统主程序主要用于变量及其他部件的初始化,如系统的初始化,以便能够准确的进行相应的操作。
同时进行相应的功能键判断,从而实现特殊功能。
其相应的流程图2-8所示。
图2-8报警器与旋转灯系统主程序流程图
2.3.2中断程序
在相应的外部中断和定时器中断程序中,首先响应外部中断,再响应两个定时器中断,读取键值,旋转灯旋转,报警器响,在定时器重置初始值以后,再次外部中断返回。
中断程序的相应流程图如2-9所示。
图2-9中断程序流程图
3系统调试
3.1硬件调试
3.1.1静态检查
根据硬件电路图核对了元器件的型号、极性,安装是否正确,检查硬件电路连线是否与电路原理图一致,检查电路元器件是否都已经连接好,用万用表一一测试。
3.1.2通电检查
先调试电源部分,整个电路只需要+5V的电压,用USB线从电脑USB口取电。
再用示波器检测单片机的复位和晶振电路是否有复位信号和振荡信号。
3.2软件调试及软硬件联调
对软件先用仿真器进行了调试。
用仿真器运行正常后,再用烧写器将程序烧到ATC89C51单片机中,进行了脱机调试。
3.2.1proteus软件仿真
使用proteus原理及仿真电路如图3-1所示。
图3-1proteus原理及仿真图
3.2.2脱机调试
用Proteus仿真成功后,将设计程序烧写到ATC89C51中去,通电后发现开关无法准确控制报警器和旋转灯工作。
我在给蜂鸣器加驱动电路时有不理解的地方。
因为三极管是pnp型的,所以在采用上图的驱动方式进行驱动蜂鸣器时,必然对原程序进行修改,并确定在P3.7口输出低地平时驱动电路才会使蜂鸣器响。
3.2.3程序
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitSPK=P3^7;
ucharFRQ=0x00;
voidDelayMS(uintms)
{
uchari;
while(ms--)for(i=0;i<120;i++);
}
voidEX0_INT()interrupt0
{
TR0=~TR0;//开启或停止两定时器,分别控制报警器的声音和LED旋转
TR1=~TR1;
if(P2==0x00)
P2=0xe0;//开3个旋转灯
else
P2=0x00;//关闭所有LED
}
voidT0_INT()interrupt1
{
TH0=0xfe;
TL0=FRQ;
SPK=~SPK;
}
voidT1_INT()interrupt3
{
TH1=-45000/256;
TL1=-45000%256;
P2=_crol_(P2,1);
}
voidmain()
{
P2=0x00;
SPK=0x00;
TMOD=0x11;//T0、T1方式1
TH0=0x00;
TL0=0xff;
IT0=1;
IE=0x8b;//开启0,1,3号中断
IP=0x01;//INT0设为最高优先
TR0=0;
TR1=0;//定时器启停由INT0控制,初始关闭
while
(1)
{
FRQ++;
DelayMS
(1);
}
}结束语
在大学期间,从接触单片机的课程开始,单片机就给我留下了神秘感。
不论是对课程的学习,还是心中对课程的看法,直到自己独自完成布置的单片机课程,自己的对单片机才有了实质性的了解。
实验任务分配下来后,一开始确实很迷茫。
因为完全没有头绪,无从下手。
看这网页中搜索的浩瀚的资料,真是一个头两个大,也第一次体会到了长时间对这电脑屏幕痛苦的感觉。
之后我静下心来,仔细挖掘这次实验的问题所在。
我所作的课题关键在于利用3个中断对LED灯的显示和按键触发的处理。
想通这些后我开始查阅相关资料,从芯片组成到C语言程序,开始深入的学习。
从查阅彭伟的《单片机C语言程序设计实训100例》开始,到《最小系统的焊接要点》、《如何利用protel软件绘制原理图和pcb图》,我一步步去尝试,一次次和同学讨论解决自己存在的问题,最终将单片机课程完成。
但在使用STC下载软件将程序加载到AT89C52中去后,出现蜂鸣器一直在响。
检查后发现我是将三极管按照NPN的驱动电路接线方式进行接线的,事实上我们发的三极管是PNP型的,所以我将程序改为在P3.7口高电平时蜂鸣器停止,低电平时蜂鸣器响。
进行调式后效果挺好。
通过这次实验,我认为学习的不仅仅是知识,更重要的是解决问题时坚毅不拔的精神,人不会被打败,只有被摧毁。
在求知的道路上我们不能轻易放弃,不能放纵退缩。
只有迎难而上,方能摘取胜利的果实!
参考文献
[1]彭伟单片机C语言程序设计实训100例—基于8051+Proteus仿真[M]北京:
电子工业出版社2010.6
[2]郭天祥新概念51单片机C语言教程—入门、提高、开发拓展全攻略[M]北京:
电子工业出版社2010
[3]陈益飞单片机原理及应用技术[M]北京:
国防工业出版社2011