1、基于51单片机的脉搏测量仪摘要 :脉搏心率测量仪在我们的日常生活中已经得到了非常广泛的应用。为了提高脉搏心率测量仪的简便性和精确度,本课题设计了一种基于51单片机的脉搏心率测量仪。系统以STC89C51单片机为核心,以红外反射式传感器ST188为检测 原件,并利用单片机系统内部定时器来计算时间,由红外反射式传感器ST188 感应产生脉冲,单片机通过对脉冲累加得到脉搏心率跳动次数,时间由定时器定时而得。系统运行中能显示脉搏心率次数和时间,系统停止运行时,能够显示总的脉搏心率次数和时间。经测试,系统工作正常,达到设计要求。关键词:脉搏心率测量仪;STC89C51 单片机;红外反射式传感器 一脉搏心
2、率测量仪系统结构脉搏心率测量仪的设计,必须是通过采集人体脉搏心率变化引起的一些生物信号,然后把生物信号转化为物理信号,使得这些变化的物理信号能够表达人体的脉搏心率变化,最后要得出每分钟的脉搏心率次数,就需要通过相应的硬件电路及芯片来处理物理变化并存储脉搏心率次数。在硬件设计中一般的物理信号就是电压变化。1.1 光电脉搏心率测量仪的结构光电脉搏心率测量仪是利用光电传感器作为变换原件,把采集到的用于检测脉搏心率跳动的红外光转换成电信号,用电子仪表进行测量和显示的装置。本系统的组成包括光电传感器、信号处理、单片机电路、数码管显示电路、电源等部分。1光电传感器即将非电量(红外光) 转换成电量的转换元件
3、,它由红外发射二极管和红外接收三极管组成,它可以将接收到的红外光按一定的函数关系(通常是线性关系)转换成便于测量的物理量(如电压、电流或频率等)输出。2信号处理 即处理光电传感器采集到的低频信号的模拟电路(包括放大、滤波、整形等)。3. 单片机电路即利用单片机自身的定时中断计数功能对输入的脉冲电平进行运算得出心率(包括STC89C51、外部晶振、外部中断等) 。4数码管显示电路即把单片机计算得出的结果用四位一体数码管显示出来。5. 电源即向光电传感器、信号处理、单片机提供的电源,采用直流5V 电源供电。1.2 工作原理本设计采用单片机STC89C51为控制核心,实现脉搏心率测量仪的基本测量功能
4、。脉搏心率测量仪硬件框图如下图2.1 所示:图 2.1 脉搏心率测量仪的工作原理当手指放在红外线发射二极管和接收二极管中间,随着心脏的跳动,血管中血液的流量将发生变换。由于手指放在光的传递路径中,血管中血液饱和程度的变化将引起光的强度发生变化,因此和心跳的节拍相对应,红外接收二极管的电流也跟着改变,这就导致红外接收二极管输出脉冲信号。该信号经放大、ST188 红外反射传感器放大、整形电路STC89C51主控制器+5V 电源四位一体数码管显示电路复位电路晶振电路滤波、整形后输出,输出的脉冲信号作为单片机的外部中断信号。单片机电路对输入的脉冲信号进行计算处理后把结果送到四位一体数码管显示。二.硬件
5、系统2.1 信号采集电路图 3.3 是脉搏心率信号的采集电路,U2 是红外发射和接收装置,由于红外发射二极管中的电流越大,发射角度越小,产生的发射强度就越大,所以对 R10 阻值的选取要求较高。R10 选择 470 同时也是基于红外接收三极管感应红外光灵敏度考虑的。R21 过大,通过红外发射二极管的电流偏小,红外接收三极管无法区别有脉搏心率和无脉搏心率时的信号。反之,R21过小,通过的电流偏大,红外接收三极管也不能准确地辨别有脉搏心率和无脉搏心率时的信号。当手指离开传感器或检测到较强的干扰光线时,输入端的直流电压会出现很大变化,为了使它不致泄露到 LM358 输入端而造成错误指示,用 C4 耦
6、合电容把它隔断 10。当手指处于测量位置时,会出现二种情况:一是无脉期。虽然手指遮挡了红外发射二极管发射的红外光,但是由于红外接收三极管中存在暗电流,会造成输出电压略低。二是有脉期。当有跳动的脉搏心率时,血脉使手指透光性变差,红外接收三极管中的暗电流减小,输出电压上升。但该传感器输出信号的频率很低,如当脉搏心率只有为 50 次/分钟时,只有 0.78Hz,200 次/分钟时也只有 3.33Hz,因此信号首先经耦合电容 C4 耦合,再由 R5、C5 滤波以滤除高频干扰后,加到线性放大输入端。2.2 信号放大2.1 放大器的介绍LM358 是由两个独立的高增益运算放大器组成。可以是单电源工作,也可
7、以是双电源工作,电源的电流消耗与电源电压大小无关。应用范围包括变频放图 3.3 信号采集电路大器、DC 增益部件和所有常规运算放大电路。采用 DIP8 或SOP8 封装形式。每一组运算放大器可用图3.4所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+” 、“V-” 为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(- )为反相输入端,表示运放输出端Vo 的信号与该输入端的相位相反;Vi+(+ )为同相输入端,表示运放输出端Vo 的信号与该输入端的相位相同。LM358 的引脚排列见图3.5。图3.4 图3.5由于LM358 二运放电路具有电源电压范围宽,静态
8、功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。2.3 放大电路按人体脉搏心率在运动后跳动次数达 200 次/分钟的计算来设计低通放大器,如图 3.6 所示。R6 、C6 组成低通滤波器以进一步滤除残留的干扰,截止频率由R6、C6 决定,运放 LM358 将信号放大,放大倍数由 R12 和 R13 的比值决定。图 3.6 低通放大电路根据一阶有源滤波电路的传递函数,可得: 00()1icVsAAw放大倍数为:200。截止频率为:3.9HZ。按人体的脉搏心率跳动为 200 次/分钟时的频率是 3.3 Hz 考虑,低频特性是令人满意的。经过低通放大后输出的信号是叠加有噪声的脉动正
9、弦波。波形如图 3.7 所示。图 3.72.4 波形整形电路波形整形电路如图 3.8 所示,LM358 是一个电压比较器。当有输入信号时,LM358 在比较器输入信号的每个后沿到来时输出低电平,用发光二极管 D1 作脉搏心率测量状态显示,脉搏心率每跳动一次发光二极管就亮一次。同时,该脉冲电平送到单片机/INTO 脚,进行对心率的计算和显示。输出波形如图 3.所示。图 3.8 波形整形电路经过比较器 LM358 的输出波形:图 3.92.5 单片机处理电路如图 3.12 所示,本部分运用了 STC 公司的 89C51 单片机作为核心元件,在这里运用单片机能更快更准确地对数据进行运算,而且可以根据
10、实际情况进行编程,所用外围元件少,轻巧省电,故障率低。来自传感和整形输出电路的脉冲电平输入单片机 89C51 的/INTO 脚,单片机设为负跳变中断触发模式,故每次脉冲下降沿到达时触发单片机产生中断并进行计时,来一个脉冲脉搏心率次数就加一;定时器中断主要完成一分钟的定时功能。单片机对一分钟内的脉冲次数进行累加,通过 P0、P1 口把测量过程和结果送到四位一体数码管显示出来 9。图 3.12 单片机处理电路2.6 显示电路本设计的显示采用四位一体数码管来显示。单片机的P0 口, P1口控制显示器。显示电路如图3.13。图3.13 显示电路脉搏心率测量仪电路原理图图 3.16 电路原理图三. 软件
11、系统3.1 主程序流程:系统主程序控制单片机系统按预定的操作方式运行, 它是单片机系统程序的框架。系统上电后,对系统进行初始化。初始化程序主要完成对单片机内专用寄存器、定时器工作方式及各端口的工作状态的设定。系统初始化之后, 进行定时器中断、外部中断、显示等工作,不同的外部硬件控制不同的子程序 12。流程如图4.1所示。3.2 定时器中断程序流程:定时器中断服务程序由一分钟计时、按键检测、有无测试信号判断等部分组成。当定时器中断开始执行后,对一分钟开始计时,1s 计时到之后继续检测下 1s,直到 60s 到了再停止并保存测得的脉搏心率次数。同时可以对按键进行检测,只要复位测试值就可以重新开始测试。主要完成一分钟的定时功能和保存测得的脉搏心率次数。流程如图4.2 所示。3.3 INT 中断程序流程:外部中断服务程序完成对外部信号的测量和计算。外部中断采用边沿触发的方式,当处于测量状态的时候,来一个脉冲脉搏心率次数就加一,由单片机内部定时器控制一分钟,累加得出一分钟内的脉搏心率次数。流程如图4.3所示。3.4 代码: