ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:239.27KB ,
资源ID:23929071      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23929071.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(脉搏测量仪带C语言程序.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

脉搏测量仪带C语言程序.docx

1、脉搏测量仪带C语言程序毕业设计报告基于单片机设计的脉搏测量仪周 静0601电气技术摘 要 医院的护士每天都要给住院的病人把脉记录病人每分钟脉搏数,方法是用手按在病人腕部的动脉上,根据脉搏的跳动进行计数。为了节省时间,一般不会作1分钟的测量,通常是测量10秒钟时间内心跳的数,再把结果乘以6即得到每分钟的心跳数,即使这样做还是比较费时,而且精度也不高。本文介绍一种用单片机制作的脉搏测量仪,只要人把手指放在传感器内2秒钟就可以精确测量出每分钟脉搏数,测量结果用三位数字显示。关键词:AT89C2051 单片机 脉搏测量仪Single-chip design based on the pulse mea

2、suring instrumentZhou Jing0601 Electrical TechnologyAbstract: Nurse hospital wants to give in hospital every day the patient takes the pulse to record the patient each minute pulse number, the method is with the hand according to on the patient wrists department artery, carries on the counting accor

3、ding to pulses beat. For the saving of time, will not make 1 minute survey generally, usually will be surveys in 10 seconds time palpitations number, will be multiplied by again the result 6 namely obtains each minute palpitation number, even if will do this is quite time-consuming, moreover the pre

4、cision will not be high. This article introduced that one kind the pulse measuring instrument which manufactures with the monolithic integrated circuit, so long as the human places the finger in the sensor 2 seconds to be possible the precision measuring each minute pulse number, the measurement res

5、ult showed with three digit. Key words: AT89C2051 monolithic integrated circuit pulse measuring instrument第一章 引 言 脉搏测量属于检测有无脉博的测量,有脉搏时遮挡光线,无脉搏时透光强,所采用的传感器是红外接收二极管和红外发射二极管。用于体育测量用的脉搏测量大致有指脉和耳脉二种方式。这二种测量方式各有优缺点,指脉测量比较方便、简单,但因为手指上的汗腺较多,指夹常年使用,污染可能会使测量灵敏度下降;耳脉测量比较干净,传感器使用环境污染少,容易维护。但因耳脉较弱,尤其是当季节变化时,所测信号

6、受环境温度影响明显,造成测量结果不准确。从脉搏波中提取人体的生理病理信息作为临床诊断和治疗的依据,历来都受到中外医学界的重视。几乎世界上所有的民族都用过“摸脉”作为诊断疾病的手段。脉搏波所呈现出的形态(波形)、强度(波幅)、速率(波速)和节律(周期)等方面的综合信息,在很大程度上反映出人体心血管系统中许多生理病理的血流特征,因此对脉搏波采集和。处理具有很高的医学价值和应用前景。但人体的生物信号多属于强噪声背景下的低频的弱信号, 脉搏波信号更是低频微弱的非电生理信号, 必需经过放大和后级滤波以满足采集的要求。第二章 硬件电路设计2.1 AT89C2051主要性能AT89C2051是ATMEL公司

7、生产的带2K字节闪速可编程可擦除只读存储器(EEPROM)的8位单片机,它具有如下主要特性:(1)和MCS-51产品的兼容 (2)2K字节可重编程闪速存储器 (3)耐久性:1,000写擦除周期 (4)2.7V6V的操作范围 (5)全静态 图2-1 AT89C2051的结构框图操作:0Hz24MHz 两级加密程序存储器 1288位内部RAM 15根可编程I/O引线 两个16位定时器/计数器 六个中断源 可编程串行UART通道 直接LED驱动输出 片内模拟比较器 低功耗空载和掉电方式和MCS-51产品的兼容 2K字节可重编程闪速存储器 耐久性:1,000写擦除周期 2.7V6V的操作范围 全静态操

8、作:0Hz24MHz 两级加密程序存储器 1288位内部RAM 15根可编程I/O引线 两个16位定时器/计数器 六个中断源 可编程串行UART通道 直接LED驱动输出 片内模拟比较器 低功耗空载和掉电方式 和MCS-51产品的兼容 2K字节可重编程闪速存储器 耐久性:1,000写擦除周期 2.7V6V的操作范围 全静态操作:0Hz24MHz 两级加密程序存储器 1288位内部RAM 15根可编程I/O引线 两个16位定时器/计数器 六个中断源 可编程串行UART通道 直接LED驱动输出 片内模拟比较器 低功耗空载和掉电方式。2.2 AT89C2051的结构框图AT89C2051是一带有2K字

9、节闪速可编程可擦除只读存储体(EEPROM)的低电压,高性能8位CMOS微型计算机。如图10.2所示。它采用ATMEL的高密非易失存储技术制造并和工业标准MCS51指令集和引脚结构兼容。通过在单块芯片上组合通用的CPL1和闪速存储器,ATMEL AT89C2051是一强劲的微型计算机,它对许多嵌入式控制应用提供一高度灵活和成本低的解决办法。图2-2 AT89C2051内部结构图此外,从AT89C2051内部结构图也可看出,其内部结构与8051内部结构基本一致(除模拟比较器外),引脚RST、XTAL1、XTAL2的特性和外部连接电路也完全与51系列单片机相应引脚一致,但P1口、P3口有其独特之处

10、。2.3 AT89C2051的引脚说明AT89C2051是一个有20个引脚的芯片,引脚如图10.1所示,与8051内部结构进行对比可发现,AT89C2051减少了两个对外端口(即P0、P2口),使它最大可能地减少了对外引脚,因而芯片尺寸有所减少。AT89C2051芯片的20个引脚功能为:1. Vcc:电源电压。2. GND:地。 3. P1口:P1口是一8位双向I/O口。口引脚P1.2P1.7提供内部上拉电阻。 P1.0和P1.1要求外部上拉电阻。P1.0和P1.1还分别作为片内精密模拟比较器的同相输入(AIN0)和反相输入(AIN1)。P1口输出缓冲器可吸收20mA电流并能直接驱动LED显示

11、。当P1口引脚写入“1”时,其可用作输入端。当引脚P1.2P1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而流出电流(IIL)。 P1口还在闪速编程和程序校验期间接收代码数据。4. P3口:P3口的P3.0P3.5、P3.7是带有内部上拉电阻的七个双向I/0引脚。P3.6用于固定输入片内比较器的输出信号并且它作为一通用I/O引脚而不可访问。P3口缓冲器可吸收20mA电流。当P3口引脚写入“1”时,它们被内部上拉电阻拉高并可用作输入端。用作输入时,被外部拉低的P3口引脚将用上拉电阻而流出电流(IIL)。P3口还用于实现AT89C2051的各种功能,如下表10-1所示。P3口还接收一些用于闪

12、速存储器编程和程序校验的控制信号。5. RST:复位输入。RST一旦变成高电平,所有的I/O引脚就复位到“1”。当振荡器正在运行时,持续给出RST引脚两个机器周期的高电平便可完成复位。每一个机器周期需12个振荡器或时钟周期。6. XTAL1:作为振荡器反相放大器的输入和内部时钟发生器的输入。7. XTAL2:作为振荡器反相放大器的输出。表1-1 P3口的功能P3口引脚功能P3.0RXD(串行输入端口)P3.1TXD(串行输出端口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4TO(定时器0外部输入)P3.5T1(定时器1外部输入)从上述引脚说明可看出,AT89C2051没有提

13、供外部扩展存储器与I/O设备所需的地址、数据、控制信号,因此利用AT89C2051构成的单片机应用系统不能在AT89C2051之外扩展存储器或I/O设备,也即AT89C2051本身即构成了最小单片机系统。2.4 复位电路图2-3 复位电路图时钟电路工作后,在REST管脚上加两个机器周期的高电平,芯片内部开始进行初始复位(如图23)。2.5 振荡电路图2-4 振荡电路图本设计晶振选择频率为12MHz,电容选择30pF如图(24)。经计算得单片机工作胡机器周期为:12(112M)=1us。第三章 基本结构模块3.1 脉搏波检测电路目前脉搏波检测系统有以下几种检测方法:光电容积脉搏波法、液体耦合腔脉

14、搏传感器、压阻式脉搏传感器以及应变式脉搏传感器。近年来, 光电检测技术在临床医学应用中发展很快, 这主要是由于光能避开强烈的电磁干扰, 具有很高的绝缘性, 且可非侵入地检测病人各种症状信息。用光电法提取指尖脉搏光信息受到了从事生物医学仪器工作的专家和学者的重视。本系统设计了指套式的透射型光电传感器, 实现了光电隔离,减少了对后级模拟电路的干扰,结构如图1 所示。图3-1 透射式光电传感器图传感器由发光二级管和光敏二极管组成, 其工作原理是: 发光二极管发出的光透射过手指,经过手指组织的血液吸收和衰减,由光敏二极管接收。由于手指动脉血在血液循环过程中呈周期性的脉动变化,所以它对光的吸收和衰减也是

15、周期性脉动的, 于是光敏二极管输出信号的变化也就反映了动脉血的脉动变化。3.2 脉搏信号拾取电路如图2所示,IClA为单位增益缓冲器,用于产生2.5V的基准电压。 图3-2 信号拾取器图红外接收二极管在红外光的照射下能产生电能,单个二极管能产生O.4 V电压,0.5 mA电流。BPW83型红外接收二极管和IR333型红外发射二极管工作波长都是940 nm,在指夹中,红外接收二极管和红外发射二极管相对摆放以获得最佳的指向特性。红外发射二极管中的电流越大,发射角度越小,产生的发射强度就越大。在图l中,RO选100 是基于红外接收二极管感应红外光灵敏度考虑的。R0过大,通过红外发射二极管的电流偏小,

16、BPW83型红外接收二极管无法区别有脉搏和无脉搏时的信号。反之,R0过小,通过的电流偏大,红外接收二极管也不能准确地辨别有脉搏和无脉搏时的信号。当红外发射二极管发射的红外光直接照射到红外接收二极管上时,IC1B的反相输入端电位大于同相输入端电位,Vi为“O”。当手指处于测量位置时,会出现二种情况:一是无脉期。虽然手指遮挡了红外发射二极管发射的红外光,但是,由于红外接收二极管中存在暗电流,仍有lA的暗电流会造成Vi电位略低于2.5 V。二是有脉期。当有跳动的脉搏时,血脉使手指透光性变差,红外接收二极管中的暗电流减小,Vi电位上升。由此看来,所谓脉搏信号的拾取实际上是通过红外接收二极管,在有脉和无

17、脉时暗电流的微弱变化,再经过IClB的放大而得到的。所拾取的信号为2V左右的电压信号。3.3 信号放大按人体脉搏在运动后最高跳动次数达240次/分计算来设计低通放大器,它由IC2A和C04等组成,如图2所示。转折频率由R07、C04、R08和C05决定,放大倍数由R08和R06的比值决定。图3-3 低通滤波器图根据二阶低通滤波器的传递函数,可得 (1)放大倍数为 H=-R08/R06 =-22 (2)取0.707倍零频增益计算高频转折频率,即fH = 7.7Hz (3)按人的脉搏最高为4 Hz考虑,低频特性是令人满意的。需要说明的是,以上分析是在忽略C03的条件下做出的,如果考虑C03的话,那

18、么:由此可见,C03没有影响频率特性的分析,它的作用只是隔直。二级放大器兼比较器如图4所示。Rpll用以调整系统的放大倍数,C06用以防止放大器自激。采用二级放大,零点漂移不很明显,在O.1 V左右。所以将比较器的阈值电压设计成O.25 V,以确保滤除干扰信号。采用比较器的好处是能有效地克服零点漂移所造成的影响,提高测量的准确性。图3-4 二级放大器和比较器图3.4 波形整形部分波形整形电路如图5所示,IC3A是CD4528型单稳态多谐振荡器,有效脉宽为0.05 s其宽度由R22和C20决定。IC3B也组成一个单稳态多谐振荡器,脉宽为240ms。D2、Dl和T3等组成一个或非门,只有C,E两点

19、均为低电平时,信号放大器整机输出才是高电平。设计这个电路的目的是为了在输出端输出一个窄脉冲,并且要在由R13和C07决定的时间内任何信号都不会干扰输出。R23和C21充电时间的长短决定了计数脉冲的宽度,一般不希望它太宽。波形整形时序如图6所示。图3-5 波形整形线路图第四章 整体电路分析4.1 光发射电路经实验可知,采用GaAs红外发光二极管作为光源时,可基本抑制由呼吸运动造成的脉搏波曲线的漂移。脉搏波检测以光电检测技术为基础,因此受周围杂散光、暗电流等各种干扰影响较大。为了克服这一问题本系统采用脉冲振幅光调制技术。脉冲调制传送的是调制信号的采样值,只要采样频率奈奎斯特采样频率,则可由采样脉冲

20、来恢复原信号,而不会导致失真。系统对红外二极管的驱动脉冲信号的频率选定为工频整数倍400Hz以降低工频干扰。脉冲载波由ADuC841内部16位数模转换器产生。为了保证红外发光二极管的光源稳定,本文采用运放op495和NPN型三极管作为恒流源电路向发光二极管提供稳定的工作电流,光源驱动电路如图4-1所示。4.2 光电转换电路光敏二极管的特性是将光信号转换为电流,而随后的A/D转换电路是以电压为检测对象。因此,接收电路中应采用电流电压变换电路,将电流信号转换为电压信号。运算放大器与电阻R形成电流电压变换电路,如图4-2所示。(图中S_GND为信号地,运算放大器工作正负电源为5V、0V,为避免信号丢

21、失,将信号抬高至VS_GND=1V。)电路输出电压。图4-1 发光二极管驱动电路图图4-2 光敏二极管的电流电压转换电路图4.3 信号采集及处理系统 由于光电脉搏波属于缓慢变化的微弱生理信号,信噪比低,极易受到环境噪声和肢体运动的干扰。传统的光电脉搏波信号检测电路都采用高增益放大器,以获得较高的检测灵敏度,这种设计思路导致了检测信号动态范围缩小,在受到运动干扰时,将导致由于干扰信号而带来的光电脉搏波信号检测的饱和失真。本系统采用过采样技术,通过对信号的高速采样来提高采样精度,相当于用高分辨率的ADC对信号进行模数转换,达到了提高信噪比并改善动态范围的效果。因此本系统对经过光电转换后的信号进行模

22、数转换而不需要任何信号调理(放大和滤波)电路。4.4 过采样技术的应用所谓过采样技术是指以远远高于奈奎斯特(Nyquist)采样频率的频率对模拟信号进行采样的方法。由信号采样量化理论可知,若输入信号的最小幅度大于量化器的量化电平,并且输入信号的幅度随机分布,则量化噪声的总功率是一个常数,在0fs2的频带范围内均匀分布8。因此量化噪声电平与采样频率成反比,如果提高采样频率,则可以降低量化噪声电平,而由于基带是固定不变的,因而减少了基带范围内的噪声功率,提高了信噪比,从而提高分辨率,并且采样频率每提高4倍,则信噪比提高4倍,相当于A/DC的分辨率提高1位。本文设计的脉搏检测系统正是利用了这一原理,

23、在A/DC过采样之后进行数字滤波,大部分噪声被数字滤波器滤掉,这样量化噪声就降低了,即提高了系统信噪比。系统采用FIR结构的滑动平均滤波器,在过采样之后对数据进行数字抽取滤波。滑动平均滤波器系统传递函数为。该滤波器的作用是滤波、抽取和抗混叠。滤波器为一个数字低通滤波器,主要是滤除采样信号频带以外的高频量化噪声,并维持信号频带以内的信号基本不变,相当于增加了数字信号的有效分辨率;抽取是将采样得到的高速低分辨率的数字信号的抽样频率降至奈奎斯特采样频率,进而完成高分辨率数字信号的重构;抗混叠主要是滤除降低取样频率后可能出现的混叠噪声。本文利用ADC841单片机内部的12位ADC对光电转换后的02.5

24、V 的电信号进行采样,由于本身具有一定的分辨率,要求的过采样倍数不会太高,ADC的速度可以满足应用。而数字滤波和抽取均通过软件来实现,配置灵活。4.5 整体硬件电路设计电路的原理图见图4-3。电路由传感器电路、信号放大和整形电路、单片机电路、数码显示电路等部分组成。图4-3 电路的原理图传感器主要由红外线发射二极管和接收二极管组成,测量的原理如下:将手指放在红外线发射二极管和接收二极管中间,随着心脏的跳动,血管中血液的流量将发生变化。由于手指放在光的传递路径中,血管中血液饱和程度的变化将引起光的强度发生变化,因此和心跳的节拍相对应,红外接收二极管的电流也跟着改变,这就导致红外接收二极管输出脉冲

25、信号。脉冲信号由F1F3、R3R5、C1、C2等组成的低通放大器进行放大,再经由F4、R6、R7、C3组成的放大器进一步放大,其输出信号送给由F5、F6、RP1、R8等组成的施密特触发器进行整形后输出,输出的脉冲信号作为单片机的外部中断信号。可变电阻RP1用来调整施密特触发器的阀值电压,从而调整电路的灵敏度。AT89C2051、X1、R10、C5等组成单片机电路。单片机电路对P3.2输入的脉冲信号进行计算处理后把结果送到数码管显示。发光二极管VD3作脉搏测量状态显示,脉搏每跳动一次发光二极管就点亮一次。数码管DS1DS3、VT1VT3、R12R21等组成数码显示电路。本机采用动态扫描显示的方式

26、,使用共阳数码管, P3.3-P3.5口作三个数码管的动态扫描位驱动码输出,通过三极管驱动数码管。P1.0-P1.6口作数码显示七段笔划字形码的输出,用以驱动数码管的各字段。第五章 软件设计5.1 程序设计本系统的硬件平台的核心为ADuC841,其片内微控制器是一个优化的单指令周期8052 闪存MCU,它的指令系统保持与8051指令系统兼容。ADuC内程序主要功能为:(1)系统初始化;(2)改变DAC0电平状态,驱动红外光二极管;(3)管理ADC进行数据采集;(4)数字滤波处理;(5)与中央监测系统或计算机进行实时数据传输。本文选用ADI公司的单片机ADC841,其内部集成了速度可达400k的

27、12位逐次逼近型ADC,模拟输入范围是02.5v,则分辨率为0.6mv/LSB。从软件需求和单片机速度出发,将ADC采样率fs定为102.4kHz,为便于计算,将过采样倍数k定为64,则下抽取后采样率为f为:fs/k=1600Hz,是频率为400Hz载波的四倍,满足奈奎斯特采样定理。由于过采样倍数k为64,按每提高4倍采样率就能提高一位分辨率来计算,获得的ADC有效分辨率能提高3位,最后能达到约15位精度,其分辨率可达到0.0763mv/LSB。过采样和数字滤波的实现都是在AD中断服务程序中实现的。集成于单片机上的ADC由定时器2产生用于A/D转换的重复触发信号,因此需要通过设置T2寄存器重新

28、装载的值来获得102.4kHz的采样率,参考信号取自片上自带的2.5V基准电压,设置ADCCON1#0B2H,ADCCON2#00H。定时器2是一个具有16位自动重装载功能的定时器,作定时器用时,TH2和TL2计的是机器周期数,TH2和TL2内容的自动重装载通过寄存器RCAP2H和RCAP2L来实现。对这四个寄存器都进行初始化,自动装载值为#0FFCAH。在数据采集中, 为了保证采集数据的不失真和适当的精确度, 必须选择合适的采样频率。人体脉搏正常跳动约为60次/ 分左右,即跳动频率在1Hz 左右,本系统为了更好的消除50Hz工频干扰,系统以50Hz的数据输出率对数据进行下抽取,抽样比为204

29、8。中断程序中的数字处理包括如下步骤:(1)将脉冲载波的高电平时段内的数据累加2048/(2*64)16次,(2)将脉冲载波低电平时段内的数据累加2048/(2*64)16次,(3)用步骤(1)中的数据减去步骤(2)中的数据,便得到了解调后以50Hz的数据输出率输出的一个数据点。经过上述对信号的解调,有效去除背景光、杂散光的干扰。程序同时实现了过采样算法中的滤波和下抽取。脉率计算程序包括如下步骤:将得到的数据以双字节存入ADC841的XRAM中(2304字节)。从0000H 开始,在60个样本数据中寻找最大值, 并确定其位置即波峰位置, 之后寻找紧挨着它的第二个波峰,采用软件计数器计算两者间的

30、距离即其点数,然后按照脉率计算公式:脉率采样频率/ 相邻两波峰60 5060/ 相邻两波峰,计算出脉率, 并将其存储。当脉搏检测系统与中央监测系统或计算机进行实时数据传输时,通过设置定时器T3的控制寄存器T3CON为#86H,T3FD为 08H,得到9600的串口波特率。ADuC841发送握手信号与系统机建立通信,当握手成功后,系统开中断并将转换处理后的数据送交系统应用程序进行处理。所得到的光电脉搏波波形如图5-1所示。图5-1 光电脉搏波波形显示图5.2 程序源代码#include unsigned char i,j,t,m,DelayTime,DispBuf3;unsigned int n

31、,mb;unsigned char codeBitTab3=0xf7,0xef,0xdf; /位驱动码unsigned char codeDispTab10=0x81,0xcf,0x92,0x86,0xcc,0xa4,0xa0,0x8f,0x80,0x84; /字形码sbit P3_0=P30;void delay(DelayTime);main() /主程序 TMOD=0x01; /定时器T0工作于方式1 TH0=0xec; TL0=0x78; /T0定时时间为5ms IE=0X83; /开中断 IT0=1; /外部中断0为边沿触发方式 TR0=1; /开定时器T0 for( ) /脉搏指示灯控制 if(P3_0=0) delay(200); P3_0=1; external0() interrupt 0/外部中断服务程序 P3_0=0; /点亮指示灯 if(n=0) mb=0; else mb=12000/n; /计算每分钟脉

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1