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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

心率血压测量仪.docx

1、心率血压测量仪目 录第1章 引 言 1第2章 心率血压测量仪系统结构 22.1 心率血压测量仪的结构 22.2 工作原理 3第3章 各单元硬件设计说明及计算方法 63.1 复位电路 63.2 时钟电路 63.3 脉搏检测、放大、整形部分 73.4 血压检测、放大、A/D转换部分 83.5 显示电路 103.6 AT89C51单片机控制电路 11第4章 软件设计与说明 124.1 单片机主函数流程图 124.2 定时器中断函数流程图 124.3 外部中断函数流程图 134.4 显示函数流程图 144.5 软件说明 14第5章 系统调试 155.1 系统调试说明 155.2 系统检测 15总结 1

2、8参考文献 19附录A 系统总硬件原理图 20附录B 程序清单 21 第1章 引言在科学技术高速发展的同时使得社会竞争更趋激烈,人们的生活节奏更快,工作和生活压力随之加剧,亚健康状态广泛存在于白领阶层。同时,广大白领阶层对健康的要求越来越高,并且需要在对自己身体状态有一定了解的同时,要求医疗装置检测的耗时少,使用方便,检测结果数据可靠。血压在生物医学测量中是一种常用而重要的指标。世界上出现比较完整的血压测量仪器已有一百年的历史。近年来随着科学技术的发展出现了各种新颖的血压测量仪器,特别是电子血压仪的出现,使血压测量变得非常方便。 我们利用光电式脉搏传感器及压力传感器,检测人手指的血压信号,并利

3、用AT89C51单片机进行控制和信号采集,将人体血压和心率等测量值自动显示出来,达到了方便、快捷、准确地测量血压的目的。制成的心率血压测量仪样机性能良好,结构简单,有较好的应用和推广价值。 第2章 心率血压测量仪系统结构血压脉搏测量仪的设计,必须是通过采集人体血压、脉搏变化引起的一些生物信号,然后把生物信号转化为物理信号,使得这些变化的物理信号能够表达人体的血压、脉搏变化,最后要得出血压值和每分钟的脉搏次数,就需要通过相应的硬件电路及芯片来处理物理变化并存储脉搏次数和血压值。在硬件设计中一般的物理信号就是电压变化,有了这个系统的设计思路,本课题就此开始实施。2.1 心率血压测量仪的结构心率血压

4、测量仪是利用光电传感器和压力传感器作为变换原件,把采集到的用于检测脉搏跳动的红外光和血压信号转换成电信号,用电子仪表进行测量和显示的装置。本系统的组成包括光电传感器和压力传感器、信号处理、单片机电路、数码显示、电源等部分。1光电传感器和压力传感器光电传感器即将非电量(红外光)转换成电量的转换元件,它由红外发射二极管和接收三极管组成,它可以将接收到的红外光按一定的函数关系(通常是线性关系)转换成便于测量的物理量(如电压、电流或频率等)输出。压力传感器即将非电量(压力)转换成电量的转换元件,它由膜片在压力作用下的变形引起力敏电桥与压力成比例的应变,使电桥四臂的电阻发生变化,产生于压力成正比的输出电

5、压。2信号处理 即处理光电传感器采集到的低频信号的模拟电路(包括放大、滤波、整形等)和处理压力传感器采集到的信号(包括放大、A/D转换等)。3. 单片机电路即利用单片机自身的定时中断计数功能对输入的脉冲电平进行运算得出心率(包括AT89C51、外部晶振、外部中断等)和血压。4数码显示即把单片机计算得出的结果用8位LED数码管静态扫描来显示,便于直接准确无误的读出数据。5. 电源即向光电传感器和压力传感器、信号处理、单片机提供的电源,可以是5V-9V的交流或直流的稳压电源。2.2 工作原理本设计采用AT89C51单片机为控制核心,实现心率血压测量仪的基本测量功能。心率血压测量仪硬件框图如下图2.

6、1 所示。图2.1 心率血压测量仪的工作原理当手指放在红外线发射二极管和接收二极管中间,随着心脏的跳动,血管中血液的流量将发生变换。由于手指放在光的传递路径中,血管中血液饱和程度的变化将引起光的强度发生变化,因此和心跳的节拍相对应,红外接收二极管的电流也跟着改变,这就导致红外接收二极管输出脉冲信号。该信号经放大、滤波、整形后输出,输出的脉冲信号作为单片机的外部中断信号。单片机电路对输入的脉冲信号进行计算处理后把结果送到数码管显示。血压有两种,一是收缩压:是当心脏收缩把血液打到血管所测得的血压,二是舒张压:是心脏在不收缩所得的压力。当袖带的压力等于血压时,血液开始可以流通而产生所谓的袖带声,这时

7、候也就是收缩压,必须开始从这里做记录,直到最后当袖带声没有的时候,此点即为舒张压。根据气袖在减压过程中,其压力振荡波的振幅变化包络线来判定血压的。目前比较一致的看法是当气袖压力振荡波的振幅最大的时候,气袖的压力是动脉的平均压。动脉的收缩压对应于振幅包络线的第一个拐点,舒张压对应于包络线的第二个拐点。收缩压判断的确定:通常采用最大的振幅法,即在放气过程中脉搏波振幅度包络线的上升段,当某一个脉搏波的幅度与之比时,就认为此时对应的气袖压力为收缩压。 (2-1)舒张压判断的确定:也是用最大的振幅法来判定,不过是在脉搏波振幅包络线的下降段,当某一个脉搏波的幅度与之比时,就认为此时对应的气袖压力为舒张压。

8、 (2-2)血压信号以及收缩舒张压的位置如图2.2所示。图2.2 血压交直流信号及收缩压和舒张压位置先找出最大振幅值 Amax ,在往前找幅值为0. 5Amax的瞬态位置对应血压直流分量即为收缩压,往后找幅值为0. 8Amax的瞬态位置对应血压直流分量即为舒张压,将计算出的收缩压和舒张压结果输出至数码管显示。第3章 各单元硬件设计说明及计算方法3.1 复位电路时钟电路工作后,在REST管脚上加两个机器周期的高电平,芯片内部开始进行初始复位(如图3.1所示)。图3.1 复位电路3.2 时钟电路电容C1和C2可以帮助起振,这里C1和C2分别取30pF和30pF,晶振采用12MHz(如图3.2所示)

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

10、仿真软件Proteus的限制,我们在仿真时用信号发生器来代替脉搏检测电路,从而模拟脉搏进行仿真。图3.3 脉搏检测电路3.4 血压检测、放大、A/D转换部分血压测量我们选用数字压力传感器ASDX 001来检测,它的内部结构主要包括4部分:多路分配器;模/数转换器;微控控制;模/数转换器。如图3.4所示。图3.4 ASDX 001内部结构图ASDX 001的外围引脚共有8个,其中5个为空脚。工作电压为正5负。由脚引入正5负电压,为数据输出脚,将所测量得到的数字电压信号传送到单片机的P1.0脚,ASDX 001的地脚为GND脚,接地。因此,这个电路连接十分简单,只需要将传感器的输出脚Vout连接到

11、AT89C51单片机的1脚上即可。如图3.5所示。图3.5 ASDX 001与单片机的连接电路原理图由于仿真软件Proteus的限制,在实际的仿真过程中我们使用电位器和ADC0804构成血压检测电路来进行模拟仿真,即代替数字压力传感器ASDX 001来进行仿真,其原理和数字压力传感器ASDX 001相似。如图3.6所示。图3.6 由电位器与ADC0804构成的血压检测电路3.5 显示电路显示电路由一个4位的共阳极LED数码管组成4位显示,用它来循环显示心率、收缩压、舒张压的值。而用三个发光二极管来表示数码管所显示值的状态。单片机的P1口控制显示字型,P2口控制显示字位。显示电路如图3.7所示。

12、图3.7 显示电路3.6 AT89C51单片机控制电路本系统基于51系列单片机来实现,因为系统没有其它高标准的要求,我们最终选择了AT89C51通用的比较普通单片机来实现系统设计。AT89C51单片机在本系统中主要是处理计算输入的心率、血压信号并输出其结果。其电路接线图如图3.8所示。图3.8 AT89C51单片机电路接线图第4章 软件设计与说明4.1 单片机主函数流程图系统主程序控制单片机系统按预定的操作方式运行, 它是单片机系统程序的框架。系统上电后,对系统进行初始化。初始化程序主要完成对单片机内专用寄存器、定时器工作方式及各端口的工作状态的设定。系统初始化之后, 进行定时器中断、外部中断

13、、显示等工作,不同的外部硬件控制不同的子程序。流程如图4.1所示。图4.1 主函数流程图4.2 定时器中断函数流程图定时器中断服务程序为5ms计时。每5ms采集血压一次(即模数转换一次并计算收缩压和舒张压)和计算在下一个外部中断信号到来时总共有多少个5ms从而计算出脉搏的次数。其定时器流程如图4.2所示。图4.2 定时器中断函数流程图4.3 外部中断函数流程图外部中断服务程序完成对外部信号的响应和脉搏的计算。外部中断采用是边沿触发的方式。其流程如图4.3所示。图4.3 外部中断函数流程图4.4 显示函数流程图显示程序包括显示脉搏次数、收缩压和舒张压。从中断程序中取得结果后,先显示脉搏次数,经过

14、一段的延时后再显示收缩压的值,再经过一段的延时后再显示舒张压的值,并循环轮流显示。其流程如图4.4所示。图4.4 显示函数流程图4.5 软件说明本程序采用C语言编写,程序的可读性非常好,使用Proteus仿真。 第5章 系统调试5.1 系统调试说明调试主要方法和技巧:程序调试采用KEIL软件在电脑上实现,从而对源程序进行预期目标的执行运作,从而使得整个程序达到与设计需求功能一致,通过对程序的跟踪、断点、查看变量、更改数值,从内部仿真出源程序执行步骤,从而保证程序的可靠运行,在本次设计中,主要调试单片机控制部分、数码管点亮部分和模数转换电路部分。根据系统设计方案,本系统的调试可分为两大部分:心率

15、部分和血压部分。前面我们已经说过由于仿真软件Proteus的限制,心率部分我们采用信号发生器(方波)来进行仿真,而对于血压部分我们用电位器和ADC0804构成血压检测电路进行仿真,所以仿真时我们可以调节信号发生器和调节电位器来模拟心率和血压的测量,从而使系统的功能得以实现。5.2 系统检测5.2.1 心率测量系统上电后调节信号发生器(如图5.1所示)的频率,当频率为1Hz时测得的心率(即脉搏)为60次且脉搏指示灯亮,如图5.2所示。图5.1 信号发生器图5.2 频率为1Hz时的心率(脉搏)数5.2.2 收缩压测量调节电位器RV1模拟仿真血压(收缩压)检测,测得收缩压为128,且收缩压指示灯亮,

16、其结果如图5.3所示。图5.3 测得的收缩压数值5.2.3 舒张压测量调节电位器RV1模拟仿真血压(舒张压)检测,测得舒张压为80,且舒张压指示灯亮,其结果如图5.4所示。图5.4 测得的舒张压数值 总结本设计主要是51单片机在心率血压测试系统中的应用。重点介绍了单片机的最小系统,通过单片机最小系统实现了心率血压的测量系统,由光电传感器和压力传感器分别采集到脉搏信号和血压信号,人体脉搏信号经过放大、滤波和整形电路处理后通过单片机的采集处理并最终在数码管上显示,而人体血压信号则经过放大、模数转换后通过单片机的采集处理并最终在LED数码管上显示。利用单片机自身的定时中断、外部中断、计数等功能,实现

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

18、序在控制和调用之间的关系,让我更为觉得一个程序如何巧妙合理的设计会使得设计工作更为简单容易。最后,感谢老师的精心指导,使我能够完成这次课程设计。参考文献【1】 单片微型计算机技术 刘国荣 编 机械工业出版社【2】 单片微型计算机原理、应用及接口技术 张迎新 编 国防工业出版社【3】 单片机实用系统设计技术 房小翠 编 国防工业出版社【4】 单片机应用系统设计 何立民 编 北航出版社【5】 单片机原理及接口技术 曹琳琳 编 国防科技大学出版社【6】 新概念51 C语言教程 郭天祥 编著 电子工业出版社附录A 系统总硬件原理图附录B 程序清单程序清单:#include#include#define

19、 uchar unsigned char#define uint unsigned intuchar code table10 = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar code LED_W3 = 0x08,0x04,0x02; uchar ssy3,szy3,mb3;uint getdata,getdata1,n,MBO;uchar a,i,k;sbit mb_led =P30;sbit ssy_led =P31;sbit szy_led =P33;sbit wr=P36;sbit rd=P37;void delay(

20、uint z) /延时z毫秒 uint t1,y; for(t1=z;t10;t1-) for(y=110;y0;y-);void xinlv() /脉搏的显示函数 mb_led = 0; for(a=150;a0;a-) for(i=0;i0;a-) for(i=0;i0;a-) for(i=0;i3;i+) P2= LED_Wi; k = szyi; P1= tablek; delay(5); szy_led = 1;void display() /显示子函数 xinlv(); xueya_ssy(); xueya_szy();void adswap () /模数转换子程序 wr = 1;

21、 /启动转换 wr = 0; wr = 1; rd = 0; /getdata = XBYTE0xB000 ; /存放转换结果 ,看成收缩压 getdata = P0; rd = 1; getdata1 =(int) getdata/1.6; /设收缩压是舒张压的1.6倍,存放舒张压 ssy0 = getdata%10; /个位 getdata = getdata/10 ; ssy1 = getdata%10; /十位 ssy2 = getdata/10; /百位 szy0 = getdata1%10; /个位 getdata1 = getdata1/10 ; szy1 = getdata1%

22、10; /十位 szy2 = 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; /计算每分钟脉搏数 mb0=MBO%10;/取个位数 MBO=MBO/10; mb1=MBO%10;/取十位数 mb2=MBO/10;/取百位数 n=0; Timer0() interrupt 1/定时中断服务程序 TH0=0xec; TL0=0x78; n = n+1; if(n=2000)/10秒钟测不到心率,n复位 n=0; adswap();

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

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