火焰检测报警器课程设计Word文件下载.docx
- 文档编号:21659232
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:22
- 大小:857.68KB
火焰检测报警器课程设计Word文件下载.docx
《火焰检测报警器课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《火焰检测报警器课程设计Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。
范围。
以STC89C52单片机和Realplay火焰检测传感器为核心设计的火焰检测报警器可实现声光报警、1602液晶屏显示报警等功能。
是一种结构简单、性能稳定、使用方便、价格低廉、智能化的火焰检测报警器。
其中选用红外火焰检测传感器实现各种火焰的检测,具有灵敏度高、响应快、抗干扰能力强等优点,而且价格低廉,使用寿命长。
选用的STC89C52单片机,具有高速、低功耗、超强抗干扰等优点,是目前同类技术中性价比较高的产品。
本报警装置具有一定的实用价值。
关键词:
火焰传感器;
声光报警器;
液晶屏;
STC89C52
第一章绪论
随着经济的发展,高层建筑、地下建筑以及大型综合性建筑日益增多火灾隐患也随之增加,火灾发生的数量及其造成的损失都呈逐年上升趋势,因此,火灾报警系统成为保障人生命财产安全的重要因素。
火灾报警系统在国内的发展情况是我国火灾报警系统起步较发达国家晚几十年,从上世纪70年代我国才开始研制生产火灾报警系统产品。
进入80年代后,国内厂家也多是模仿国外产品,或是引进国外技术进行生产,没有真正意义上的核心技术,并且市场也刚刚开始发育。
火灾报警产品真正开始发展是在90年代以后,随着政府逐渐开放国门,国外企业开始大量进入中国消防市场,带来先进技术的同时也促进了市场的成熟。
这时期,我国生产火灾报警产品的企业也得到了快速发展,部分企业进行了合资生产、技术合作,取得了不菲的成绩,也造就现今市场上许多有实力的商家,部分技术已接近赶上了国际水平。
本设计采用红外火焰检测传感器、AT89C52单片机以及1062LED液晶屏显示模块设计的一种智能火灾报警器,可以实现声光报警、液晶屏显示有无火源等功能。
是一种结构简单、性能稳定、使用方便、价格低廉、智能化的火灾报警器,具有一定的实用价值。
第二章总体内容及设计
总体内容设计及目标
报警系统主要由数据采集模块、单片机控制模块、晶振起振模块、声光报警模块、液晶屏显示模块、电源模块组成。
图2-1为火焰检测报警器的系统结构框图。
图2-1系统结构框图
AT89C52单片机控制模块用于实时监测外部中断的电平变化,当红外火焰传感器检测到有火焰时,火焰传感器会输出低电平数字信号,单片机将数据转换为相应的数字显示在液晶屏上或声光报警;
晶振起振模块为系统提供基本的时钟信号;
USB下载/电源模块为单片机的电源接口,为单片机提供电源及程序烧录。
组员及任务
组员:
徐杰龙、利齐帅、林辉、梁庆堂
任务分配:
徐杰龙:
负责总体电路的原理图完善,程序流程图设计和编写程序。
利齐帅:
负责AT89C52单片机控制模块、电源模块原理图绘制,AT89C52原理图元件。
林辉:
查找集成电路数据手册、查找资料。
梁庆堂:
负责晶振起振模块、1602液晶屏显示模块原理图绘制
第三章电路设计及元器件选型
AT89C52单片机控制模块电路原理图设计
单片机控制模块采用AT89C51芯片作为主控芯片,所谓的单片机是将计算机的基本部件微型化并集成到一块芯片上,具备独特功能的微型计算机,通常片内都含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。
单片机全称为单片微型计算机,又称微控制器或嵌入式控制器,是一种可通过编程控制的处理器。
如图3-1所示,单片机的VCC引脚需要接入+5V电源电压正极,GND引脚需要接入电源电压的负极。
图3-1AT89C52单片机芯片
EA引脚(外部程序存储器访问控制端)是单片机的外部程序存储器访问控制端,如果它接高电平VCC,则单片机执行片内部程序存储器中的程序,从000H开始终止于0FFFH,并在读取完单片机内部程序存储器的0FFFH后自动转向读取外部的程序存储器,一般只用单片机的内部程序存储器,故接高电平;
如果接低电平,则单片机访问的全部是外部程序存储器,从0000H开始终止于0000FH。
AT89C51单片机共有P0、P1、P2、P3这4组I/O口,每组有8个I/O口,单片机复位时,这4组I/O口都默认作为输出端口使用。
51单片机上电后,如果没有人为地控制其I/O口的状态,它所有未控制的I/O口都默认为高电平。
①P0口是一个开漏型双向I/O口,其内部没有上拉电阻,为高阻状态,所以不能正常地输出高/低电平,使用该I/O口要接100Ω的上拉电阻。
P0口具有除一般I/O口外的第二重功能—作为低8位地址线。
②P1口是一组准双向8位I/O口,每个口可独立控制,内带上拉电阻,这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口,之所以称它为“准双向”是因为该口在作为输入使用前,要先向该口进行写1操作,然后单片机内部才能正确读出外部信号。
也就是要使其有个“准备过程”,故称其为准双向口。
③P2口是一组准双向8位I/O口,每个口可独立控制,内带上拉电阻,与P1口相似。
P2口具有除一般I/O口外的第二重功能—作为高8位地址线。
晶振起振模块电路与功能
晶振的作用是为系统提供基本的时钟信号。
通常一个系统共用一个晶振,便于各部分保持同步。
如图3-2所示,XTAL1、XTAL2为时钟信号端,XTAL1为片内振荡电路的输入端,XTAL2为片内振荡电路的输出端。
8051有两种工作方式,一是片内时钟振荡方式,另一种是外部时钟方式。
片内时钟振荡电路需在XTAL1、XTAL2这两个引脚外接石英晶体和振荡电容,典型的晶振取(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的us级时间,方便定时操作),振荡电容的值一般取10pF~30pF的瓷片电容。
图3-2晶振起振模块电路原理图
1602液晶屏显示模块电路原理图设计
液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。
液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。
本设计字符式显示。
用LCD显示一个字符时比较复杂,因为一个字符由6×
8或8×
8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。
这样一来就组成某个字符。
但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。
其电路原理图如图3-3。
图3-31602液晶屏显示模块电路原理图
1602采用标准的16脚接口,其中:
第1脚:
VSS为地电源
第2脚:
VDD接5V正电源
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15~16脚:
空脚
1602液晶模块内部的控制器共有11条控制指令,如表3-1所示:
表3-1控制命令表
1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明:
1为高电平、0为低电平)
指令1:
清显示,指令码01H,光标复位到地址00H位置。
指令2:
光标复位,光标返回到地址00H。
指令3:
光标和显示模式设置I/D:
光标移动方向,高电平右移,低电平左移S:
屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:
控制光标的开与关,高电平表示有光标,低电平表示无光标B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:
光标或显示移位S/C:
高电平时移动显示的文字,低电平时移动光标。
指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线N:
低电平时为单行显示,高电平时双行显示F:
低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:
字符发生器RAM地址设置。
指令8:
DDRAM地址设置。
指令9:
读忙信号和光标地址BF:
为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:
写数据。
指令11:
读数据。
声音报警模块电路原理图设计
该设计使用的是无源蜂鸣器,如图3-4所示。
由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O口是无法直接驱动的,所以要利用放大电路来驱动,一般使用三极管来放大电流就可以了。
声报警电路由单片机的引脚进行控制,当输出的电平为高电平时,三极管导通,蜂鸣器的电流形成回路,发出声音报警;
否则,三极管截止,蜂鸣器不发出声音。
图3-4声音报警电路
红外火焰传感器功能及电路
火焰传感器是机器人专门用来搜寻火源的传感器,当然火焰传感器也可以用来检测光线的亮度,只是本传感器对火焰特别灵敏。
火焰传感器利用红外线对对火焰非常敏感的特点,使用特制的红外线接受管来检测火焰,然后把火焰的亮度转化为高低变化的电平信号,输入到中央处理器中,中央处理器根据信号的变化做出相应的程序处理。
如图3-5所示。
图3-5火焰传感器电路原理图
用途:
各种火焰,火源探测
模块特色:
1、可以检测火焰或者波长在760纳米~1100纳米范围内的光源,打火机测试火焰距离为80cm,对火焰越大,测试距离越远
2、探测角度60度左右,对火焰光谱特别灵敏
3、灵敏度可调(图中蓝色数字电位器调节)
4、比较器输出,信号干净,波形好,驱动能力强,超过15mA
5、配可调精密电位器调节灵敏度
6、工作电压
7、输出形式:
DO数字开关量输出(0和1)和AO模拟电压输出
8、设有固定螺栓孔,方便安装
9、小板PCB尺寸:
x10、使用宽电压LM393比较器
模块使用说明:
1、火焰传感器对火焰最敏感,对普通光也是有反应的,一般用做火焰报警等用途。
2、小板输出接口可以与单片机IO口直接相连
3、传感器与火焰要保持一定距离,以免高温损坏传感器,对打火机测试火焰距离为80cm,对火焰越大,测试距离越远
4、小板模拟量输出方式和AD转换处理,可以获得更高的精度
第四章程序设计
输入部分程序
程序流程图如图4-1所示,通电时寄存器初始化、单片机I/O口初始化,液晶屏初始化完成后停留在一个设定状态,等待信号驱动。
N
Y
图4-1输入程序流程图
以下为系统初始化过程后显示子程序。
voidlcd_pos(BYTEpos)
{
Safe”,LED灯不亮。
当出现火焰时蜂鸣器响进行报警,液晶显示“TEST……..Fire”,LED红灯亮。
第六章总结
本次课程设计对于我们有很大的帮助,大学已经度过了三年,但是我们还只是停留在理论的学习上。
但通过本次课程设计,使我对《模拟电子技术》这门课程有了更深入的理解。
《模拟电子技术》是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强软件实践。
一个人的力量是有限的,要想把课程设计做的更好,就要学会参考一定的资料,小组共同努力,让思想有机的结合起来,得出实验结果。
在这个过程中,我们也曾经因为仿真失败而纠结。
但结果还是很给力的,虽然这只是一次的极简单的课程制作,可是平心而论,也耗费了我不少的心血,这就让我不得不佩服开发技术的前辈,才意识到老一辈对我们社会的付出,为了人们的生活更美好,他们为我们社会所付出多少心血啊!
知识上的收获重要,精神上的丰收更加可喜。
让我知道了学无止境的道理。
我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。
挫折是一份财富,经历是一份拥有。
这次课程设计必将成为我人生旅途上一个非常美好的回忆!
通过这次的课程设计我们对于专业课的学习有了更加深刻的认识,以为现在学的知识用不上就加以怠慢,等到想用的时候却发现自己的学习原来是那么的不扎实。
以后努力学好每门专业课,让自己拥有更多的知识,才能解决更多的问题!
参考文献
[1]王国玉,管莉.电子线路CAD与实训[M].北京:
电子工业出版社,2011
[2]林海汀.电子工艺技术与实践[M].北京:
机械工业出版社,2011
[3]郭天祥.新概念51单片机C语言教程:
入门、提高、开发、拓展全攻略[M].北京:
电子工业出版社,2009
[4]黄勤.单片机原理及应用[M].北京:
清华大学出版社,2010
[5]集成电路数据手册查询网:
附件
~~~~~~~完整程序~~~~~~~
#include<
>
typedefunsignedcharBYTE;
typedefbitBOOL;
inti,j,display=0,t02s;
sbitLCD_RS=P2^5;
sbitLCD_RW=P2^6;
sbitLCD_EP=P2^7;
sbitwarning=P3^2;
sbitbeep=P3^4;
...."
};
BYTEcodedis5[]={"
"
BYTEcodeFire[]={"
Fire"
BYTEcodeSafe[]={"
Safe"
voidflash();
voiddelay(intms)
{//延时子程序
while(ms--)
{
for(i=0;
i<
250;
i++)
_nop_();
}
}
BOOLlcd_bz()
{//测试LCD忙碌状态
BOOLresult;
LCD_RS=0;
LCD_RW=1;
LCD_EP=1;
_nop_();
result=(BOOL)(P0&
0x80);
LCD_EP=0;
returnresult;
voidlcd_wcmd(BYTEcmd)
{//写入指令数据到LCD
while(lcd_bz());
LCD_RW=0;
P0=cmd;
{//设定显示位置
lcd_wcmd(pos|0x80);
voidlcd_wdat(BYTEdat)
{//写入字符显示数据到LCD
LCD_RS=1;
P0=dat;
voidlcd_init()
{//LCD初始化设定
lcd_wcmd(0x38);
//16*2显示,5*7点阵,8位数据
delay
(1);
lcd_wcmd(0x0c);
//显示开,关光标
lcd_wcmd(0x06);
//移动光标
lcd_wcmd(0x01);
//清除LCD的显示内容
main()
{
BYTEi;
intj=0;
lcd_init();
//初始化LCD
delay(10);
lcd_wcmd(0x06);
//向右移动光标
while
(1)
switch(display)
case0:
{
i=0;
while(dis2[i]!
='
\0'
)
{
lcd_pos(0x80+i);
lcd_wdat(dis2[i]);
i++;
delay(300);
}
flash();
lcd_wcmd(0x01);
delay(20);
//控制两屏转换时间
display=1;
lcd_wcmd(0x06);
}
break;
case1:
{
delay(300);
i=0;
while(dis1[i]!
)
{//显示字符"
"
lcd_pos(0x8A+i);
//设置显示位置为第一行第17列
lcd_wdat(dis1[i]);
i++;
delay(300);
while(dis5[i]!
lcd_pos(0x4f+i);
//设置显示位置为第一行第17列
//显示字符"
lcd_wdat(dis5[i]);
for(j=0;
j<
16;
j++)//向左移动16格
lcd_wcmd(0x18);
//字符同时左移一格
delay(800);
//控制移动时间
display=2;
break;
case2:
{
flash();
delay(1000);
lcd_wcmd(0x01);
delay(20);
display=3;
case3:
while(dis3[i]!
lcd_pos(0x80+i);
lcd_wdat(dis3[i]);
i++;
delay(30);
display=4;
case4:
if(warning==0)//有光照时传感器输出低电平
//delay(300);
if(warning==0)
i=0;
while(Fire[i]!
lcd_pos(0x43+i);
lcd_wdat(Fire[i]);
delay(30);
for(i=0;
i<
3;
i++)
beep=0;
delay(200);
beep=1;
}
//////////////////////////////////////////
if(warning==1)
//delay(300);
while(Safe[i]!
lcd_wdat(Safe[i]);
i++;
delay(30);
}
default:
voidflash()
for(i=0;
12;
delay(600);
//控制停留时间
lcd_wcmd(0x08);
//关闭显示
delay(200);
lcd_wcmd(0x0c);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 火焰 检测 报警器 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)