基于单片机的CO2浓度检测与显示系统设计 联系客服

发布时间 : 星期三 文章基于单片机的CO2浓度检测与显示系统设计更新完毕开始阅读3ed59ad2b04e852458fb770bf78a6529647d355f

西安建筑科技大学课程设计(论文)

多,它并不适用于实时性要求比较强的系统。比较好的办法是监控硬件DRDY- 引脚的状态,以决定数据寄存器是否被更新,硬件DRDY- 引脚的输出与通信寄存器DRDY- 位同步,DRDY- 引脚一旦变成低电平,表明数据寄存器数据已经更新,可以读取。所以DRDY- 输出引脚接至CPU 的INT0 或INT1 就可以实现中断或者查询方式的监控。但不管是查询方式还是中断方式,都需要增加一根数据线。如图3-10所示。

VCCC310uFVCCU3C4150.1uF611IN+IN-78VCCAD7705CS4R810KAIN2(+)AIN2(-)AIN1+)AIN1(-)R310KDOUTDINSCLKDRDYRESETMCLKIN131411252Y13C647PDATSCLKDRDYRESETP1.0P1.1P1.2P1.380519C2R74.7K10uFC10.1uF1016REFIN(+)REFIN(-)MCLKOUTGND2.4576MHzC547P 图3-10 A/D转换电路

第 17 页 共 39 页

西安建筑科技大学课程设计(论文)

4.系统的软件设计

常用的单片机程序设计语言有两种:汇编语言和C语言,汇编语言是一种用汇编指令表示的程序设计语言,它的指令跟计算机的机器语言指令一一对应,能控制计算机的硬件系统,程序效率高,占用内存小。缺点是属初级语言,需要相关的硬件结构的情况下学习编程,编程难,移植性差。

C语言是一种结构化程序设计语言,兼有高级语言和初级语言的部分特点。具有丰富的可调用的函数库,可免去很多重复设计。所以目前C语言在单片机软件开发中占有相对优势。

本系统采用C语言来进行单片机的程序设计和开发,整个程序由主程序和若干功能程序组成。

4.1系统总流程图

主程序是整个程序的主题结构,负责整个系统各模块相互关系和次序。系统总流程图如图4-1所示,首先给系统上电以后,初始化系统,初始化包括初始化二氧化碳传感器、单片机、LED,整个系统软件由以上部分组成。 开始系统初始化读二氧化碳浓度A/D转换显示 图4-1系统总流程图 4.2 A/D转换流程图

首先,设置ADC0809选择和读取信号,使模拟的二氧化碳浓度信号进行A/D转化,在等待转化完毕后,调用储存程序。储存子程序主要是把之前所存储的浓度

第 18 页 共 39 页

西安建筑科技大学课程设计(论文)

值存入后一位寄存器中,以便按键调用显示。最后,把读取的数字信号经行处理,转化为相应的十进制二氧化碳浓度值,存入对应寄存器中。具体流程如图4-2所示。 开始设置A/D转换开始转换等待转换结束调用存储程序数据处理程序返回主程序图4-2 A/D转换流程图 4.3测CO2子程序流程图

本次设计以测量CO2浓度,故测量到CO2浓度的精确度是本次设计的关键因素,需要测量到精确地CO2浓度数值就必须有一个严谨的流程图,CO2浓度测量流程图如图4-3所示。

第 19 页 共 39 页

西安建筑科技大学课程设计(论文)

开始子程序入口总线复位延时选择TGS4160发转换指令总线复位读CO2浓度返回读CO2浓度 图4-3 CO2浓度测量流程图

第 20 页 共 39 页