基于ATmega8的肺活量测试仪
0 引 言
肺活量可以反映肺的容积和肺的扩张能力,是评价人体生长发育水平和体质状况的一项常用机能指标,是各级医院呼吸内科、胸外科、肺科、气管炎专科临床医师的必备仪器。目前仍在使用的传统封闭容积式肺活量计,读数不方便,容易造成读数时的视觉误差,为此,利用ATMEL公司的8位单片机ATmega8和MOTOROLA公司的压阻式压力传感器MPX2010DP设计了电子式肺活量测试仪,为肺活量的测量提供了新方法。
1 ATmega8和MPX2010DP简介
ATmega8[1]具有8K字节的系统内可编程FlashROM;512字节EEPROM,1 K字节SRAM;23个通用I/O口线,可以输出和吸收大电流,能够直接驱动LED;32个通用工作寄存器;3个具有比较模式的灵活的定时器/计数器(T/C),其使用和51系列单片机基本相同,只是T/C时钟源还可以利用预分频器对于MCU的时钟进行分频;片内/外中断,可编程串行USART; 10位6路(TQFP与MLF封装为8路)ADC,可以节约单片机外的AD芯片,使电路更加紧凑,ADC部分也有自己的预分频器,它将MCU的时钟进行分频后提供给芯片内部A/D转换所需的逐次逼近电路做输入时钟;具有片内振荡器的可编程看门狗定时器,一个SPI串行端口。本芯片内部Flash程序存储器允许通过ISP或者通用编程器进行编程。
ATmega8使用的C语言编译器有多种,常见的IC-CAVR可以在相关网站下载。
MPX2010DP是美国MOTOROLA公司出品的具有温度补偿和标定的压力传感器[2],可以测定气体压力,外形如图1所示[3],有正气压和负气压2个接口,输出电压随正气压和负气压之间的差值的增加而增加,它们之间呈线性关系[3]。
2 电路设计
电路如图2所示,MPX2010DP的供电电压为+5 V和-5 V,ICL7660产生-5 V电压,由于MPX2010DP的输出信号为毫伏级,需要送入运放OP07进行放大和驱动,然后送入ATmega8的ADC端,由ATmega8完成AD的功能并且进行处理送出至LED显示,PB0~PB3送出位选,PD0~PD7送出段选。这种设计和用AT89C51相比,节约了一个外部的AD转换器件和电压基准源器件,简化了电路。ISP下载端口J101用于串行程序下载。
3 软件流程图及关键子程序
3.1 主程序流程图
如图3所示,主程序完成所有器件的初始化,然后打开中断,进入主循环,等待ADC和T/C2的中断出现。在ADC子程序中得到压力值。在T/C2子程序中将得到的压力值进行积分得到一个积分值,该积分值与肺活量成正比。调用显示子程序完成肺活量的显示。在显示子程序中,给积分值乘以一个系数k,对肺活量进行标定,得到实际值,显示肺活量的毫升数。
3.2 关键的子程序
相关文章
- 2023-09-16金属橡胶液体复合弹簧的发展和应用
- 2023-02-07生物电阻抗测量系统功能抽象与设计
- 2022-09-11空芯脉冲变压器锥形绕组电压分布
- 2021-12-13基于DSP的实时图像目标搜索与跟踪系统设计
- 2022-07-12S7-22×PLC在扭矩仪系统开发中的应用
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。