基于AT89C51单片机在燃气报警中的设计及应用
2014-12-13宋留斌王丹飞
宋留斌+王丹飞
摘要: 该系统设计包括硬件和软件两部分。主要是基于AT89C51单片机实现燃气浓度超标报警的检测和应急处理,如果浓度大于设定的限值就驱动电路进行声光报警,并开启应急系统消除隐患。
关键词: AT89C51;气敏传感器;浓度;报警
中图分类号:TP2 文献标识码:A 文章编号:1006-4311(2014)34-0026-02
0 引言
随着工厂对安全生产的重视,对于车间具有重大安全隐患的重点部位,例如南阳防爆集团重机公司高压电工车间的VPI(真空压力浸漆)工段,烯料及罐装漆挥发的大量可燃气体时刻给生产和人员带来巨大的威胁,一旦发生事故所产生的危害是无法估量的,所以有必要对重点部位进行监控,若出现燃气浓度超标的现象,可以及时处理。基于这样的目的,利用AT89C51单片机设计应用8位键盘控制监控8个部位燃气浓度是否超标,当达到一定浓度时会产生声光报警,并关闭阀门、开启排风机,自动进行紧急处理。
1 燃气浓度超标报警系统的硬件组成与工作原理
该系统硬件主要组成有:AT89C51单片机,8255,气敏传感器,8键盘输入电路,ADC0809,LED显示电路,声报警电路,光报警电路,驱动抽风机电路和阀门关闭启动电路。图1为浓度超标报警系统组成框图。
工作原理:八位键盘输入与8255的PC口相连,通过与8255连接的单片机AT89C51来检测键盘的输出状态,如果有输入,则通过单片机控制ADC0809的地址通道,对该通道浓度进行转换,将气敏传感器所检测到的浓度值通过ADC0809转换为数字信号。同时进行通过软件编程来控制对采集到的数据进行处理,判断是否超过限值,如果没超过则通过与8255PA、PB口连接的LED显示电路进行显示。如果超过限值显示电路显示“FF”,启动声音报警和光报警电路,并启动应急排风机。
2 软件系统设计
如系统框图1,键盘KEY1-KEY8分别与8255的PC0-PC7相连,来控制ADC0809的IN0-IN7位,而IN0-IN7又与所要检测的燃气浓度超标部位的气敏元件相连,通过对IN0-IN7八个端口超标情况检测判定,可以达到控制八个单元的目的。AT89C51单片机通过8255PC口来检测八位键盘输入状态,如果有输入,检测到8255的PC0-PC7端口中哪路键盘输入,就通过ATC89C51单片机控制ADC0809的对应地址,检测地址所对应的单元。该单元的燃气浓度经气敏传感器,通过与AT89C51单片机发出的启动模数转换信号,经ADC0809将模拟信号转换为数字信号。单片机P1.0口与ADC0809的EOC端口相连检测模数转换是否完成,如果转换完成判定是否超过浓度规定限值100D,如果小于100D则通过8255PA、PB口控制的LED显示电路进行显示通道号和浓度值。如果大于100D则显示通道号,浓度值位显示“FF”,并转向声光报警子程序,启动声光报警电路,且启动应急处理,关闭管道阀门,开启排风系统,达到消除隐患的目的。图2为程序流程图。
浓度超标报警程序包括:键盘的输入状态查询,8位键盘输入控制8个通道程序,数据采集与计算及浓度值判定子程序,BCD码转换子程序,显示子程序,延时子程序,声光报警和应急处理程序。
2.1 8255初始化和键盘输入状态检测
为了减少对AT89C51单片机接口的占用,该系统利用8255进行扩展,其中PA、PB口接LED显示电路,作为输出口,工作方式为方式0。PC口作为输入口,用来做8位键盘的输入口。并且在键盘的输入过程中,为了防止键盘的抖动而产生误键入的判断,使用了软件抗干扰。
2.2 8位键盘输入处理程序
当检测到8位键盘中有输入就转向该操作通道,对该路进行处理。
2.3 数据采集与计算程序及浓度值判定
气敏电阻传感器是一种半导体元件,燃气浓度升高时,电阻值减小,但并非线性关系。当通过气敏电阻的电流恒定时,电阻两端的电压与被测浓度有如下关系:
D=DC-KVD
式中:D——被测燃气浓度;
DC——与气敏电阻特性有关的浓度参数;
K——与气敏电阻特性有关的系数;
VD——气敏电阻两端电压。
依此公式,并已知参数DC和参数K,则可以通过气敏电阻两端的电压计算出被测燃气浓度。本次系统中,我们要解决的就是将气敏电阻两端的电压值经A/D转换器ADC0809变成数字量,并通过软件方法计算得到浓度。在进行浓度判定,如果大于100D(以万分数表示),就产生报警,并开启应急系统。若小于100D则显示浓度值。
燃气浓度采集通过P1.0脚查询ADC0809的EOC输出判定模数转换是否完成,当EOC=1时A/D转换完毕。当浓度值超出100D(这里浓度按万分数显示),数码管全部显示FF标志,并且调用声光报警及启动应急系统。
在浓度值计算公式中,系数K是一个很小的数,为计算方便,将K扩大256倍后与VD做乘法运算,即256KVD。相乘后,取高8位舍低8位,可以抵消K的256倍扩大,得到准确的结果。输入的A/D转换电压VD在累加器A中,扩大256倍后的K值为XXH,DC值为YYH。
当浓度值转换完毕,要对该浓度值进行判定,若大于100D,就转向声光报警,开启应急系统。若小于100D就返回,进行浓度值的显示。
2.4 燃气浓度转换为BCD码子程序
计算出的燃气浓度值是以十六进制形式存在,为了LED显示需转换为BCD码。由于有效浓度值不超过100D,其格式为D、通道号(1位)、浓度值(2位)。
为了使可燃气充分的排掉,排风系统再经过10m工作后关掉,达到消除隐患的目的。
3 结语
该系统经过多次优化设计,通过模拟调试满足使用要求,达到了预期的效果。
参考文献:
[1]李光飞编著.单片机课程设计实例指导[M].北京:北京航空航天大学出版社,2004.
[2]冯博琴主编.微型计算机原理与接口技术[M].北京:清华大学出版社,2003:2.
[3]林德杰主编.电气测试技术(第2版)[M].北京:机械工业出版社,2003:3.
摘要: 该系统设计包括硬件和软件两部分。主要是基于AT89C51单片机实现燃气浓度超标报警的检测和应急处理,如果浓度大于设定的限值就驱动电路进行声光报警,并开启应急系统消除隐患。
关键词: AT89C51;气敏传感器;浓度;报警
中图分类号:TP2 文献标识码:A 文章编号:1006-4311(2014)34-0026-02
0 引言
随着工厂对安全生产的重视,对于车间具有重大安全隐患的重点部位,例如南阳防爆集团重机公司高压电工车间的VPI(真空压力浸漆)工段,烯料及罐装漆挥发的大量可燃气体时刻给生产和人员带来巨大的威胁,一旦发生事故所产生的危害是无法估量的,所以有必要对重点部位进行监控,若出现燃气浓度超标的现象,可以及时处理。基于这样的目的,利用AT89C51单片机设计应用8位键盘控制监控8个部位燃气浓度是否超标,当达到一定浓度时会产生声光报警,并关闭阀门、开启排风机,自动进行紧急处理。
1 燃气浓度超标报警系统的硬件组成与工作原理
该系统硬件主要组成有:AT89C51单片机,8255,气敏传感器,8键盘输入电路,ADC0809,LED显示电路,声报警电路,光报警电路,驱动抽风机电路和阀门关闭启动电路。图1为浓度超标报警系统组成框图。
工作原理:八位键盘输入与8255的PC口相连,通过与8255连接的单片机AT89C51来检测键盘的输出状态,如果有输入,则通过单片机控制ADC0809的地址通道,对该通道浓度进行转换,将气敏传感器所检测到的浓度值通过ADC0809转换为数字信号。同时进行通过软件编程来控制对采集到的数据进行处理,判断是否超过限值,如果没超过则通过与8255PA、PB口连接的LED显示电路进行显示。如果超过限值显示电路显示“FF”,启动声音报警和光报警电路,并启动应急排风机。
2 软件系统设计
如系统框图1,键盘KEY1-KEY8分别与8255的PC0-PC7相连,来控制ADC0809的IN0-IN7位,而IN0-IN7又与所要检测的燃气浓度超标部位的气敏元件相连,通过对IN0-IN7八个端口超标情况检测判定,可以达到控制八个单元的目的。AT89C51单片机通过8255PC口来检测八位键盘输入状态,如果有输入,检测到8255的PC0-PC7端口中哪路键盘输入,就通过ATC89C51单片机控制ADC0809的对应地址,检测地址所对应的单元。该单元的燃气浓度经气敏传感器,通过与AT89C51单片机发出的启动模数转换信号,经ADC0809将模拟信号转换为数字信号。单片机P1.0口与ADC0809的EOC端口相连检测模数转换是否完成,如果转换完成判定是否超过浓度规定限值100D,如果小于100D则通过8255PA、PB口控制的LED显示电路进行显示通道号和浓度值。如果大于100D则显示通道号,浓度值位显示“FF”,并转向声光报警子程序,启动声光报警电路,且启动应急处理,关闭管道阀门,开启排风系统,达到消除隐患的目的。图2为程序流程图。
浓度超标报警程序包括:键盘的输入状态查询,8位键盘输入控制8个通道程序,数据采集与计算及浓度值判定子程序,BCD码转换子程序,显示子程序,延时子程序,声光报警和应急处理程序。
2.1 8255初始化和键盘输入状态检测
为了减少对AT89C51单片机接口的占用,该系统利用8255进行扩展,其中PA、PB口接LED显示电路,作为输出口,工作方式为方式0。PC口作为输入口,用来做8位键盘的输入口。并且在键盘的输入过程中,为了防止键盘的抖动而产生误键入的判断,使用了软件抗干扰。
2.2 8位键盘输入处理程序
当检测到8位键盘中有输入就转向该操作通道,对该路进行处理。
2.3 数据采集与计算程序及浓度值判定
气敏电阻传感器是一种半导体元件,燃气浓度升高时,电阻值减小,但并非线性关系。当通过气敏电阻的电流恒定时,电阻两端的电压与被测浓度有如下关系:
D=DC-KVD
式中:D——被测燃气浓度;
DC——与气敏电阻特性有关的浓度参数;
K——与气敏电阻特性有关的系数;
VD——气敏电阻两端电压。
依此公式,并已知参数DC和参数K,则可以通过气敏电阻两端的电压计算出被测燃气浓度。本次系统中,我们要解决的就是将气敏电阻两端的电压值经A/D转换器ADC0809变成数字量,并通过软件方法计算得到浓度。在进行浓度判定,如果大于100D(以万分数表示),就产生报警,并开启应急系统。若小于100D则显示浓度值。
燃气浓度采集通过P1.0脚查询ADC0809的EOC输出判定模数转换是否完成,当EOC=1时A/D转换完毕。当浓度值超出100D(这里浓度按万分数显示),数码管全部显示FF标志,并且调用声光报警及启动应急系统。
在浓度值计算公式中,系数K是一个很小的数,为计算方便,将K扩大256倍后与VD做乘法运算,即256KVD。相乘后,取高8位舍低8位,可以抵消K的256倍扩大,得到准确的结果。输入的A/D转换电压VD在累加器A中,扩大256倍后的K值为XXH,DC值为YYH。
当浓度值转换完毕,要对该浓度值进行判定,若大于100D,就转向声光报警,开启应急系统。若小于100D就返回,进行浓度值的显示。
2.4 燃气浓度转换为BCD码子程序
计算出的燃气浓度值是以十六进制形式存在,为了LED显示需转换为BCD码。由于有效浓度值不超过100D,其格式为D、通道号(1位)、浓度值(2位)。
为了使可燃气充分的排掉,排风系统再经过10m工作后关掉,达到消除隐患的目的。
3 结语
该系统经过多次优化设计,通过模拟调试满足使用要求,达到了预期的效果。
参考文献:
[1]李光飞编著.单片机课程设计实例指导[M].北京:北京航空航天大学出版社,2004.
[2]冯博琴主编.微型计算机原理与接口技术[M].北京:清华大学出版社,2003:2.
[3]林德杰主编.电气测试技术(第2版)[M].北京:机械工业出版社,2003:3.
摘要: 该系统设计包括硬件和软件两部分。主要是基于AT89C51单片机实现燃气浓度超标报警的检测和应急处理,如果浓度大于设定的限值就驱动电路进行声光报警,并开启应急系统消除隐患。
关键词: AT89C51;气敏传感器;浓度;报警
中图分类号:TP2 文献标识码:A 文章编号:1006-4311(2014)34-0026-02
0 引言
随着工厂对安全生产的重视,对于车间具有重大安全隐患的重点部位,例如南阳防爆集团重机公司高压电工车间的VPI(真空压力浸漆)工段,烯料及罐装漆挥发的大量可燃气体时刻给生产和人员带来巨大的威胁,一旦发生事故所产生的危害是无法估量的,所以有必要对重点部位进行监控,若出现燃气浓度超标的现象,可以及时处理。基于这样的目的,利用AT89C51单片机设计应用8位键盘控制监控8个部位燃气浓度是否超标,当达到一定浓度时会产生声光报警,并关闭阀门、开启排风机,自动进行紧急处理。
1 燃气浓度超标报警系统的硬件组成与工作原理
该系统硬件主要组成有:AT89C51单片机,8255,气敏传感器,8键盘输入电路,ADC0809,LED显示电路,声报警电路,光报警电路,驱动抽风机电路和阀门关闭启动电路。图1为浓度超标报警系统组成框图。
工作原理:八位键盘输入与8255的PC口相连,通过与8255连接的单片机AT89C51来检测键盘的输出状态,如果有输入,则通过单片机控制ADC0809的地址通道,对该通道浓度进行转换,将气敏传感器所检测到的浓度值通过ADC0809转换为数字信号。同时进行通过软件编程来控制对采集到的数据进行处理,判断是否超过限值,如果没超过则通过与8255PA、PB口连接的LED显示电路进行显示。如果超过限值显示电路显示“FF”,启动声音报警和光报警电路,并启动应急排风机。
2 软件系统设计
如系统框图1,键盘KEY1-KEY8分别与8255的PC0-PC7相连,来控制ADC0809的IN0-IN7位,而IN0-IN7又与所要检测的燃气浓度超标部位的气敏元件相连,通过对IN0-IN7八个端口超标情况检测判定,可以达到控制八个单元的目的。AT89C51单片机通过8255PC口来检测八位键盘输入状态,如果有输入,检测到8255的PC0-PC7端口中哪路键盘输入,就通过ATC89C51单片机控制ADC0809的对应地址,检测地址所对应的单元。该单元的燃气浓度经气敏传感器,通过与AT89C51单片机发出的启动模数转换信号,经ADC0809将模拟信号转换为数字信号。单片机P1.0口与ADC0809的EOC端口相连检测模数转换是否完成,如果转换完成判定是否超过浓度规定限值100D,如果小于100D则通过8255PA、PB口控制的LED显示电路进行显示通道号和浓度值。如果大于100D则显示通道号,浓度值位显示“FF”,并转向声光报警子程序,启动声光报警电路,且启动应急处理,关闭管道阀门,开启排风系统,达到消除隐患的目的。图2为程序流程图。
浓度超标报警程序包括:键盘的输入状态查询,8位键盘输入控制8个通道程序,数据采集与计算及浓度值判定子程序,BCD码转换子程序,显示子程序,延时子程序,声光报警和应急处理程序。
2.1 8255初始化和键盘输入状态检测
为了减少对AT89C51单片机接口的占用,该系统利用8255进行扩展,其中PA、PB口接LED显示电路,作为输出口,工作方式为方式0。PC口作为输入口,用来做8位键盘的输入口。并且在键盘的输入过程中,为了防止键盘的抖动而产生误键入的判断,使用了软件抗干扰。
2.2 8位键盘输入处理程序
当检测到8位键盘中有输入就转向该操作通道,对该路进行处理。
2.3 数据采集与计算程序及浓度值判定
气敏电阻传感器是一种半导体元件,燃气浓度升高时,电阻值减小,但并非线性关系。当通过气敏电阻的电流恒定时,电阻两端的电压与被测浓度有如下关系:
D=DC-KVD
式中:D——被测燃气浓度;
DC——与气敏电阻特性有关的浓度参数;
K——与气敏电阻特性有关的系数;
VD——气敏电阻两端电压。
依此公式,并已知参数DC和参数K,则可以通过气敏电阻两端的电压计算出被测燃气浓度。本次系统中,我们要解决的就是将气敏电阻两端的电压值经A/D转换器ADC0809变成数字量,并通过软件方法计算得到浓度。在进行浓度判定,如果大于100D(以万分数表示),就产生报警,并开启应急系统。若小于100D则显示浓度值。
燃气浓度采集通过P1.0脚查询ADC0809的EOC输出判定模数转换是否完成,当EOC=1时A/D转换完毕。当浓度值超出100D(这里浓度按万分数显示),数码管全部显示FF标志,并且调用声光报警及启动应急系统。
在浓度值计算公式中,系数K是一个很小的数,为计算方便,将K扩大256倍后与VD做乘法运算,即256KVD。相乘后,取高8位舍低8位,可以抵消K的256倍扩大,得到准确的结果。输入的A/D转换电压VD在累加器A中,扩大256倍后的K值为XXH,DC值为YYH。
当浓度值转换完毕,要对该浓度值进行判定,若大于100D,就转向声光报警,开启应急系统。若小于100D就返回,进行浓度值的显示。
2.4 燃气浓度转换为BCD码子程序
计算出的燃气浓度值是以十六进制形式存在,为了LED显示需转换为BCD码。由于有效浓度值不超过100D,其格式为D、通道号(1位)、浓度值(2位)。
为了使可燃气充分的排掉,排风系统再经过10m工作后关掉,达到消除隐患的目的。
3 结语
该系统经过多次优化设计,通过模拟调试满足使用要求,达到了预期的效果。
参考文献:
[1]李光飞编著.单片机课程设计实例指导[M].北京:北京航空航天大学出版社,2004.
[2]冯博琴主编.微型计算机原理与接口技术[M].北京:清华大学出版社,2003:2.
[3]林德杰主编.电气测试技术(第2版)[M].北京:机械工业出版社,2003:3.