018
单片机控制的便携式瓦斯检测仪样本
(样本只提供该系统的基本情况介绍,若需要完整的设计和论文,建议您购买本系统,凡是购买本站系统的,本站均根据您的要求,把系统上的开发信息,题目等修改成符合您的要求)
本系统开发工具:单片机/汇编
本设计包含内容:源代码+毕业论文+开题报告+答辩稿
论文大概:
摘
要
我国的煤炭年产量已超过19亿吨,在一次能源消费构成中,煤炭占到70%以上,是世界上最大的煤炭生产国和消费国,也是世界上受瓦斯危害最严重的国家。瓦斯是煤矿生产中的有害气体,它严重地威胁着矿工生命和国家财产的安全。为了防止瓦斯爆炸事故,人们使用了多种监测方法和监测仪器。随着国家对瓦斯治理的重视,煤矿安全方面的投入在不断加大。更迫切需要一种能连续,自动检测瓦斯的仪器。本课题设计的单片机控制的便携式瓦斯检测仪将空气中的瓦斯浓度转换为电信号,再经AD转换器,将模拟信号转为数字信号,用微处理器处理后,用4位七段LED数码管显示浓度数值。当空气中瓦斯浓度超限后有声光报警功能。本课题设计的单片机控制的便携式瓦斯检测仪有电源监控功能,实时监控仪表内部电源,当电源电压低于阈值时发出报警,提醒使用人员及时更换电池,并且外部有复位按钮,可是系统安全可靠。本课题所设计的瓦斯检测仪,针对便携的特点,内部芯片全采用贴片式封装,体积小,功耗低,测值报警准确,便于工作人员的携带,特别是在矿井下流动的工作人员随身携带。
关键字:单片机控制,便携式,报警,LED
Abstract
The production of coal in china has reached
1.9 billion ton.70%of all the energy is coal. China is the biggest
coal producer and consumer. Also china has many gas accidents. Gas
is harmful in the mining activities. People use monitors to prevent
gas accidents. We need auto gas monitors which could provide
continuous protection. The single chip controlled Portable gas
monitor in this article could change the concentration of the gas
into electric signals, and then through the AD converter the analog
signals convert to the digital signals. After the dealing with the
digital signals by the microcontroller , LED displays the
concentration data.
When the gas concentration exceed the limit,
the portable gas monitor alarms by sound and light. The single
chip controlled Portable gas monitor in this article, aimed at
the feature of portable, all the chip used the CMOS chip ,and SMT
package, so the cubage is small and lost-cost. It is convenient to
use for the miner.
Keyword: single chip control, portable type,
alarm
目 录
1.绪论………………………………………………………………………………1
1.1
瓦斯检测仪综述 …………………………………………………………1
1.2 单片机控制的便携式瓦斯检测仪的技术要求
…………………………2
1.2.1 AD采集瓦斯传感器信号 …………………………………………2
1.2.2
瓦斯浓度LED显示…………………………………………………2
1.2.3
瓦斯检测仪的声光报警功能………………………………………2
1.2.4电源监控以及复位功能
……………………………………………2
1.2.5
外部扩展SRAM,用于数据存储及计算……………………………2
2.单片机控制的便携式瓦斯监测仪设计…………………………………………3
2.1
单片机控制的便携式瓦斯检测仪的系统原理框图 ……………………3
2.2
核心处理芯片,增强型P87CL54单片机………………………………3
2.2.1单片机介绍
…………………………………………………………3
2.2.2 单片机的特点………………………………………………………3
2.3
A/D数据采集以及软件滤波模块设计……………………………………4
2.3.1 A/D采集
……………………………………………………………4
2.3.2 数字滤波
……………………………………………………………8
2.4
LED显示瓦斯浓度模块设计………………………………………………13
2.4.1 4位LED数码管串行动态显示原理
………………………………13
2.4.2 4位LED数码管串行动态显示与单片机硬件接口…………………14
2.4.3
串行接口方式下,LED动态显示子程序……………………………15
2.5 声光报警模块设计
………………………………………………………17
2.5.1发光二极管声音报警驱动电路
……………………………………17
2.5.2报警子程序 …………………………………………………………18
2.6
电源监控以及复位…………………………………………………………19
2.6.1
电源监控复位芯片MAX708介绍……………………………………20
2.6.2
MA708与单片机硬件接口……………………………………………20
2.6.3 电压不足报警程序设计
……………………………………………21
2.7单片机扩展SRAM
……………………………………………………………21
2.7.1单片机与外RAM128硬件连接………………………………………22
2.7.2单片机与外RAM的读写程序
………………………………………22
2.8 单片机抗干扰设计 …………………………………………………………22
2.8.1
硬件抗干扰设计 ……………………………………………………22
2.8.2单片机软件抗干扰
…………………………………………………25
3.完整程序…………………………………………………………………………27
结束语
………………………………………………………………………………42
致谢
…………………………………………………………………………………43
参考文献
……………………………………………………………………………44
1. 绪 论
1.1
瓦斯检测仪综述
我国的煤炭年产量已超过19亿吨,在一次能源消费构成中,煤炭占到70%以上,是世界上最大的煤炭生产国和消费国,也是世界上受瓦斯危害最严重的国家。瓦斯是煤矿生产中的有害气体,它严重地威胁着矿工生命和国家财产的安全。2004年10月河南大平煤矿发生特大瓦斯爆炸事故,147名矿工遇难;11月,陕西陈家山煤矿发生特大瓦斯爆炸事故,166名矿工遇难;最大的瓦斯矿难则是2005年2月14日辽宁阜新矿业集团公司孙家湾煤矿发生的特大瓦斯爆炸事故,214名矿工死亡;最近的一次瓦斯大矿难发生在今年7月13日的新疆阜康神龙煤矿,有83名矿工遇难……矿难震惊国人。2002年至今年8月,全国煤矿发生特大事故29起,死亡1743人。其中,瓦斯爆炸事故24起,死亡1579人,事故起数和死亡人数分别占83%和91%,呈居高不下的有增无减态势。据统计,新中国成立以来,全国煤矿共发生一次死亡百人以上的矿难19起。其中瓦斯矿难15起,占79%。
瓦斯灾害主要表现为瓦斯突出形成的爆炸事故。与其他国家相比,我国煤矿开采的煤层大多属于石灰岩二迭纪的煤层。这个时期煤层的特点就是瓦斯含量大、煤层透气性低,在开采前抽放瓦斯很不容易。因而我国煤矿高瓦斯矿井占多数。这种高瓦斯矿井的地质构造复杂,断层多,地应力大,煤层受到搓揉破坏严重,在采掘中,瓦斯容易放散,在一定的条件下会产生煤尘和瓦斯的突然喷出现象,极易形成瓦斯爆炸事故。再加之我国的煤炭多是地下开采,更增加了瓦斯治理的难度。
自2004年下半年我国煤矿瓦斯治理攻坚战全面展开以来,取得了很好的成绩,如煤矿监测、监控系统目前已达国际先进水平,安全监控的管理环节已基本成熟,安全资金也大幅增加。但为什么瓦斯导致的矿难仍然有增无减?在调查中我们发现,一个重要原因是瓦斯治理装备的科技含量仍然不高,必要的技术装备还没到位,这是当前煤矿瓦斯事故多发势头尚未得到遏制的重要原因之一。
为了防止瓦斯爆炸事故,人们使用了多种监测方法和监测仪器。但这些仪器有的安装在一个固定点,有的配备有专职检查员,只能进行定点定时检测,它的检测范围和时间往往受到检测人员的限制,而且一旦出现故障,直接危害井下人员的安全。在高浓度瓦斯矿井与综合机械化采煤工作面,更迫切需要一种能连续,自动检测瓦斯的仪器。
单片机控制的便携式瓦斯检测仪,它是集瓦斯检测与瓦斯检测报警器于一体,体积效,功耗低,可由井下流动工作人员随身携带,使用方便,随时检测并显示瓦斯浓度,当瓦斯浓度超限时,自动声光报警并发出报警,提醒人员及时撤离。
1.2
单片机控制的便携式瓦斯检测仪的技术要求
单片机控制的便携式瓦斯检测仪用于煤矿井下采掘,通风、维修等作业场使用,连续检测环境中瓦斯浓度;体积小,功耗低,使用方便,可供安全检测、生产管理人员携带流动检测使用。当瓦斯浓度超限时,自动声光报警。
主要要实现以下几个功能:
1.2.1
AD采集瓦斯传感器信号
使用A/D转换器,将瓦斯传感器的电流信号转换为单片机可接受的数字信号,并采用软件数字滤波对采集来的瓦斯浓度数字信息进行处理。
1.2.2
瓦斯浓度LED显示
采用4位七段LED数码管显示实时浓度值,整数位3位,小数位1位。
1.2.3
瓦斯检测仪的声光报警功能
当瓦斯浓度值超过限定值时,发出声光报警,报警灯闪烁,蜂鸣器响。
1.2.4
仪表工作电源实时监控以及复位功能
当仪表工作电压低于所设定的阈值时,仪表能发出电源欠压报警,仪表面板上有复位按钮,当程序跑飞或锁死需要外部干涉时,按一下手动复位按钮能使系统重新工作。
1.2.5
外部扩展SRAM,用于数据存储及计算。
2. 单片机控制的便携式瓦斯监测仪设计
2.1
单片机控制的便携式瓦斯检测仪的系统原理框图
单片机控制的便携式瓦斯检测仪的系统原理框图如图1所示:
图1
系统原理框图
2.2
核心处理芯片,增强型P87CL54单片机
2.2.1单片机介绍
增强型P87CL54单片机是由Philips公司生产的,具有256字节RAM,32个I/O口,3个16位定时器/计数器,一个6中断源,4优先级嵌套中断结构,一个串行口(可用作多机通讯,I/O扩展,全双工UART和片内振荡器及时钟电路)。
此外,芯片的低静态功耗设计提供非常宽的操作频率,可低至零。可实现两个由软件选择的节电模式——空闲模式和掉电模式。空闲模式冻结CPU,但RAM,定时器,串口和中断系统仍然工作。掉电模式保存RAM的内容,但是冻结振荡器,导致所有其他的片内功能停止工作。由于设计是静态的,所以时钟可停止而不会丢失用户数据。运行可从时钟停止处恢复。
2.2.2
单片机的特点
P87CL54单片机的主要特点有:
2.2.2.1
核心处理单元
布尔处理器;
全静态操作;
256字节RAM;
16KB
OTP;
多种封装形式,除常规的DIP/PLCC/QFP之外,还有TSSOP38超薄、超小型封装;
低电压操作
1.8~3.3V
2.21.2.2 12时钟操作,可选6时钟。
2.2.2.3
多种低功耗电源控制模式
时钟可停止和恢复;
空闲模式;
掉电模式。
2.2.2.4
兼容CMOS和TTL电平。
2.2.2.5
5V式有两个工作频率范围;
6时钟模式时为0~33MHz;
12时钟模式时为0~30
MHz。
2.2.2.6 扩展温度范围。
2.2.2.7 双数据指针。
2.2.2.8
重保密级别。
2.2.2.9
全双工UART:
帧数据错误检测;
自动地址识别。
2.2.2.10
异步端口复位。
2.2.2.11 可编程时钟输出。
2.2.2.12
6个中断源,4个中断优先级和4个8位I/O口。
2.2.2.13
3个16位定时器/计数器:T0,T1和增加的T2(捕获和比较)。
2.2.2.14
低EMI(禁止ALE),掉电模式可通过外部中断唤醒。
2. 3
A/D数据采集以及软件滤波模块设计
瓦斯传感器输出的信号为模拟信号,必须经过模数转换,才能用单片机进行数据处理和控制。
2.3.1
A/D数字采集
2.3.1.1
带仪器放大器的A/D转换器AD670介绍
一般的被测信号如温度,压力,流量等。在输入到普通的A/D转换器之前,首先要经过变送器的转换,将传感器输出的信号编程0~5V的统一电信号,然后才能与A/D转换器进行接口。这在一般的过程控制中是完全可行的。但是在智能化仪表中这种结构将显得比较复杂,特别是一些便携式的现场测试仪表更是如此。AD670则满足了这种要求,片内带有仪器放大器。
AD670是一个完整的8位逐次逼近型A/D转换器,它由集成在片内的前级仪器放大器,D/A转换器、比较器、逐次逼近型寄存器(SAR)、精密电压基准和一个三态输出缓冲器组成。
AD670的应用非常便利,因为它所有的元件都被集成在芯片内部,且出厂时以及校准,用户可直接采用。
AD670引脚说明见表1:
表1
AD670引脚说明
R/-W(引脚13) -CS(引脚14) -CE(引脚15) 操作
0 0 0 启动A/D转换
1 0 0 读A/D输出数据
× × 1 无
× 1 × 无
STATUS(引脚9)=1时,表示正在转换;
STATUS(引脚9)=0时,表示转换已经完成。
BPO/-UPO(引脚11)在单极性输入接法时应接地;
-RORMAT(引脚12)作为单极性及双极性信号选择输入方式;具体单极性,双极性连接方式详见Protel原理图。
2.3.1.2
AD与单片机的硬件连接
单片机的P1.0与AD670的R/-W相连,用来启动和读控制A/D转换器;
单片机的P2.7与AD670的-CS相连,用于片选AD670;
单片机的外部中断0:-INT0与AD670的STATUS相连,当AD670转换完成后以中断方式通知单片机;
单片机的P0口与AD670的DB0~DB7一一相连,用于读取AD670转换数据。
AD670与单片机的硬件连接示意图如图2所示:
图2 AD670与单片机硬件接口连接图
2.3.1.3
A/D采集的软件编程
根据需要,设定采样频率为16Hz。定时器定时为0.062秒。当AD采集时间到即定时器时间到时,启动AD转换,并等待转换完成,读取AD转换结果,将数据存入外部RAM。
A/D采集子程序流程图如图3所示
图3
A/D采集子程序流程图
程序说明:
定时器选用定时器0,工作方式1,单片机外部晶体振荡器频率为12MHz,工作使用12分频。定时0.0625秒,可计算定时器初值为:
(216-初值)×10-6=0.0625
定时器初值=3036=0BDCH;
在定时器0中断复位程序中,启动A/D采集
A/D数据转换完后,通过外部中断0通知单片机,在外部中断0的中断服务中置位读A/D数据标志:RDAD_FLAG。
T0_INITIAL: MOV
TMOD,#01H ;
定时器初始化,定时器0工作方式1
MOV
TH0,#0BH
MOV
TL0,#0DCH
;
SETB
TR0
;启动定时器0
SETB
ET0
;允许定时器0中断
SETB
EX0
;允许外部中断0
CLR
IT0
;外部中断0低电平有效
SETB
EA
;开放总中断
AD_DATA: JBC
RDAD_FLAG,AD_RD
AJMP AD_DATA
AD_RD:
SETB R_W
MOV DPTR ,#AD_ADDRESS
;AD地址
MOVX A ,
@DPTR
;读入AD转换数据
MOV DPTR,#RAM_ADDRESS
;外部RAM地址
MOV
@DPTR,A
;数据存入外RAM
LCALL
FSAV
;调数据处理子程序
LJMP
AD_DATA
;循环采集数据
T0_INT:
PUSH
DPH
;定时器0中断服务程序
PUSH
DPL
PUSH
PSW
PUSH
ACC
MOV
TH0,#0BH
MOV TL0,#0DCH
CLR
R_W
;启动A/D转换
POP ACC
POP
PSW
POP
DPL
POP
DPH
RETI
INT0_INT:
PUSH
DPH
;外部0中断服务程序
PUSH
DPL
PUSH
PSW
PUSH
ACC
SETB
RDAD_FLAG
;置位A/D转换完毕标志位
POP ACC
POP
PSW
POP
DPL
POP
DPH
RETI
2.3.2 数字滤波
2.3.2.1
数字滤波原理
考虑到实时性,数字滤波采用的是滑动平均值法。采用队列作为测量数据存储器,队列长度固定为N(本设计采用16),每进行一次新的测量,把测量结果放入队尾,而扔掉原来队首的数据。这样在队列中始终有N个“最新”的数据。计算平均值时,只要把队列中的N个数据进行算术平均,即可得到新的算术平均值。这样每进行一次测量,就可计算得到一个新的算术平均值。
2.3.2.2
数字滤波程序设计
程序说明:程序采用浮点数,在A/D采样完后,将A/D采集的数据转换为浮点数。然后进行数字滤波。
调用读取RAM子程序,输入最新采集的数据,放入单片机的工作寄存器区R6(阶)R2R3中,然后把它放入外部RAM2000~202FH的队列中(队列长16,队尾指针为R7FH),最后计算队列中16个数据的算术平均值,结果存放到(R1)指向的三字节内部RAM中。
本程序使用的外部RAM2000H~202FH的循环队列,它的队尾指针尾R7F,值为015,初始时,循环队列中各元素均为0,指针也为0。插入一个新数据后,指针加1,当指针值等于16时,重新调整为0。累加时,最新的一个数据已在工作寄存器中,故只需要累加15次。在把累加和除以16时,采用阶码减4的方法,以加快程序运行速度。
滑动平均值法子程序如下:
FSAV:
LCALL
RD_NEW_DATA
;调用读取新数据子程序
MOV
A,7FH
;队尾指针
MOV B,#3
MUL
AB
MOV
DPTR,#2000H
;队首指针
ADD
A,DPL
;计算队尾地址
MOV
DPL,A
MOV
A,R6
MOVX
@DPTR,A
INC DPTR
MOV A,R2
MOVX @DPTR,A
INC
DPTR
MOV
A,R3
MOVX
@DPTR,A
MOV
A,7FH
;调整队尾指针
INC
A
CJNE
A,#16,FSA1
CLR A
FSA1: MOV
7FH,A
MOV
R0,#15
INC
DPTR
FSA2: MOV
A,DPL
CJNE
A,#30H,FSA3
MOV
DPL,#0
;循环
FSA3: MOV
A,@DPTR
MOV
R7,A
INC
DPTR
MOVX
A,@DPTR
MOV
R4,A
INC
DPTR
MOVX
A,@DPTR
MOV
R5,A
INC
DPTR
CLR
3AH
;执行加法
LCALL
FABP
;浮点数加法
MOV
A,R4
MOV
R6,A
DJNZ
R0,FSA2
MOV
C,A.7
DEC
A
DEC
A
DEC A
DEC
A
MOV
A.7,C
MOV
R4,A
LCALL FSTR
;调存放浮点数子程序
RET
FABP:MOV
A,R6
;浮点数加减法处理子程序
MOV
C,A.7
MOV
38H,C
XRL
A,R7
JNB
A.7,FA1
CPL
3AH
FA1:MOV A,R6
MOV
C,A.6
MOV A.7,C
MOV
R6,A
MOV A,R7
MOV
C,A.6
MOV A.7,C
MOV
R7,A
CLR C
MOV A,R6
SUBB
A,R7
JZ FA2
CLR
F0
CLR 39H
JB
A.7,FA5
CJNET R4,#0,FA6
CJNE
R5,#0,FA6
FA2:JB 3AH,FA8
MOV A,R3
ADD
A,R5
MOV R3,A
MOV A,R2
ADDC A,R4
MOV
R2,A
JNC FA4
SETB 39H
CLR C
FA3:
CLR F0
LCALL
FSDT
FA4:CJNE R2,#0,FAA
CJNE
R3,#0,FAA
MOV R4,#41H
RET
FAA:MOV
A,R6
MOV C,38H
MOV
A.7,C
XCH A,R4
MOV
R6,A
RET
FA5:CJNE R2,#0,FA7
CJNE
R3,#0,FA7
MOV A,R7
MOV
R6,A
SJMP FA2
FA6:CPL
F0
FA7:CLR C
LCALL FSDT
SJMP
FA1
FA8:MOV A,R3
CLR C
SUBB
A,R5
MOV R3,A
MOV A,R2
SUBB
A,R4
MOV R2,A
JNC
FA9
CLR A
CLR C
SUBB
A,R3
MOV R3,A
CLR A
SUBB
A,R2
MOV R2,A
CPL
38H
FA9:SETB C
SJMP
FA3
FSDT:JC
FS2
;通用规格化子程序
MOV
C,39H
JB F0,FS1
MOV
A,R2
RRC A
MOV
R2,A
MOV A,R3
RRC
A
MOV R3,A
INC
R6
RET
FS1:MOV A,R4
RRC
A
MOV R4,A
MOV A,R5
RRC A
MOV
R5,A
INC R7
RET
FS2:MOV A,R2
JNZ
FS4
CJNE R3,#0,FS5
MOV
R6,#41H
FS3:RET
FS4:JB A.7,FS3
FS5:MOV
C,F0
MOV A,R3
RLC A
MOV R3,A
MOV
A,R2
RLC A
MOV R2,A
CLR F0
DEC
R6
SJMP FS2
FSTR:MOV A,R4
;三字节浮点数存放在(R1)指向单元中
MOV
@R1,A
INC
R1
MOV
A,R2
MOV
@R1,A
INC
R1
MOV
A,R3
MOV
@R1,A
DEC
R1
DEC
R1
RET
2. 4
LED显示瓦斯浓度模块设计
在矿井下,光线不足,所以采用LED显示,比液晶显示更清楚,明亮。本设计采用4位七段LED数码管显示,3位为整数,最后1位为小数部分,采用动态循环显示。为节约单片机的I/O端口,使用串行接口和串并转换电路输出要显示的数字代码。
2.4.1
4位LED数码管串行动态显示原理
4位LED数码管若将各位从左至右由位选信号依次进行显示,每个数码管连续显示1ms,显示完最后一位数后,再重复上述过程,这样,人们看到的就毫像4位数同时显示的一样。
段码与字形的对应关系(共阳)如表2所示
表2
段码与字形的对应关系(共阳)
字形 D7 D6 D5 D4 D3 D2 D1 D0 段码
dp g f e d c b a
0 1 1 0 0 0 0 0 0 0C0H
1 1 1 1 1 1 0 0 1 0F9H
2 1 0 1 0 0 1 0 0 0A4H
3 1 0 1 1 0 0 0 0 0B0H
4 1 0 0 1 1 0 0 1 99H
5 1 0 0 1 0 0 1 0 92H
6 1 0 0 0 0 0 1 0 82H
7 1 1 1 1 1 0 0 0 0F8H
8 1 0 0 0 0 0 0 0 80H
9 1 0 0 1 0 0 0 0 90H
使用单片机的P3.1作串口数据线SDA,P3.0作为时钟信号线CLK。
LED动态显示原理:
首先以串行方式由SDA口向LED显示器数据端口发送第1个8位数据,位选数据由P1.4~P1.7决定。先使P1.7为低电平,其他为高电平,这样LED1显示数据,同样使其对应的位码为低电平且保证其他位为高电平。依此类推,对各显示器进行扫描,显示器轮流工作。虽然每次只有一个显示器显示,但由于人的视觉暂留现象,仍会感觉所有的显示都在同时的显示。动态显示电路的优点是:硬件电路简单,占用较少的I/O口,但其传输的速度较慢。
2.4.2
4位LED数码管串行动态显示与单片机硬件接口
4位LED数码管串行动态显示与单片机硬件连接示意图如图4所示,详细接口电路图见Protel原理图。
P1.4~P1.7的驱动能力有限,采用9012三极管提高其驱动能力,
图4
LED数码管串行动态显示与单片机硬件连接示意图
2.4.3
串行接口方式下,LED动态显示子程序
动态显示程序流程图如图5所示
图5
动态显示程序流程图