光电脉搏测量仪
- 格式:doc
- 大小:1.03 MB
- 文档页数:9
光电脉搏测量仪设计报告
一、设计意义
从脉搏波中提取人体的生理病理信息作为临Array床诊断和治疗的依据,历来都受到中外医学界的
重视。目前医院的护士每天都要给住院的病人把
脉记录病人每分钟脉搏数,方法是用手按在病人
腕部的动脉上,根据脉搏的跳动进行计数。为了
节省时间,一般不会作1分钟的测量,通常是测
量10秒钟时间内心跳的数,再把结果乘以6即得
到每分钟的心跳数,即使这样做还是比较费时,
而且精度也不高,因此,需要有使用更加方便,
测量精度更高的设备。
二、关键技术
脉搏检测中关键技术是传感器的设计与传感
器输出的微弱信号提取问题, 本文设计的脉搏波
检测系统以光电检测技术为基础,并采用了脉冲振幅光调制技术消除周围杂散光、暗电流等各种干扰的影响。并利用过采样技术和数字滤波等数字信号处理方法,代替实现模拟电路中的放大滤波电路的功能。本系统模拟电路简单,由ADC841芯片实现脉搏信号采集,信号处理和脉搏次数的计算等功能,因此体积小,功耗低,系统稳定性高。本系统可实现脉搏波的实时存储并可实现与上位机(PC 机)的实时通讯, 因此可作为多参数病人中心监护系统的一个模块完成心率检测和脉搏波形显示。
三、硬件设计
3.1 设计框图
光电脉搏测量仪是利用光电传感器作为变换原件,把采集到的用于检测脉搏跳动的红外光转换成电信号,用电子仪表进行测量和显示的装置。本系统的组成包括光电传感器、信号处理、单片机电路、
数码显示、电源等部分。脉搏测量仪硬件框图如图1所示。
当手指放在红外线发射二极管和接收三极管中间,随着心脏的跳动,血管中血液的流量将发生变换。由于手指放在光的传递路径中,血管中血液饱和程度的变化将引起光的强度发生变化,因此和心跳的节拍相对应,红外接收三极管的电流也跟着改变,这就导致红外接收三极管输出脉冲信号。该信号经放大、滤波、整形后输出,输出的脉冲信号作为单片机的外部中断信号。单片机电路对输入的脉冲信号进行计算处理后把结果送到数码管显示。
3.2脉搏信号采集与放大整形
目前脉搏波检测系统有以下几种检测方法:光电容积脉搏波法、液体耦合腔脉搏传感器、压阻式
脉搏传感器以及应变式脉搏传感器。近年来, 光电检测技术在临床医学应用中发展很快, 这主要是由
于光能避开强烈的电磁干扰, 具有很高的绝缘性, 且可非侵入地检测病人各种症状信息,具有结构简
单、无损伤、精度高、可重复好等优点。用光电法提取指尖脉搏光信息受到了从事生物医学仪器工作的专家和学者的重视。
3.2.1脉搏信号介绍
由于光电传感器所输出的信号波源强度比较弱,且为类似于正弦波波形,如图2所示,所以对信号进行放大整形处理,使其以较强方波形式输出。
图2 脉搏仿真信号正弦波
3.2.2 放大整形电路
图3 信号采集放大整形电路
图4为正弦信号通过放大整形电路之后得到的方型波。
图4整形后的方波
图5 脉搏信号对比
3.3单片机处理电路
如图6所示,本部分运用了89C51单片机作为核心元件,在这里运用单片机能更快更准确地对数据进行运算,而且可以根据实际情况进行编程,所用外围元件少,轻巧省电,故障率低。
来自传感和整形输出电路的脉冲电平输入单片机89C51的P3.5/T1引脚,单片机设为下降沿中断触发模式,故每次脉冲下降沿到达时触发单片机产生中断并进行计时,来一个脉冲脉搏次数就加一;定时器中断主要完成十秒钟的定时功能。单片机对十秒钟内的脉冲次数进行累加并进行计算得出所测人一分钟的脉搏次数,通过P0、P2口把测量过程和结果送到数码管显示出来。
图6 单片机处理电路
3.4显示电路
显示部分采用SMC 1602液晶屏进行数据显示,其主要技术参数如表1所示。
表1 液晶屏技术指标
接口信号说明如表2所示。
表2 液晶屏接口信号说明
与单片机接口电路如图7所示。其中J2的3脚为背光引脚,R9和R10电阻用于调节背光亮度。J2的4、5、6引脚分别接液晶的RS 、E/W 和E 控制引脚,J2的7—14引脚为数据引脚。
图7 LCD 与单片机接口电路 图8主程序流程图
四、软件编程
4.1 软件流程图
系统初始化之后, 进行定时器中断、外部中断、显示等工作,不同的外部硬件控制不同的子程序。流程如图8所示。
4.2 定时器中断程序流程
定时器中断服务程序由十秒钟钟计时、按键检测、有无测试信号判断等部分组成。当定时器中断开始执行后,对十秒钟开始计时,50ms计时到之后继续检测下50ms,直到10s到了再停止并保存测得的脉搏次数。同时可以对按键进行检测,只要复位测试值就可以重新开始测试。主要完成一分钟的定时功能和保存测得的脉搏次数。流程如图9所示。
4.3 INT中断程序流程
外部中断服务程序完成对外部信号的测量和计算。外部中断采用边沿触发的方式,当处于测量状态的时候,来一个脉冲脉搏次数就加一,由单片机内部定时器控制十秒钟,并通过计算得出一分钟内的脉搏次数。流程如图10所示。
图10 INT中断程序流程图
4.5 源程序
#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="Your Pulse-Rate";//15字符uchar code table1[]=" About "; //7字符
uchar code table2[]="0123456789"; //显示3字符uchar code table3[]=" /Min";//5字符
sbit lcden=P3^4; //液晶使能端
sbit lcdrs=P3^5; //液晶数据命令选择端
sbit key=P3^3;
uchar count,num; //定义计数值
uint n;
void delay(uint z) //延时子函数
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void write_com(uchar com) //液晶显示器写命令函数{
lcdrs=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_data(uchar date) //液晶显示器写数据函数{
lcdrs=1;
P0=date;
delay(5);
lcden=1;
delay(5);