基于51单片机心率脉搏计设计

目 录

摘 要 I
Abstract II
引 言 1
1 控制系统设计 3
1.1 系统方案设计 3
1.2 系统总体设计 4
2 硬件设计 5
2.1 主控电路 5
2.2 驱动电路 8
2.3 信号采集电路 10
2.4 显示电路 13
2.5 总体电路图设计 15
3 软件设计 16
3.1 软件开发环境的介绍 16
3.2 系统重要函数介绍 16
4 系统调试 19
4.1 系统硬件调试 19
4.2 系统软件调试 19
结 论 22
参考文献 23
附录1 总体原理图设计 25
附录2 源程序清单 26
致 谢 30

摘 要

为实现探究心率脉搏计的应用领域,测量心率能够高效的进行,在节省时间的同时准确显示心率相关状况是否存在异常的目标, 本文设计了一款操作简单、运行稳定、可靠性高的心率脉搏计。
本设计使用STC89C51单片机作为控制核心,结合ST188光电传感器检测,再借用单片机系统的内部计时器计算时间。其大致的步骤为通过ST188光电传感器感应生成脉冲,心跳次数由单片机累计所得,其对应的时间根据定时器获取。本设计使用的时候可以展现脉搏心率次数当其终止使用的时候可以展示总的脉搏心率次数以及时间长短。由于一些现实状况的存在我们应当实施下述的相关内容:一是了解系统功能的同时可以进行需求分析;二是机体内部生物信号大都在充满噪音状况里,频率和信号很弱,应该放大并且进行滤波处理;三是所有的硬件设备以及对弱信号的处理都应整合在一起,这样能够让人体脉搏信号转化为电信号。还能够通过C语言这种方式进行编程,而且实现构建屏显等作用。
相关结果能够说明,心率脉搏计设计在技术方面有一定的可行性,基本上符合精度标准。能够确保基础脉冲测量功能的同时又可以确保测量的精准度且使用单片机控制确保了系统准确稳定。传感器采用光电传感器,大大降低了外界干扰信号的干扰。显示器运用液晶显示器,显示效果更好,且易于操作。

关键词:心率脉搏计;STC89C51单片机;红外反射式传感器

Abstract

To achieve to explore the application field of heart rate meter pulse, heart rate measurement can efficiently, time cost reduction and accurate display heart rate related target whether there is any abnormal condition, this paper designs a simple, stable and reliable heart rate pulse meter.
This design uses STC89C51 microcontroller as the control core, combined with ST188 photoelectric sensor detection, and then borrows the internal timer of the microcontroller system to calculate the time. The general steps are to generate pulses through the ST188 photoelectric sensor, the number of heartbeats is accumulated by the single chip microcomputer, and the corresponding time is obtained according to the timer. When this design is used, it can show the pulse heart rate times and the length of time, and when it is terminated, it can show the total pulse heart rate times and the length of time. Due to the existence of some practical conditions, we should carry out the following related contents: First, we should understand the functions needed by the system and conduct demand analysis at the same time; the second is that most of the biological signals in the body are full of noise because the frequency and signal are very weak, and they should be amplified and filtered; the third is that all hardware equipment and the processing of weak signals should be integrated together, so as to make the body pulse Into electrical signals. Can also be programmed through the C language in this way, but also to achieve the building screen and other functions.
The results show that the design of heart rate pulse meter is feasible in technology, which is basically consistent with the accuracy standard. It can ensure that the basic pulse measurement function can ensure the accuracy of measurement and the system is accurate and stable by using single-chip microcomputer control. The sensor adopts photoelectric sensor, which greatly reduces the interference of external interference signal. LCD is used in the display, which has better display effect and is easy to operate.

Keyword: Heart Rate Pulse Meter; STC89C51 Single-chip Microcomputer; The infrared reflection type sensor

引 言

脉搏能够体现机体的健康情况,而且其有着十分悠久的历史并在中医中占据着十分重要的地位,自公元3世纪开始,脉学的相关理论以及研究变得日益完备。其不仅是中医治疗中相关精神以及理论的直接应用,更是为全世界人所重视的无创的诊断方式。科技的不断更新变革也推动了脉搏测量技术的不断变化以及更新,越来越多的脉搏测量仪被研究制造出来,它们一般是根据测量精度的不同从而形成了不同的类型[1]。脉搏检测不再局限于现有的人工检查或听诊器检查方法,通过电子仪器测量,可以获得更高的准确度。通常情况下脉搏的跳动等能够展现出人体内部的各种信息,也受到了越来越多临床医生的关注,使得测量脉搏获取的信息变得更加便捷以及拥有较高的准确性。但是考虑到脉搏诊断的时候会受到病人自身以及医生主观性的影响,可能会导致其准确度存在不足,这就使得中医里脉搏诊断这项技术变得十分难以推广到更大的范围,使得中医的发展受到了极大的限制。综上所述,为实现推广中医学知识,促进脉搏诊断的应用以及发展的目的,我们应该和一些新型的科学技术相结合,这样才能进行更为准确高效的判断。
相关的医生应该对就诊患者把脉同时记录1分钟内的脉搏次数,一般是将手指置于患者手腕的动脉,依据其跳动进行计数。一般为达到较高的工作效率,大部分的把脉IDS获取的脉搏次数,然后把它翻为6倍就是1min脉搏次数,尽管这样依旧要耗费大部分的时间而且有着较低的精度。由此为了确保相应的精度以及效率,脉搏测量仪越来越多的产生,所以其成为了崭新的医学诊断技巧。
Vierordt在1860年创立了第一个杠杆脉搏心率计朱安先生也在20世纪50年代引用脉搏心率计作为中医脉诊的客观化研究。此后,随着机器和电子技术的发展,国内外加快了中医起搏器的开发。特别是在70年代中期,国内相继成立了跨学科脉搏研究合作小组,在多学科合作下,TCM脉搏研究进入了新的境界。
近段时间来全世界都在研发没有创伤非接触式的传感器,其非常关键的一个特点是测量的探测部分不会进入人体,不会使其产生损伤,同时可以自动消除仪表系统的相关误差而且测量精度较高,一般情况下位于机体外部特别是在体表间接测量机体的生理以及生化参数。目前,脉搏心率计广泛应用于肠管血管功能检查、妊高征检查、TCM脉冲、脉搏检查等医学领域,运动、运动器械的心率检测也应用于高端脉搏心率计。
在上面所叙述中,光电式传感器检测脉搏心率是基于光电容积法,通过光源穿过手指的透射强度检测接收脉搏心率信号,其具有多种优点。比如说结构简洁,没有损伤,较高精度等。依据该传感器研发制作的脉搏心率测量仪在临床医学等各个领域在广泛的应用,而且效果优良。
人体心室的周期性收缩和松弛与主动脉是相对应的血流压力会经过波传递给整个动脉,所以也被叫作脉搏心率波。我们可以从中获取患者的相关机体信息等,从而进行相应的诊断,因此其在中医领域变得尤为重要[2]。脉搏心率波表现出来的形态很大可能会展现出机体内部的相关信息,所以如何对此波进行处理采集等就变得尤为重要。然而考虑到该波相较于机体的生物信号更为薄弱,所以我们需要将其放大以及后级滤波才能进行相应的采集。
脉搏心率测量仪的设计一般情况下要依据机体脉搏心率变化产生的生物信号,随后将其转变成物理信号从而可以在一定程度中表现人体心跳次数的起伏,最终得到每分钟的心跳次数。在此之后就应该使用对应的硬件电路以及芯片对物理变化进行处理。通常情况下硬件设计里物理信号即为电压变化。根据上述的大致思路我们进行了这项课题的设计。该设计基于STC89C51单片机实现了相应的功能。用传感器收集脉冲信号,收集的信号被处理后向单片机的外部中断获取传递输出信号,最终显示在数字管上。论文共分为四章节进行陈述,主要内容如下:
第一章着重说明系统的设计方案,阐述本设计的主要功能和设计目标。
第二章介绍了系统的硬件设计,着重介绍选取的各个元件的组成。
第三章阐述了系统的软件设计,介绍项目的程序开发环境及系统流程图。
第四章为系统的调试,保证软件硬件准确无误后调试,并论证。

1 控制系统设计

1.1 系统方案设计
心率脉搏检测系统可以使用一个主控制器来完成,主控制器是联系各个模块的桥梁,更是整个系统的控制中心。经过资料采集,本系统可供选择的有单片机控制和DSP控制两种方案,具体方案如下:
方案一:使用单片机作为主控制芯片。单片机是一种具有普通微处理器所没有的功能的集成电路芯片,能单独完成现代产业要求的控制功能。单片机的体积非常小但功能很强大,单片机将微处理器(CPU)、记忆体(RAM和ROM)、输入/输出电路(I/O)整合到同一芯片中[3]。单片机作为主控芯片的系统结构图如图1.1所示,整个系统是采用单片机作为本设计的控制部分,该系统主要有单片机、传感器和显示器构成。人体检测心率脉搏时,通过传感器采集输出脉冲信号,传递给单片机,单片机经过计算输出给显示电路进行显示。
在这里插入图片描述

图1.1 基于单片机的心率脉搏检测系统结构图
方案二:以TI公司生产的DSP芯片作为核心。SP称为数字信号处理器,是分析、转换、过滤、检测、调制、解调和高速算法分析信号的组件。其主要是完成模块之间的通信,例如键盘读取、音频编码芯片和屏幕初始化、通过屏幕显示数字编解码器芯片操作状态等。该系统主要由脉冲信号调理电路、光电脉冲传感器以及DSP实时检测和处理系统三部分组成。如图1.2所示,当传感器采集到人体生理脉搏信号时,信号就会经调理电路传送到DSP系统中,实现心率脉搏的检测。
在这里插入图片描述

图1.2 基于DSP的心率脉搏检测系统结构图
综上,DSP的运行速度很快,但其控制算法相对复杂。而单片机的系统的控制方法相对简单,且可靠性高、价格较低、功耗低,虽然单片机相比DSP功能比较简单,但是完全满足本设计需求。因此本设计所选用的主控芯片是单片机。
1.2 系统总体设计
该设计控制器核心选用的是单片机,用来实现脉搏心率计的测量功能。相关硬件框图如图1.3所示。
在这里插入图片描述

图1.3 心率脉搏计工作原理
在手指置于红外发射二极管以及接收二极管中间的时候,心脏的跳动过程中血液的流量也会产生一定的变化。考虑到手指置于光的传递路径里血液饱和程度的改变会使光强也产生一定的改变,与此同时红外接收二极管的电流亦会随之发生变化,得以输出脉冲信号并放大器处理[4]后传送给单片机之后传送给显示屏上显示。

2 硬件设计

2.1 主控电路
2.1.1 主控单片机选择
此次设计选用单片机作为主控制器,为了保证系统更好的运行,应选用性价比高、可靠性高、低功耗的控制器,以防止器件的损坏,影响系统的运行。由于单片机在整个设计中相当于人体的心脏,是本设计的核心,基于此有以下两种方案可供选择:
方案一:使用STC89C51单片机作为主控制芯片。此系列单片机是STC公司推出的一种低功耗、高性能CMOS8位微控制器的51内核的单片机,它是系统中包含Flash程序存储器模块的可编程芯片,该器件包含4K字节的只读程序存储器,可重复擦除1000次[5]。该芯片由8位通用CPU和ISP闪存单元组成。该器件的基本功能与普通的51单片机能够全部兼容。STC89C51系列单片机是一个能量消耗较低的新型单片机,它具有的开发简单、可在线编程下载、成本低是非常不错的选择。
方案二:使用MC9S12DG8单片机作为主控制芯片。它是Motorola的M68HC12系列16位微控制器之一,内部结构主要由单芯片微计算机的基本部分和CAN功能块部分组成,可专门用于计数,一般用于手机、便携式医疗器材等领域[9]。但是开发难度相对比较大、价格昂贵。
综上,与MC9S12DG8单片机相比,STC89C51单片机开发难度较低、稳定性高,并且价格低廉没有造成资源浪费,因此选择了方案一作为本设计的主控制器。
2.1.2 STC89C51单片机引脚说明
STC89C51单片机有两种封装形式[6]:PDIP(40个引脚)和PLCC(44个引脚)。如图2.1所示。本设计中采用的是直插式的PDIP封装形式。
在这里插入图片描述

图2.1 STC89C51封装形式
管脚说明:STC89C51单片机外部有32个端口可供使用,相关引脚运用说明如表2.1所示(其中VCC是电源电压接电源,GND接地)。
表2.1 STC89C51单片机引脚功能

引脚 功能
P0.0-P0.7 通用I/0口地址数据总线
P1.0-P1.7 通用I/0口
P2.0-P2.7 通用I/0口地址总线(高位)
P3.0 RXD 串行通信发送口
P3.1 TXD 串行通信接收口
P3.2 INT0 外部中断0
P3.3 INT1 外部中断1
P3.4 T0 计数器0输入端口
P3.5 T1 计数器1输入端口
P3.6 WR 外部存储器写功能
P3.7 RD 外部存储器读功能
2.1.3 STC89C51单片机最小系统
单片机最小系统由电源电路、复位电路、晶振电路三部分组成。三部分对单片机的正常运行起着不同的作用。
电源电路主要负责提供单片机工作期间的电压电流。本设计采用的电源电路为USB电源线,可连接电脑端或是手机充电插头连接电源即可。
复位电路主要是对单片机进行初始化。复位电路是在通电过程中保持单片机复位的情况下打开电源运行程序的不稳定过程中,防止错误行为或故障的电路。首先电源稳定上升,然后通过RST针脚电平稳定降下之后,单片机方可工作正常。单片机复位电路图如图2.2所示。
在这里插入图片描述

图2.2 复位电路电路图
晶振电路则是给单片机工作提供标准的时钟。晶振电路可以认为是电容与电阻并联连接,再串联电容连接的系统,在该电路中负载电容的值起着决定性作用。晶振电路中有两个独立的反向放大器,两个放大器都要接入电容并且两个电容串联起来的容量值应等于负载电容值,两个电容会对震动频率起作用,从而进行调节频率[7]。单片机晶振电路图如图2.3所示。
在这里插入图片描述

图2.3 晶振电路电路图
电源电路、复位电路、晶振电路三部分组成单片机的最小系统,即让单片机正常工作并且用最少元件组成的系统。最小系统电路图如图2.4所示。
在这里插入图片描述

图2.4 单片机最小系统
2.2 驱动电路
2.2.1 放大器的选择
这次设计的脉搏信号本身很弱,因此首先必须将过滤后的波形进行适当运放。基于此本设计有两种方案可供选择。
方案一:运用OPA237放大器。OPA237运算放大器是德州仪器(TI)的微型产品之一。特性包括小尺寸、低偏移电压、低静态电流、低偏移电流和大功率范围。但其采用单电源使用,电池供电空间有限,成本较高且应用难度较大。
方案二:使用LM358放大器。两个独立的高增益运算放大器组成一个LM358。其既能单电源工作,也可以是双电源工作,电源的功耗电流与电源电压大小之间无关,并且经济实惠、实用。变频放大器、DC增益部件和所有常规运算放大器包括在应用方向中[8]。LM358引脚排列如图2.5所示。
在这里插入图片描述

图2.5 LM358引脚排列
综上所述,与OPA237相比较来看,LM358放大器从运作方式和操作以及本设计应用上来看都是不错的选择。所以最终选择了LM358。

2.2.2 放大电路
低通放大器是基于身体脉搏心率运动后跳动次数200次/min来设计的,如图2.6所示。R6、C6形成了低通录波器从而能够消除残留的影响并决定着截止频率。运放LM358能够把信号放大而放大倍数依据R12/R13来决定,低通放大之后输出的信号是叠加有噪声的脉动正弦波,如图2.7所示。
在这里插入图片描述

图2.6 低通放大电路

在这里插入图片描述

图2.7 低通放大波形图
2.2.3 波形整形电路
在该设计中放大滤波器的脉冲信号存在着低频干扰并具有不满足计数器要求的非正常脉冲信号,不符合计数器的要求,所以该设计中应使用整形电路。有输入信号时,LM358沿着比较器输入信号的每个后输出低水平,并使用发光二极管D1来展示脉搏心率测量的状态,一旦发生脉搏跳动,发光二极管点亮一次。同时,此脉冲水平将传递到微控制器/INTO脚部,来计算和显示心率[10]。波形整形电路如图2.8所示,输出波形如图2.9所示。
在这里插入图片描述

图2.8 波形整形电路
在这里插入图片描述

图2.9 经过比较器LM358的输出波形
2.3 信号采集电路
2.3.1 传感器的选择
传感器也被成为转换器,相当于我们人体的重要器官,用来接收外界传递的信息。本设计需要通过传感器采集到人体的心跳信号并且人要通过触碰传感器来实现接受信号[12]。通过对社会的广泛调查以及结合大学所学的知识,有以下两种方案可供选择:
方案一:运用压电式传感器。选取压电式传感器的检测操作方法一般情况下是通过传感器把脉搏震动转变为电信号。我们经常见到的压力传感器能够使用已有的雅典陶瓷来取代。考虑到压电式原件的内部电阻偏高一般是两个相同的压电元件,急性反弹重叠,使中间的铜片形成电极。因此,中央电极出去全空状态,可以用良好绝缘性的导线导出。
方案二:运用光电式传感器。众所周知,人体血液是一种不透明的液体。光对一般组织的穿透力相对于血液来说,是它的几十倍。根据这项功能,我将目光放到了光电式传感器上,使用光电效应手指脉冲传感器,用它来记录我们的脉冲信号。光电检测方法是利用光电系统传感器二极管检测人体内红外线的血流速度是否根据光的反射透射率或光的反射透射率转换为红外电信号的检测方法。这种检测方法主要有两种一般形式。一个是正射光,另一个是反射式。瞄准仪在适当大小的环的两侧各放置一个传送管和接收管测量时,将工匠的手指伸入环后,随着手指的血流变化,会导致光电流产生变化。反射式光电发射和光电接受都是单向的,如果人体内的血流发生变化,对光的反射率也会发生变化,从而检测心率。该方法的优点是外部干扰信号较小[13]。
综上所述,光电式传感器从采集方式、材料选择、受外界的干扰信号的影响上要优于压电式传感器,因此本次设计选用了光电式传感器来进行设计。
2.3.2 光电传感器
脉搏心率一般情况下通过机体动脉舒张以及收缩生成,机体指尖组织里的动脉成分含量相对较高,并且指尖厚度相对来讲偏薄,透过手指之后获取的光强总体偏高,所以一般情况下光电式脉搏心率传感器的测量部位位于机体手指部位[14]。
光电传感器可以划分为红外发光二级管以及红外接收三极管这几个部分。光电传感器依据光接收的方式能够划分成透射式和反射式。两种形式中透射式的发射光源和光敏接收器件的距离基本一致,而且能够均匀分布,接受透射光。反射式发射光源与对光敏感的接收装置在同一侧,受到精密测量脉搏信号的反射光。因此,该系统使用反射光电传感器。结构如图2.10所示,实拍图如图2.11所示。
在这里插入图片描述

图2.10 反射式光电传感器结构图
在这里插入图片描述

图2.11 反射式光电传感器实拍图
光电传感器的检测原理为心脏搏动的过程中机体组织半透明度会发生一定的变化:在血液送至机体组织的时候其半透明度会在一定程度上下降,在血液流回心脏的时候组织半透明度会在一定程度上上升;其在机体手指尖以及耳垂等位置显示的最为显著。
所以此次设计把红外发光二极管生成的红外线照射至手指位置,通过手指的反射以及衰减,通过光敏三极管接受透射光同时转化为电信号[16]。由于手指动脉血在血液循环中周期性波动,因此光的反射和衰减呈现出相同的变化趋势。在这种情况下,红外接收晶体管输出信号的变化表明了动脉血的变化。
2.3.3 信号采集电路
ST188中有红外发射和接收装置,如图2.12所示,R10应选用470Ω,原因是考虑了接收晶体管的灵敏度。如R10非常小,通过电流就会上升,红外接收晶体管无法确定有无脉搏心率及信号;反之,如R21非常大,通过电流则非常小,也无法准确判断。在检测过程中当手指处于测量位置时,会有两个时间段,一是无脉搏阶段。虽然手指已经接触到传感器并已经遮挡住二极管发射的红外光,但由于三极管有暗电流的产生,输出电压被迫变小;二是有脉搏阶段。三极管中暗电流逐渐减小,那么输出电压就会增加此时可检测到心率。由于ST188传感器的信号输出频率很低,因此信号首先由联合容量C4组合,随后依据R5、C5滤波来过滤高频干扰之后放于线性放大输入端。测量结束后用C4耦合电容进行阻止,以便在手指脱离传感器或干涉光线强,导致输入端直流电压波动严重时[17],防止其泄漏到LM358输入端。
在这里插入图片描述

图2.12 信号采集电路图
2.4 显示电路
2.4.1 显示器模块的选择
该系统需要显示心跳脉搏次数、时间,其中包含了数字和字母,所以至少需要2行的屏幕显示。显示器件可以有以下选择:
方案一:采用LED动态显示屏。数码管是一类显示屏,其针对不同的管脚输入相对的电流,使其发亮进而得以显示。是单片机应用广泛的显示方法之一。动态驱动器和连接所有数字机构的8个显示行程“a、b、c、d、e、f、g和DP”同名[18]。而当连接主控器时LED动态扫描方法占用更多的I/O端口,主控制器端口的电流输出不足,因此还需要有驱动器模块来放大电流并控制数字电子管,如此一来会增加焊接难度,导致焊接错误。
方案二:使用LCD1602液晶显示屏。LCD1602是一种广泛使用的字符型液液晶显示模块。可以显示包括数字、字母或字符 的32个字符(16×2),因其由大量点阵构成,导致字符每个位有间隔,所以采用控制器HD44780控制器来使显示效果更佳。此控制器电路简单可完成动态字符等功能。
上述两种方案比较表明,液晶显示设备固有的大小适中、显示效果好、控制方便等优点要优于LED动态显示屏,因此选择LCD来实现相应的屏显功能。
2.4.2 LCD1602液晶显示器
LCD1602液晶模块,也称为LCD1602字符液晶,具有16×2标记,可以在一行中显示16个字符、数字、符号等。LCD1602具有11个命令,通过将这些命令发送到液晶屏,单芯片微型计算机可以执行特定功能,如打开、关闭和全屏等。控制LCD1602液晶显示器可以通过执行读状态操作,写状态操作,读数据操作和写数据操作来对LCD1602执行某些操作。显示电路图如图2.13所示。
在这里插入图片描述

图2.13 显示电路
管脚功能:LCD1602通常使用标准的16脚接口,如图2.14。不同引脚接口有不同的功能,相应介绍如表2.2所示。
在这里插入图片描述

图2.14 LCD1602引脚

表2.2 LCD1602引脚说明

编号 符号 引脚说明 编号 符号 引脚说明
1 VSS 地电源 9 DB2 数据
2 VCC 电源正极 10 DB3 数据
3 VL 液晶显示偏压 11 DB4 数据
4 RS 数据/命令选择 12 DB5 数据
5 R/W 读/写选择 13 DB6 数据
6 E 使能信号 14 DB7 数据
7 DB0 数据 15 BL+ 背光源正极
8 DB1 数据 16 BL- 背光源负极
LCD1602具有以下特点:可使用在+3.3V电压上、对比度可调节。其有多种控制命令,例如重置电路屏幕清理、字符闪烁、光标闪烁、显示移动等。内部包含常用于低功耗等袖珍仪表和低功耗应用系统的192个5×7光栅的CGROM字符发生器和8个可自定义的5×7的CGRAM字符发生器。
2.5 总体电路图设计
本设计由单片机STC89C51作为系统的控制核心,系统的总体设计电路图见附录1。其中包含着几大重要的模块分别是主控模块、检测模块、信号处理模块、显示模块和电源模块。本设计的工作过程是ST188传感器采集信号,采集到的信号经放大器处理即放大、滤波和整形后输出给单片机,单片机处理后再将信号传递给显示模块LCD1602液晶显示屏显示,最终得到结果。

3 软件设计

3.1 软件开发环境的介绍
本设计采用Keil μVision4进行编程。Keil C51是由Keil Software 公司在美国开发的与51系列兼容的单片机C语言软件开发系统。该软件提供了丰富的库数据和功能强大的集成开发调试工具,正因为它的集成环境很方便并且适用于STC89C51单片机[20],所以我们适用Keil μVision4来实现心率脉搏计的软件设计。如图3.1所示,为Keil μVision4软件运行界面。
在这里插入图片描述

图3.1 Keil μVision4软件运行界面
3.2 系统重要函数介绍
3.2.1 系统主程序设计
本设计的主程序是控制单片机系统在规定的操作模式运行,其为单片机系统程序的框架。其中一个重要的部分是设置采样6s和计时l00ms。系统使用计时器T1实现100毫秒的计时,中断等待是运行程序的大部分时间的死循环语句,仅在中断满足条件的情况下运行中断服务子程序求和。计数结束后,如果采样数为60以下,则返回到6s,继续采样,等待中断,等待达到60次方可停止,达到要求后再将采样结果的二进制变为十进制,再发送至液晶显示。流程如图3.2所示。
在这里插入图片描述

图3.2 主程序流程图
3.2.2 中断程序设计
定时器中断服务程序的构成可以划分为1min计时、按键检测、是否存在测试信号判断。在该程序运行之后开始进行1min计时,1s计时后接着检测下一秒,在1min之后终止同时测取的脉搏心率次数[21]。另一方面能够检测相应的按键,假如复位测试值便能够再次进行测试。关键目标为1min的定时功能以及储存获取的脉搏心率次数。流程如图3.3所示。
在这里插入图片描述

图3.3 定时器中断程序流程图
3.2.3 显示程序设计
LCD1602的显示一定要按照产品的时序要求进行编程。在中断程序里获取结果之后第一步展示上次的脉搏心率次数[22],在10ms的延时之后第二次展示测试里的脉搏心率次数,随后10ms的延时之后展示相应的时间。流程图如图3.4所示。
在这里插入图片描述

图3.4 显示程序流程图

4 系统调试

4.1 系统硬件调试
根据理论设计电路图,来设计制作硬件电路。系统硬件电路的调试主要检测电路的焊料泄漏、断线、焊接、短路、接通电源后是否正常运行等。当板子焊好后首先要根据电路图仔细检查一下,看看有没有漏焊的情况,同时要看需要连接的线路有没有都连上,特别要注意电源线和地线的连接。
断线、焊接、短路时可通过数字万用表检测,检查时需要细心注意和耐心,不要急躁。用2根表笔检测需要检测部件和导线的两端,导通时蜂鸣器鸣响,断开时不鸣响。这样,可以根据我们所需要的检查情况,结合检查的现象,检查线路是否有问题。
成功下载程序后,通电发现LCD1602液晶显示器上未显示任何内容,对着电路图仔细检查电路发现光电传感器的位置漏焊;经过修改之后液晶显示器可以显示当前的读数。实物通电后如图4.1所示。
在这里插入图片描述

图4.1 实物展示图

4.2 系统软件调试
本设计是基于单片机控制,利用单片机的主程序完成对心率脉搏计的控制,使用的是STC89C51系列,这个系列的单片机应用非常广泛,编译语言以C语言为主。本次设计以Keil μVision 4软件进行编写,如图4.2所示。
在这里插入图片描述

图4.2 Keil μVision 4的编译环境
Keil μVision 4使用的基本方法,首先需要建立一个新的项目,选择使用的单片机类型,可以编写一个新的文件,编写完程序后进行编译,编译就是检测程序是否有错误和警告,警告不会影响程序的运行。在编译程序之后,生成.HEX文件。程序写入控制芯片STC89C51后,接通电源,电源指示灯亮,系统启动。当人的手指接触到光电传感器时,指示灯亮说明系统开始工作,记录一分钟心率脉搏次数,则心率脉搏计工作正常。
STC-ISP是适用于STC系列单片机的一种将程序下载到单片机的软件。其工作过程是将单片机按照方向至于烧写器中,安装好驱动程序连接好计算机,启动软件选择对应的COM口。选中事先编辑好的.hex文件,确定后点击下载,此时软件会先对单片机里的原程序就行擦处,擦处后进行新程序的下载,程序就烧写成功,单片机烧写软件STC-ISP如图4.3所示。
在这里插入图片描述

图4.3 单片机烧写软件

结 论

本篇论文是针对提高心率脉搏测量的效率,节省时间并更精确的反应出心率的正常与否而设计出的一种基于单片机的心率脉搏测量系统。测量者可以通过心率脉搏计测量出自己的一分钟内的心跳次数。
本论文设计的重点在于51单片机在脉搏心率测试系统里的应用。其主要对单片机的最小系统进行相应的设计从而使得脉搏心率的测量系统更为完备,一般来说,光电传感器收集脉冲信号后,通过信号的放大、过滤、整形电路等,以单片机的外部中断形式获取输出信号,并用数字代码管来表示。依据单片机自身的定时中断、外部中断以及计数等功能,一方面能够展现出这次脉搏心率测量的次数另一方面还可以自动保存这个数据。
本次设计经过了硬件和软件的测试,各部分均达到了预期功能:实现了心率脉搏的测量,显示每分钟内心跳次数。该系统操作简单,可靠性高,灵敏度高等优点。应用本设计产品,可提高测量心率脉搏的效率,使我们的生活变得更加的方便。

参考文献

[1] 陈奕鸿, 孙玉轩, 周祖德, 何芳. 心率脉搏测量仪[J]. 电子世界, 2019, (6) :24
[2] 马晴, 李慧慧, 王云龙. 简易人体脉搏测量仪设计与制作[J]. 电子制作, 2018, (1) :5-9
[3] 刘文, 杨欣, 张能. 基于AT89C2051单片机的指脉检测系统的研究[J]. 医疗装备, 2005, (9) :2-14
[4] 杨新. 电子设计从零开始[M]. 北京:北京清华大学出版社, 2005.7:155-262
[5] 单淑慧, 张博闻, 王艺颖, 安康, 杨明, 庞闯. 基于单片机的数字心率测量仪设计[J]. 科学导报(科学工程与电力), 2019, (29) :10-13
[6] 周坚. 单片机的应用与接口技术[M]. 北京:机械工业出版社, 2010.1:134-158
[7] 黄庆华. 单片机开发技术与实训[M]. 北京:北京电子工业出版社, 2006.7:1-74
[8] 李思彤, 宋海荣, 樊金鹏. 放大器的分类与性能分析[J]. 河南科技, 2016, (11) :12-16
[9] 李林功, 吴飞青, 王兵, 丁晓. 单片机原理及应用[M]. 北京:机械工业出版社, 2007.8:63-128
[10] 程咏梅, 夏雅琴, 尚岚. 人体脉搏波信号检测系统[J]. 北京生物医学工程, 2006, 25(5) :1-3
[11] 梁小廷. 单片机技术的发展及应用研究[J]. 民营科技, 2008, (6) :9
[12] 王运哲. 传感器的分类[J]. 电气时代, 2000, (10) :15-18
[13] 程光, 赵崇侃. 指动脉搏波光电传感器的研制[J]. 南京医学学报, 1991, 11(4) :329-330
[14] 韩文波, 曹维国, 张精慧. 光电式脉搏波监测系统[J]. 长春光学精密机械学院学报, 1999, 22(4) :2
[15] 楼卓格, 张永超, 陈隆杰. 用于光通信的电传感器设计[J]. 浙江机电职业技术学院, 2019, (26) :5-8
[16] 郁道银, 谈恒英. 工程光学[M]. 北京:机械工业出版社, 1998.11:279-281
[17] 朱国富, 廖明涛, 王博亮. 袖珍式脉搏波测量仪[J]. 电子技术应用, 1998, (1) :1-3
[18] 杨果仁, 蔡顺燕. 从视觉暂留看LED数码管动态显示[J]. 数字技术与应用, 2013, (12) :20
[19] 史静, 李煜. 一种基于单片机和LCD1602的多行文本显示方法[J]. 科技世界, 2017, (20) :24-27
[20] 夏海英. C语言实践与提高[M]. 西安:西安电子科技大学出版社, 2017.10:99-134
[21] 李涛, 王观玉, 任廷艳. C语言程序设计[M]. 成都:西南交通大学出版社, 2018.9:158-200
[22] 朱华光. 浅议LCD1602的编程技巧[J]. 电脑知识与技术, 2010, (13) :14-18

附录1 总体原理图设计

在这里插入图片描述

附录2 源程序清单

脉搏心率测量仪的信号采集、处理、显示的程序
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit rs=P1^0; //数据与命令选择控制引脚
sbit rw=P1^1; //读与写选择控制引脚
sbit en=P1^2; //使能择控制引脚
sbit bf=P0^7; //忙标志位

sbit P32=P3^2;

unsigned char i=0,timecount=0,displayOK=0,rate=0,aa=0;
unsigned int time[6]={0};

/************ 延时函数 *****/
void delay(uint z)
{
while(z–);
}
/
忙检测函数 *****/
void jiance()
{
P0=0xff;
rs=0;rw=1;en=1;
while(bf); //如果BF==1表示液晶在忙
en=0;
}
/
写命令函数 *****/
void write_com(uchar com)
{
jiance();
P0=com;
rs=0;rw=0;en=1;
delay(2);
en=0;
}
/
写数据函数 *****/
void write_dat(uchar dat)
{
jiance();
P0=dat;
rs=1;rw=0;en=1;
delay(2);
en=0;
}
/
1602液晶初始化函数 *****************/
void init_lcd()
{
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
}

//
/
在指定位置写字符 /
/
/
void LCD_write_char(unsigned char x,unsigned char y,unsigned char Data)
{
if (y == 0)
write_com(0x80 + x);
else
write_com(0xC0 + x);
write_dat(Data);
}
void DelayMs(unsigned int z)
{
unsigned int x;
for(;z>0;z–)
for(x=110;x>0;x–);
}
void main()
{
P32=1;
init_lcd();//lcd初始化
TCON=0x01;//设置外部中断0
EX0=1;
TMOD=0x01;//定时器0初始化
TH0=(65536-50650)/256;//实测每50ms中断的定时值
TL0=(65536-50650)%256;
ET0=1;//开定时器中断
//显示基本文字
LCD_write_char(3,0,‘H’);
LCD_write_char(4,0,‘e’);
LCD_write_char(5,0,‘a’);
LCD_write_char(6,0,‘r’);
LCD_write_char(7,0,‘t’);
LCD_write_char(8,0,’ ');
LCD_write_char(9,0,‘R’);
LCD_write_char(10,0,‘a’);
LCD_write_char(11,0,‘t’);
LCD_write_char(12,0,‘e’);

	LCD_write_char(8,1,'/');
	LCD_write_char(9,1,'m');
	LCD_write_char(10,1,'i');
	LCD_write_char(11,1,'n');
	TR0=0;//定时器停止
	EA=1;//开总中断
	while(1)
	{
			
			if(displayOK==1)
			{
					rate=60000/(time[1]/5+time[2]/5+time[3]/5+time[4]/5+time[5]/5);
					LCD_write_char(5,1,rate/100+48);
					LCD_write_char(6,1,(rate%100)/10+48);
					LCD_write_char(7,1,rate%10+48);
			}
			DelayMs(300);
	}

}

void ex0() interrupt 0
{
EX0=0;//暂时关外部中断
if(timecount<8) //当连续两次检测时间间隔小于850ms=400ms不处理
{
TR0=1;//开定时器
}
else
{
time[i]=timecount
50+TH0*0.256+TL0/1000;//算出间隔时间
TL0=(65536-50650)%256;//重新设置定时器
TH0=(65536-50650)/256;
timecount=0;//50ms计数清零
i++;
if(i==6)//记录到超过等于6次时间
{
i=1;//计数从1开始
displayOK=1; //测得5次开始显示
}

	}
	EX0=1;

}
void et0() interrupt 1
{
TL0=(65536-50650)%256;
TH0=(65536-50650)/256;

	timecount++;//每50ms一次计数
	if(timecount>25)     //当超过25*50ms=1.5s没有检测到信号停止显示
	{
			i=0;//数据个数清零
			timecount=0;//50ms计数清零
			displayOK=0;//显示关
			TR0=0;//定时器关
			TH0=(65536-50650)/256;
			TL0=(65536-50650)%256;
	}

}
///End of DelayMs

致 谢

四年大学生活即将结束,在这四年中,我收获了知识,收获了友谊,更收获了为人处事的道理。感谢学校为我提供了自我发挥的舞台,我在这里尽情展现自己的才能。在这个大家庭里,我和其他的同学共同生活,共同学习。
其实生活的道路一直不是这么平坦的,在前进的道路上,我遇到了很多的困难和挫折,但是凭借着自己的毅力和周围老师、同学的帮助,我最终都努力地克服了。
感谢我的毕业设计指导老师沈洪洋和台闯老师,您的指导和教诲将我领进了单片机这一扇大门。您严谨的教学态度、乐观的生活态度深深地影响着我,是您细心认真地指导我的毕业设计,指出我的不足之处,以使我及时修改更正。
感谢我的各位专业授课老师,正是你们的辛勤工作,使我对本专业产生了浓厚的兴趣,而且学到了很多的知识,掌握了很多的方法。你们的谆谆教诲使我有志于在本专业继续深造。
感谢学院、学校的各级领导,为我们创造的好的学习氛围和充实的实践活动,感谢各位老师和我的朋友,在我成长的道路上给我的关心和帮助。。
父母是我生命中最重要的人,我今天取得的成绩与你们对我的关心和教导是密切相关的。您们对我的支持让我勇敢的向前迈步,让我不再害怕我自己的路有多艰辛,感谢你们多年来为我的付出。

  • 30
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于51单片机无线WiFi心率脉搏上传设计是一项将无线技术与健康监测相结合的创新设计。通过该设计,可以实时监测人体的心率和脉搏,并将数据通过WiFi无线网络传输到管理端,以实现远程监测和数据分析。 设计的基本原理是通过传感器获取心率和脉搏数据,然后通过51单片机进行信号处理和数据采集。传感器将心率和脉搏数据转换为电信号,并通过模拟输入引脚发送给51单片机。单片机对信号进行采样和滤波处理,得到可靠的心率和脉搏数据。 接下来,单片机通过WiFi模块将采集到的数据通过无线网络上传到管理端。WiFi模块负责将单片机产生的数据包装成网络数据包,并通过WiFi无线网络传输。管理端可以是一个电脑或者手机应用,可以实时接收和显示上传的心率和脉搏数据。 在设计中,需要用到器件有51单片机心率和脉搏传感器、WiFi模块等。除了硬件的设计外,还需要编写相应的单片机程序和网络通信程序,将数据进行处理和传输。 基于51单片机无线WiFi心率脉搏上传设计有着广泛的应用场景。例如,可以嵌入到健身设备中,对运动者进行心率和脉搏的远程监测。也可以应用在医疗领域,对患者的心脏病变进行实时监测和追踪。此外,该设计还可以用于健康管理和运动训练等领域。 总之,基于51单片机无线WiFi心率脉搏上传设计是一项具有实用性和创新性的技术设计,可以实现对心率和脉搏数据的远程监测和分析,广泛应用于健康监护和医疗领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值