基于单片机的脉搏测量仪设计说明_第1页
基于单片机的脉搏测量仪设计说明_第2页
基于单片机的脉搏测量仪设计说明_第3页
基于单片机的脉搏测量仪设计说明_第4页
基于单片机的脉搏测量仪设计说明_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

.35/38摘要本文介绍的是一种基于单片机的脉搏测量仪设计,作为该系统中重要的电路模块,如心率采集电路、显示电路和STC89C52单片机之间通过串口实现连接。本次设计运用单片机STC89C52作为中心控制处理单元,通过ST188作为红外光电传感器来采集脉搏信号,经过LM358进行运放;再通过前后级滤波、放大、整形,从而得到稳定信号;实现了快速检测心率的功能。还可以通过按键来设置脉搏值的上下限范围;蜂鸣器驱动模块可以在超出所设置的范围时进行报警提示,测量结果在液晶上显示。实验表明,该设计的测试结果与实际的要求基本一致,STC89C52单片机超强的抗干扰能力和LCD1602显示屏控制比较方便的优点使这些功能能够顺利地完成。该系统的制作成本在百元以内,具有价格低廉、便于操纵、功耗小、可靠性高等优点,十分适用于家庭和个人使用。关键词:心率;红外光电传感器;STC89C52;LM358;软件.AbstractPresentedinthispaperisadesignofpulsemeasuringinstrumentbasedonMCU,asthecircuitmoduleplaysanimportantroleinthesystem,suchasheartrateacquisitioncircuit,displaycircuitandSTC89C52microcontrollerthroughtheserialporttorealizetheconnection.ThisdesignwithSTC89C52microcontrollerasthecentralcontrolunit,throughST188asinfraredphotoelectricsensortocollectthepulsesignal,afterthelm358foropamp;againthroughbeforeandafterfiltering,magnifying,shaping,andgetstablesignal;functionstoachievetherapiddetectionofheart.Youcanalsothroughthebuttontosetthepulsevaluescope;buzzerdrivermoduleIntherangebeyondthescopeofthealarmprompt,themeasurementresultsintheliquidcrystaldisplay.Experimentalresultsshowthatthetestresultsofthedesignandpracticalrequirementsarebasicallythesame,STC89C52MCUstronganti-interferenceabilityandLCD1602displaycontroltheadvantagesofmoreconvenientsothatthesefeaturescanbesuccessfullycompleted.Theproductioncostlessthan100yuan,withlowprice,easymanipulation,lowpowerconsumption,highreliability,veryapplicabletofamiliesandindividuals.Keywords:heartrate;infraredphotoelectricsensor;STC89C52;LM358;software目录TOC\o"1-3"\h\u1196第1章引言138811.1选题背景及意义134941.2国内外发展现状1215091.3课题研究内容210325第2章整体方案设计3118562.1核心器件的选型3266382.1.1单片机的选型367682.1.2传感器的选型4236512.1.3显示模块的选型5254592.2系统方案设计57934第3章硬件系统设计650833.1单片机最小系统6127233.1.1电源电路8189563.1.2复位电路8137793.1.3时钟电路9298833.2信号变送系统938963.2.1信号采集电路9246633.2.2滤波电路11227003.2.3信号放大电路1210943.3显示电路13318983.4按键电路15141793.5报警电路1672083.6系统硬件电路1727946第4章软件系统设计18354.1软件编译环境18269854.2STC-ISP程序下载19272494.3程序流程图1916624.2.1主程序流程图1950844.2.2定时器中断流程图21190384.2.3显示模块流程图22167614.2.4心率测量流程图2310489第5章系统调试25301955.1硬件调试2517325.2软件调试2598595.3设计结果2625698结论3122624致谢329413参考文献3329414附录一:系统原理图3510567附录二:源程序36.引言1.1选题背景及意义心率<HeartRate>用专业术语来说就是用来描述人体心率跳动的周期。现代汉语中将脉搏值解释为"心脏跳动的频率";故心率也可以说在一个单位时间内,心脏律动的快慢。每个人的心率信号中大都蕴含着丰富的生理心理信息,这是由于人体内脏器官的健康可以反映在脉搏信息中;这一发现逐渐引起了众多临床医生的关注。在我国,脉诊一直被视为中华医术的精髓;到目前为止进行的临床实践大约已有2600多年。然而由于手指经常使用会存在一些汗腺,指脉诊断存在的误差不容忽视;进而导致测量不准确。这时或许你会说还有耳脉测量呢,不是以前也经常用过吗?虽说通过测量耳朵脉动来得到脉搏信号相对来说比较干净,但由于耳朵脉搏信号微弱,特别是当季节变化时,测量信号容易受到环境温度的影响,导致测量值不准确。随着世界科技与经济的迅速发展和进步,珍爱生命、关注健康已经成为全世界人类的共同追求。据卫生局统计每年因心脑血管疾病猝死的人数位居人类死亡总数的第一位,不仅医疗费用居高不下,还给家庭、政府和社会造成巨大负担。近些年来,由于生活节奏加快、饮食习惯不合理和众多垃圾食品的影响等原因,心脑血管的发病率更是呈现逐年上升的趋势。如何科学且无害的降低心脑血管疾病的发病率及死亡率,有效的减轻心脑血管疾病带来的社会和家庭负担,已经成为全世界人类所面临的一个十分严峻问题。1.2国内外发展现状世界上第一台杠杆式脉搏扫描仪是Vierordt于1854年创建的,它是采用杠杆和压力鼓式描记法来记录脉搏波形图的,也是人类第一次通过非侵入性的方式记录人体脉搏的,当时引起了很大轰动。然而国内的发展起点相对来说比较低,20世纪50年代初朱颜才将脉搏仪引用到中医脉诊的客观化研究方面。近些年来无创伤血管功能检测渐渐吸引了医学人士的目光。大约在1980年以来,无创伤血管功能检测被小范围使用,它的原理大致是基于血流动力流变学和弹性腔理论。其特征在于:它由温度模块、血压袖带模块、血氧模块构成的多生理信号采集模块组合,通过对肱动脉进行阻断再开放过程中手指指端温度信号、血氧及脉搏波信号的各参数变化,再根据临床试验采集数据,并通过信号处理和统计分析方法,建立血管功能定量评价公式及血管功能评价。它具有无创、操作简单、结果准确、重复性好及临床应用方便,并自动生成心血管功能的诊断、健康状况的分析及给出相关的医学解释。现在脉冲测试不再局限于传统的手工测试或听诊器测试,仅利用电子仪器就可以测量得出更准确的数据。当今社会,大部分电子测量仪器中已朝向数字化、自动化方向发展。脉冲测量仪不仅性能好,结构简单,而且具有很好的应用和推广价值。在一般情况下,脉冲测量仪器的发展主要是以下趋势,第一:在没有人为的情况下可以自动分析所测得的脉搏值;传统的脉搏仪器需要经过有经验的医生对其脉搏信号先进行初次分析,然后进行综合分析后最终能确认结果,这种方法总的说来不仅浪费大量的人力,而且由人为引入的误差也比较大。第二:数字化技术等先进技术的广泛应用;脉搏测量仪集成度要想做到更高程度,并且更加便于携带必须依靠数字科学技术的迅速发展;与此同时数字信号处理的运用将使干扰变得更小,测量结果更为准确。第三:多功能化会越来越明显。第四:价格便宜、方便携带,而且应用和推广价值较好,给广大民众带来便利。1.3课题研究内容历来在医院进行临床诊断及治疗的依据大都来源于人体脉搏波中提取的生理病理信息。在中国,脉诊是老中医最常用的诊断疾病的方式,一直沿用至今。人体发射出来的脉搏信号包含了心率的波速、波形、周期和波幅等全方面、全方位综合信息,在很大程度上能够体现出人体身体中的各部分信息〔例如血液粘度、血液速度等。尽管这些生物信号存在于人体自身当中,其信号强度相对来说比较微弱;若是在嘈杂的环境中效果更不明显。本次毕业设计的原理是采用单片机微处理器STC89C52作为中心处理器;通过传感器采集脉搏信号,通过单片机芯片在内部的系统定时器来设定时间;最后得到的心率跳动数值通过STC89C52单片机对信号进行累加即可。一般正常人的心跳大约是每分钟60~100次左右,电路图上的按键模块就可以通过按键来设置人们的心率范围;超出或低于所设置范围可能心脏方面会存在风险,蜂鸣器驱动模块就会驱动蜂鸣器报警;最终的测量结果会在液晶上显示。本设计能够通过查看红外指示灯是否来回闪动,若稳定持续闪烁,说明检测结果正确且误差较小;假设显示结果来回晃动且数值相差较大,有可能存在误差。通过上述步骤,能够粗略地判断人体自身的健康程度,特别适用于个人或家庭使用,有时还被应用在敬老院、保健医疗中心等。整体方案设计本章主要写的是系统整体方案设计,其任务是设计一个以STC89C52单片机控制的脉搏测量仪,目的是为了快速的检测人的心率。整体方案设计的步骤是:首先要选取合适的核心器件,比如单片机芯片、传感器、显示器等;然后确定本次设计的主要模块,如单片机最小系统、显示模块、报警模块等,将其整合就可以大致得到脉搏测量仪设计的总体框架图。2.1核心器件的选型在电路设计之前必须明确方案设计,在本论文中单片机型号、信号采集模块以及显示模块是设计得以成功的关键。通过比较器件的优缺点来选择最合适的单元模块,可以发挥设备的最大效能。2.1.1单片机的选型要实现该系统的各个功能,那么单片机的选型非常关键。根据本次设计的需要,可从当前市场上比较常用的几款单片机中选择一种性价比较高的型号,如MCS-51系列、AT89系列、STC89系列、PIC系列、AVR系列等等。其中PIC系列和AVR系列主要用于大型的办公自动化产品中,而本次脉搏测量仪控制系统属于比较小型的系统,选用STC89C52单片机就足以实现其功能,故在本论文中就不再做详细的介绍PIC系列与AVR系列了。那么下面将会对前三个系列中具有代表性的单片机进行简单的介绍和比较。方案一:AT89C51与8051的比较AT89C51单片机最基本的功能就是8051系列单片机的功能,从而使8位MCS-51系列单片机可以持续地发展,引脚信号、总线、指令、与某些方面兼容。能够保障两者间没有指令的障碍从而维持软件的可移置性,则成为指令的兼容;为而了保证单片机系统扩展与接口的统一性就需要总线、封装以及引脚信号的兼容,这对系统的开发与应用非常有利。630MW与120MW分别是8051与AT89C52单片机的功耗,从这就不难发现低功耗是AT89C52具有的性能,而低功耗对于单片机在野外仪器设备上的使用和在单片机的手提式与便携式方面都有巨大的便利。方案二:STC89C52与AT89C52的比较STC89C52单片机和AT89C52单片机相比较区分并不特别明显,具体特点如下:STC89C52单片机有8K字节程序存储空间;512字节数据存储空间;内带2K字节EEPROM存储空间;AT89S52单片机有8K字节程序存储空间;256字节数据存储空间;没有内带EEPROM存储空间;另外STC89C52单片机直接用串口下载ISP就可以了,而AT89C52单片机要多装一个驱动,即需要专用的下载器才可以下载ISP;STC89C52单片机比AT89C52单片机具有更强的抗干扰能力。经过以上比较与分析,本次设计选用STC89C52单片机更为适宜。2.1.2传感器的选型方案一:基于声电式传感器的脉搏信号提取声电式传感器也可称之为力学量传感器,其原理是传感器为了得到向单片机发送的电压信号必须采集固体、液体、或气体中传播的机械振动。正常情况下它的构成一般是由不定性无烟煤颗粒或压电陶瓷等材料。使用寿命长、成本低和容易制作是颗粒式声电传感器最大的优点;然而颗粒的机械磨损和接触表面上的瞬间电弧会使颗粒逐渐老化却是不容忽略的一大缺点;因而在检测声音信号时存在着一定的缺陷,从而导致杂音大、性能不稳定以及测量结果不精确。方案二:基于红外光电传感器的脉搏信号提取对于红外光电传感器来说,红外发射管和红外接收管是必不可收的器件。若是采集脉搏时需要经手指肚平缓均匀地放在红外对管上,其中一个白色的是红外发射管,黑色的是红外接收管,接收管将采集到的光信号转换成电信号,然后触发单片机使之将结果反映在显示模块。一般来说,光电二极管和光电三极管是比较常用的光电器件。光电式传感器测量微小的位移变化有明显的效果,但是红外光电传感器对材料、电路控制和光电管属性要求较高,其主要特点有:吸收红外光的能力极强;介电常数小,以便得到大的输出电压;介电损耗小。在以上两种方法中,我认为若是想很好的采集脉搏信息的话第二种方案更易实现,并且红外也比较常见;比较之下选择了第二种方案来实现设计。综上所述,本次设计决定选用ST188作为红外光电传感器来采集脉搏信息,然后进行运放,滤波处理,从而得到稳定的脉搏波。红外光电传感器检测、滤除高频脉冲波、运放整形并运送到单片机工作系统的过程见下图2-1所示:单片机控制单片机控制传感器检测运放整形滤波模块液晶显示图2-1信号检测处理工作流程图2.1.3显示模块的选型本系统中的显示模块可以采用的方案有以下三种:方案一:LED数码管选用LED数码管的动态描述,由于LED数码管的价格比较适中,最适合与数字显示,并且占有单片机接口比较少,但是本文设计的显示为字母与数字相结合,故LED数码管不是很合适。方案二:点阵式数码管选用点阵式数码管,可是因为八行八列发光二极管是点阵式数码管的构成形式,很适合显示文字,要是显示数字的话就会有点点大材小用,而且性价比不高,所以在此设计中选择也不是很合适。方案三:LCD1602显示屏使用LCD1602显示屏,和其他显示器相比较,LCD1602液晶显示屏具有显示数字、字符、字母的功能,并且显示方式和控制比较简单,而且相对于其他的价格低廉,故经过综合考虑本论文采用LCD1602显示屏最合适。2.2系统方案设计本次设计采用常见的单片机STC89C52为控制核心,通过ST188红外光电传感器采集脉搏信号,从而实现脉搏测量仪的基本功能。系统设计主要有心率采集模块、液晶显示模块、电源模块、晶振模块、复位模块、按键模块、报警模块;其硬件框图如下图2-2所示:单片机单片机STC89C52按键模块TC89C52报警模块STC89C52复位模块TC89C52波形整形C89C52脉搏采集TC89C52显示模块运放模块图2-2脉搏测量仪的工作原理硬件系统设计本设计用到了单片机最小系统,故在本章节中将首先介绍一下单片机最小系统电路,然后再主要对脉搏测量仪的几个关键模块电路进行简单的介绍,即:信号采集电路、滤波电路、放大电路、显示电路、按键电路、报警电路等。3.1单片机最小系统STC89C52最小系统是指其能工作下的最简单的电路。其中的电源电路、复位电路、时钟电路是单片机系统可以工作的最基础的电路,三者缺一不可。具体如图3-1所示:图3-1单片机最小系统由图3-1可知,在单片机STC89C52芯片内共有40个管脚,其中有32个管脚可作为I/O口用,它们分别为P0口的八个管脚、P1口的八个管脚、P2口的八个管脚和P3口的八个管脚,P3口的八个引脚可以用作串行口、外部中断、定时器、读写控制等特殊用途,当不需要特殊的用途,P3端口可以作为一个I/O端口。单片机中40个引脚的具体功能如表3-1所示:3-1单片机引脚功能对照表引脚引脚名称对应功能与作用1~8P1.0~P1.7准双向的8位普通I/O口,内带上拉电阻存在。9RST复位输入引脚,在振荡器复位是需保持两个机器周期以上的高电平。10-17P3.0~P3.7功能有两个,第一是作为准双向的8位普通I/O口,只不过内带上拉电阻;第二种功能下面有介绍。18XTAL2与晶振相连,是内部时钟电路的输入,同时也是反向振荡器的输入口。19XTAL1反向振荡器的输出20GND单片机电接地引脚21~28P2.0~P2.7准双向的8位普通I/O口,有上拉电阻存在。29PSEN本设计中没有用到,只是外部程序存储器的一个选通信号口。30ALE本设计没有使用到不做解释31EA/VPP我们设计中直接该引脚接至VCC让其处于一直高电平的状态,先执行片内4kBROM,再执行片外ROM。32~39P0.7~P0.0P0口为一个8位漏级开路双向I/O口,在本设计中与液晶相连的话需要接一个10k的上拉电阻。40VCC单片机电源+5V引脚其中单片机的P3口第一功能是准双向普通I/O口,内部有上拉电阻存在。各引脚的第二功能作,各引脚的定义如表3-2所示:引脚引脚名称对应的功能作用10RXD该引脚的特殊功能为串行输入口。11TXD该引脚的特殊功能为串行输出口。12INT0该引脚作为单片机外部中断0触发引脚,触发方式可以进行配置相对应的寄存器来实现。13INT1该引脚作为单片机外部中断1触发引脚,触发方式可以进行配置相对应的寄存器来实现。14T0该引脚可作为单片机外部计数器0触发引脚。15T1该引脚可作为单片机外部计数器1触发引脚。16WR该引脚可作为单片机外部数据写选通口。17RD该引脚可作为单片机外部数据读选通口。3-2单片机P3口第二引脚功能对照表3.1.1电源电路任何一个电子产品要想正常工作,必须提供电源。只有电源存在,器件才能得以运行,整个系统才能正常运行。在本次设计中,由于52单片机的工作电压在3.3V~5.5V之间都可以正常工作;所以供电方式可以选择电池盒或USB电源线。若是选择电池盒的话可以用3节5号电池即可解决,不过电池若是放的时间较久电压会不稳定,导致信号测量有误差。相比之下,选择USB电源线的话效果更好;可以采取USB电源线连接手机充电器插头或者5V的移动电源直接给给系统进行供电,误差会大大减少。电源电路图如3-2所示:当DC电源接口插上电源线时,打开自锁开关即可对单片机进行供电。图3-4电源电路3.1.2复位电路单片机的初始化操作就是复位,只要单片机开始运行,就都应该复位。复位电路包括了上电复位和手动复位两个部分。图3-3中所示的复位电路就包括了这两种复位方式。图中复位按键的3号引脚接电源,2号引脚与单片机的9号引脚RST相连。图中所示的复位电阻为10k,复位电容一般选择10uf,这些阻值和容值的选择在教科书中堪为经典。当电路开关时,电容C1可以保持其两端电压不发生突变,引脚9的电流由电源电流提供,因此引脚9上就会产生高电平,从而使得单片机变为复位状态,伴随着电容C1的不断充电,其两端的电压不短上高,从而引脚9的电压就开始降低,使得单片机最终退出复位状态。单片机在正常运行下可以按复位键进行复位。复位电路如3-3所示:图3-3复位电路3.1.3时钟电路由于系统需要计算精确时间,所以时钟电路模块使用了一个12MHz的晶振。单片机工作所需要的时钟信号就是由时钟电路发出的,电路在时钟信号控制下严格依照时序工作的目的是为了保证同步工作方式的完成。XTAL2是单片机的18引脚,其功能不仅是内部时钟电路的输入,与此同时还是反向振荡器的输入口;XTAL1是单片的19引脚,其功能是反向振荡器的输出;一般与晶振相连的的电容选取30pF的陶瓷电容。具体的时钟电路如图3-4所示:图3-4时钟电路3.2信号变送系统本次设计的检测原理是:首先将手指肚放在ST188传感器上来采集信号,采集好的信号中由于按下的力度、外部环境的影响的等原因会导致干扰,必须要滤除相对来说的高频信号以及干扰信号;由于脉搏信号相对来说比较微弱,紧接着进行运放处理;处理过的信号经过导线与单片机的P3.2口相连使之传送到单片机内部;当经过单片机处理后显示在液晶屏上。3.2.1信号采集电路在信号采集电路中,传感器的选取至关重要。在第二章的时候已经选过传感器的型号,ST188无疑是最好的选择。它由高发射功率红外光电二极管和高灵敏度光电晶体管组成。红外发射管发出红外线,红外接收管的特性是将光信号转换为电信号。在ST188红外光电传感器中A、K是红外发射管;C、E是红外接收管。在图3-6信号采集电路中,ST188的A极与电源相连,而K极与地相连;因此要想让红外发射管就能发出红外线,A极就要接高电平、K极要接低电平。下面大家可以来看一下ST188实物图,如图3-5所示:图3-5ST188实物图脉搏采集电路图如图3-6所示:在选择R4的阻值时要求比较高,其原因是:若是红外发射二极管中的电流越大,那么发射角度就会越小,产生的发射强度就越大,因此考虑R4阻值时要格外慎重。图中R4选择220Ω同时也是基于红外接收管感应红外光灵敏度考虑的。R4阻值要是过大的话,流经红外发射二极管的电流就会偏小,那么红外接收管就无法区别是否有脉搏信号产生。反之,R4阻值若是过小,流经红外发射二极管的电流就会偏大,红外接收管也不能准确地辨别有脉搏和无脉搏时的信号。在实际电路中R4的阻值选择时可以小范围的来回调试下,从而可以得到更加精确的阻值。如图所示,在R4旁边连接了一个电位器,就是用来调节红外光电传感器灵敏度的。R5阻值是22K,起一个上拉的作用;当红外接收管导通时就接地,不导通时就与电源相连;具体电路如图3-6所示:图3-6脉搏信号的采集电路在脉搏采集时可能会遇到两种情况:第一种是是无脉期,第二种是有脉期。当出现第一种情况时,由于红外接收管中存在暗电流,会造成输出电压略低;其主要原因是手指虽然遮挡了红外发射管发射的红外光,但是透光性却比较强导致无结果出现。当出现第二种情况时,血脉使手指透光性变差,红外接收管中的暗电流减小,输出电压上升。3.2.2滤波电路从传感器中出来的脉搏信号中相对来说含有高频信号,而希望得到的波形是交流低频信号因此需要先进行滤波;滤波电路如图3-7所示。C4选择10uf的电容进行隔直流,并且滤出相对脉搏信号来说的高频波或环境光线的干扰;R11起到了下拉作用,与LM358的同相输入端3脚相连,当有信号输入时接通,没信号输入时接地;R7、R5、R11组成普通的滤波器滤除高频信号,加到线性放大输入端;R8和C6组成低通滤波器以进一步滤除残留的干扰,运放LM358将信号放大,放大倍数由R12和R13决定;即LM358的同向输入端使其信号放大得到显示出来;具体电路如图3-7所示:图3-7滤波电路3.2.3信号放大电路由于脉搏信号本身就比较微弱,所以是通过比较灵敏的红外光电传感器来采集脉搏信号。因此首先要将滤波处理的波形进行适当的运放;故本次课题的设计最终决定采用的是LM358四运放放大器。LM358是四运放放大器,由两个独立的、高增益、内部频率补偿的双运算放大器组成。LM358四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。图3-8是LM358的引脚及功能介绍,由图可知,LM358有8个引脚,其中1号引脚是第一个运放器的输出端;2、3号引脚分别是第一个运放器的反向和同相输入端;4号引脚接地;7号引脚是第二个运放器的输出端;6、5号引脚同理分别为为第二个运放器的反向和同相输入端;8号引脚接电源。LM358的引脚排列及功能详见图3-8所示:图3-8LM358的引脚排列及功能本次设计的信号放大电路图如图3-9所示,滤波过的信号经过3引脚接入LM358的同向输入端,2引脚的反向输入端接在R12和R13的电阻分压处;R13下面是接地的,R12上面与LM358的反馈输出引脚1相连;同时反馈输出又与LM358的第二组运放的反向输入端6引脚相连;也就是说把输出的数据放在了第二组运放里。在第二组运放的同向输入端5引脚接入了30k与4.7k的分压;与之相连的56k电阻同样把信号反馈到了同向输入端5引脚,也就是说所有的反馈最后都回到了运放电路中。LM358的8号引脚与电源相连;7号输出引脚与单片机的P3.2口相连,同时连接了一个1k的电阻与LED指示灯;当有心率时指示灯就会被点亮,没心率时就会熄灭。在如图3-9所示,与R6、R10、R9相连的LM358一侧共同组成了电压比较器,使信号进行近一步的整形然后送到单片机内部。图3-9信号放大电路3.3显示电路在第二章中我们经过对比,选择了液晶显示模块。相比较其他显示模块来说,液晶的优点有画面质量高、体积小、重量轻、耗电量相对来说比较低。在本次设计中选取了LCD1602作为显示模块。液晶是一种介于固体和液体之间的有机化合物;通常状态下是液态,然而它的分子排列却和固体晶体一样非常规则。通过利用液晶的物理特性给其通电,在电场的作用下,分子的排列顺序会被改变,如果再改变电压的大小,某一颜色透光量的多少也就会同时改变,从而可以改变透光度,最后显示在液晶屏上。液晶显示屏的实物图如图3-10、3-11所示:图3-10液晶显示器正面图图3-11液晶显示器背面图引脚符号功能说明1VSS一般接地2VDD一般接电源<+5V>3V0液晶的灰度调节引脚,接在1k和10k的阻值分压处。4RSRS为寄存器选择,作为数据寄存器时接高电平、作为选择指令寄存器时接低电平。5R/W读写信号线,进行读操作时接高电平,进行写操作接低电平。6EE<或EN>端为使能<enable>端,写操作时,下降沿使能。读操作时,E高电平有效7DB0低4位三态、双向数据总线0位<最低位>8DB1低4位三态、双向数据总线1位9DB2低4位三态、双向数据总线2位10DB3低4位三态、双向数据总线3位11DB4高4位三态、双向数据总线4位12DB5高4位三态、双向数据总线5位13DB6高4位三态、双向数据总线6位14DB7高4位三态、双向数据总线7位<最高位><也是busyflag15BLA背光电源正极16BLK背光电源负极LCD1602是可以显示两行内容,每行16个字符液晶模块〔显示字符和数字。其芯片的工作电压是4.5V-5.5V之间,模块最佳的工作电压是5V;工作电流是2.0mA。本设计中液晶显示器的引脚有16条,各个引脚的功能具体如表3-3所示:表3-3LCD引脚功能介绍脉搏信号经过上述采集、滤波、放大,通过与单片机的P3.2建立联系,进行处理以后送到显示模块;最后结果由液晶显示屏显示出来;本设计是用液晶显示器1602作为显示电路。单片机的P0口分别与液晶的数据口7-14脚相连,不过单片机的P0口是开漏极输出,不能输出高电平,故需要接一个10k的上拉排阻,分别与单片机的P0.0~P0.7相连由P0口控制来显示数据。液晶的1、2引脚是电源引脚,液晶的15、16是背光引脚;液晶的引脚3是灰度调节,在本次设计中液晶的3号引脚接在了1k与10k的电阻分压处;通过阻值分压来调节显示屏的对比度。电压越低液晶显示的越清晰,但是如果太低浓度大反而看不太清,要是电压高的话字迹较淡也易看不见,故而R2、R1就是来调节电压比值的,一般说来R14的阻值在220欧姆到1k左右都可;不过要是R2和R14接反的话液晶就可能显示不出来数据了。4、5、6接的是单片机的P25、P26、P27,是控制引脚;显示电路见图3-13所示:图3-13显示电路3.4按键电路按键电路如图3-14所示,在3.1.2和3.1.3中分别介绍过了复位电路和晶振电路,在这里就不一一介绍了。由图可知按键模块的三个按键的2号引脚均与地相连,而三个按键的3号引脚分别与单片机的P1.0、P1.1、P1.2相连。为了便于区分,分别为这三个按键编下序号分别为1、2、3。其中与单片机P1.0相连的1号按键是设置脉搏值的大小范围的,当按第一下的时候,显示屏上第一行会出现HeartRate:;第二行会显示WarningL:;而与单片机相连的P1.1是2号数值加键,当按下时,数值就会逐渐加1;与单片机P1.2相连的是3号数值减键;当按下时,数值就会逐渐减1;当最小值设置好之后再按下第一个键第一行会出现HeartRate:;第二行会显示WarningH:;然后再重新设置脉搏值的最大值,具体步骤同最小值设置一样,当设置好之后再按下第一个按键即为确定最大值最小值。当下次重新充电时,就可以看到脉搏的上下限已经设置好了,若是再想改变上下限,可按着上述步骤重新设置。具体电路图如3-14所示:图3-14按键电路3.5报警电路如图3-15所示,与蜂鸣器相连的是9012三极管的发射极,用来驱动蜂鸣器,提高芯片组的性能。与三极管集电极相连的是一个双掷开关,当想让蜂鸣器报警时打开,不想报警时可以关闭。为了防止单片机烧毁,故不能与蜂鸣器直接相连,应加一个限流电阻;一般来说串联一个220~2.2k的电阻均可;经试验证明串联2.2k的电阻效果最好。通过限流电阻R15报警电路和单片机的P2.4口相连,当通上电,打开双掷开关,若是脉搏值超出所设置的上下限时,蜂鸣器就会报警。只不过数值在程序中已经设置好了,最小值是40,最大值是100,因为人的正常心跳也就是在这个范围内,如若超出需引起重视,具体电路图如3-15所示:图3-15报警电路3.6系统硬件电路上面已经介绍了硬件系统模块的各个组成部分,拥有了各个功能模块以后,组合到一起,就构成了整个脉搏测量仪的电路图。电路的原理图见图3-16,在电路图中可以看出,硬件系统由单片机、电源电路、复位电路、晶振电路、信号采集电路、滤波电路、放大电路、显示电路、按键电路、报警电路组成。可以说是由各个部件的相互配合,才能相对准确地检测出脉搏值的大小。具体硬件电路图如3-16所示:图3-16系统硬件电路第4章软件系统设计4.1软件编译环境在编写程序时需要用到Keil软件,软件编译环境为keilμVision4,keiluVision4集成开发环境、仿真器、调试器等,提供一个单纯统一环境,可以快速的编辑,仿真和调试程序,通过uVision4的工具名,就可以实现绝大多数调试和编辑的功能。进入Keil软件后,紧接着就会出现编辑界面,打开软件后要先建立一个项目文件,之后选择单片机型号;在本次设计中我们选择Atmel公司AT89C52,这样项目文件就算建好了。新建一个空白文档,在这里输入要编写的程序;编写好并检查无误后就可以保存刚才编写的程序文件了,最后还要对程序进行编译生成HEX文件;编译好的界面如图4-1所示:图4-1Keil中的程序编译4.2STC-ISP程序下载经过Keil编译后生成的hex文件需要下载到单片机,在这里将用到STC-ISP程序烧录软件,同时通过USB接口转换的下载器与单片机相连接,最终完成程序的下载。如图4-2所示:图4-2STC-ISP下载界面4.3程序流程图4.2.1主程序流程图系统主程序是单片机系统程序的总框架,控制单片机按照已经设置好的流程进行操作。系统上电后,可以对系统进行初始化设置;通过对单片机内专用寄存器、定时器工作方式及各端口的工作状态进行设定就是完成了初始化设置。系统初始化之后,进行定时器中断、外部中断、显示等工作,不同的外部硬件控制不同的子程序;流程如图4-3所示:图4-3主程序流程图4.2.2定时器中断流程图计时、按键检测、有无检测信号判断等构成了定时器中断服务程序。首先判断是否有中断产生,若有中断产生的话,判断此时定时器初始值是否到10ms,计时到之后继续检测下一个10ms,直到40ms到了才判断是脉搏信号,再停止并计算保存测得的脉搏次数。在判断中断产生的同时还需检测是否有按键按下,没有的话按下复位键进行清零,有的话往下执行。其目的是实现一分钟的定时功能和存储测得的脉搏次数。流程如图4-4所示:图4-4定时器中断流程图4.2.3显示模块流程图显示模块的流程图设置可谓是重中之重。液晶显示时,需要先对LCD初始化设置,然后清除数据存储器中的数据,对LCD设置初始值并将其待显示数据送入缓冲区;此时数据就会显示在指定的区域内,紧接着显示指针会指向下一行,最后判断是否结束,若是直接结束;若不是则返回到待显示数据送入缓冲区这一步,继续循环下去;具体流程图如图4-5所示:图4-5显示模块流程图4.2.4心率测量流程图测量心率时,首先将定时器初始化,初始值设为10ms,程序如下:voidTime1<>interrupt3 //定时器1服务函数{ staticucharKey_Con,Xintiao_Con; TH1=0xd8; //10msTL1=0xf0; //重新赋初值switch<Key_Con>//无按键按下时此值为0 { case0: //每10ms扫描此处 { if<<P1&0x07>!=0x07>//扫描按键是否有按下 { Key_Con++; //有按下此值加1,值为1 } break; }当有定时中断产生时,首先判断是否有信号输入,若没有信号输入时则返回到上一步中断产生重新检测;若有信号输入时,那么Xintiao_con的值加一,然后判断Xintiao_con的值是否大于等于4,若Xintiao_con的值小于4仍旧返回到中断产生那一步;若Xintiao_con的值大于等于4即信号输入保持了40ms,则说明是心率信号;判断完是心率信号时,接下来判断是不是第一个心跳,是的话继续检测第二次心跳,此时仍旧返回到有中断产生那一步;若不是第一个心跳就可以计算两次心跳的时间差,从而计算出一分钟的心率心率测量流程图具体如图4-6所示:图4-6心率测量流程图系统调试写到这里,本次毕业设计硬件和软件部分的设计工作基本已经完成了,而为了让系统能够稳定地运行与工作,那么就需要进行后续的一些检测与调试工作,根据系统设计方案,本系统的调试可分为两大部分:硬件调试和软件调试。5.1硬件调试在理论基础上设计电路图,根据电路图来制作硬件电路。系统硬件电路的调试主要是检测电路是否出现漏焊、断路、虚焊、短路以及开机后能否正常工作等情况。当板子焊好后首先要根据电路图仔细检查一下,看看有没有漏焊的情况,如果发现及时焊接,不要说我先记下,一会再焊接;此时所要做的就是当发现一个问题就解决一个,以防后续工作时遗漏掉;同时要看需要连接的线路有没有都连上,特别要注意电源线和地线的连接。对于断路、虚焊、短路这些情况可以用数字万用表来检测,检查的时候需要细心、耐心,不可急躁。在需要检测的元件或导线的两端用两根表笔检测,如果导通蜂鸣器会鸣叫,如果断开蜂鸣器不叫。这样根据我们所需要检测的情况,在结合检测的现象就可以测出线路是否有问题。程序下载成功后,给板子通电之后发现LCD1602液晶显示器不显示任何读数,对着电路图仔细检查电路发现某些元器件的位置焊接错误;经过修改之后液晶显示器可以显示当前的读数。5.2软件调试在软件设计前,先把大致的程序流程理清,然后再分模块调试,将各模块部分的程序先调试可行后再整合到一起,编写主程序。系统的软件程序通过KEIL软件进行编写,将编写好的程序生成.HEX文件后通过单片机实验板下载口下载到单片机中。通过观察整个系统运行的状态,然后进行反复的修改调试程序,最终得到一个完善的程序。在本次设计中遇到的最大问题就是脉搏值有时会来回跳动,不能稳定的显示心率值。刚开始我一直以为是硬件设计的问题,却始终找不到问题所在。针对这个问题,我特意用了UTD2102CM<优德利数字存储示波器来检测了一下脉搏波是否正常,如图5-1所示:图5-1脉搏波图像此时每个小方块的宽度设置的是500ms,由图可知一个周期内的脉搏宽度为1.5*500ms=750ms,由于1Min=60s=60000ms,故可得此时脉搏值为60000/750=80;也就是说人的心率值为80次/Min。由图5-1所示,矩形脉冲波大致是呈周期性并且稳定变化的,由此可知可知本设计的硬件设备是完全没问题的,故问题应该是出现在软件调试上。通过向老师咨询才知道原来是液晶显示程序上出了问题,设置的延缓时间太低,导致测量时结果不准确,经调过之后发现可以正常工作;鉴于数值不稳定一直在跳动的问题,老师提议让在程序中可以加一个平均计算的程序,让几次连续跳动的脉搏值平均一下,也可相对减小误差的出现;不过本次设计原理是检测两次脉冲间隔时间来计算心率的,由于相差时间比较短,误差容易被放大,故数值不稳定也算正常现象。5.3设计结果经过这么长时间的坚持与努力,最终实现了该论文应该达到的目的。作品完成的实物图如5-2所示:图5-2制作的实物图当给系统通上电时显示状态如图5-3所示:图5-3系统通电状态本次设计制作出来的脉搏测量仪也基本上能实现一些功能,下面我来介绍一下实现的结果以及存在的一些问题。首先把手指肚平缓的〔假若手指按压太紧或者按压不到位的话均会影响测量结果,因为传感器比较灵敏数值会上下浮动较大放在ST188传感器上,耐心地等待一下,待指示灯均匀闪烁,比如一秒一秒持续均匀闪烁时,记下此时的脉搏数值就是你当时的心跳值;〔因为我个人的脉搏跳动比较快,所以数值较高,每个人血管、手指薄厚不一样,又因为存在误差的原因,显示结果可能不一样,现在这个测试是以我个人脉搏作为参考具体测量结果如图5-4所示:图5-4心率显示状态其次可以通过设置按键可以设置当前模式,由图5-1可知,焊接好的万能板上有四个按钮,与单片机9号引脚RST相连的是复位键,按一下可以重新测试;与单片机P1.0相连的是设置键,可以设置报警值的最大值、最小值;与P1.1相连的是加按键,设置报警值时可以逐渐加一,同理与P1.2相连的是减按键,可以逐渐减一。比如若是测量模式的话,可以正常显示心率;若是设置上限模式,不仅显示心率还可显示上限值;同理若是设置下限模式,不仅可以显示心率还可显示下限值;具体如图5-5、5-6、5-7所示:图5-5测量模式状态图5-6设置上限模式图5-7设置下限模式结论历经两三个月的时间,最终完成了毕业论文的制作与说明书的撰写。通过本次的设计使我比较系统的掌握了单片机的设计思想和方法。对单片机的一些功以及结构都得到了相应的了解和学习。在XX理工大学上学的这两年让我深刻意识到了学习的重要性,刚开始选题目时头脑一片空白,根本不知道自己擅长什么,也不知道该如何下手。最后向王老师咨询了一下,老师根据我的个人能力给我提出了一些建议和要求,最终确定了此次题目。既然确定了题目,接下来首先要做的便是开始查阅文献,翻看书籍,借鉴一下往年的优秀范文,开始进行粗略的定一下大框架。所谓知识融会贯通,当然少不了理论联系实践;就连毛爷爷也曾说过:实践是检验真理的唯一标准;实践的同时也提高了了我的思维能力与逻辑能力。为了更清楚的了解单片机,我买了郭天祥的51单片机C语言教程这本书,配以开发板进行更深入的了解;还简单的学习了Keil软件,STC烧写等。本次毕业设计,使我对单片机的功能与结构都有了更进一步的了解与学习,也使我对keil软件和STC软件以及程序的编写有了进一步的学习和掌握。并且使我对程序的编写有了更确切的掌握。所以说对于这些单片机系统我们只有自己切身实际的动手去做了,才会有深刻的理解和收获。致谢在本次论文的设计期间,我遇到了无数的困难与障碍,同时也学习到了更多的知识与方法,提高了解决问题的能力。为此,尤其感谢王老师在我毕业设计期间对我的教导与关怀,在王老师的悉心指导下,我才能顺利完成这次毕业设计。王老师不管是在学术上还是生活中都给予我很大的帮助。从开始的论文选题到理论研究,从整体框架到论文修改,王老师都投入了很大的精力。王老师知识丰富,治学严谨,待人和善,对我以后的工作和生活都会有着很重要的影响,因此我要向王老师表达我的敬意与感激!感谢一直培育我们的老师们和母校XX理工大学。

同时衷心谢谢电气学院的全体老师们,他们的教诲为此次毕业设计做出了理论指导,也给了我很多学习机会,谢谢他们对我无私的教导,以及他们为我的毕业设计提出的宝贵意见。在此向电气学院的全体老师们表示我最衷心的敬意与感激!还有,感谢本次毕业设计所参考的文献的诸位学者。在这次的论文中我看了很多学者的书籍以及引用了他们的参考文献,如果没有他们研究成果的帮助,那么我可能就完不成这次的论文与设计。那么,在这里我也要向诸位学者表达我最衷心的敬意与感激!感谢我的同学们,当我有问题不懂时,同学们热心的给我出谋划策,陪我共度难关;

亲爱的同学们,谢谢你们!由于我的知识水平有限,本次毕业设计中存在很多不足的地方,望得到各位老师的批评指导!参考文献[1]李瑜芳.传感器原理及其应用[M].电子科技大学出版社.2008.2第2版[2]李刚,林凌等.传感器及其接口电路应用300问[M].电子工业出版社.2015.1第1版[3]郭天祥.新51单片机单片机C语言教程[M].电子工业出版社[4]孙俊喜.LCD驱动电路、驱动程序设计及典型应用[M].人民邮电出版社[5]余发山,王福忠,杨凌霄,王莉等.微机原理与单片机接口技术[M].煤炭工业出版社.2013.8[6]刘笃仁.传感器原理及应用技术[M].XX电子科技大学出版社[7]廖惜春主编.模拟电子技术基础[M].华中科技大学出版社.2008[8]王增福.新编常用稳压电源电路.电[M]子工业出版社[9]李光飞,胡佳文编.单片机课程设计实验指导[M].北京航空航天大学出版社.2004:105-125[10]程咏梅,夏雅琴,尚岚等.人体脉搏波信号检测系统[J].北京生物医学工程.2006<05>[11]胡伟,季晓衡编.单片机C程序设计及应用[M].人民邮电出版社.2004:20-75.[12]黄劼,徐晓秋编.单片机原理及接口技术[M].国防工业出版社.2008:150-213[13]谢自美主编.电子线路设计[M]第三版.华中科技大学出版社.2006:23-80[14]刘丕顺主编.C语言宝典[M].电子工业出版社.2011:3-350[15]MurphyJohnC,MorrisonKatherine.

JournalofClinicalHypertension,2011,Vol.13<7>,pp.497-505[16]ChouHsi-Chiang,LinKai-Jie,FangYun-Xiang,LiouJia-Fu.Technologyandhealthcare:officialjournaloftheEuropeanSocietyforEngineeringandMedicine,2015,Vol.24Suppl1,pp.S83-95[17]沈德金,陈粤初编.单片机接口电路与应用程序实例[M].北京航天航空大学出版社.1990:1-50[18]周立功编.单片机实验与实践教程[M].北京航空航天大学出版社.2006:5-38[19]胡伟,季晓衡编.单片机C程序设计及应用[M].人民邮电出版社.2004:20-75[20]YU-CHENGLIUANDGLENNA.GIBSON.MICROCOMPUTERSYSTEMS.PRENTICE-HALL.c1984.:15-30附录一:系统原理图附录二:源程序#include<reg52.h>#include<intrins.h> // 包含头文件#defineuintunsignedint#defineucharunsignedchar#defineulongunsignedlong //宏定义#defineLCD_DATAP0 //定义P0口为LCD_DATAsbitLCD_RS=P2^5;sbitLCD_RW=P2^6;sbitLCD_E=P2^7; //定义LCD控制引脚sbitXintiao=P3^2; //脉搏检测输入端定义sbitspeaker=P2^4; //蜂鸣器引脚定义voiddelay5ms<void>;//误差0usvoidLCD_WriteData<ucharLCD_1602_DATA>; /********LCD1602数据写入***********/voidLCD_WriteCom<ucharLCD_1602_COM>; /********LCD1602命令写入***********/voidlcd_1602_word<ucharAdress_Com,ucharNum_Adat,uchar*Adress_Data>;/*1602字符显示函数,变量依次为字符显示首地址,显示字符长度,所显示的字符*/voidInitLcd<>;//液晶初始化函数voidTim_Init<>;ucharXintiao_Change=0; uintXintiao_Jishu;ucharstop;ucharView_Data[3];ucharView_L[3];ucharView_H[3];ucharXintiao_H=100; //脉搏上限ucharXintiao_L=40; //脉搏下限ucharKey_Change;ucharKey_Value; //按键键值ucharView_Con; //设置的位〔0正常工作,1设置上限,2设置下限ucharView_Change;voidmain<> //主函数{ InitLcd<>; Tim_Init<>; lcd_1602_word<0x80,16,"HeartRate:">; //初始化显示 TR0=1; TR1=1; //打开定时器 while<1> //进入循环 { if<Key_Change> //有按键按下并已经得出键值 { Key_Change=0; //将按键使能变量清零,等待下次按键按下 View_Change=1; switch<Key_Value> //判断键值 { case1: //设置键按下 { View_Con++; //设置的位加 if<View_Con==3> //都设置好后将此变量清零 View_Con=0; break; //跳出,下同 } case2: //加键按下 { if<View_Con==1> //判断是否设置上限 { if<Xintiao_H<150> //上限数值小于150 Xintiao_H++; //上限+ } if<View_Con==2> //判断是否设置下限 { if<Xintiao_L<Xintiao_H-1>//下限值小于上限-1〔下限值不能超过上限 Xintiao_L++; //下限值加 } break; } case3: //减键按下 { if<View_Con==1> //设置上限 { if<Xintiao_H>Xintiao_L+1>//上限数据大于下限+1〔同样上限值不能小于下限 Xintiao_H--; //上限数据减 } if<View_Con==2> //设置下限 { if<Xintiao_L>30> //下限数据大于30时 Xintiao_L--; //下限数据减 } break; } } } if<View_Change>//显示变量 { View_Change=0;//变量清零 if<stop==0> //心率正常时 {if<View_Data[0]==0x30>//最高位为0时不显示 View_Data[0]=''; } else //心率不正常〔计数超过5000,也就是两次信号时间超过5s不显示数据 { View_Data[0]=''; View_Data[1]=''; View_Data[2]=''; } switch<View_Con> { case0://正常显示 { lcd_1602_word<0x80,16,"HeartRate:">;//显示一行数据 lcd_1602_word<0xc0,16,"">;//显示第二行数据 lcd_1602_word<0xcd,3,View_Data>; //第二行显示心率 break; } case1://设置下限时显示 { lcd_1602_word<0x80,16,"HeartRate:">;//第一行显示心率 lcd_1602_word<0x8d,3,View_Data>; View_L[0]=Xintiao_L/100+0x30; //将下限数据拆字 View_L[1]=Xintiao_L%100/10+0x30; View_L[2]=Xintiao_L%10+0x30; if<View_L[0]==0x30> //最高位为0时,不显示 View_L[0]=''; lcd_1602_word<0xC0,16,"WarningL:">;//第二行显示下限数据 lcd_1602_word<0xCd,3,View_L>;, break; } case2://设置上限时显示〔同上 { lcd_1602_word<0x80,16,"HeartRate:">; lcd_1602_word<0x8d,3,View_Data>; View_H[0]=Xintiao_H/100+0x30; View_H[1]=Xintiao_H%100/10+0x30; View_H[2]=Xintiao_H%10+0x30; if<View_H[0]==0x30> View_H[0]=''; lcd_1602_word<0xC0,16,"WarningH:">; lcd_1602_word<0xCd,3,View_H>; break; } } } }}voidTime1<>interrupt3 //定时器1服务函数{ staticucharKey_Con,Xintiao_Con; TH1=0xd8; //10ms TL1=0xf0; //重新赋初值 switch<Key_Con>//无按键按下时此值为0 { case0: //每10ms扫描此处 { if<<P1&0x07>!=0x07>//扫描按键是否有按下 { Key_Con++; //有按下此值加1,值为1 } break; } case1: //10ms后二次进入中断后扫描此处〔Key_Con为1 { if<<P1&0x07>!=0x07>//第二次进入中断时,按键仍然是按下〔起到按键延时去抖的作用 { Key_Con++; //变量加1,值为2 switch<P1&0x07>//判断是哪个按键按下 { case0x06:Key_Value=1;break; //判断好按键后将键值赋值给变量Key_Value case0x05:Key_Value=2;break; case0x03:Key_Value=3;break; } } else //如果10ms时没有检测到按键按下〔按下时间过短 { Key_Con=0; //变量清零,重新检测按键 } break; } case2: //20ms后检测按键 { if<<P1&0x07>==0x07> //检测按键是否还是按下状态 { Key_Change=1; //有按键按下使能变量,〔此变量为1时才会处理键值数据 Key_Con=0; //变量清零,等待下次有按键按下 } break; } } switch<Xintiao_Con>//此处与上面按键的检测类似 { case0: //默认Xintiao_Con是为0的 { if<!Xintiao>//每10ms〔上面的定时器检测一次脉搏是否有信号 { Xintiao_Con++;//如果有信号,变量加一,程序就会往下走了 } break; } case1: { if<!Xintiao> //每过10ms检测一下信号是否还存在 { Xintiao_Con++;//存在就加一 } else { Xintiao_Con=0;//如果不存在了,检测时间很短,说明检测到的不是脉搏信号,可能是其他干扰,将变量清零,跳出此次检测 } break; } case2: { if<!Xintiao> { Xintiao_Con++;//存在就加一 } else { Xintiao_Con=0;//如果不存在了,检测时间很短,说明检测到的不是脉搏信号,可能是其他干扰,将变量清零,跳出此次检测 } break; } case3: { if<!Xintiao> { Xintiao_Con++;//存在就加一 } else { Xintiao_Con=0;//如果不存在了,检测时间很短,说明检测到的不是脉搏信号,可能是其他干扰,将变量清零,跳出此次检测 } break; } case4: { if<Xintiao>//超过30ms一直有信号,判定此次是脉搏信号,执行以下程序 { if<Xintiao_Change==1>//心率计原

温馨提示

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

评论

0/150

提交评论