火焰检测报警器课程设计_第1页
火焰检测报警器课程设计_第2页
火焰检测报警器课程设计_第3页
火焰检测报警器课程设计_第4页
火焰检测报警器课程设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 嵌入式技术应用项目说明书 (火焰检测报警器) 院(系) 机械工程学院 专 业 机械电子工程 2015年 10 月 10 日课 程 设 计 任 务 书 课程设计任务书,内容如下:1 设计题目: 火焰检测报警器 2 应完成的项目:(1) 设计说明书计算准确、书写工整,字数不少于3000字;图纸正确清晰,符合制图标准及有关规定。 (2)分组实现原理图设计及相关元器件的设计,按要求完成总体电路。 (3)基于相关电路完成电路设计、程序设计与实物。 (4)完成总体内容,实现具体功能。 3 参考资料以及说明:(1)电子线路CAD与实训(电子工艺出版社) (2)电子工艺技术与实践(机械工程出版社) (3)单

2、片机原理及应用(清华大学出版社) (4)集成电路数据手册查询网: (5)新概念51单片机C语言教程:入门、提高、开发、拓展全攻略(电子工业出版社) 4 本设计任务书于2015年 11月16日发出,应于2015年11月27日前完成,然后进行答辩。指导教师 签发 2015 年 11 月 16 日评语:目 录摘 要4第一章 绪论5第二章 总体内容及设计62.1 总体内容设计及目标62.2 组员及任务6第三章 电路设计及元器件选型73.1 AT89C52单片机控制模块电路原理图设计73.2晶振起振模块电路与功能83.3 1602液晶屏显示模块电路原理图设计93.4声音报警模块电路原理图设计113.5红

3、外火焰传感器功能及电路11第四章 程序设计134.1输入部分程序134.2输出部分程序144.3定时应用与功能16第五章 电路设计及结果17第六章 总结19参考文献20摘 要本论文以红外火焰检测传感器和单片机技术为核心并与其它电子技术相结合,设计出一种技术水平较好的红外火焰检测报警器, 用于火焰检测, 可检测 760 纳米1100 纳米范围内的热源,火焰探测角度为 60范围。以STC89C52单片机和Realplay火焰检测传感器为核心设计的火焰检测报警器可实现声光报警、1602液晶屏显示报警等功能。是一种结构简单、性能稳定、使用方便、价格低廉、智能化的火焰检测报警器。其中选用红外火焰检测传感

4、器实现各种火焰的检测,具有灵敏度高、响应快、抗干扰能力强等优点,而且价格低廉,使用寿命长。选用的STC89C52单片机,具有高速、低功耗、超强抗干扰等优点,是目前同类技术中性价比较高的产品。本报警装置具有一定的实用价值。 关键词:火焰传感器;声光报警器;液晶屏;STC89C52 第一章 绪论随着经济的发展,高层建筑、地下建筑以及大型综合性建筑日益增多火灾隐患也随之增加,火灾发生的数量及其造成的损失都呈逐年上升趋势,因此,火灾报警系统成为保障人生命财产安全的重要因素。 火灾报警系统在国内的发展情况是我国火灾报警系统起步较发达国家晚几十年,从上世纪70年代我国才开始研制生产火灾报警系统产品。进入8

5、0年代后,国内厂家也多是模仿国外产品,或是引进国外技术进行生产,没有真正意义上的核心技术,并且市场也刚刚开始发育。火灾报警产品真正开始发展是在90年代以后,随着政府逐渐开放国门,国外企业开始大量进入中国消防市场,带来先进技术的同时也促进了市场的成熟。这时期,我国生产火灾报警产品的企业也得到了快速发展,部分企业进行了合资生产、技术合作,取得了不菲的成绩,也造就现今市场上许多有实力的商家,部分技术已接近赶上了国际水平。 本设计采用红外火焰检测传感器、AT89C52单片机以及1062LED液晶屏显示模块设计的一种智能火灾报警器,可以实现声光报警、液晶屏显示有无火源等功能。是一种结构简单、性能稳定、使

6、用方便、价格低廉、智能化的火灾报警器,具有一定的实用价值。第二章 总体内容及设计2.1 总体内容设计及目标报警系统主要由数据采集模块、单片机控制模块、晶振起振模块、声光报警模块、液晶屏显示模块、电源模块组成。图2-1为火焰检测报警器的系统结构框图。火焰传感器信号放大电路A/D转换电路电源模块STC89C52单片机声光报警液晶屏显示报警 图2-1 系统结构框图AT89C52单片机控制模块用于实时监测外部中断的电平变化,当红外火焰传感器检测到有火焰时,火焰传感器会输出低电平数字信号,单片机将数据转换为相应的数字显示在液晶屏上或声光报警;晶振起振模块为系统提供基本的时钟信号; USB下载/电源模块为

7、单片机的电源接口,为单片机提供电源及程序烧录。2.2 组员及任务组员:徐杰龙、利齐帅、林辉、梁庆堂任务分配:徐杰龙:负责总体电路的原理图完善,程序流程图设计和编写程序。利齐帅:负责AT89C52单片机控制模块、电源模块原理图绘制,AT89C52原理图元件。林辉:查找集成电路数据手册、查找资料。梁庆堂:负责晶振起振模块、1602液晶屏显示模块原理图绘制第三章 电路设计及元器件选型3.1 AT89C52单片机控制模块电路原理图设计单片机控制模块采用AT89C51芯片作为主控芯片,所谓的单片机是将计算机的基本部件微型化并集成到一块芯片上,具备独特功能的微型计算机,通常片内都含有CPU、ROM、RAM

8、、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。单片机全称为单片微型计算机,又称微控制器或嵌入式控制器,是一种可通过编程控制的处理器。如图3-1所示,单片机的VCC引脚需要接入+5V电源电压正极,GND引脚需要接入电源电压的负极。图3-1 AT89C52单片机芯片EA引脚(外部程序存储器访问控制端)是单片机的外部程序存储器访问控制端,如果它接高电平VCC,则单片机执行片内部程序存储器中的程序,从000H开始终止于0FFFH,并在读取完单片机内部程序存储器的0FFFH后自动转向读取外部的程序存储器,一般只用单片机的内部程序存储器,故接高电平;如果接低电平,则单片机访问的

9、全部是外部程序存储器,从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/

10、O口,之所以称它为“准双向”是因为该口在作为输入使用前,要先向该口进行写1操作,然后单片机内部才能正确读出外部信号。也就是要使其有个“准备过程”,故称其为准双向口。 P2口是一组准双向8位I/O口,每个口可独立控制,内带上拉电阻,与P1口相似。P2口具有除一般I/O口外的第二重功能作为高8位地址线。3.2晶振起振模块电路与功能晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。如图3-2所示,XTAL1、XTAL2为时钟信号端,XTAL1为片内振荡电路的输入端,XTAL2为片内振荡电路的输出端。8051有两种工作方式,一是片内时钟振荡方式,另一种是外部时钟方式。

11、片内时钟振荡电路需在XTAL1、XTAL2这两个引脚外接石英晶体和振荡电容,典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的us级时间,方便定时操作),振荡电容的值一般取10pF30pF的瓷片电容。图3-2 晶振起振模块电路原理图3.3 1602液晶屏显示模块电路原理图设计液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。本设计字符式显示。用LCD显示一个字符时比较复杂,因为一个字符由6

12、8或88点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。其电路原理图如图3-3。图3-3 1602液晶屏显示模块电路原理图1602采用标准的16脚接口,其中: 第1脚:VSS为地电源 第2脚:VDD接5V正电源 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比

13、度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第714脚:D0D7为8位双向数据线。 第1516脚:空脚1602液晶模块内部的控制器共有11条控制指令,如表3-1所示:表3-1 控制命令表1602液晶模块的读写操作、

14、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平) 指令1:清显示,指令码01H,光标复位到地址00H位置。 指令2:光标复位,光标返回到地址00H。 指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。 指令6:功能

15、设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。 指令8:DDRAM地址设置。 指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令10:写数据。 指令11:读数据。3.4声音报警模块电路原理图设计该设计使用的是无源蜂鸣器,如图3-4所示。由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O 口是无法直接驱动的,所以要利用放大电路来驱动,一般使用三极管来放大电流就可以了。声报警电

16、路由单片机的P3.4引脚进行控制,当P3.4输出的电平为高电平时,三极管导通,蜂鸣器的电流形成回路,发出声音报警;否则,三极管截止,蜂鸣器不发出声音。图3-4 声音报警电路3.5红外火焰传感器功能及电路火焰传感器是机器人专门用来搜寻火源的传感器,当然火焰传感器也可以用来检测光线的亮度,只是本传感器对火焰特别灵敏。火焰传感器利用红外线对对火焰非常敏感的特点,使用特制的红外线接受管来检测火焰,然后把火焰的亮度转化为高低变化的电平信号,输入到中央处理器中,中央处理器根据信号的变化做出相应的程序处理。如图3-5所示。图3-5 火焰传感器电路原理图用途: 各种火焰,火源探测 模块特色: 1、 可以检测火

17、焰或者波长在760纳米1100纳米范围内的光源,打火机测试火焰距离为80cm,对火焰越大,测试距离越远 2、 探测角度60度左右,对火焰光谱特别灵敏 3 、灵敏度可调(图中蓝色数字电位器调节) 4、比较器输出,信号干净,波形好,驱动能力强,超过15mA 5、配可调精密电位器调节灵敏度 6、工作电压3.3V-5V 7、输出形式 :DO数字开关量输出(0和1)和AO模拟电压输出 8、设有固定螺栓孔,方便安装 9、小板PCB尺寸:3.2cm x 1.4cm 10、使用宽电压LM393比较器 模块使用说明: 1 、火焰传感器对火焰最敏感,对普通光也是有反应的,一般用做火焰报警等用途。 2、 小板输出接

18、口可以与单片机IO口直接相连 3、传感器与火焰要保持一定距离,以免高温损坏传感器,对打火机测试火焰距离为80cm,对火焰越大,测试距离越远 4、小板模拟量输出方式和AD转换处理,可以获得更高的精度第四章 程序设计4.1输入部分程序程序流程图如图4-1所示,通电时寄存器初始化、单片机I/O口初始化,液晶屏初始化完成后停留在一个设定状态,等待信号驱动。开始寄存器初始化单片机I/O口初始化主函数循环检测是否有火焰等待处理、显示 N Y 图4-1 输入程序流程图以下为系统初始化过程后显示子程序。void lcd_pos(BYTE pos) /设定显示位置lcd_wcmd(pos | 0x80);voi

19、d lcd_wdat(BYTE dat) /写入字符显示数据到 LCDwhile(lcd_bz();LCD_RS = 1;LCD_RW = 0;LCD_EP = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();LCD_EP = 0;void lcd_init() /LCD 初始化设定lcd_wcmd(0x38); /16*2 显示,5*7 点阵,8 位数据delay(1);lcd_wcmd(0x0c); /显示开,关光标delay(1);lcd_wcmd(0x06); /

20、移动光标delay(1);lcd_wcmd(0x01); /清除 LCD 的显示内容delay(1);4.2输出部分程序程序流程图如图4-2所示,程序开始运行时,定义液晶屏显示的数组,程序进入主函数,执行显示指令,当有火焰时,火焰传感器输出低电平信号0,单片机根据数据信号传送到液晶屏的相应I/O口,显示相应的数组。开始初始化液晶屏,电源灯亮从火焰传感器采集信号是否检测到火焰蜂鸣器不响,液晶显示“TEST.Safe”,LED灯不亮蜂鸣器报警,液晶显示“TEST.Fire”,LED灯亮。 图4-2 输出程序流程图以下为液晶屏显示函数内容。if(warning = 0) /有光照时传感器输出低电平

21、/delay(300); if(warning = 0) i=0; while(Fire i != 0) lcd_pos(0x43+i); lcd_wdat(Firei); i+; delay(30); for(i=0;i3;i+) beep = 0; delay(200); beep = 1; delay(200); / if(warning = 1) / delay(300); if(warning = 1) i=0; while(Safe i != 0) lcd_pos(0x43+i); lcd_wdat(Safei); i+; delay(30); beep = 1; / delay(

22、300); break;4.3定时应用与功能此次设计主要使用了_nop_延时来实现定时功能,它的作用为:对于延时很短的,要求在us级的,采用“_nop_”函数,这个函数相当汇编NOP指令,延时几微秒。NOP指令为单周期指令,可由晶振频率算出延时时间,对于12M晶振,延时1uS。对于延时比较长的,要求在大于10us,采用C51中的循环语句来实现。第五章 电路设计及结果如图5-1为本设计的总体电路原理图,该图是采用Altium Designer电子线路绘图软件完成的,图中的各种元器件都是根据设计电路严格选定的,并且其参数大小跟设计电路完全一致。图5-2为无火焰时的实物显示,图5-3为有火焰时的实物

23、显示。图5-1 总体电路原理图图5-2 无火焰时的实物显示图5-3 有火焰时的实物显示现象:当给板子供板子的时候,蜂鸣器不响,液晶显示“TEST.Safe”,LED灯不亮。当出现火焰时蜂鸣器响进行报警,液晶显示“TEST.Fire”,LED红灯亮。第六章 总结本次课程设计对于我们有很大的帮助,大学已经度过了三年,但是我们还只是停留在理论的学习上。但通过本次课程设计,使我对模拟电子技术这门课程有了更深入的理解。模拟电子技术是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强软件实践。一个人的力量是有限的,要想把课程设计做的更好,就要学会参考一定的资料,小组共同努力,让思想有机

24、的结合起来,得出实验结果。 在这个过程中,我们也曾经因为仿真失败而纠结。但结果还是很给力的,虽然这只是一次的极简单的课程制作,可是平心而论,也耗费了我不少的心血,这就让我不得不佩服开发技术的前辈,才意识到老一辈对我们社会的付出,为了人们的生活更美好,他们为我们社会所付出多少心血啊! 知识上的收获重要,精神上的丰收更加可喜。让我知道了学无止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。挫折是一份财富,经历是一份拥有。这次课程设计必将成为我人生旅途上一个非常美好的回忆! 通过这次的课程设计我们对于专业课的学习有了更加深刻的认识,以为现在学的知

25、识用不上就加以怠慢,等到想用的时候却发现自己的学习原来是那么的不扎实。以后努力学好每门专业课,让自己拥有更多的知识,才能解决更多的问题!参考文献1 王国玉,管莉.电子线路CAD与实训M.北京:电子工业出版社,20112 林海汀.电子工艺技术与实践M.北京:机械工业出版社,20113 郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略M.北京:电子工业出版社,20094 黄勤.单片机原理及应用M.北京:清华大学出版社,20105 集成电路数据手册查询网:附 件完整程序#include #include typedef unsigned char BYTE;typedef bit B

26、OOL;int i,j,display=0,t02s;sbit LCD_RS = P25;sbit LCD_RW = P26;sbit LCD_EP = P27;sbit warning = P32;sbit beep = P34;/显示数组BYTE code dis1 = WELCOME TO ;BYTE code dis2 = 3W.auto-ctrl.COM;BYTE code dis3 = TEST. ;BYTE code dis5 = WWW.auto-ctrl.COM;BYTE code Fire = Fire ;BYTE code Safe = Safe ;void flash(

27、);void delay(int ms) / 延时子程序while(ms-) for(i = 0; i 250; i+) _nop_(); BOOL lcd_bz() / 测试 LCD 忙碌状态BOOL result;LCD_RS = 0;LCD_RW = 1;LCD_EP = 1;_nop_();result = (BOOL)(P0 & 0x80);LCD_EP = 0;return result;void lcd_wcmd(BYTE cmd) / 写入指令数据到 LCDwhile(lcd_bz();LCD_RS = 0;LCD_RW = 0;LCD_EP = 0;_nop_();P0 =

28、cmd;_nop_();LCD_EP = 1;_nop_();LCD_EP = 0;void lcd_pos(BYTE pos) /设定显示位置lcd_wcmd(pos | 0x80);void lcd_wdat(BYTE dat) /写入字符显示数据到 LCDwhile(lcd_bz();LCD_RS = 1;LCD_RW = 0;LCD_EP = 0;P0 = dat;_nop_();_nop_();LCD_EP = 1;_nop_();_nop_();LCD_EP = 0;void lcd_init() /LCD 初始化设定lcd_wcmd(0x38); /16*2 显示,5*7 点阵,

29、8 位数据delay(1);lcd_wcmd(0x0c); /显示开,关光标delay(1);lcd_wcmd(0x06); /移动光标delay(1);lcd_wcmd(0x01); /清除 LCD 的显示内容delay(1);main()BYTE i;int j=0;lcd_init(); / 初始化 LCDdelay(10);lcd_wcmd(0x06); /向右移动光标while(1) switch(display) case 0: i=0;while(dis2 i != 0)lcd_pos(0x80+i);lcd_wdat(dis2i);i+;delay(300); flash();lcd_wcmd(0x01); /清除 LCD 的显示内容delay(20); /控制两屏转换时间display = 1; lcd_wcmd(0x06); /向右移动光标break; case 1: delay(300); i = 0; while(dis1i != 0) /显示字符 lcd_pos(0x8A+i); /设置显示位置为第一行第 17 列 lcd_wdat(dis1i); i+; delay(300); i = 0; while(di

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论