单片机煤气报警器设计+系统流程框图+电路图+C语言源代码 第7页
-25 灵敏度图
纵坐标以传感器电阻比(Rs/Ro)表示,Rs,Ro的定义如下:
Rs =不同浓度气体中的电阻值 ,Ro =1000ppm一氧化碳中的电阻值
基本测试回路: 毕业论文
http://www.751com.cn此传感器需要施加 2 个电压:加热器电压(VH)和回路电压(VC)。这个VH用于文持敏感素子处于与对象气体相适应的特定温度而施加在集成的加热器上。VC则是用于测定与传感器串联的负载电阻(RL)上的两端电压(VRL)。这种传感器具有极性,所以VC需用直流电源。只要能满足传感器的电性要求,VC和VH可以共用同一个电源电 路。为了将判定值水平最佳化,并使敏感素子的功耗(PS)低于15mW的限度值,需要选择RL的值。 MQ-9的管脚连接如图3-26所示,1或3接传感器,4或6接传感器,2 和5接加热器
图3-26 基本连接本文来自辣.文;论<文·网
MQ-9传感器的工作原理是它的表面电阻 Rs ,是通过与其串联的负载电阻 RL 上的有效电压信VRL 输出而获得的。二者之间的关系为:Rs/R L = (Vc-V RL ) / V RL
图3-27为利用图3-26回路测得在传感器由洁净空气转移至一氧化碳或甲烷气氛中时, R L 上 的信号输出变化情况,输出信号的测定是在一个完整的加热周期(由高电压至低电压 2.5 分 钟 )或在两个完整的加热周期内测得。图3-27
MQ- 9 型气敏元件的敏感层是用非常稳定的二氧化锡制成的。因此,它具有优秀的长 期稳定性,在正常使用条件下,其使用寿命可达 5 年。
灵敏度调整:
MQ- 9 型气敏器件对不同种类,不同浓度的气体有不同的电阻值。 因此,在使用此类型气敏器件时,灵敏度的调整是很重要的。 我们建议您用 200ppmCO 或 1000ppmLPG 、5000ppm 甲烷校正传感器。当精确测量时,报警点的设定应考虑温湿度的影响。
灵敏度的调整程序:
a. 将传感器连接在应用回路中
b. 接通电源,通电老化48小时以上。
c. 调节负载电阻直到90秒末时获得对应于某一个一氧化碳浓度时所需要的信号值。
d. 调节另外一个负载电阻直到 60 秒末获得对应于某个甲烷或 LPG 浓度时所需要的信号值。
3.4硬件设计小结
在接到毕业设计题目为煤气报警器设计。经过考虑和查找个方面的资料最终确定了煤气报警器的具体方案。方案是利用89s52单片机作为主控芯片,TLC2543作为A/D转化器,X5045作为硬件看门狗,并且作为储存报警上限,DS12887作为实时时钟模块计时并储存报警记录,两个不同输出的传感器和信号处理模块。确定好模块就进行硬件设计和原器件的采购,并且在田刚老师的实验室进行焊接和调试。版图设计中考虑到美观和稳定,尽量使用走锡的方式进行设计。并且在设计中加入了不少的去耦电容提高电源的稳定性、阻容滤波、多个扩展的接口和特别添加的基准电压。
4 软件设计
关于单片机MCS-51的编程目前比较多用的是汇编和C语言。C语言是Combined Language(组合语言)的中英混合简称。是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序,其灵活性特备的强。然而对于目前普遍使用的RISC架构的8bit MCU来说,因为所用的资源有限,所以必需在编译的过程中多看反汇编并进行程序的修改,反汇编中一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以本设计采用C语言编写。
本设计采用Keil C51软件进行编程,Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用,给我在设计者带来很大的方便。 毕业论文
http://www.751com.cn4.1主程序设计
程序设计采用模块化设计,控制时序采用时间触发的时间片轮询调度方法和键盘中断的方法同时进行,0.5s为一个控制周期,分成10个时间片,每个时间片为50MS,将所有的任务分配在各个时间片完成,主程序仅完成初始化,然后进入休眠状态 。
4.1.1初始化程序和主程序
主程序的初始化,要对X5045、DS12887和HD7279A进行初始化,以及时钟的设置。50MS定时采用89S52内部定时器1,工作方式1,由于晶振为12MHZ,一个机器周期为1us,所以T1预装初始值为65536-5000=15536=3CB0H。X5045看门狗定时器周期设置为200ms,写入状态寄存器STATUS_REG=20H。DS12887则是先判断是否是有初始过,如果没有就进行初始化,如果有则进行初始化。其中初始化程序是通过配置寄存器DSA=0x20来开启时钟,设置寄存器DSB=0x02来初始化二进制和24小时制。HD7279A则需要进行复位,以及延迟测试然后再次复位,并进行消隐处理等待显示处理调用。单片机进入低功耗状态,等待中断。
图4-1 初始化子程序 图4-2 主程序流程图
初始化定时器子程序段:
TMOD=0X10;
TH1=0X3C;
TL1=0XB0;
初始化DS12887:
因为DS12887是以外部储存器的形式定义,所以程序比较简单 ,下表为主要变量的分部,寄存器状态的设置:本文来自辣.文;论<文·网
REGA=0X20;
REGB=0X02;
REGC=0X00;
表4-1 DS12887主要变量分配
符号 定义 地址 意义
SEC XBYTE FE00H 秒的存储地址
MIN FE02H 分的存储地址
HOUR FE04H 小时的存储地址
DAY FE07H 天的存储地址
MON FE08H 月的存储地址
YEAR FE09H 年的存储地址
REGA FE0AH 寄存器A的存储地址
REGB FE0BH 寄存器B的存储地址
REGC FE0CH 寄存器C的存储地址
REGD FE0DH 寄存器D的存储地址
MISFUN FE10H 10H到73H存放10条报警记录
其中必须判断DS12887中的REGA是否为0,为0则进行初始化,并把初始的值定义给DS12887,为0则进行下一步。这是配合X5045的看门狗复位使用,以至于系统的时钟为正确并没有误差。
初始化X5045:
因为X5045是以SPI进行通信协议,所以程序实现比较复杂,下表为其指令的分部情况 。
表4-2 DS12887的主要变量表
符号 伪指令 地址或产量 意义
SCS BIT P1.1 代表89s52的P1.1,既硬件连接
SCK BIT P1.2 代表89s52的P1.2,既硬件连接
SI BIT P1.3 代表89s52的P1.3,既硬件连接
SO BIT P1.4 代表89s52的P1.4,既硬件连接
AL1_L,AL1_H毕业论文http://www.751com.cn
……….
AL8_L,AL8_H DATA 00H,01H
……..
0EH,0FH 通道1的报警上限
………..本文来自辣.文;论<文·网
通道8的报警上限
WREN EQU 06H 代表允许写操作指令06H
WRDI EQU 04H 代表禁止写操作指令04H
RDSR EQU 05H 代表读状态寄存器指令05H
WRSR EQU 01H 代表写状态寄存器指令01H
WRITE EQU 02H 代表写存储器指令02H
READ EQU 03H 代表读存储器指令02H
程序必须调用wren_cmd()和wrsr_cmd(),并把STATUS_REG=0X20。而且必须判断各个通道报警上限的值,如果为0,则赋值0X0200避免初次开机死循环报警。
上一页 [1] [2] [3] [4] [5] [6] [7]
单片机煤气报警器设计+系统流程框图+电路图+C语言源代码 第7页下载如图片无法显示或论文不完整,请联系qq752018766