烟雾报警器控制系统的设计.docx
- 文档编号:16375536
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:18
- 大小:266.27KB
烟雾报警器控制系统的设计.docx
《烟雾报警器控制系统的设计.docx》由会员分享,可在线阅读,更多相关《烟雾报警器控制系统的设计.docx(18页珍藏版)》请在冰点文库上搜索。
烟雾报警器控制系统的设计
1引言
烟雾报警器,是一种经常使用的设备,本次实现利用单片机STC89C51和MQ-2烟雾气敏传感器对房间的烟雾浓度进行检测、根据设计的要求,如果超过设定浓度,可以进行声、光报警并对烟雾浓度进行调节。
通过设计,掌握数据采集系统的工作原理、掌握计算机控制系统的设计原理。
2设计要求
2.1课程设计目的
1.设计一个由计算机控制的烟雾报警器,可以对房间的烟雾浓度进行检测,如果超过设定浓度,可以进行声、光报警并对烟雾浓度进行调节。
通过设计,掌握数据采集系统的工作原理、掌握计算机控制系统的设计原理。
2.利用STC89C52完成控制要求。
熟悉并了解单片机控制系统的详细工作原理。
3.利用KeiluVision、proetus、protel画出硬件原理图、软件仿真图。
2.2课程设计内容和要求
1.选择传感器,设计接口电路,对房间的烟雾浓度进行检测,要求烟雾浓度的测量范围是0~2000ppm。
设计声光报警电路,当浓度超过1000ppm时自动报警。
2.用protel设计硬件原理图
3.选择控制算法,编写控制程序。
用KeiluVision设计完整的控制程序(C语言或者汇编语言)
4.编译、下载、运行
5.用proetus给出软件仿真结果,并显示当烟雾浓度
2.3设计工作任务及工作量的要求
1.根据题目要求的指标,通过查阅有关资料,确定系统设计方案,并设计其硬件电路图。
2.画出电路原理图,分析主要模块的功能及他们之间的数据传输和控制关系。
3.用Proteus软件绘制硬件电路图并仿真。
4.软件设计包括流程图、用汇编语言或C语言对软件进行编译,并能通过调试。
3方案设计
利用单片机和烟雾传感器构造烟雾报警器,可以对房间的烟雾浓度进行检测。
如果超过设定浓度,可以进行声、光报警并对烟雾浓度进行调节。
3.1设计原理
该烟雾传感器原理框图如图3-1,总体原理为:
利用STC89C51单片机和烟雾传感器构造,可以对房间的烟雾浓度进行检测,如果超过设定浓度,可以进行声、光报警并对烟雾浓度进行调节。
通过C语言对单片机的编程对相应状态进行检测并作出响应。
图3-1烟雾传感器原理框图
4电路器件介绍
4.1单片机简介
STC89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS8位微处理器,俗称单片机。
STC89C51提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
其引脚图如图4-1。
图4-1STC89C51引脚图
4.2MQ-2气体传感器简介
图4-2DAC0832引脚图
MQ-2气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。
当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。
使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。
MQ-2气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。
这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器,如图4-2。
4.31602液晶显示的介绍
图4-3LCD1602引脚图
液晶极其省电,1602液晶最多可以输出32个字符,电路只需简单的连接即可,程序设计也很简单,可以移植现成的模板。
但是使用有温度范围限制,且因是反光式的,在外界光线很明亮的情况下很容易看不清楚。
由于1602耗电量低且程序编写简单,电路连接简单。
显示清楚。
电路图如图4-3。
5电路设计及原理分析
5.1单片机引脚分配
XTAL1、XTAL2:
外接电路,产生时钟信号;
RST:
外接复位电路;
P2:
外接LCD1602显示器;
P3:
外接蜂鸣器和烟雾传感器;
5.2时钟电路
STC89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶休或陶瓷谐振器一起构成自激振荡器,振荡电路参见图5-2。
图5-3复位电路
图5-2时钟电路
5.3复位电路
单片机的复位引脚RST出现2个机器周期以上的高电平时单片机复位,根据应用的要求,复位操作通常有两种基本形式:
上电复位和上电或开关复位。
上电复位要求接通电源后,自动实现复位操作。
上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。
上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。
当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。
如图5-3。
5.4蜂鸣器接口电路
利用单片机发出PWM波形,三极管放大电路进行驱动,从而使蜂鸣器发出警报。
如图5-4。
5.5灯光显示电路
如果超过设定浓度,可以进行声、光报警,利用发光二极管来进行灯光显示,并以一定频率闪烁提醒人们警报。
如图5-5所示。
图5-4蜂鸣器驱动电路
图5-5灯光显示电路
6系统软件设计
首先对程序初始化,然后判断是否有烟雾产生,若有烟雾进行报警,并显示烟雾浓度及声光报警。
根据设计要求,确定编程思想,现程序流程图如图6-1所示。
图6-1程序流程图
7实物图
7.1实物图
通过前面的软硬件设计以后,整个电路的设计基本完成,系统在以Proteus这款软件为平台,通过仿真证明了电路软硬件设计的正确性。
最后就是进行焊接实物图并且测试实物图的正确性。
系统硬件的整体实物图如下图所示:
图8-1实物图
8课程设计体会
通过此次课程设计,首先我学会了怎么去使用Proteus,并学到很多的东西。
对单片机有了进一步的了解。
但是在做课程设计的过程中,也出现了一些问题,最主要还是实物制作中中,出现电路设计的一些问题。
通过这次课程设计,使我明白了自身的不足,还有就是学习上存在的以应试为目的的陋习,自己真正学到的知识还是相当有限的,而且都是很死板的知识,并没有做到活学活用。
而且,在专业软件学习方面还要有很大的提升的需要。
参考文献
[1]何立民.单片机高级教程.北京航空航天大学出版社.2001:
40~53
[2]李建忠.单片机原理及应用(第二版).西安电子科技大学出版社.2008.2:
22~23
[3]童诗白,华成英.模拟电子技术基础(第三版).北京:
高等教育出版社.2001:
76~110
[4]康华光.电子技术基础(第四版).北京高等教育出版社.1998:
134~138
[5]梁宗善.新型集成块应用.武汉华中理工大出版社.2004:
15~19
[6]谭浩强.C语言程序设计(高职教材).清华大学出版社.2000.01:
20~88
[7]华臻,陈书谦.单片机原理及应用[M].北京:
电子工业出版社.2005.
[8]李朝清.单片机原理及接口技术[M].北京:
航空航天大学出版社,1994.
[9]周勇,付大鹏,刘刚强.新型家用密码锁的研究[J].机械.2002.9(赠刊):
128-129
[10]李珍,付植桐.单片机原理与应用技术[M].北京:
清华大学出版社.2003.
[11]李明喜.新型电子密码锁的设计[J].机电产品开发与创新.2004,(03)
[12]董继成.一种新型安全的单片机密码锁[J].电子技术.2004.(03)
[13]王宽仁.可靠安全的智能密码锁[J].电子技术应用.2001年第2期
[14]江志红.51单片机技术与应用系统开发[M].清华大学出版社.2008
[15]阎石.数字电子技术基础[第四版][M].高等教育出版社.1998.11
[16]任艳艳.基于AT89C51单片机多功能密码锁的研究[J].重庆职业技术学院学报.2008.5
[17]周功明.基于AT89C2051单片机的防盗自动报警密码锁系统的设计[J].绵阳师范学院学报.2007.5
[18]周鑫,何建新,刘琥.基于单片机的电子密码锁控制电路设计[J].成都信息工程学院学报.2009.8
附录A:
主电路图
图9-1主电路图设计
图9-2PCB图设计
附录B:
主程序
#include
#include
#defineucharunsignedchar//定义一下方便使用
#defineuintunsignedint
#defineulongunsignedlong
#defineDataPortP2//液晶数据输出
sbitRS=P0^4;//寄存器选择数据命令
sbitRW=P0^5;//读写
sbitEN=P0^6;//使能
sbitspk=P3^7;//蜂鸣器
sbitger_led=P1^0;//led1
sbitred_led=P1^1;//led2
sbitMQ2=P3^5;
voidDelayUs(uchart)//us级延时函数
{
uchara;
while(t--)
{
for(a=4;a>0;a--);
}
}
voidDelayMs(uchart)//ms级延时
{
uchara,b,c;
while(t--)
{
for(c=8;c>0;c--)
for(b=197;b>0;b--)
for(a=2;a>0;a--);
}
}
voidCheck_Busy()//忙检测
{
RS=0;
RW=1;
EN=1;
DataPort=0xff;
while((DataPort&0x80)==0x80);//忙则等待
EN=0;
}
voidWrite_Data(ucharData)//写入数据
{
Check_Busy();
RS=1;
RW=0;
EN=1;
DataPort=Data;
DelayMs(5);
EN=0;
DelayMs(5);
}
voidWrite_com(ucharcom)//写入命令
{
Check_Busy();
RS=0;
RW=0;
EN=1;
DataPort=com;
DelayMs(5);
EN=0;
DelayMs(5);
}
voidLCD_Write_String(ucharx,uchary,uchar*s)//写入字符串函数
{
if(y==0)
{
Write_com(0x80+x);//表示第一行
}
else
{
Write_com(0xC0+x);//表示第二行
}
while(*s)
{
Write_Data(*s);
s++;
}
}
voidLCD_Write_Char(ucharx,uchary,ucharData)//写入字符函数
{
if(y==0)
{
Write_com(0x80+x);
}
else
{
Write_com(0xC0+x);
}
Write_Data(Data);
}
voidClrScreen()//清屏函数
{
Write_com(0x01);
DelayMs
(1);
}
voidInit_lcd1602()//初始化
{
EN=0;
Write_com(0x38);//8位数据接口两行显示5*10点阵字符
Write_com(0x0e);//显示开关光标开关
Write_com(0x06);//输入方式设置读写操作后AC自动增1,画面平移
Write_com(0x01);//清屏
}
voidspeak()
{
DelayMs(5);
spk=!
spk;
}
voidlight_red()
{
ger_led=0;
red_led=0;
DelayMs(230);
red_led=1;
ger_led=1;
}
voidAlarm()
{
LCD_Write_String(1,0,"over1000pm");//双引号
LCD_Write_String(1,1,"dangerous!
!
");//双引号
light_red();
speak();
}
voidNormol()
{
LCD_Write_String(1,0,"normal");//双引号
LCD_Write_String(1,1,"nucdesign");//双引号
}
voidmain()
{
EA=1;//开中断
EX1=1;//外部中断1
IT1=1;//电平触发
Init_lcd1602();
ger_led=1;
red_led=1;
MQ2=0;
while
(1)
{
Normol();//正常显示
}
}
voidexter0()interrupt2
{
Alarm();//警报
while
(1);
}........忽略此处.......
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 烟雾 报警器 控制系统 设计