电子血压计论文(51单片机版)讲解_第1页
电子血压计论文(51单片机版)讲解_第2页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、选题内容31.1课题名称31.2设计任务31.3设计要求3二、总体方案32.1血压测量原理32.2总体方案概述32.2.1系统组成部分32.2.2总体框图4三、硬件设计43.1压力传感器BP0143.2信号预处理电路设计53.2.1三运放前置放大器53.2.2袖带压力信号处理63.2.3脉搏波信号的处理63.2.4预处理总电路图73.3数模转换电路设计73.3.1数模转换芯片ADC080873.3.2ADC0808与单片机的连接83.4数据显示部分8四、系统软件设计9五、系统调试与仿真10六、PCB布线结果12七、心得体会14八、参考文献14九、附录14一、选题内容1.1课题名称血压信号采

2、集系统设计1.2设计任务设计一种测量人体动脉血压的信号采集系统,该系统能够用于动脉信号的采集和血压的显示等功能。1.3设计要求1)利用压力传感器、单片机或ARM获得血压信号,并对信号进行滤波;2)具有计算血压信号的收缩压、舒张压、脉压的功能;3)具备显示波形和收缩压、舒张压、脉压的功能;4)给出系统整机电路图(利用PROTEL软件做出原理图SCH文件和PCB文件)二、总体方案2.1血压测量原理本设计采用示波法来测量血压,其实质就是用电子设备来测量脉博,分析脉博,从而得出临床所需要的各种科学准确的数据。示波法是根据在袖带内压力下脉搏波幅度变化的特征,来识别动脉收缩压、平均压及舒张压。采用示波法测

3、量血压不能从某一脉搏波信息中获得血压数值,而必须根据放气过程中脉搏波随袖带压变化的趋势图来判断血压值。2.2总体方案概述2.2.1系统组成部分电子血压计由压力传感器、初级运算放大电路、滤波电路、次级放大电路、数模转换电路、显示电路、按键和单片机组成。压力传感器完成对血压信号的米集,运算放大电路及滤波电路对米集来的信号进行预处理得到两路所需信号,A/D转换电路对这两路信号进行数模转换,单片机作为电子血压计的控制核心,完成对信号的存储与计算,并通过计算所得数据来控制外围电路,进行血压数据的显示与报警。整个系统总体上主要由以下几个部分组成:(1)信号采集部分信号采集部分主要包括一个压力传感器、前置放

4、大器、带通滤波器与低通滤波器主要完成袖带压力及脉搏信号检测。(2)数模转换部分该部分由多路A/D转换器组成,转换内容为袖带压力和袖带压力脉动波。在本设计中A/D转换器为单片机的外设。(3)中央处理单元中央处理单元的主要组成部分为单片机AT89C52其主要完成的工作有:通过串口接收单片机给出的系统参数设置及控制命令,并向单片机传送测量数据,其中包括计算收缩压、舒张压、平均压数据、对气泵及模数转换的控制、测量过程中的各种算法实现。微控制器对气泵充气与排气进行控制,同时控制报警。(4) 显示模块采用LCD1602显示人体的收缩压、舒张压、脉搏。2.2.2总体框图系统的工作过程:压力传感器采集到信号后

5、,送入运算放大电路。由于本文选用的是幅值系数法,需要分离出袖带压信号和脉搏波信号,根据袖带压信号和脉搏波信号的频率特征,其中一路信号由低通滤波器分离出袖带压信号,另一路由带通滤波器分离出脉搏波信号,一并送入A/D转换器。袖带气压和脉搏波经数字信号处理后可得到收缩压、舒张压以及平均压。将计算所得结果输出至LCD1602显示。当舒张压或收缩压的值超出其正常值时,显示报警标识符“!”。气泵的充气以及排气也是由微处理器控制的。系统组成框图如下:4三、硬件设计3.1压力传感器BP01本系统采用了德利康公司的BP01型压力传感器来采集血压信号,BP01型压力传感器是为监测血压而专门设计的,主要用于便携式电

6、子血压计。具有高线性、低噪声和外界应力小的特点,采用内部标定和温度补偿方式,从而提高了测量的精度、稳定性以及可重复性,在全量程范围内,精度为±1%,零点失调不大于±300”。本系统内部集成运放LM324的输入正端为可设定的直流偏置电压Vref,LM324的输出端和输入正端提供了压力传感器电桥偏置的回路。偏置电压:vref=rVVrVccBP01的电路连接如下图:从传感器BP01输出的信号为015mV的差分信号,动脉血压的参数范围为10400mmHg。由于生理信号具有幅度小,频率底,内阻高等特点,且存在较强的背景噪声和干扰,无法进行直接记录与显示,针对此类生物信号的特殊性,初

7、级放大电路应具有很咼的共模抑制比,以及咼增益、低噪声和咼输入阻抗、有合适的通频带宽和动态范围等等特点。生理信号的这些特性对测量放大器的要求很高,为了满足这些要求,我们选择前置放大器。前置放大电路原理图如下图所示:UIB,UIC接成同相输入形式,主要用来提高输入阻抗,提供电压缓冲,UID组成差动放大器,用以抑制UIB,UIC传递过来的共模电压,并提供一定的差模增益,以提高共摸抑制比。3.2.2袖带压力信号处理从压力传感器中获得的血压信号包含袖带内压力信号,该信号是缓慢变化的(低频),要想提高袖带压力信号需采用低通滤波器。故本设计采用二阶有源低通滤波器,如下图所示:+12V-25uF<TEX

8、T> -R11-HI卜10k u:TE;g亠C2R12R910k<TEXTS.;、西.<TEXT:=R.13.10k<T-EXT>26uF-<TEXT:=V:-12V-R24:1k<TEXT>:263.2.3脉搏波信号的处理传感器BP01输出的血压信号包括袖带压力信号和脉搏波信号,但其中还夹杂着来自外界的高频干扰和直流或低频分量。一般来说,脉搏波信号的频率范围为0.66.4Hz。为此本文设计的带通滤波器:通过频率为0.46.6HZ以获取脉搏波信号。带通滤波器为两级带通滤波器的级联,因为级联后的带通滤波器将提供出更高的增益,并且级联后的滤波器的频率

9、响应比一级带通滤波器的频率响应会更尖锐。两带通滤波器的级联如下图所示:200n.<TEXT:='U2:B-12V-L47uF<TE.X.T:=R14<TEXT>9R15:I卜10k=:TE;CT>10<TEXT>LM324<T-EXT>第一级带通滤波器:低截止频率:2兀(47pFx10K)0.338HZ高截止频率:12n(0.2mFx120K)=6.63HZ第二级带通滤波器:低截止频率:12k(47pFx10K)=0.338HZ高截止频率:12k(240nFx33K)=19.91HZ324预处理总电路图3.3数模转换电路设计3.3.

10、1ADC0808数模转换芯片本实验的数模转换芯片采用的是ADC0808,如右图所示:ADC0808由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。各引脚功能如下:CLOCKINOSTARTIH1EOCIN2IH3UT1IIN4IH5OUT21H6OUT3IN7UT4OUT5AD&AOU77ADOCOUT8ALEDEVREFl*)VREFf;-)ADCOBO&J5IN0-IN7:8位模拟量输入引脚.0UT1-0UT8:8位数字量输出引脚。A、B、C:地址输入线,用于选通IN0-IN7上的一路模拟量输入。START:A/D转换启动信号输入端,当S

11、TART上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,START应保持低电平。ALE:地址锁存允许信号输入端,当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。3.3.2ADC0808与单片机的连接AD转换电路电路图如下:RV1J3f12P3.4OOOR-73.4数据显示部分200K-uTEXThAT89C52=:TEXT>30pF<TT>R16|1X.1.12MHzxT.EXTi-C3-II尹PF.&l

12、t;TEXT>P2:4OP2:3O10k<TEXT>C9':TEF'1.4P1.-5P1.6>XTAL1P0.0/AD0XTAL2RSTP0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7PSENALEP2.2/A10P2.3/A11P2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.1/T2EXP3.1/TXDP1.3P3.3/INT1P3.5/T1P3.6/WR"IE102526272839213820371y3618358341533143217£

13、F-2.GP-2.1P2:7P-2.2P2.3P2.4P2.5P2.6P2.7>CLOCKIN0STARTIN1IN2EOCIN3IN40UT4OUTSADDAOUT6ADDBOUT7ADDCOUTSALEVREF(+)OEVREF022ADC0808<TEXT>,10,200K<TEXT>P3.0P3.1P2.1P-2.2P-2.6本设计用的是LCD1602做显示,如下图:LCD1LM016LLM324<TEXT>Rpr-i1ooooooooooo2345678901234567-00000000Q叮QI.口匸01也吐吩g民四、系统软件设计1系统软件

14、设计的流程图如下所示:4.7K<TEXT>数模转换的程序流图如下所示:开始输出数据返回五、系统调试与仿真本设计采用了KeiluVision2和ProteusISIS进行仿真调试。当按钮按下后显示模块显示当前袖带压力值,如下图所示:LCD1LMJtiL<TEXT>testing.29CDlCC/3QLLIACOQLLJGD>OtCMCO寸S9Z>>>CtCLLJJQQQQQQQQcncocnovyCNcp-srinor<TEXT>'<TEXT>OoutO0000000034689501隈34£.6.7P-1

15、P-1P-1P-1P-1P-1P-1円EclOo_o_o_o_o_o_o_o_-此时气泵开始充气,当直流量4V时,气泵开始均匀放气并开始测量交流信号,当直流量IV时,测量结束并显示测量值。若测量血压数据正常,仿真结果如下图所示:LCD1LM016L<TEXT>RP1H=126L=79Sun=75COoLUAC/3QLUCO>-CDlCNCO寸S9卜>>>ororLUQOQOQQQO6oooOT-CMf-0D6口00000000ooooooooQC>lCO寸LQ9I>4.7K<TEXT>outO<TEXT>'<

16、TEXT>OoutO.0.1.2.34.5.6.7P-1P-1P-1P-1P-1P-1P-1P-1wok2k<TEXT><TEXT>-.3OcncoonCL若测量血压数据偏高,仿真结果如下图所示:LCD1IMi血RP1H=142OljtU<TE:T>':TBn-><>outOSum=35sWolcmc寸sgr-LT:LUQOCIClQQIZlIZI4.7K<TE:T>.0.1-.2.3.4.5.6.7p-p-p-p-d_p-p-p-1DQk-订曰2k<TB:T>-若测量血压数据偏低,仿真结果如下图所示:

17、LCD1b.f)l6L<TB(T>ARF-1<TE:U>CUJtU/<TBCr>P-1.4-P-1.5PI.6J-r二I-*345/OiJtl"'WKW肖423:R25:.''''R26OOP-:潍:QgQGacn.o-«7cmomt;cc;r-cococo>»l1tiiicvR-CVCMCOCO<:-OAIDDk订E-:T>2k-<TEkT>-六、PCB布线结果PCB底层布线图PCB顶层布线图PCB标识层布线图CHCgdsdLL-cr.sJI-HHJI二LL

18、m二LLl_im-.-LTa.I-比&LJLTJ一DL5:Bum-.-u.JIJIPCB总布线图-*«_Lr-_Lr-_Lr-_Lr-_Lr-*.*7-j-i7lpl冷#嘩港0Q浮浮crGD-cr-«*4-1ujJ*4*2cr*灼*二Zb在TEJZdL*-_-:sF*4s:i-::-aET七、心得体会此次关于“血压信号采集系统设计”的课程设计,我们从任务分配、查阅资料、最初的方案设计、数据处理到最后的画图、仿真。在这为期3周的过程中,我们每个组员都收获很多。对于血压计的原理有了更加深入的了解,更好地熟悉并掌握了ProtelDXP的操作。针对每个过程、每个细节都有了更

19、深入的体会。当然也让我们更加清楚地看到其中出现的不足之处。在画图仿真过程中出现了些细节上的小问题,但是通过大家不厌其烦地多次修改、调试,最终达到了实验目的。八、参考文献1 吴咏春主审.可编程控制器原理与程序设计.大连理工出版社.2009;2 郭冀珍.电子血压计可不可靠.高血压杂志J.2OO53 席德勋.现代电子技术,高等教育出版社,19994 赵小安.MCS-51单片机原理及应用.天津大学出版社.2001九、附录总电路图C5rrpxr*-R223>.C7气.U2:B-iw.C6U2;C仿真总图rrO.r>.I.rimz.EX"t5555555"Joew0so5u

20、000U5.i.rim暑-罟a蚤皿器一EEww-oSS4i亠亠专一亠aL程序编码#include<reg52.h>#define#define#defineuintunsignedintunsignedcharP0/AD数据口ucharad07sbitA=P2"0;sbitstart二P23;/下降沿启动AD转换,上升沿寄存器清零,转换过程为低电平sbitclock二P2"4;sbitE0C=P2"5;/AD转换结束输出高电平sbitALE=P2飞;/地址锁存允许地址输入端,高电平有效sbitOE=P2"7;/读数据控制,高电平有效sbitr

21、s=P30;/定义液晶显示器控制端口sbitrw=P31;sbiten二P3"2;sbitkey二P3"3;sbitMT=P34;ucharcodetable17="H=128L=82"ucharcodetable117="Sum=75"ucharcodetable213=0123456789!"ucharcodetable317="testing."uchardatabuf9;/用于数字显示uinti;intdata_H,data丄Sum,max;voidstart_ad();/启动AD转换子程序voi

22、ddelay(uchartime);voidwrite_com(ucharcom);/写扌旨令函数voidwrite_data(uchardat);/写数据函数voidmatch();/数据分析子程序voiddisplay();/显示子程序voiddisplay1();voidmain()TM0D=0X22;/定时器设置TH0=0XFF;/定时器0置初值lus500KHzTL0=0XFF;EA=1;/开总中断ET0=1;/定时器0中断开启TR0=1;/启动定时0MT=1;while(l)match();/延时voiddelay(uchartime)uintj;for(;time>0;ti

23、me-)for(j=0;j<125;j+);voidwrite_com(ucharcom)/写扌旨令函数en=0;rs=0;Pl二com;en=1;en=0;voidwrite_data(uchardat)/写数据函数en=0;rs=1;P1=dat;en=1;en=0;/定时中断子程序voidtime0(void)interrupt1using1TH0=0XFF;/重赋初值TL0=0XFF;TR0=1;/重新启动定时器clock二!clock;voidstart_ad()/启动AD转换子程序/通道0A=0;ALE=1;/允许地址输入start=0;delay(1);start=1;/上

24、升沿数据清零delay(1);start=0;/下降沿开始转换while(!E0C)/转换结束关闭地址输入端ALE=0;/读数据OE=1;/允许读delay(1);data_H=ad0_7;/把数据存到data_H中OE=0;/停止AD读取/通道1A=1;ALE=1;/允许地址输入start=O;delay(l);start=1;/上升沿数据清零delay(l);start=0;/下降沿开始转换while(!EOC)/转换结束关闭地址输入端ALE=0;/读数据OE=1;/允许读delay(l);data_L=ad0_7;/把数据存到data_H中OE=0;/停止AD读取voiddisplay。

25、/显示子程序/高压显示百位/高压显示十位/高压显示个位/低压显示百位/低压显示十位/低压显示个位/脉搏显示百位/脉搏显示十位/脉搏显示个位buf0=data_H/100;buf1=(data_H-buf0*100)/10;buf2=(data_H-buf0*100)%10;buf3=data_L/100;buf4=(data_L-buf3*100)/10;buf5=(data_L-buf3*100)%10;buf6=Sum/100;buf7=(Sum-buf3*100)/10;buf8=(Sum-buf3*100)%10;if(buf0=0)buf0=10;if(buf3=0)buf3=10;

26、if(buf6=0)buf6=10;/初始化en=0;rw=0;write_com(0x38);/设置16X2显示,5X7点阵,8位数据接口write_com(0x0c);/设置开显示,不显示光标write_com(0x06);/写一个字符后地址指针加1write_com(0x01);/显示清零,数据指针清零write_com(0x80+i);/第一行写write_data(table0);write_data(table1);write_data(table2);/显示高压值(收缩压)write_data(table2buf0);write_data(table2bufl);write_da

27、ta(table2buf2);write_data(table6);write_data(table7);write_data(table8);write_data(table9);write_data(table10);write_data(table11);write_data(table12);/显示低压值(舒张压)write_data(table2buf3);write_data(table2buf4);write_data(table2buf5);write_com(0x80+0x40+i);/第二行写write_data(table10);write_data(table11);w

28、rite_data(table12);write_data(table13);write_data(table14);/显示脉搏次数write_data(table2buf6);write_data(table2buf7);write_data(table2buf8);write_data(table18);write_data(tablel9);write_data(tablel10);write_data(tablelll);write_data(tablel12);/显示报警标志“!“if(buf0=10&&bufl<9)|buf0=2|(buf0=l&&a

29、mp;buf1>3)|(data_L<65|data_L>90)/高压低于90高于140报警,低压低于60高于90报警write_data(table2ll);write_data(table2ll);write_data(table2ll);voiddisplayl()buf3=data_L/100;/低压显示百位buf4=(data_L-buf3*100)/10;/低压显示十位buf5=(data_L-buf3*100)%10;/低压显示个位if(buf3=0)buf3=10;en=0;rw=0;write_com(0x38);/设置16X2显示,5X7点阵,8位数据接口write_com(0x0c);/设置开显示,不显示光标write_com(0x06);/写一个字符后地址指针加1write_com(0x01);/显示清零,数据指针清零write_com(0x80+i);/第一行写wr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论