万宇++曹玉东++刘文泽
摘 要:以智能、便捷为核心,以STC89C52RC的芯片作为主控芯片,使用传感器XGZP6847测量一定时间内的气体流量,通过一定算法计算肺活量的测量值,并通过12864LCD以及语言播报模块OE6590处理相关信息。
关键词:单片机 气体压力传感器 语音播报
随着社会经济的繁荣,周休二日的实施,人们的生活方式有了重大的改变。加上人口日趋高龄化,随之而起的健康养生意识逐渐受到大家重视。运动成为生活的一部份,因此『终身运动』成为全民所关心的重大议题。终身运动的提出必然带动体质测量仪的发展。肺活量测量仪是体质测量仪中的一部分,当然也不例外。目前,学校里体检项目中的肺活量测量,基本上采用排水法实现,该仪器体积大,测量不精确,而本文以XGZP6847传感器作为实现肺活量测量的核心,不但体积小,便于携带,而且测量精确,使用方便。
一、系统设计
本设计由STC89C52RC为核心电路进行系统的整体控制,由电源电路、独立按键电路、显示电路、A/D转换电路、压力传感器电路、串口电路及语音模块电路组成、系统设计总体图如图1所示。通过气体压力传感器XGZP6847测量一定时间内的气体流量,气压传感器置于已知截面积的细管中,结合气压与流速的关系以及测量时间得出总的气体流量。再经由液晶显示以及语音模块进行语音播报。并且通过MAX232与上位机进行通信。
(1)单片机最小系统
单片机最小系统由单片机、晶振电路、复位电路、按键电路、下载电路组成。晶振电路为单片机工作提供时钟信号;复位电路用于对单片机进行复位;按键电路的作用是控制肺活量测试的开关以及查询的功能;下载电路采用串口下载方式,通过单片机P3.0、P3.1口、利用CH340进行下载与调试,单片机最小系统电路如图2所示。
(2)语音电路
OE6590语音(MP3)模块是一款高性能语音模块,模块支持MP3、WAV解码,支持FLASH/TF卡/U盘三种存储方式。插电脑USB可以直接更新FLASH与TF卡的内容,支持FAT16、FAT32文件系统。通过简易串口指令即可完成播放指定的音乐,以及控制音量大小等功能。模块的控制方式分四种: UART串口控制(功能最齐全),ADC按键控制(MP3功能控制),一对一5按键控制(一对一音频控制),红外遥控器控制(根据遥控器功能控制)。模块带3W功放,可直接推动4欧3-20W的喇叭。OE6590主要面向中高端语音产品应用领域,该产品声音效果非常出色,就是一个功能强大的MP3播放器。语音模块电路图如图3所示
(3)肺活量采集电路
设计的肺活量采集模块由气体压力传感器XGZP6847、AD采集单元、液晶显示单元和ISP下载单元等构成。
①单片机单元
单片机是整个系统的控制核心,本文选用STC89C52RC,测量时,单片机主要接收和处理AD采集的数据,将数据进行处理之后,显示在液晶显示器上。
②气体压力传感器单元
气体压力传感器XGZP6847,如图4所示,采用XGZP 型压阻式压力敏感元件,是一款适用于生物医学、汽车电子等领域的压力传感器,其核心部分是一颗利用MEMS 技术加工的硅压阻式压力敏感芯片。该压力敏感芯片由一个弹性膜及集成在膜上的四个电阻组成,四个压敏电阻形成了惠斯通电桥结构,当有压力作用在弹性膜上时,电桥会产生一个与所加压力成线性比例关系的电压输出信号。
③ AD采集单元
为了顺利采集气压信号,采用ADC集成芯片PCF8591。如图5所示,PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行I?C总线接口。PCF8591的3个地址引脚A0, A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。
(4)显示电路
LCD12864显示电路如图6所示,LCD12864采用标准的20脚接口,其中VSS为地电源,VDD接5V正电源,V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。RS为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。D0~D7为8位雙向数据线。PSB为串并行输出方式,RESET为复位端,低电平有效,VoutLcd驱动电压输出端,A K分别为背光源正负端。
(5)按键电路
按键电路较为简单,一端接地,一端接单片机IO口。手动开启是否开始测量肺活量,以及查询上一次的测试值等等。
二、控制方法
本设计的控制器为STC89C52RC,主要任务是将气体压力传感器中所获取的压力值,经过AD转换以及处理,把用户的肺活量实时显示在液晶显示器上,并进行存储方便查询。
三、程序设计流程图
程序设计流程图如图7所示。在程序刚开始时进行相应的初始化,直接循环检测按键的信息,当S1被按下时,判断是否为第一次进入系统,如果是,那么首先要进行初始气压的检测,这时语音会播报“请等待”,初始气压检测完之后会播报“请开始测量”,这时就可以开始进行肺活量测量,肺活量测量完毕,液晶显示器上会实时显示肺活量的数值,并且系统会做出一个判断,将当前肺活量与科学值作对比,并通过语音播报当前肺活量值是否正常。当按下S2之后,可查看肺活量测量历史记录。
四、结语
本项目为基于STC89C52RC单片机的气体压力传感器XGZP6847处理的肺活量测量仪。整体方案采用XGZP6847电路采集电压信号,具有精度高,外界干扰小的特点。使用LCD12864能够显示采集到的相关信息,与传统的LCD1602相比,可以显示中文。使用语言模块OE6590,很好的起到了提示作用。经过长时间的测试,该系统具有良好的稳定性与实用性。
参考文献
[1]刘瑞新.单片机原理及应用教程[M].北京:机械工业出版社,2003,7
[2]郁有文,常健.传感器原理及工程应用[M].西安:西安电子科技大学出版社,2003
[3]周航慈.单片机程序设计基础[M].北京:北京航空航天大学出版社,2003.
[4]白驹珩,雷晓平.单片计算机及应用[M].成都电子科技大学出版社,2003.2
作者简介
万宇,女,攀枝花学院,研究方向:电气信息工程学院电子信息工程专业。
刘文泽,男,学生,攀枝花学院,研究方向:电气信息工程学院电子信息工程专业。
曹玉东,女,主要从事电类课程的理论及实验教学工作。endprint