您现在正在浏览:首页 > 职教文章 > 职教论文 > 基于单片机的便携式多功能实时生理参数监测仪

基于单片机的便携式多功能实时生理参数监测仪

日期: 2010/7/30 浏览: 122 来源: 学海网收集整理 作者: 佚名

基于单片机的便携式多功能实时生理参数监测仪

作者:江苏大学电气信息工程学院 朱伟 杨成 雷霆钧 高平



日期:2006-05-01 00:00:00

便携式多功能实时生理参数监测仪是一种可对跑步者跑步时的各种生理参数进

行实时监测的仪器,该仪器以凌阳单片机为核心,配以 DS18B20 温度传感器、

ZD-3 微振动传感器、HK-2000 脉搏传感器及 LCD 显示电路,使得该仪器具有实

时监测参数并显示出来的功能

随着国民经济的不断发展,人们生活水平不断提高和完善,健康已成了人们关注

的焦点和追求的目标。参加锻炼无疑是保持健康的最佳方法,但很多人急于求成,

往往适得其反,达不到锻炼的效果,甚至可能对身体造成一定程度的伤害。目前

市场上只有单纯的跑步计步器,不能同时监测人体生理参数并实时显示,反馈给

锻炼者。本文设计的基于凌阳单片机的便携式多功能实时生理参数监测仪可将二

者结合起来,并增加了 MP3 功能,使锻炼者在锻炼的同时还可以听音乐,放松心

情,从而达到提高锻炼质量的效果。

系统硬件设计

系统以单片机为核心,配置以各种集成传感器,使系统体积变的小巧。由于采用

了微型封装的集成电路芯片,使连线变短,减少了通信接口的个数,从而提高了

整机工作的可靠性。系统硬件结构框图如图 1 所示。



图 1 系统硬件结构框图

SPCE061A 单片机

SPCE061A 单片机内部集成了模/数转换器(ADC)、数/模转换器(DAC)、32KB FLASH

和 2KB SRAM 以及液晶驱动器。利用该单片机作为处理芯片,使得模、数信号之

间的转换、液晶驱动可以通过软件来实现,避免了外界信号的干扰,提高了系统

的稳定性及抗干扰能力。

SPCE061A 最小系统

SPCE061A 最小系统当中,包括 SPCE061A 芯片外围的基本模块,有晶振输入模块

(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等,如

图 2 所示。



图 2 SPCE061A 最小系统

SPCE061A 的内核供电为 3.3V,而 I/O 端口可接 3.3V 也可以接 5V,所以在电源

模块(61 板上)中有一个端口电平选择跳线,如图 3 中的 J5,图3为61板上的

电源模块图。



图 3 SPCE061A 电源模块

DS18B20 温度传感器

DS18B20 温度传感器用 12 位存储温度值,理论精度可达到 0.05℃,能实时、精

确地检测到人体温度的变化,可通过单片机在液晶显示器上显示,避免了电压或

电流等模拟信号再转换为数字信号的过程,从而提高了系统的抗干扰能力和精

度。

DS18B20 的一线工作协议流程是:初始化→ROM 操作指令→存储器操作指令→数

据传输。其工作时序包括初始化时序、写时序和读时序。

DS18B20 与单片机的典型接口设计

可以采用外接电源与寄生电源供电(就是供电电源从数据线上得到),寄生电源

如图 4 所示。



图 4 寄生电源供电

ZD-3 微振动传感器

ZD-3 微振动传感器是一种有源的高灵敏度微功耗振动检测器件,以正弦波形式

输出,可利用 74LS14 施密特触发器将其转换成脉冲波,输入单片机检测高电平,

能实时记录跑步者或锻炼者的步数,进而得到锻炼者的能量损耗,以利于更有效

的进行锻炼。

HK-2000A 脉搏检测传感器

HK-2000A 传感器是一种主要用在运动、健身器材上对脉搏检测的传感器,以脉

冲波的形式输出。当脉搏波动一次时输出一正脉冲,可将其输出信号输入单片机,

检测高电平,记录脉搏。

OCM4X8C 液晶显示模块

OCM4X8C 液晶显示模块采用 128×64 点阵的液晶显示模块,可显示汉字及图形,

内置国标 GB2312 码简体中文字库(16×16 点阵)、128 个字符(8×16 点阵)

及 64×256 点阵显示 RAM(GDRAM)。可与 CPU 直接接口,提供 8 位并行及串行

两种连接方式连接微处理器。该液晶显示模块具有多种功能:光标显示、画面移

位、睡眠模式等。配合 1×4 键盘可实现参数设置,分析结果浏览和修改以及各

种人机对话,能适时显示各种生理参数值及记录到的步数。

报警模块(声光报警)

利用凌阳单片机内部的语音功能及软件控制,当参数超过阈值时发出语音报警。

同时输出一高电平,驱动发光二极管发光,更容易提醒锻炼者。

键盘输入模块

1×4 键盘输入模块,系统设计的功能键采用中断方式输入,当有任一功能键按

下时,即产生中断,CPU 执行中断程序,读取键码并执行相应操作;没有键按下

时,不占用 CPU 的运行时间,提高了 CPU 的运行效率。由于 SPCE061A 有 32 个

I/O 口,所以显示模块可以直接接至 I/O 口,无须另外的硬件编码,简化了硬件

设计。

呼吸气流温度检测模块

呼吸气流温度检测回路通过热敏元件,检测人体呼吸时呼出与吸入气流温度的变

化情况,从而获得呼吸频率参数,为了减少热惰性带来的误差,准确地测量呼吸

气流温度的变化,要求热敏元件热容量越小越好。因此在电路中选用 BLTS101PN

结温度传感器(φ1mm,热响应时间 τ<0.2s)。恒流源向 PN 结提供 100μA 的

恒定正向电流,则 PN 结的正向压降仅随温度 T 的变化而变化,该电压信号由前

置放大器放大后通过一 4.84Hz 低通滤波器,再经过波形变换为数字信号送入单

片机。

系统软件设计

软件设计采用模块化结构,菜单操作。利用 C61 及汇编语言编写软件,在液晶显

示屏上实时显示各种生理参数的数据,信号数据存储采用 FLASH, 这样在仪器

更换电池时不会丢失数据。所有测量参数均可设定上、下报警限,任一参数越限

时都能发出声、光报警,需要时,能用消声键停止报警声。仪器进入工作状态后,

主程序首先完成对液晶显示屏的初始化,然后进入检测状态。由于呼吸阻抗信号

具有基线漂移现象,因此在软件设计中采用一种变化中值检测法对基线进行校

正,具体方法是把上一次呼吸周期内的中值点作为本次呼吸周期的检测点,这样

即可克服在正常检测电压范围内基线漂移现象所带来的漏检情况。

程序流程图如图 5 所示。



图 5 主程序流程图

数据采集部分

对生理参数的实时数据采集无疑是最重要的,主要通过传感器进行实时采集。由

于人体的温度在锻炼时变化也是很缓慢的,因此,主要运用软件定时中断的方法

进行检测。步数和脉搏等参数,主要记录的是频率,只需软件计数就可以,根据

检测到的高电平,计数器进行自加运算,从而记录频率。

参数阈值设定

由于人体温度正常情况下在 36.5℃左右。因此,我们设定温度域值的初值为

36.5℃,以 0.25℃为步进量,可以用上下键增减,每按一次按键,就递增或递

减 0.25℃,直到达到锻炼者想要设定的阈值为止(在 35~42℃之间)。其他参

数设定类似。

液晶驱动程序设计

系统显示功能的实现,实际上就是对 OCM4X8C 液晶显示模块的驱动编程。我们按

照结构化的编程思想利用 C61 语言将上翻、下翻、返回和确定等按键功能编成子

函数,这样利于主程序的调用。液晶驱动的部分程序如下:

#include "spce061v004.h"

void Delay()

{ int i;

i=300;

while(i--);

}

void WriteBit(char B)

{ int D;

D=*P_IOB_Buffer&0xfffd; //SDA 输出数据

if(B!=0)

*P_IOB_Data=D|0x0002;

else

*P_IOB_Data=D&0xfffd;

D=*P_IOB_Buffer&0xfffe; //SCK 脉冲

*P_IOB_Data=D|0x0001;

*P_IOB_Data=D&0xfffe;

}

void WriteByte(char B,char I)

{ int D,i;

D=*P_IOB_Buffer&0xffbf;

*P_IOB_Data=D|0x0040; //片选有效

for(i=1;i<6;i++)

WriteBit(1); //5 个空脉冲,数据为 1 synchronizing bitstring

WriteBit(0); //RW=0

...

...

...

D=*P_IOB_Buffer&0xffbf;

*P_IOB_Data=D&0xffbf; //片选有效

}

void LCDinit(void)

{ int D,i;

D=*P_IOB_Dir&0xffbc; //SDA 为输出

*P_IOB_Dir=D|0x0043;

D=*P_IOB_Attrib&0xffbc; //SDA 为正逻辑输出

*P_IOB_Attrib=D|0x0043;

D=*P_IOB_Buffer&0xffbc; //SCK 脉冲

*P_IOB_Data=D&0xffbc;

i=3;while(i--);

WriteByte(0x30,0);

Delay();

WriteByte(0x01,0);

Delay();

WriteByte(0x06,0);

Delay();

WriteByte(0x0c,0);

Delay();

}

..................

主要技术指标

主要生理参数

便携式多功能实时生理参数监测仪能检测人在跑步时的温度、脉搏、呼吸频率和

所跑过的步数等参数。具有实时检测及实时显示的功能。

测试精度

可测的温度范围为-55~125℃,精度可以达到 0.05℃。但是人体温度一般为 35~

38℃,因此,阈值范围可以在 35~39℃,根据实时测得的温度与设定阈值进行

比较,当超过设定参数时就声光报警。

总结

此仪器可以实时检测到人在跑步和锻炼时的温度、呼吸、脉搏和步数。并可以记

录显示,当超过设定的阈值时,可以发出警报。本仪器轻便小巧,适合室内、室

外锻炼时使用。同时,如果能将蓝牙模快集成到该仪器中,可以实现这些生理参

数的传输,达到对老人或病危病人的远程看护。




基于单片机的便携式多功能实时生理参数监测仪.pdf

返回顶部