基于51单片机心率脉搏计设计.docx
摘要IAbstractIII引言11控制系统设计31.1 系统方案设计31.2 系统总体设计42硬件设计52.1 主控电路52.2 驱动电路82.3 信号采集电路102.4 显小电路132.5 总体电路图设计153软件设计163.1 软件开发环境的介绍163.2 系统重要函数介绍164系统调试194.1 系统硬件调试194.2 系统软件调试19结论22参考文献23附录1总体原理图设计25附录2源程序清单26致谢30摘要为实现探究心率脉搏计的应用领域,测量心率能够高效的进行,在节省时间的同时准确显示心率相关状况是否存在异常的目标,本文设计了一款操作简单、运行稳定、可靠性高的心率脉搏计。本设计使用STC89C51单片机作为控制核心,结合ST188光电传感器检测,再借用单片机系统的内部计时器计算时间。其大致的步骤为通过ST188光电传感器感应生成脉冲,心跳次数由单片机累计所得,其对应的时间根据定时器获取。本设计使用的时候可以展现脉搏心率次数当其终止使用的时候可以展示总的脉搏心率次数以及时间长短。由于一些现实状况的存在我们应当实施下述的相关内容:一是了解系统功能的同时可以进行需求分析;二是机体内部生物信号大都在充满噪音状况里,频率和信号很弱,应该放大并且进行滤波处理;三是所有的硬件设备以及对弱信号的处理都应整合在一起,这样能够让人体脉搏信号转化为电信号。还能够通过C语言这种方式进行编程,而且实现构建屏显等作用。相关结果能够说明,心率脉搏计设计在技术方面有一定的可行性,基本上符合精度标准。能够确保基础脉冲测量功能的同时又可以确保测量的精准度且使用单片机控制确保了系统准确稳定。传感器采用光电传感器,大大降低了外界干扰信号的干扰。显示器运用液晶显示器,显示效果更好,且易于操作。关键词:心率脉搏计;STC89C51单片机;红外反射式传感器AbstractToachievetoexploretheapplicationfieldofheartratemeterpulse,heartratemeasurementcanefficiently,timecostreductionandaccuratedisplayheartraterelatedtargetwhetherthereisanyabnormalcondition,thispaperdesignsaSimple9Stableandreliableheartratepulsemeter.ThisdesignusesSTC89C51microcontrollerasthecontrolcore,combinedwithSTl88photoelectricsensordetection,andthenborrowstheinternaltimerofthemicrocontrollersystemtocalculatethetime.ThegeneralstepsaretogeneratepulsesthroughtheSTl88photoelectricsensor,thenumberofheartbeatsisaccumulatedbythesinglechipmicrocomputer,andthecorrespondingtimeisobtainedaccordingtothetimer.Whenthisdesignisused,itcanshowthepulseheartratetimesandthelengthoftime,andwhenitisterminated,itcanshowthetotalpulseheartratetimesandthelengthoftime.Duetotheexistenceofsomepracticalconditions,weshouldcarryoutthefollowingrelatedcontents:First,weshouldunderstandthefunctionsneededbythesystemandconductdemandanalysisatthesametime;thesecondisthatmostofthebiologicalsignalsinthebodyarefullofnoisebecausethefrequencyandsignalareveryweak,andtheyshouldbeamplifiedandfiltered;thethirdisthatallhardwareequipmentandtheprocessingofweaksignalsshouldbeintegratedtogether,soastomakethebodypulseIntoelectricalsignals.CanalsobeprogrammedthroughtheClanguageinthisway,butalsotoachievethebuildingscreenandotherfunctions.Theresultsshowthatthedesignofheartratepulsemeterisfeasibleintechnology,whichisbasicallyconsistentwiththeaccuracystandard.ltcanensurethatthebasicpulsemeasurementfunctioncanensuretheaccuracyofmeasurementandthesystemisaccurateandstablebyusingsingle-chipmicrocomputercontrol.Thesensoradoptsphotoelectricsensor,whichgreatlyreducestheinterferenceofexternalinterferencesignal.LCDisusedinthedisplay,whichhasbetterdisplayeffectandiseasytooperate.Keyword:HeartRatePulseMeter;STC89C51Single-chipMicrocomputer;Theinfraredreflectiontypesensor引言脉搏能够体现机体的健康情况,而且其有着十分悠久的历史并在中医中占据着十分重要的地位,自公元3世纪开始,脉学的相关理论以及研究变得日益完备。其不仅是中医治疗中相关精神以及理论的直接应用,更是为全世界人所重视的无创的诊断方式。科技的不断更新变革也推动了脉搏测量技术的不断变化以及更新,越来越多的脉搏测量仪被研究制造出来,它们一般是根据测量精度的不同从而形成了不同的类型1。脉搏检测不再局限于现有的人工检查或听诊器检查方法,通过电子仪器测量,可以获得更高的准确度。通常情况下脉搏的跳动等能够展现出人体内部的各种信息,也受到了越来越多临床医生的关注,使得测量脉搏获取的信息变得更加便捷以及拥有较高的准确性。但是考虑到脉搏诊断的时候会受到病人自身以及医生主观性的影响,可能会导致其准确度存在不足,这就使得中医里脉搏诊断这项技术变得十分难以推广到更大的范围,使得中医的发展受到了极大的限制。综上所述,为实现推广中医学知识,促进脉搏诊断的应用以及发展的目的,我们应该和一些新型的科学技术相结合,这样才能进行更为准确高效的判断。相关的医生应该对就诊患者把脉同时记录1分钟内的脉搏次数,一般是将手指置于患者手腕的动脉,依据其跳动进行计数。一般为达到较高的工作效率,大部分的把脉IDS获取的脉搏次数,然后把它翻为6倍就是Imin脉搏次数,尽管这样依旧要耗费大部分的时间而且有着较低的精度。由此为了确保相应的精度以及效率,脉搏测量仪越来越多的产生,所以其成为了崭新的医学诊断技巧。VierOrdt在1860年创立了第一个杠杆脉搏心率计朱安先生也在20世纪50年代引用脉搏心率计作为中医脉诊的客观化研究。此后,随着机器和电子技术的发展,国内外加快了中医起搏器的开发。特别是在70年代中期,国内相继成立了跨学科脉搏研究合作小组,在多学科合作下,TCM脉搏研究进入了新的境界。近段时间来全世界都在研发没有创伤非接触式的传感器,其非常关键的一个特点是测量的探测部分不会进入人体,不会使其产生损伤,同时可以自动消除仪表系统的相关误差而且测量精度较高,一般情况下位于机体外部特别是在体表间接测量机体的生理以及生化参数。目前,脉搏心率计广泛应用于肠管血管功能检查、妊高征检查、TCM脉冲、脉搏检查等医学领域,运动、运动器械的心率检测也应用于高端脉搏心率计。在上面所叙述中,光电式传感器检测脉搏心率是基于光电容积法,通过光源穿过手指的透射强度检测接收脉搏心率信号,其具有多种优点。比如说结构简洁,没有损伤,较高精度等。依据该传感器研发制作的脉搏心率测量仪在临床医学等各个领域在广泛的应用,而且效果优良。人体心室的周期性收缩和松弛与主动脉是相对应的血流压力会经过波传递给整个动脉,所以也被叫作脉搏心率波。我们可以从中获取患者的相关机体信息等,从而进行相应的诊断,因此其在中医领域变得尤为重要2。脉搏心率波表现出来的形态很大可能会展现出机体内部的相关信息,所以如何对此波进行处理采集等就变得尤为重要。然而考虑到该波相较于机体的生物信号更为薄弱,所以我们需要将其放大以及后级滤波才能进行相应的采集。脉搏心率测量仪的设计一般情况下要依据机体脉搏心率变化产生的生物信号,随后将其转变成物理信号从而可以在一定程度中表现人体心跳次数的起伏,最终得到每分钟的心跳次数。在此之后就应该使用对应的硬件电路以及芯片对物理变化进行处理。通常情况下硬件设计里物理信号即为电压变化。根据上述的大致思路我们进行了这项课题的设计。该设计基于STC89C51单片机实现了相应的功能。用传感器收集脉冲信号,收集的信号被处理后向单片机的外部中断获取传递输出信号,最终显示在数字管上。论文共分为四章节进行陈述,主要内容如下:第一章着重说明系统的设计方案,阐述本设计的主要功能和设计目标。第二章介绍了系统的硬件设计,着重介绍选取的各个元件的组成。第三章阐述了系统的软件设计,介绍项目的程序开发环境及系统流程图。第四章为系统的调试,保证软件硬件准确无误后调试,并论证。1控制系统设计1.1 系统方案设计心率脉搏检测系统可以使用一个主控制器来完成,主控制器是联系各个模块的桥梁,更是整个系统的控制中心。经过资料采集,本系统可供选择的有单片机控制和DSP控制两种方案,具体方案如下:方案一:使用单片机作为主控制芯片。单片机是一种具有普通微处理器所没有的功能的集成电路芯片,能单独完成现代产业要求的控制功能。单片机的体积非常小但功能很强大,单片机将微处理器(CPU)、记忆体(RAM和RoM)、输入/输出电路(I/O)整合到同一芯片中3。单片机作为主控芯片的系统结构图如图LI所示,整个系统是采用单片机作为本设计的控制部分,该系统主要有单片机、传感器和显示器构成。人体检测心率脉搏时,通过传感器采集输出脉冲信号,传递给单片机,单片机经过计算输出给显示电路进行显示。方案二:以TI公司生产的DSP芯片作为核心。SP称为数字信号处理器,是分析、转换、过滤、检测、调制、解调和高速算法分析信号的组件。其主要是完成模块之间的通信,例如键盘读取、音频编码芯片和屏幕初始化、通过屏幕显示数字编解码器芯片操作状态等。该系统主要由脉冲信号调理电路、光电脉冲传感器以及DSP实时检测和处理系统三部分组成。如图1.2所示,当传感器采集到人体生理脉搏信号时,信号就会经调理电路传送到DSP系统中,实现心率脉搏的检测。光电脉搏传感器脉拇信号调理电路S d 实 时 检 测 与 处 理 系 统声光报警二日期,时钟.脉率显示图1.2基于DSP的心率脉搏检涌系统结构图综上,DSP的运行速度很快,但其控制算法相对复杂。而单片机的系统的控制方法相对简单,且可靠性高、价格较低、功耗低,虽然单片机相比DSP功能比较简单,但是完全满足本设计需求。因此本设计所选用的主控芯片是单片机。1.2 系统总体设计该设计控制器核心选用的是单片机,用来实现脉搏心率计的测量功能。相关硬件框图如图L3所示。图1.3心率脉搏计工作原理电源晶振电路传感器小电路在手指置于红外发射二极管以及接收二极管中间的时候,心脏的跳动过程中血液的流量也会产生一定的变化。考虑到手指置于光的传递路径里血液饱和程度的改变会使光强也产生一定的改变,与此同时红外接收二极管的电流亦会随之发生变化,得以输出脉冲信号并放大器处理4后传送给单片机之后传送给显示屏上显示。2硬件设计2.1 主控电路2.1.1 主控单片机选择此次设计选用单片机作为主控制器,为了保证系统更好的运行,应选用性价比高、可靠性高、低功耗的控制器,以防止器件的损坏,影响系统的运行。由于单片机在整个设计中相当于人体的心脏,是本设计的核心,基于此有以下两种方案可供选择:方案一:使用STC89C51单片机作为主控制芯片。此系列单片机是STC公司推出的一种低功耗、高性能CMoS8位微控制器的51内核的单片机,它是系统中包含Flash程序存储器模块的可编程芯片,该器件包含4K字节的只读程序存储器,可重复擦除100O次5。该芯片由8位通用CPU和ISP闪存单元组成。该器件的基本功能与普通的51单片机能够全部兼容。STC89C51系列单片机是一个能量消耗较低的新型单片机,它具有的开发简单、可在线编程下载、成本低是非常不错的选择。方案二:使用MC9S12DG8单片机作为主控制芯片。它是MotOrOla的M68HC12系列16位微控制器之一,内部结构主要由单芯片微计算机的基本部分和CAN功能块部分组成,可专门用于计数,一般用于手机、便携式医疗器材等领域9。但是开发难度相对比较大、价格昂贵。综上,与MC9S12DG8单片机相比,STC89C51单片机开发难度较低、稳定性高,并且价格低廉没有造成资源浪费,因此选择了方案一作为本设计的主控制器。2.1.2 STC89C51单片机引脚说明STC89C51单片机有两种封装形式0:PDIP(40个弓|脚)和PLCC(44个引脚)。如图2.1所示。本设计中采用的是直插式的PDIP封装形式。PLCCFUIPINDEX po6CORNER2(wM OT祗CPl. 5! CPI.6i)z 星4140 24PLOf Pl. 1 EPl.29 PL.3 E Pl. 4 EPL. 75 9RST (RXD)I,(TXD)P3.1 = I 310a的3837363534Pl.PEAiV PNCANTo) P3. 2(INTI)P33(To)P3. 4 N(TDP3. 5=141518122:232425262728PZOM PoZ殳 V),PSEN,P2.6(14)P2.5(A13)Pl. 7 : RST (RXDP3.0 (TXI¾P3.1( (1NTOP3.2 (rP3.3 cCro)P3,414 : (T)P3.5 :(WR)P3.6 c (RD)P3.7 IXTAL2_ XTALl RGNDL3938373635333231302928272625,24232c21j().(XADO) 'PD.I(ADI) P0.2(D2)PO.3(AD3) P0.4(AD4)T0.7(AD7)0EAE?AlefrcrtP2.7(A15)1 3.6(A14) 3P2.S(AI3) )P2. 4(A12)P2.3(A)I) 5P2.2(A10) P2. 1 (A9)P2.0(A8)图2.1STC89C51封装形式管脚说明:STC89C51单片机外部有32个端口可供使用,相关引脚运用说明如表2.1所示(其中VCC是电源电压接电源,GND接地)。表2.1STC89C51单片机引脚功能引脚功能PO.O-PO.7通用I/O口地址数据总线Pl.O-Pl.7通用I/O口P2.0-P2.7通用I/O口地址总线(高位)P3.0RXD串行通信发送口P3.1TXD串行通信接收口P3.2INTO外部中断0P3.3INTI外部中断1P3.4TO计数器0输入端口P3.5Tl计数器1输入端口P3.6WR外部存储器写功能P3.7RD外部存储器读功能2.1.3 STC89C51单片机最小系统单片机最小系统由电源电路、复位电路、晶振电路三部分组成。三部分对单片机的正常运行起着不同的作用。电源电路主要负责提供单片机工作期间的电压电流。本设计采用的电源电路为USB电源线,可连接电脑端或是手机充电插头连接电源即可。复位电路主要是对单片机进行初始化。复位电路是在通电过程中保持单片机复位的情况下打开电源运行程序的不稳定过程中,防止错误行为或故障的电路。首先电源稳定上升,然后通过RST针脚电平稳定降下之后,单片机方可工作正常。单片机复位电路图如图2.2所示。ONDkol, J,5 6 二A-Q一5 6,3 ,二 Jo POPOPOPORPOPO虺霞KP2KKP2P2PXKt,X图2.2复位电路电路图晶振电路则是给单片机工作提供标准的时钟。晶振电路可以认为是电容与电阻并联连接,再串联电容连接的系统,在该电路中负载电容的值起着决定性作用。晶振电路中有两个独立的反向放大器,两个放大器都要接入电容并且两个电容串联起来的容量值应等于负载电容值,两个电容会对震动频率起作用,从而进行调节频率7。单片机晶振电路图如图2.3所示。RlC斗.厅HXtAL2图2.3晶振电路电路图电源电路、复位电路、晶振电路三部分组成单片机的最小系统,即让单片机正常工作并且用最少元件组成的系统。最小系统电路图如图2.4所示。PLOPllPUPlJP14Pl5Pl6M.?RSTPJQRXDPJlTXDP32INT0P33<fP34T0P3,5T1-P36"m?r5XTAUXTALlGND图2.4单片机最小系统2.2 驱动电路2.2.1 放大器的选择这次设计的脉搏信号本身很弱,因此首先必须将过滤后的波形进行适当运放。基于此本设计有两种方案可供选择。方案一:运用OPA237放大器。OPA237运算放大器是德州仪器(TI)的微型产品之一。特性包括小尺寸、低偏移电压、低静态电流、低偏移电流和大功率范围。但其采用单电源使用,电池供电空间有限,成本较高且应用难度较大。方案二:使用LM358放大器。两个独立的高增益运算放大器组成一个LM358o其既能单电源工作,也可以是双电源工作,电源的功耗电流与电源电压大小之间无关,并且经济实惠、实用。变频放大器、DC增益部件和所有常规运算放大器包括在应用方向中。LM358引脚排列如图2.5所示。图2.5LM358引脚排列综上所述,与OPA237相比较来看,LM358放大器从运作方式和操作以及本设计应用上来看都是不错的选择。所以最终选择了LM358。2.2.2 2.2放大电路低通放大器是基于身体脉搏心率运动后跳动次数200次min来设计的,如图2.6所示。R6、C6形成了低通录波器从而能够消除残留的影响并决定着截止频率。运放LM358能够把信号放大而放大倍数依据R12/R13来决定,低通放大之后输出的信号是叠加有噪声的脉动正弦波,如图2.7所示。图2.6低通放大电路图2.7低通放大波形图2.2.3 波形整形电路在该设计中放大滤波器的脉冲信号存在着低频干扰并具有不满足计数器要求的非正常脉冲信号,不符合计数器的要求,所以该设计中应使用整形电路。有输入信号时,LM358沿着比较器输入信号的每个后输出低水平,并使用发光二极管Dl来展示脉搏心率测量的状态,一旦发生脉搏跳动,发光二极管点亮一次。同时,此脉冲水平将传递到微控制器/INTO脚部,来计算和显示心率10。波形整形电路如图2.8所示,输出波形如图2.9所示。图2.8波形整形电路图2.9经过比较器LM358的输出波形2.3 信号采集电路2.3.1 传感器的选择传感器也被成为转换器,相当于我们人体的重要器官,用来接收外界传递的信息。本设计需要通过传感器采集到人体的心跳信号并且人要通过触碰传感器来实现接受信号12。通过对社会的广泛调查以及结合大学所学的知识,有以下两种方案可供选择:方案一:运用压电式传感器。选取压电式传感器的检测操作方法一般情况下是通过传感器把脉搏震动转变为电信号。我们经常见到的压力传感器能够使用已有的雅典陶瓷来取代。考虑到压电式原件的内部电阻偏高一般是两个相同的压电元件,急性反弹重叠,使中间的铜片形成电极。因此,中央电极出去全空状态,可以用良好绝缘性的导线导出。方案二:运用光电式传感器。众所周知,人体血液是一种不透明的液体。光对一般组织的穿透力相对于血液来说,是它的几十倍。根据这项功能,我将目光放到了光电式传感器上,使用光电效应手指脉冲传感器,用它来记录我们的脉冲信号。光电检测方法是利用光电系统传感器二极管检测人体内红外线的血流速度是否根据光的反射透射率或光的反射透射率转换为红外电信号的检测方法。这种检测方法主要有两种一般形式。一个是正射光,另一个是反射式。瞄准仪在适当大小的环的两侧各放置一个传送管和接收管测量时,将工匠的手指伸入环后,随着手指的血流变化,会导致光电流产生变化。反射式光电发射和光电接受都是单向的,如果人体内的血流发生变化,对光的反射率也会发生变化,从而检测心率。该方法的优点是外部干扰信号较小131。综上所述,光电式传感器从采集方式、材料选择、受外界的干扰信号的影响上要优于压电式传感器,因此本次设计选用了光电式传感器来进行设计。2.3.2光电传感器脉搏心率一般情况下通过机体动脉舒张以及收缩生成,机体指尖组织里的动脉成分含量相对较高,并且指尖厚度相对来讲偏薄,透过手指之后获取的光强总体偏高,所以一般情况下光电式脉搏心率传感器的测量部位位于机体手指部位14。光电传感器可以划分为红外发光二级管以及红外接收三极管这几个部分。光电传感器依据光接收的方式能够划分成透射式和反射式。两种形式中透射式的发射光源和光敏接收器件的距离基本一致,而且能够均匀分布,接受透射光。反射式发射光源与对光敏感的接收装置在同一侧,受到精密测量脉搏信号的反射光。因此,该系统使用反射光电传感器。结构如图2.10所示,实拍图如图2.11所示。图2.10反射式光电传感器结构图图2.11反射式光电传感器实拍图光电传感器的检测原理为心脏搏动的过程中机体组织半透明度会发生一定的变化:在血液送至机体组织的时候其半透明度会在一定程度上下降,在血液流回心脏的时候组织半透明度会在一定程度上上升;其在机体手指尖以及耳垂等位置显示的最为显著。所以此次设计把红外发光二极管生成的红外线照射至手指位置,通过手指的反射以及衰减,通过光敏三极管接受透射光同时转化为电信号口6。由于手指动脉血在血液循环中周期性波动,因此光的反射和衰减呈现出相同的变化趋势。在这种情况下,红外接收晶体管输出信号的变化表明了动脉血的变化。2.3.3信号采集电路ST188中有红外发射和接收装置,如图2.12所示,RlO应选用470Q,原因是考虑了接收晶体管的灵敏度。如RlO非常小,通过电流就会上升,红外接收晶体管无法确定有无脉搏心率及信号;反之,如R21非常大,通过电流则非常小,也无法准确判断。在检测过程中当手指处于测量位置时,会有两个时间段,一是无脉搏阶段。虽然手指己经接触到传感器并已经遮挡住二极管发射的红外光,但由于三极管有暗电流的产生,输出电压被迫变小;二是有脉搏阶段。三极管中暗电流逐渐减小,那么输出电压就会增加此时可检测到心率。由于ST188传感器的信号输出频率很低,因此信号首先由联合容量C4组合,随后依据R5、C5滤波来过滤高频干扰之后放于线性放大输入端。测量结束后用C4耦合电容进行阻止,以便在手指脱离传感器或干涉光线强,导致输入端直流电压波动严重时17,防止其泄漏到LM358输入端。-J-OSD图2.12信号采集电路图2. 4显示电路2.1.1 显示器模块的选择该系统需要显示心跳脉搏次数、时间,其中包含了数字和字母,所以至少需要2行的屏幕显示。显示器件可以有以下选择:方案一:采用LED动态显示屏。数码管是一类显示屏,其针对不同的管脚输入相对的电流,使其发亮进而得以显示。是单片机应用广泛的显示方法之一。动态驱动器和连接所有数字机构的8个显示行程“a、b、c、d、e、f、g和DP”同名18。而当连接主控器时LED动态扫描方法占用更多的I/O端口,主控制器端口的电流输出不足,因此还需要有驱动器模块来放大电流并控制数字电子管,如此一来会增加焊接难度,导致焊接错误。方案二:使用LCDl602液晶显示屏。LCD1602是一种广泛使用的字符型液液晶显示模块。可以显示包括数字、字母或字符的32个字符(16义2),因其由大量点阵构成,导致字符每个位有间隔,所以采用控制器HD44780控制器来使显示效果更佳。此控制器电路简单可完成动态字符等功能。上述两种方案比较表明,液晶显示设备固有的大小适中、显示效果好、控制方便等优点要优于LED动态显示屏,因此选择LCD来实现相应的屏显功能。2.1.2 LCD1602液晶显示器LCD1602液晶模块,也称为LCDI602字符液晶,具有16X2标记,可以在一行中显示16个字符、数字、符号等。LCD1602具有11个命令,通过将这些命令发送到液晶屏,单芯片微型计算机可以执行特定功能,如打开、关闭和全屏等。控制LCD1602液晶显示器可以通过执行读状态操作,写状态操作,读数据操作和写数据操作来对LCDI602执行某些操作。显示电路图如图2.13所示。图2.13显示电路管脚功能:LCD1602通常使用标准的16脚接口,如图2.14。不同引脚接口有不同的功能,相应介绍如表2.2所示。t>¾g?bHt图2.14LCD1602引脚表2.2LCD1602引脚说明编号符号引脚说明编号符号引脚说明1VSS地电源9DB2数据2VCC电源正极10DB3数据3VL液晶显示偏压11DB4数据4RS数据/命令选择12DB5数据5R/W读/写选择13DB6数据6E使能信号14DB7数据7DBO数据15BL+背光源正极8DBl数据16BL-背光源负极LCD1602具有以下特点:可使用在+3.3Y电压上、对比度可调节。其有多种控制命令,例如重置电路屏幕清理、字符闪烁、光标闪烁、显示移动等。内部包含常用于低功耗等袖珍仪表和低功耗应用系统的192个5X7光栅的CGRc)M字符发生器和8个可自定义的5义7的CGRAM字符发生器。2.5总体电路图设计本设计由单片机STC89C51作为系统的控制核心,系统的总体设计电路图见附录1。其中包含着几大重要的模块分别是主控模块、检测模块、信号处理模块、显示模块和电源模块。本设计的工作过程是ST188传感器采集信号,采集到的信号经放大器处理即放大、滤波和整形后输出给单片机,单片机处理后再将信号传递给显示模块LCD1602液晶显示屏显示,最终得到结果。3软件设计3.1 软件开发环境的介绍本设计采用KeiIVision4进行编程。KeilC51是由KeilSoftware公司在美国开发的与51系列兼容的单片机C语言软件开发系统。该软件提供了丰富的库数据和功能强大的集成开发调试工具,正因为它的集成环境很方便并且适用于STC89C51单片机20,所以我们适用KeilVision4来实现心率脉搏计的软件设计。如图3.1所示,为KeilVision4软件运行界面。图3.1KeilVision4软件运行界面3.2 系统重要函数介绍3.2.1 系统主程序设计本设计的主程序是控制单片机系统在规定的操作模式运行,其为单片机系统程序的框架。其中一个重要的部分是设置采样6s和计时100ms。系统使用计时器Tl实现100毫秒的计时,中断等待是运行程序的大部分时间的死循环语句,仅在中断满足条件的情况下运行中断服务子程序求和。计数结束后,如果采样数为60以下,则返回到6s,继续采样,等待中断,等待达到60次方可停止,达到要求后再将采样结果的二进制变为十进制,再发送至液晶显示。流程如图3.2所示。3.2.2中断程序设计定时器中断服务程序的构成可以划分为Imin计时、按键检测、是否存在测试信号判断。在该程序运行之后开始进行Imin计时,Is计时后接着检测下一秒,在Imin之后终止同时测取的脉搏心率次数21。另一方面能够检测相应的按键,假如复位测试值便能够再次进行测试。关键目标为Imin的定时功能以及储存获取的脉搏心率次数。流程如图3.3所示。JY保存脉搏数Y结束图3.3定时器中断程序流程图3.2.3显示程序设计LCD1602的显示一定要按照产品的时序要求进行编程。在中断程序里获取结果之后第一步展示上次的脉搏心率次数22,在IOmS的延时之后第二次展示测试里的脉搏心率次数,随后IOmS的延时之后展示相应的时间。流程图如图3.4所示。开始cW6<t洁除显示RAM区设置显示初始值延时显示返回图3.4显示程序流程图4系统调试4.1 系统硬件调试根据理论设计电路图,来设计制作硬件电路。系统硬件电路的调试主要检测电路的焊料泄漏、断线、焊接、短路、接通电源后是否正常运行等。当板子焊好后首先要根据电路图仔细检查一下,看看有没有漏焊的情况,同时要看需要连接的线路有没有都连上,特别要注意电源线和地线的连接。断线、焊接、短路时可通过数字万用表检测,检查时需要细心注意和耐心,不要急躁。用2根表笔检测需要检测部件和导线的两端,导通时蜂鸣器鸣响,断开时不鸣响。这样,可以根据我们所需要的检查情况,结合检查的现象,检查线路是否有问题。成功下载程序后,通电发现LCD1602液晶显示器上未显示任何内容,对着电路图仔细检查电路发现光电传感器的位置漏焊;经过修改之后液晶显示器可以显示当前的读数。实物通电后如图4.1所示。图4.1实物展示图4.2 系统软件调试本设计是基于单片机控制,利用单片机的主程序完成对心率脉搏计的控制,使用的是STC89C51系列,这个系列的单片机应用非常广泛,编译语言以C语言为主。本次设计以KeilgVision4软件进行编写,如图4.2所ZjNo出M4Cfl_mrainhkimtl.ahtb*lk<J.T*TltS1>B*X二:,':习Mll张子出存世C5-*ACDtem+n图4.2KeilVision4的编译环境KeilHViSiCn4使用的基本方法,首先需要建立一个新的项目,选择使用的单片机类型,可以编写一个新的文件,编写完程序后进行编译,编译就是检测程序是否有错误和警告,警告不会影响程序的运行。在编译程序之后,生成.HEX文件。程序写入控制芯片STC89C51后,接通电源,电源指示灯亮,系统启动。当人的手指接触到光电传感器时,指示灯亮说明系统开始工作,记录一分钟心率脉搏次数,则心率脉搏计工作正常。STCISP是适用于STC系列单片机的一种将程序下载到单片机的软件。其工作过程是将单片机按照方向至于烧写器中,安装好驱动程序连接好计算机,启动软件选择对应的COM口。选中事先编辑好的.hex文件,确定后点击下载,此时软件会先对单片机里的原程序就行擦处,擦处后进行新程序的下载,程序就烧写成功,单片机烧写软件STC-ISP如图4.3所示。SIePI/步骤NSelCN MCll Type选择单片机型号一MCV TyPC AF ManorvSTC9C5ICOOOO IFFTStep2步骤2:0Pen ?i 1»打开文件(文件范围内未用区域填00) 起始地址HEX)校骁和00打开女件前济。雄冲OpcnPileZITtf 1T0引开文神审和模冲打开数据文件Step3步蛆迎工CoMft)rt.Nh Dand/选择串行口 ,最商速特率CoMUCcm1 - *圾高波样率:115200请尝试提高最低波特率或使最高波特率二最低波特率:1200StepV步骤4:设置本框和右下方“选项”中的选项DouhlcPced/双倍速:617效倍速12T/单倍速振荡放大器增擒c2 gain (§)Iiill gain如需低功耗 16WlZ以下振荡渊增益可选1/2 gai下次冷启动Pl. 0,PLl与下我无关等于0,0才可下蒙,怏速启动 内SI犷IRaux-RAM? C禁止访问 在允许访问强烈推荐) 下次下载用户应用程序时格数拈TIarh区一并擦除YES NDSe>5步骤5:DOWnkad下我先点下裁按钮再NCU上电由位-冷启动Dwnloed/ 下 载Re-Donkd)R:&下。每次下载前型新调入己打开在缓冲区的文件,方便调试使用口当目标代码发生变化后白动调入文件,并立即发送下我命令 gg® OO OO7 OEOE选项自定义下栽脱机下定J检我MCY选项门动增量ISP DEM程序文件_。_ .串口调试助手I工程文件,(MXK)OO OOOOlO 000020 000030 Ooo(MO 000050 OOOObOI oo7 ! 0()0080 000090 OoOOAO OOOOeO (WOal (KXHHXI .000020 000070O(X)1 OOOllO00 00 00 00 00 00 00 0 000000000 OooOaOOOOQOooOo 000000000000000 fin M m m EfKloq q m do 0000 too oo no o oooooo Oo-QoO IGUoOg COoOaOOOoOB 8 U OCOOi (XK)O ' OO W o OoOOOOOOOoOo00. OOOOOO. OOOWooccoooooccoo. ® OooOooooOoOOOOOO(XH)O(XXM) OO OO I以下功能仅针对STCS9C51FC/RI上系列单片机新版本C版有效2005年8月以后供货用户软件启动内部若3狗后.只有停电关者门狗复位关者门狗单片也出厂时的块有设置世p.o.r'与下载无关,,P3ORD.psLTxD通过S-232转换涔连接到电脑的普通5-22和J唾可以下榭编程用户应用程序到单片机内部用户“"嘴繇货机在正常工作时P3.0RxD外接的是11S-485/HS-232兮地信电路.推行选齐步张4中