锅炉报警系统说明书.docx
- 文档编号:3869196
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:15
- 大小:201.05KB
锅炉报警系统说明书.docx
《锅炉报警系统说明书.docx》由会员分享,可在线阅读,更多相关《锅炉报警系统说明书.docx(15页珍藏版)》请在冰豆网上搜索。
锅炉报警系统说明书
锅炉越限报警系统
引言
随着科技的不断发展,日常生活中越来越多的采用高温高热的一些设备及装置,它在方便了人们生活的同时,也留下了安全隐患,因此做好高温预警工作是非常必要的。
为了能实现防火、防灾的目的,就必须采取先进的自动检测和控制手段。
本文所设计的单片机智能检测控制器能通过现场温度传感器检测到室内的温度或是设备、装置的温度等信息,然后根据现场信息进行相应的处理。
即当温度超过了预先设定的警戒值时,此系统能显示温度信息并且发出警报声,通知管理人员进行控制。
本系统不仅能实现高温报警,同时也能实现对温度下限的报警,满足不同场合的设计需要。
1功能介绍
一、设计目的和要求
1、设计目的:
通过用C51单片机来编写一个简单的程序,利用ADC8080实现模数转换监控锅炉的越限参数的变化,从而实现相应的报警控制。
了解ADC8080的使用方法,以及学习使用KeilC51进行单片机开发的方法,并掌握联合Proteus来实现仿真调试。
2、设计要求:
(1).蒸汽压力(X3)的下限报警值为1.5V,
炉膛温度(X2)的下限报警值为1V,上限报警值为4V,
水位(X1)的下限报警值为1V,上限报警值为4V;
(2).调节滑动变阻器X3模拟蒸气报警,若参数越界,
对应红灯亮,并有报警声,按K1键消除报警声;
(3).调节滑动变阻器X2模拟炉膛温度报警,若参数越界,
对应红灯亮,并有报警声,按K1键消除报警声;
(4).调节滑动变阻器X1模拟水位报警,若参数越界,
对应红灯亮,并有报警声,按K1键消除报警声;
(5).若所有参数均正常,绿灯亮。
二、硬件电路设计
越限参数监控
ADC0808
模数转换
AT89C52
单片机
报警显示
单元电路的设计
图1硬件电路
主控芯片
根据设计的所需要求分析STC89C52单片机的工作原理,可得出来温度电路设计方便和优点。
VCC:
电源;GND:
地,RST:
复位输入。
P0口:
P0口是一个8位漏极开路的双向I/O口。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
是一个具有内部上拉电阻的8位双向I/O口,在flash编程和校验时,P1口接收低8位地址字节。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,在flash编程和校验时,P3口也接收一些控制信号。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
程序存储器:
如果EA引脚接地,程序读取只从外部存储器开始。
对于89S52,如果EA接VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:
2000H~FFFFH。
数据存储器:
STC89C52有256字节片内数据存储器。
高128字节与特殊功能寄存器重叠。
也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的
STC89C52有6个中断源:
两个外部中断(INT0和INT1),三个定时中(定时器0、1、2)和一个串行中断每个中断源都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效或无效。
STC89C52单片机引脚图如图2所示
图2单片机引脚图
单片机晶振电路和复位电路
图3晶振和复位电路
锁存电路
图4锁存电路
模数转换电路
图5模数转换电路
越限参数控制电路
图6越限参数控制电路
报警显示电路
图7报警显示电路
三、软件设计
1、程序设计流程
编程流程图
2、程序说明
3、相关的越限参数指标:
●蒸汽压力(X3)的下限报警值为1.5V,
●炉膛温度(X2)的下限报警值为1V,上限报警值为4V,
●水位(X1)的下限报警值为1V,上限报警值为4V;
由相应的越限参数,我们可以按如下的步骤调试:
■调节滑动变阻器X3模拟蒸气报警,若参数越界,
对应红灯亮,并有报警声,按K1键消除报警声;
■调节滑动变阻器X2模拟炉膛温度报警,若参数越界,
对应红灯亮,并有报警声,按K1键消除报警声;
■调节滑动变阻器X1模拟水位报警,若参数越界,
对应红灯亮,并有报警声,按K1键消除报警声;
■若所有参数均正常,绿灯亮。
五、心得体会
通过本次课程设计,我们熟悉了AT89C52、ADC0808等元器件的功能和应用。
结合C51单片机语言设计一个程序,实现相关要求的控制系统设计。
在设计之前先画好流程图,形成清晰的编程思路,进而合理的完成实验编程。
通过实际的编程和仿真调试,我们可以在这一过程中将书本上的理论知识应用在实际的控制系统的设计中。
同时在仿真调试时,我们可以发现在编程时出现的错误并予以纠正。
在实际的编程环境中,可以很直观的纠正自己在编程中的错误,并形成良好的编程习惯,同时也为以后的编程设计打下良好基础。
当然,我们也会发现在这一设计过程中的不足。
即在软件和硬件实现的功能一样时,在实际硬件上能实现,但在Proteus仿真软件上却不能单独实现,必须要配合软件才能实现。
这就要求我们不仅要学会使用相关的软件,同时也应该积累实践的经验,从中总结一些实际的问题的解决方法。
于此同时也学会了将Keil软件和Proteus软件联合在单片机设计中的仿真调试。
提高了我们实际的操作能力,多方位地丰富了我们对硬件电路和软件程序的仿真调试手段。
成功完成本次的实验,让我们受益匪浅,同时也激发了个人的实际动手的积极性。
将死板的课本知识应用到实际可行的控制设计,是一种很好的学习方法。
实践是检验真理的唯一标准,学好了知识必须要能在实际的应用中实现才能体现其价值。
通过这次课程设计让我们对所学内容有了进一步的理解
六、参考文献
1、徐爱钧编著《8051单片机实践教程》电子工业出版社.2006年
2、常喜茂孔英会付小宁编著《C51基础与应用实例》电子工业出版社.1999年
3、贺敬凯刘德新管明祥编著《单片机系统设计仿真与应用——基于Keil和Protues仿真平台》西安电子科技大学出版社.2003年
4、孙涵芳编著《MCS-51/96系列单片机原理及应用(修订版)》.北京航空航天大学出版社.1994
5、李朝青编著《单片机原理及接口技术(第3版)》.北京航空航天大学出版社.2005
6、周润景袁伟亭景晓松编著《Proteus在MCS-51&ARM7系统中的应用百例》电子工业出版社.2006
附录一
元器件清单
序号
符号
名称
数量
1
74LS04
反相器
7
2
74LS373
锁存器
1
3
ADC0808
模数转换器
1
4
AT89C52
单片机CPU
1
5
BUTTON
按钮
1
6
CAP
电容
2
7
CAP-ELEC
电解电容
1
8
CRYSTAL
晶振
1
9
LED-GREEN
绿发光二极管
1
10
LED-RED
红发光二极管
5
11
NOR
或非门
2
12
POT-LIN
变阻器
1
13
RES
电阻
2
14
RESPACK-8
排阻
1
15
SPEAKER
蜂鸣器
1
附录二
系统仿真电路图
附录三
系统实现程序
/*
*文件名锅炉报警系统程序.c
*芯片:
AT89C52
*主频:
12MHZ
*功能描述:
锅炉报警系统,对水位、炉膛温度、蒸汽压力监控
*/
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
/*ADC0808的地址*/
#defineADC_0808XBYTE[0x7fff]
/*采样值保存位置,分别为水位,温度,蒸汽压力值*/
ucharSAMP[3]={0x00,0x00,0x00};
/*各个警限值,分别为水位上限值,水位下限值,温度上限值,温度下限值,蒸汽压力下限值*/
ucharLIMIT[5]={0xc0,0x40,0xc0,0x40,0x50};
/*报警铃开/关标志,0-开,1-关*/
bitALARM=0;
ucharDETECT;//保存消除报警铃时的值
/*P3口定义*/
sbitADC_EOC=P3^0;//A/D转换后产生一个正脉冲
sbitLS_373=P3^1;
/*P1口定义*/
sbitP1_0=P1^0;//水位上限灯控制
sbitP1_1=P1^1;//水位下限灯控制
sbitP1_2=P1^2;//温度上限灯控制
sbitP1_3=P1^3;//温度下限灯控制
sbitP1_4=P1^4;//蒸汽压力下限控制
sbitP1_5=P1^5;//正常运行
sbitP1_6=P1^6;
sbitP1_7=P1^7;//报警铃控制
/*函数原型申明*/
voidDelay500ms(void);
voidInitInt0(void);
/*
*函数名:
main()
*功能:
程序入口
*输入参数:
无
*输出参数:
无
*/
voidmain()
{
uchari;
P1=0x20;
InitInt0();
while
(1)
{
for(i=0;i<3;i++)
{
P0=i;//选通通道
LS_373=1;
LS_373=0;//通道锁存
ADC_0808=0x00;//启动A/D转换
while(!
ADC_EOC);//等待转换结束
SAMP[i]=ADC_0808;
switch(i)
{
case0:
{
if(SAMP[0]>LIMIT[0])//水位上限超过
{
P1_0=1;
P1_1=0;
}
else
{
if(SAMP[0] { P1_0=0; P1_1=1; } else//水位正常 { P1_0=0; P1_1=0; } } } break; case1: { if(SAMP[1]>LIMIT[2])//温度上限值超过 { P1_2=1; P1_3=0; } else { if(SAMP[1] { P1_2=0; P1_3=1; } else//温度正常 { P1_2=0; P1_3=0; } } } break; case2: { if(SAMP[2] { P1_4=1; } else {//蒸汽压力正常 P1_4=0; } } break; } if(P1&0x1F)//有警限值超过 { P1_5=0; if(ALARM==0) {//报警 P1_7=! P1_7; } else { if((P1&0x1f)>(DETECT&0x1f)) //判断消除报警铃后其它有没有报警 ALARM=0; } } if((P1==0x00)||(P1==0x80))//无警限值超过 { P1=0x20; ALARM=0; } } Delay500ms(); } } /* *函数名: int0 *功能描述: 外部中断0中断服务程序 *输入参数: 无 *返回值: 无 */ voidint0(void)interrupt0 { ALARM=1; DETECT=P1; } /* *函数名: InitInt0 *功能描述: 外部中断0初始化 *输入参数: 无 *返回值: 无 */ voidInitInt0(void) { EA=1; EX0=1; IT0=1; } /* *函数名: Delay500ms *功能描述: 500ms延时 *输入参数: 无 *返回值: 无 */ voidDelay500ms(void) { uchari,j,k; for(i=23;i>0;i--) for(j=152;j>0;j--) for(k=70;k>0;k--); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 锅炉 报警 系统 说明书