心率血压测量仪

心率血压测量仪


2024年2月21日发(作者:)

目 录

第1章 引 言 ............................................................................................................. 1

第2章 心率血压测量仪系统结构 ........................................................................... 2

2.1 心率血压测量仪的结构 .............................................................................. 2

2.2 工作原理 ...................................................................................................... 3

第3章 各单元硬件设计说明及计算方法 ............................................................... 6

3.1 复位电路 ...................................................................................................... 6

3.2 时钟电路 ...................................................................................................... 6

3.3 脉搏检测、放大、整形部分 ...................................................................... 7

3.4 血压检测、放大、A/D转换部分 ............................................................... 8

3.5 显示电路 .................................................................................................... 10

3.6 AT89C51单片机控制电路 .......................................................................... 11

第4章 软件设计与说明 ......................................................................................... 12

4.1 单片机主函数流程图 ................................................................................ 12

4.2 定时器中断函数流程图 ............................................................................ 12

4.3 外部中断函数流程图 ................................................................................ 13

4.4 显示函数流程图 ........................................................................................ 14

4.5 软件说明 .................................................................................................... 14

第5章 系统调试 ..................................................................................................... 15

5.1 系统调试说明 ............................................................................................ 15

5.2 系统检测 .................................................................................................... 15

总结 ............................................................................................................................. 18

参考文献 ..................................................................................................................... 19

附录A 系统总硬件原理图 ...................................................................................... 20

附录B 程序清单 ...................................................................................................... 21

第1章 引言

在科学技术高速发展的同时使得社会竞争更趋激烈,人们的生活节奏更快,工作和生活压力随之加剧,亚健康状态广泛存在于白领阶层。同时,广大白领阶层对健康的要求越来越高,并且需要在对自己身体状态有一定了解的同时,要求医疗装置检测的耗时少,使用方便,检测结果数据可靠。

血压在生物医学测量中是一种常用而重要的指标。世界上出现比较完整的血压测量仪器已有一百年的历史。近年来随着科学技术的发展出现了各种新颖的血压测量仪器,特别是电子血压仪的出现,使血压测量变得非常方便。

我们利用光电式脉搏传感器及压力传感器,检测人手指的血压信号,并利用AT89C51单片机进行控制和信号采集,将人体血压和心率等测量值自动显示出来,达到了方便、快捷、准确地测量血压的目的。制成的心率血压测量仪样机性能良好,结构简单,有较好的应用和推广价值。

第1页 共26页

第2章 心率血压测量仪系统结构

血压脉搏测量仪的设计,必须是通过采集人体血压、脉搏变化引起的一些生物信号,然后把生物信号转化为物理信号,使得这些变化的物理信号能够表达人体的血压、脉搏变化,最后要得出血压值和每分钟的脉搏次数,就需要通过相应的硬件电路及芯片来处理物理变化并存储脉搏次数和血压值。在硬件设计中一般的物理信号就是电压变化,有了这个系统的设计思路,本课题就此开始实施。

2.1 心率血压测量仪的结构

心率血压测量仪是利用光电传感器和压力传感器作为变换原件,把采集到的用于检测脉搏跳动的红外光和血压信号转换成电信号,用电子仪表进行测量和显示的装置。本系统的组成包括光电传感器和压力传感器、信号处理、单片机电路、数码显示、电源等部分。

1.光电传感器和压力传感器

光电传感器即将非电量(红外光)转换成电量的转换元件,它由红外发射二极管和接收三极管组成,它可以将接收到的红外光按一定的函数关系(通常是线性关系)转换成便于测量的物理量(如电压、电流或频率等)输出。

压力传感器即将非电量(压力)转换成电量的转换元件,它由膜片在压力作用下的变形引起力敏电桥与压力成比例的应变,使电桥四臂的电阻发生变化,产生于压力成正比的输出电压。

2.信号处理

即处理光电传感器采集到的低频信号的模拟电路(包括放大、滤波、整形等)和处理压力传感器采集到的信号(包括放大、A/D转换等)。

第2页 共26页

3. 单片机电路

即利用单片机自身的定时中断计数功能对输入的脉冲电平进行运算得出心率(包括AT89C51、外部晶振、外部中断等)和血压。

4.数码显示

即把单片机计算得出的结果用8位LED数码管静态扫描来显示,便于直接准确无误的读出数据。

5. 电源

即向光电传感器和压力传感器、信号处理、单片机提供的电源,可以是5V-9V的交流或直流的稳压电源。

2.2 工作原理

本设计采用AT89C51单片机为控制核心,实现心率血压测量仪的基本测量功能。心率血压测量仪硬件框图如下图2.1 所示。

力传感

器放大器 A/D转换

光电

式脉

传搏感 器

低通放大器

滤波和整形

显示

AT89C51单片机

图2.1 心率血压测量仪的工作原理

第3页 共26页

当手指放在红外线发射二极管和接收二极管中间,随着心脏的跳动,血管中血液的流量将发生变换。由于手指放在光的传递路径中,血管中血液饱和程度的变化将引起光的强度发生变化,因此和心跳的节拍相对应,红外接收二极管的电流也跟着改变,这就导致红外接收二极管输出脉冲信号。该信号经放大、滤波、整形后输出,输出的脉冲信号作为单片机的外部中断信号。单片机电路对输入的脉冲信号进行计算处理后把结果送到数码管显示。

血压有两种,一是收缩压:是当心脏收缩把血液打到血管所测得的血压,二是舒张压:是心脏在不收缩所得的压力。当袖带的压力等于血压时,血液开始可以流通而产生所谓的袖带声,这时候也就是收缩压,必须开始从这里做记录,直到最后当袖带声没有的时候,此点即为舒张压。

根据气袖在减压过程中,其压力振荡波的振幅变化包络线来判定血压的。目前比较一致的看法是当气袖压力振荡波的振幅最大的时候,气袖的压力是动脉的平均压。动脉的收缩压对应于振幅包络线的第一个拐点,舒张压对应于包络线的第二个拐点。

收缩压判断的确定:通常采用最大的振幅法,即在放气过程中脉搏波振幅度包络线的上升段,当某一个脉搏波的幅度Ui与Um之比Kd时,就认为此时对应的气袖压力为收缩压。

PsP|UiKsUm (2-1)

舒张压判断的确定:也是用最大的振幅法来判定,不过是在脉搏波振幅包络线的下降段,当某一个脉搏波的幅度Ui与Um之比Kd时,就认为此时对应的气袖压力为舒张压。

PdP|UiKdUm (2-2)

第4页 共26页

血压信号以及收缩舒张压的位置如图2.2所示。

图2.2 血压交直流信号及收缩压和舒张压位置

先找出最大振幅值 Amax ,在往前找幅值为0. 5Amax的瞬态位置对应血压直流分量即为收缩压,往后找幅值为0. 8Amax的瞬态位置对应血压直流分量即为舒张压,将计算出的收缩压和舒张压结果输出至数码管显示。

第5页 共26页

第3章 各单元硬件设计说明及计算方法

3.1 复位电路

时钟电路工作后,在REST管脚上加两个机器周期的高电平,芯片内部开始进行初始复位(如图3.1所示)。

C4RST22uFR7200R81k

图3.1

复位电路

3.2 时钟电路

电容C1和C2可以帮助起振,这里C1和C2分别取30pF和30pF,晶振采用12MHz(如图3.2所示)。

第6页 共26页

C2XTAL130pFX112MHzC1XTAL230pF

图3.2 时钟电路

3.3 脉搏检测、放大、整形部分

输入级选用光电式传感器拾取信号,由于光敏二极管的反向电流与光强呈线性关系,检测此电流即可得到脉搏的变化,1.5MΩ电阻为光电二极管的负载,将光电信号的电流变化转换成电压变化,其幅度随血液流动状态的变化而变化。如图3.3所示,光电二极管选用暗电流较小的硅光敏二极管。检测得到的脉搏信号需要进行滤波、放大、整形处理才可以计数。由于脉搏信号频谱主要集中在20Hz以内,在此我们应用运算放大器构成同相交流放大电路,对直流信号无放大,由于反馈电容的存在可以滤除50Hz的工频干扰,使得20Hz以内低频信号顺利通过,并进行多级放大,再经过施密特触发器整形。由于仿真软件Proteus的限制,我们在仿真时用信号发生器来代替脉搏检测电路,从而模拟脉搏进行仿真。

第7页 共26页

C5+5V1000pFR91M光敏二极管423LM3241R110.13MP3.2R121.5MR101M11D1Vz=5VC610uF

图3.3 脉搏检测电路

3.4 血压检测、放大、A/D转换部分

血压测量我们选用数字压力传感器ASDX 001来检测,它的内部结构主要包括4部分:

①多路分配器;②模/数转换器;③微控控制;④模/数转换器。

如图3.4所示。

第8页 共26页

+Vs多路分配器电桥传感器模/数转化器微控制器模/数转化器C220uF输出接地ASIC图3.4 ASDX 001内部结构图

ASDX 001的外围引脚共有8个,其中5个为空脚。工作电压为正5负。由Vs脚引入正5负电压,Vout为数据输出脚,将所测量得到的数字电压信号传送到单片机的P1.0脚,ASDX 001的地脚为GND脚,接地。

因此,这个电路连接十分简单,只需要将传感器的输出脚Vout连接到AT89C51单片机的1脚上即可。如图3.5所示。

图3.5

ASDX 001与单片机的连接电路原理图

由于仿真软件Proteus的限制,在实际的仿真过程中我们使用电位器和ADC0804构成血压检测电路来进行模拟仿真,即代替数字压力传感器ASDX 001来进行仿真,其原理和数字压力传感器ASDX 001相似。如图3.6所示。

第9页 共26页

U3R31kR21kC3150pFR410k1P3.72P3.634581091967CSRDWRCLK ININTRA GNDD GNDVREF/2CLK RVIN+VIN-ADC0804VCCDB0(LSB)DB1DB2DB3DB4DB5DB6DB7(MSB)231211P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7RV150%10k

图3.6 由电位器与ADC0804构成的血压检测电路

3.5 显示电路

显示电路由一个4位的共阳极LED数码管组成4位显示,用它来循环显示心率、收缩压、舒张压的值。而用三个发光二极管来表示数码管所显示值的状态。单片机的P1口控制显示字型,P2口控制显示字位。显示电路如图3.7所示。

收缩压指示灯舒张压指示灯R1220脉搏指示灯R5220R6220P3.0P3.1P3.3P1.0P1.1P1.2P1.3P1.4P1.5P1.6P2.1P2.2P2.3

图3.7 显示电路

第10页 共26页

3.6 AT89C51单片机控制电路

本系统基于51系列单片机来实现,因为系统没有其它高标准的要求,我们最终选择了AT89C51通用的比较普通单片机来实现系统设计。AT89C51单片机在本系统中主要是处理计算输入的心率、血压信号并输出其结果。

其电路接线图如图3.8所示。

IC1XTAL119XTAL218XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332227281617P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7XTAL2RST9RST293031PSENALEEAP2.1P2.2P2.3P1.0P1.1P1.2P1.3P1.4P1.5P1.612345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51P3.0P3.1P3.2P3.3P3.6P3.7

图3.8 AT89C51单片机电路接线图

第11页 共26页

第4章 软件设计与说明

4.1 单片机主函数流程图

系统主程序控制单片机系统按预定的操作方式运行, 它是单片机系统程序的框架。系统上电后,对系统进行初始化。初始化程序主要完成对单片机内专用寄存器、定时器工作方式及各端口的工作状态的设定。系统初始化之后, 进行定时器中断、外部中断、显示等工作,不同的外部硬件控制不同的子程序。流程如图4.1所示。

开始

初始化

开中断

显示程序

图4.1 主函数流程图

4.2 定时器中断函数流程图

定时器中断服务程序为5ms计时。每5ms采集血压一次(即模数转换一次并计算收缩压和舒张压)和计算在下一个外部中断信号到来时总共有第12页 共26页

多少个5ms从而计算出脉搏的次数。其定时器流程如图4.2所示。

RETI

开始

装入时间常数

计算共有多少个5ms和采集血压

图4.2 定时器中断函数流程图

4.3 外部中断函数流程图

外部中断服务程序完成对外部信号的响应和脉搏的计算。外部中断采用是边沿触发的方式。其流程如图4.3所示。

图4.3 外部中断函数流程图

第13页 共26页

开始

中断请求信号

计算一分钟的脉搏次数

等待下一个中断请求信号

4.4 显示函数流程图

显示程序包括显示脉搏次数、收缩压和舒张压。从中断程序中取得结果后,先显示脉搏次数,经过一段的延时后再显示收缩压的值,再经过一段的延时后再显示舒张压的值,并循环轮流显示。其流程如图4.4所示。

图4.4 显示函数流程图

延时

显示舒张压

延时

显示收缩压

延时

显示子程序

取结果

显示脉搏次数

4.5 软件说明

本程序采用C语言编写,程序的可读性非常好,使用Proteus仿真。

第14页 共26页

第5章 系统调试

5.1 系统调试说明

调试主要方法和技巧:

程序调试采用KEIL软件在电脑上实现,从而对源程序进行预期目标的执行运作,从而使得整个程序达到与设计需求功能一致,通过对程序的跟踪、断点、查看变量、更改数值,从内部仿真出源程序执行步骤,从而保证程序的可靠运行,在本次设计中,主要调试单片机控制部分、数码管点亮部分和模数转换电路部分。

根据系统设计方案,本系统的调试可分为两大部分:心率部分和血压部分。前面我们已经说过由于仿真软件Proteus的限制,心率部分我们采用信号发生器(方波)来进行仿真,而对于血压部分我们用电位器和ADC0804构成血压检测电路进行仿真,所以仿真时我们可以调节信号发生器和调节电位器来模拟心率和血压的测量,从而使系统的功能得以实现。

5.2 系统检测

5.2.1 心率测量

系统上电后调节信号发生器(如图5.1所示)的频率,当频率为1Hz时测得的心率(即脉搏)为60次且脉搏指示灯亮,如图5.2所示。

第15页 共26页

图5.1 信号发生器

收缩压指示灯脉搏指示灯舒张压指示灯R1220R5220R6220P3.0P3.1P3.3P1.0P1.1P1.2P1.3P1.4P1.5P1.6P0.0/AD0P0.1/AD1P0.2/AD239383736P0.0P0.1P0.2P0.3P2.1P2.2P2.3

图5.2 频率为1Hz时的心率(脉搏)数

5.2.2 收缩压测量

调节电位器RV1模拟仿真血压(收缩压)检测,测得收缩压为128,且收缩压指示灯亮,其结果如图5.3所示。

收缩压指示灯舒张压指示灯R1220脉搏指示灯R5220R6220P3.0P3.1P3.3P1.0P1.1P1.2P1.3P1.4P1.5P1.6P0.0/AD0P0.1/AD1P0.2/AD239383736P0.0P0.1P0.2P0.3P2.1P2.2P2.3

图5.3 测得的收缩压数值

第16页 共26页

5.2.3 舒张压测量

调节电位器RV1模拟仿真血压(舒张压)检测,测得舒张压为80,且舒张压指示灯亮,其结果如图5.4所示。

收缩压指示灯脉搏指示灯舒张压指示灯R1220R5220R6220P3.0P3.1P3.3P1.0P1.1P1.2P1.3P1.4P1.5P1.6P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD339383736P0.0P0.1P0.2P0.3P0.4P2.1P2.2P2.3

图5.4 测得的舒张压数值

第17页 共26页

总结

本设计主要是51单片机在心率血压测试系统中的应用。重点介绍了单片机的最小系统,通过单片机最小系统实现了心率血压的测量系统,由光电传感器和压力传感器分别采集到脉搏信号和血压信号,人体脉搏信号经过放大、滤波和整形电路处理后通过单片机的采集处理并最终在数码管上显示,而人体血压信号则经过放大、模数转换后通过单片机的采集处理并最终在LED数码管上显示。利用单片机自身的定时中断、外部中断、计数等功能,实现对心率血压的测量。

为了更好的进行心率血压测量仪的设计,我认真地收集有关资料,并做好相关的整理和阅读,为这次的设计做好充分的准备。同时,通过查阅资料使我了解了更多的医学知识和开阔了我的知识视野。虽然此次课程设计的时间不是很长,只有两周的时间但通过本次设计,使得我对单片机有了更新一步的理性的认知和感性的触及,不光在硬件上,使得我对其有实体的接触,比方说,在LED数码管的共阴共阳的连接方法和对其编码的注意。这些更使得我在软件方面,对其灵活掌控,有了深入的体会,在课堂上,对于编程讲述的都是汇编基础语言,然而,在本次设计我运用的却是两年未用的C语言,在通过查找些许资料后,使我有了温故知新的感触,尤其是程序在控制和调用之间的关系,让我更为觉得一个程序如何巧妙合理的设计会使得设计工作更为简单容易。

最后,感谢老师的精心指导,使我能够完成这次课程设计。

第18页 共26页

参考文献

【1】 《单片微型计算机技术》 刘国荣 编 机械工业出版社

【2】 《单片微型计算机原理、应用及接口技术》 张迎新 编 国防工业出版社

【3】 《单片机实用系统设计技术》 房小翠 编 国防工业出版社

【4】 《单片机应用系统设计》 何立民 编 北航出版社

【5】 《单片机原理及接口技术 曹琳琳 编 国防科技大学出版社

【6】 《新概念51 C语言教程》 郭天祥 编著 电子工业出版社

第19页 共26页

附录A 系统总硬件原理图

收缩压指示灯脉搏指示灯舒张压指示灯R1220R5220R6220P3.0P3.1C230pF19P3.3P1.0P1.1P1.2P1.3P1.4P1.5P1.6IC1X112MHzXTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332227281617P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7C1C4RST22uF30pFRST18XTAL29RSTR7200293031PSENALEEAP2.1P2.2P2.3R81kP1.0P1.1P1.2P1.3P1.4P1.5P1.612345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51P3.0P3.1P3.2P3.3+5VP3.6P3.7C51000pFR91M光敏二极管U3R31k4R21kP3.7P3.6C3150pFR410k67CSRDWRCLK ININTRA GNDD GNDVREF/2CLK RVIN+VIN-ADC0804VCCDB0(LSB)DB1DB2DB3DB4DB5DB6DB7(MSB)23121123LM3241P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7R110.13MP2.1P2.2P2.3P3.2R121.5MR101M11D1Vz=5VC610uFRV150%10k

第20页 共26页

附录B 程序清单

程序清单:

#include

#include

#define uchar unsigned char

#define uint unsigned int

uchar code table[10] =

{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

uchar code LED_W[3] = {0x08,0x04,0x02};

uchar ssy[3],szy[3],mb[3];

uint getdata,getdata1,n,MBO;

uchar a,i,k;

sbit mb_led =P3^0;

sbit ssy_led =P3^1;

sbit szy_led =P3^3;

sbit wr=P3^6;

sbit rd=P3^7;

void delay(uint z)

{

}

第21页 共26页

//延时z毫秒

uint t1,y;

for(t1=z;t1>0;t1--)

for(y=110;y>0;y--);

void xinlv()

{

mb_led = 0;

//脉搏的显示函数

for(a=150;a>0;a--)

{

for(i=0;i<3;i++)

{

P2= LED_W[i];

k = mb[i];

P1= table[k];

delay(5);

}

}

mb_led = 1;

}

void xueya_ssy()

{

ssy_led = 0;

for(a=150;a>0;a--)

{

for(i=0;i<3;i++)

{

P2= LED_W[i];

k = ssy[i];

P1= table[k];

第22页 共26页

//收缩压的显示函数

}

delay(5);

}

}

ssy_led = 1;

void xueya_szy()

{

szy_led = 0;

//舒张压的显示函数

for(a=150;a>0;a--)

{

for(i=0;i<3;i++)

{

P2= LED_W[i];

k = szy[i];

P1= table[k];

delay(5);

}

}

}

szy_led = 1;

void display()

{

//显示子函数

第23页 共26页

}

xinlv();

xueya_ssy();

xueya_szy();

void adswap

{

wr = 1;

wr = 0;

wr = 1;

rd = 0;

() //模数转换子程序

//启动转换

//getdata = XBYTE[0xB000] ; //存放转换结果 ,看成收缩getdata = P0;

rd = 1;

getdata1 =(int) getdata/1.6; //设收缩压是舒张压的1.6倍,存放舒张压

ssy[0] = getdata%10;

getdata = getdata/10 ;

//个位

ssy[1] = getdata%10; //十位

ssy[2] = getdata/10; //百位

szy[0] = getdata1%10; //个位

getdata1 = getdata1/10 ;

第24页 共26页

}

szy[1] = getdata1%10; //十位

szy[2] = getdata1/10; //百位

void main()

{

TMOD=0x01; //定时器T0工作于方式1

TH0=0xec;

TL0=0x78; //T0定时时间为5ms

IE=0X83; //开中断

IT0=1; //外部中断0为边沿触发方式

TR0=1; //开定时器T0

P2 = 0X00; //关所有位显示

while(1)

{

display();

}

}

external0() interrupt 0//外部中断服务程序

{

if(n==0)

MBO=0;

else

MBO=12000/n; //计算每分钟脉搏数

mb[0]=MBO%10;//取个位数

MBO=MBO/10;

第25页 共26页

mb[1]=MBO%10;//取十位数

mb[2]=MBO/10;//取百位数

n=0;

}

Timer0() interrupt 1//定时中断服务程序

{

TH0=0xec;

TL0=0x78;

n = n+1;

if(n==2000)//10秒钟测不到心率,n复位

{n=0;}

adswap();

}

第26页 共26页


发布者:admin,转转请注明出处:http://www.yc00.com/news/1708475487a1566698.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信