文档库 最新最全的文档下载
当前位置:文档库 › 基于单片机的心率检测系统设计毕业设计

基于单片机的心率检测系统设计毕业设计

基于单片机的心率监测系统设计

摘要

随着社会的发展,心率监测系统已经得到广泛的应用,但医学心率监测系统还存在着单一地点、实时性不精确等缺点。本设计就是为了克服传统心率监测系统的局限性,突出价格低廉、使用简单方便、维护成本低的特点。所设计心率监测系统采用光学感应原理做成的传感器,把心率信号转换为可测量的电信号模拟量。在CPU的选型上,使用价格低、功能强大的AT89S52单片机。利用中断和定时器功能,能够精确的计算出心率。在做出硬件和完整的软件算法后,进行了多次测试,测试结果表明,本设计能够达到预期的效果。

关键词:心率监测系统;AT89S52单片机;光电传感器

Design of the single chip microcomputer

Abstract

With the development of society, The widely used, but the , real-time imprecise and other shortcomings. To overcome these limitations of conventional optical sensor, the could obtain the desired effect.

Keywords:Heart-rate monitoring system; AT89S52; photoelectric sensor

目录

摘要............................................................................................................................ I Abstract......................................................................................................................... II 第1章概述 (1)

1.1 选题的背景和意义 (1)

1.2 心率监测系统的设计设想 (1)

1.3 心率监测系统方案的选择 (2)

第2章心率监测系统系统结构 (2)

2.1 光电心率监测系统的结构 (3)

2.2 工作原理 (3)

2.3 光电心率监测系统的优点 (4)

2.4 光电心率监测系统的适用范围 (4)

第3章硬件系统 (5)

3.1 控制器 (5)

3.1.1 AT89S52 简介 (5)

3.1.2 AT89S52 的结构 (5)

3.2 信号采集 (7)

3.2.1光电传感器的原理 (7)

3.2.2光电传感器的结构 (7)

3.2.3信号采集电路 (7)

3.3 信号放大 (8)

3.4 波形整形电路 (10)

3.5 单片机处理电路 (11)

3.6 显示电路 (12)

3.6.1 1602字符型LCD简介 (12)

3.6.2 1602LCD的指令说明及时序 (13)

3.6.3 1602LCD的RAM地址映射及标准字库表 (13)

3.6.4电源模块电路原理图 (14)

第4章软件系统 (14)

4.1 主程序流程: (14)

4.2 中断程序流程 (15)

4.3 显示程序流程: (16)

4.4 软件说明 (18)

第5章抗干扰及使用方法 (18)

5.1 抗干扰措施 (18)

5.1.1环境光对心率传感器测量的影响 (18)

5.1.2电磁干扰对心率传感器的影响 (18)

5.2 使用方法 (18)

第6章系统检验 (19)

6.1 系统检验 (19)

6.2 误差分析 (20)

第7章总结与展望 (21)

参考文献 (21)

附录A (23)

附录B (23)

附录C (24)

附录D (25)

致谢 (29)

第1章概述

1.1 选题的背景和意义

心血管疾病是当今发达国家死亡率占第一位的致命疾病,在我国同样是致死率最高的疾病,世界卫生组织已将心脑血管疾病列为2l世纪危害人类生命和健康的头等疾病[1]。据统计,1990年全球大约死于心血管疾病的人口就高达1400万,预计到2020年,将会有2500万人口死于心脑血管疾病[2]。我国平均每年有100万人死于心脑血管有关的疾病,且近年来心血管疾病的发病率逐年提高,患者的年龄却逐年降低,心血管疾病对人身体健康产生的威胁也越来越大。一些人希望通过早期的措施能够及时监测到疾病的到来,从而能在最快的时间内得到医治,使自己尽快恢复健康。与此同时,中国老龄化已经到来,越来越多的老年人遭受慢性疾病的残害,如三高(高血压、高血脂、高血糖)、冠心病、慢性支气管炎等。这种疾病通常会终生伴随着患者,疾病带来的痛苦和昂贵的治疗费用不仅让病人家庭承受着巨大的财政负担,还占用社会上有限的的医疗资源,给社会带来了不必要的负担。要避免和减少三高、心脏病这类心血管疾病给人类健康带来的危害和给身心带来的痛苦,如何有效的进行早期预防、早期诊断和早期治疗正是目前医学界研究的重点课题之一,由此改进心脑血管疾病前期预防和监控手段和设施成为现在的当务之急。

过去专门用于测量心率的仪器就很少。有些人为了清楚自己的身体状况,不惜大老远的跑到医院进行复杂的各种生理指标的测量,尤其是体抗力弱的老年人和儿童,也有每天超负荷运动的专业运动员,而当他们到了医院后这些指标都是随着时间的变化而产生变化的,所以测量的指标都没有一定的可信性。而心率监测系统的出现,使复杂的心电仪功能进入日常的家庭成为可能,但基于心电工作站的模式,导致个别地区医疗诊断的不健全而变得不适用。因此,设计一种性能优良,带有自动监测、报警等功能,适合在家庭和社区条件下使用,同时适用于有隐性疾患的亚健康人群及各种作业环境下的劳动者,在其心率变异时,能及时发出警示的安全监护器,而又符合我国人均收入水平不高这一国情的心率监测系统显得尤其重要。

1.2 心率监测系统的设计设想

在社会经济飞速发展的当代,人们的生活水平和质量相对上个世纪都有了极大的改善,但同时多种疾病有困扰着人们,给人们的生活带来了不必要的麻烦,对于心脑血管疾病,早期的预防工作尤为重要。本设计要解决的问题是能实时监控心率脉搏的变化和对突变情况下的告警功能。

本设计采用高精度、低成本、微型化的AT89S52单片机为核心来设计数心率监测系统的硬件电路。整个硬件电路采用模块化设计,分为传感器模块、电源模块、CPU模块、信号处理模块和显示模块。其软件设计由主程序、信号采集子程序、预置子程序、显示子程序模块、信号放大处理子程序等组成。信号经过

传感器经信号处理电路滤波、放大,得到稳定的脉搏信号。在此设计理念上设计出了系统的总体方案,最后通过软件和硬件的调试实现了各个模块的功能。相关部分附有硬件原理电路图、PCB图、程序流程图。此心率监测系统的原理是通过红外发射管发射的红外线经过人体组织后由红外接收管接收,心率变化会使光线的强度变化。由于人体信号很微弱,因此本设计采用了两级放大芯片(主要芯片:OP07、LM324N)。在经过电子电路的处理后,再传送至单片机,由单片机的算法处理传感器传送的信号。

所设想该心率监测系统可以测出心率,能够实现了预定的设计要求,这将大大减少去医院监测所花费的时间。

1.3 心率监测系统方案的选择

传感器方案一:随着血液在心脏中的波动,人体血液中的半透明物质的浓度也随之改变。因此,该心率监测是在人体的上述位置放到红外发射管和接收管之间,并通过检测人体组织半透明物质的变化,从而转化为数字信号给单片机处理。由于人体心率次数和计数器频率是成正比,因此把传感器采集的微弱电信号进行滤波、整形、计数和计算的值显示到LCD上就是关键的步骤,就能达到时实时检测心率的目的。

传感器方案二:当人体的心脏搏动时,人体颈部的脉搏及手腕的脉搏较为明显。选择压电传感器,即压电薄膜PVDF(聚偏二氟乙烯)传感器放在上述位置,把压电传感器测到的信号转换成脉冲并进行整形、计数和显示,通过感应脉搏跳动产生的振动实现计数。

从成本和制作的难易程度考虑,最终选择了用方案一。相对于方案二,方案一具有很大的易操作和低成本性。

CPU方案一:AT89S52单片机作为心率监测系统的CPU是因为其低廉的价格和编程的方便性。虽然AT89S52单片机的功能是有限的,但是对于心率监测系统的功能实现是没有问题的,下面我们也会具体介绍AT89S52单片机的基本功能和由此设计涉及到的功能。

CPU方案二:飞思卡尔公司的嵌入式芯片9S12XS128,此款芯片的优点是在其中的112个引脚中有专门的计数器引脚,还可以根据需要设置超频方案,使单片机运行的更快。

最终选择的是AT89S52单片机,虽然9S12XS128的功能很强大,但是在设计中会发现其中的很多引脚都是用不到的,造成了很到的浪费,也增加了设计的费用,不符合设计心率监测系统的尽可能的降低生产和研发的成本设计初衷。

第2章心率监测系统系统结构

心率监测系统的设计原理是通过人体心脏的搏动而产生的血液涌动,从而血液在脉搏中浓度的突变产生了脉搏波动,通过光电传感器对不同的颜色会表现出不同的波长,从而采集到心率的波动,再经过硬件的滤波、整形就能得到AT89S52单片机可以采集的电信号。当然,测量心率的1分钟内跳动的次数不可能是测量

1分钟,而是通过单片机算法用60比上两次心率跳动的的时间差就得到了1分钟内心率跳动的次数了。基于该设计想法,本设计就可以从硬件再到软件开始实现。

2.1 光电心率监测系统的结构

此心率监测系统的传感器是用光电发接收管和光电发射管作为传感器原件,把采集到的微弱红外光经过处理转换成电信号,利用各个功能模块分别实现测量、显示、报警等功能。本系统的构成包括光电传感器模块、整形放大模块、外围电路模块、液晶显示模块、稳压电源模块部分。

各模块功能如表 2.1所示:

表 2.1 模块功能表

2.2工作原理

本设计控制器采用AT89S52单片机,实现心率监测系统的基本测量和显示功能。心率监测系统设计框图如图2.1 所示:

图 2.1 心率监测系统设计框图

手指放在传感器中间,随着心脏的跳动,血管中组织液的浓度和流量也随着改变。当光线照射到手指组织上时,血管中血液饱和度的改变将引起接收管接收光强度发生变化,因此光接收脉冲和心跳的节拍相一致,当接收管接收的波长发生变化时,红外接收管的电流也跟着波动,这时红外接收管就能检测到电压的变化,从而转化为脉冲信号。该信号经滤波、放大、整形后输出给单片机的端口,单片机接收到外部中断信号后执行相应指令。CPU对输入的脉冲信号通过一系列的算法计算后,得出的心率数值在液晶上面显示。

2.3光电心率监测系统的优点

相比较于传统的心率监测系统,本设计光电式心率监测系统具有下列优点:

1. 可测量并显示实时心率值。

2. 对人体无创伤,安全可靠。

3. 心率监测系统可以重复使用且使用简单,精度高。

4. 电源电压为5V直流电压,容易获得。

5. 工作稳定、磨损小、使用时间长、维护方便。

6. 由于硬件简单,因此外形小巧、质量轻、性价比优越。

7.测量的有效范围为50次-199次分钟。

2.4光电心率监测系统的适用范围

1. 临床心率监护。

2. 体力劳动者劳动强度测定。

3. 运动员运动强度测定。

4. 士兵训练强度测定。

5. 各种环境状态下的生理实验分析研究。

6. 心理紧张状态实验分析研究。

第3章硬件系统

3.1 控制器

本心率监测系统的CPU选择的是AT89S52单片机。因为此心率监测系统没有其他特殊的功能实现,所需要的端口也很少,所以没有选择功能复杂的Freescale 单片机。

3.1.1 AT89S52 简介

AT89C51是8 位的CPU,片内有振荡器和时钟电路,工作频率为0~24MHz。片内有256字节数据存储器RAM,有8K字节程序存储器ROM,4个8位的并行IO口(P0、P1、P2、P3),1个全双工串行通讯口,3个16位定时器计数器(T0、T1、T2),可处理6个中断源,两级中断优先级。低功耗的闲置和掉电模式。

3.1.2 AT89S52 的结构

本设计所使用的单片机的封装形式是DIP40,如图3.1:

图3.1 AT89S52 的封装形式

AT89S52单片机40脚。如表3.1所示:

表3.1 单片机引脚

P3口也可作为特殊的功能口,如下列所示:

口管脚备选功能

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(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号

RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

Vcc,GND:正电源端与接地端(+5V)

XTAL1, XTAL2:片内振荡电路输入、输出端

CPU按照一定的时钟节拍与时序进行工作:

时钟周期:

Tc = 晶振频率fosc的倒数

机器周期:

Tm = 12个时钟周期(Tc)

指令周期:Ti:执行一条指令所需的机器周期(Tm)数

例:晶振频率是12M时,一个机器周期需要多长时间?

Tc = 1fosc = 112Mhz

Tm = 12XTc = 12X112Mhz = 1us

3.2 信号采集

3.2.1光电传感器的原理

依据朗伯一比尔(Lamber—Beer)定律,物质在一定波长处吸收光的强度和它的浓度成正比。当波长不变的光线照射到机体上时,通过人体组织的吸收、反射、衰减后,测得的光强可以反映组织的结构特征。

心率主要由机体心脏节奏性波动产生的,而动脉也会跟随着节奏型的跳动。在人体指尖和耳垂的部位动脉分布比较密集,光线通过手指后可检测到的几率相对其他部位更为明显,因此本次设计的传感器应用在人体的手指尖部是最理想的位置。

3.2.2光电传感器的结构

应用在采集部分的传感器是由红外接收管和红外发射管组成。采用GaAs红外发光二极管作为光源时,可以大大减少因为呼吸产生的心率漂移。红外接收管在红外光线的照射下能产生微弱的电压,它的特点是将光信号转换为电压信号。此课程设计中,传感器的发射管和接收管相向摆放,这样就能得到最好的的光线接收效果。

当光线从发射管发出后,手指的血液组织吸收掉一部分的光线外,也有一部分的光线会被红外接收管感应到。光电心率传感器可以分为透射式和反射式两种原理制作而成[8]。综合上述考虑本设计采用了透射型光电传感器, 这样不仅检测的时候方便快捷,在抗干扰上也很出色。因此,光电式传感器的结构图就如图3.2所示。

图3.2 透射式光电传感器

3.2.3信号采集电路

图3.3是脉搏信号的采集电路,D1,Q3分别是红外发射二极管和红外接收管,当红外发射二极管中的电流越大,发射角度越小时,产生光线的强度就越大,所以对R6电阻的阻值选取精度较高。R6选择330Ω,是基于红外接收管感应红外光灵敏度考虑的。R6过大,分得的电流就偏大,通过红外发射管的电流就会偏小,红外接收管就不能区别出电流信号是心率引起的还是非心率振动引起的。反之,R6选取的过小,通过的电流就会偏大,原因和R6选取过小相同。当手指

离开传感器或检测到较强的干扰光线时,输入端的直流电压会出现很大变化,为了防止信号不致泄露到LM358输入端而造成错误指示,用C6耦合电容把它隔断[10]。传感器电路图如图3.3所示:

图3.3 信号采集电路

3.3信号放大

正常情况下人体的心率为50~200次分钟,对应的频率范围在0.83Hz~3.33Hz 之间,所以红外传感器采集到的红外频率就会很低。为了防止传感器受到外部高频信号以及光线干扰,设计稳定可靠地滤波、放大电路成为必然。要考虑到强光对其测量的干扰以及噪声等不可预知的干扰以外,低频信号需要经过多倍放大和整形,处理完的信号才能传送给单片机的处理模块。

运算放大器选用的是具有两级放大功能的LM358,使用单电源供电。主要参数和特性如下:

LM358 内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,该芯片采用单电源供电,这样就节省了制作双电源的麻烦,但同时也适用于双电源工作模式。

表 3.2 LM358引脚功能说明[5]

3.3.1 放大电路

在正常情况下,人体最大心跳频率可以达到200次分钟,基于这种前提我们可以设计出想要的低通滤波电路,如图3.6所示。可调电位器RW1、C2,C3,C4组成低通滤波器滤除大部分干扰,截止频率由R4、C3,C2,C4决定,运放LM328将信号进行两次放大,放大倍数由R4和RW1的比值决定。

低通放大电路图。如图3.4所示:

图3.4 低通放大电路

根据一阶有源滤波电路的传递函数,可得:

(3-1)放大倍数为:

(3-2)截止频率为:

(3-3)

如果按照心率跳动频率为200次分钟的频率计算3.3 Hz考虑,低频特性能够达到设计的要求。经过低通放大输出后的信号为掺杂有噪声的脉动正弦波。

3.4 波形整形电路

波形整形电路如图3.5所示,U3B是一个电压比较器,在电压比较器的负向电压输入端通过R3、R5分压得到2.5V的基准电压,放大后的信号通过C5电容耦合进入比较器,当输入的电压低于2.5v时,U3B的第七引脚输出高电平,发光二极管L2亮,并且输入单片机进行运算处理,反之输出低电平,发光二极管灭。

图3.5 波形整形电路

经过比较器U2B的输出波形:

图3.6 示波器采集波形

3.5单片机处理电路

如图3.7所示,中央处理器芯片采用了爱特梅尔(ATMEL)公司的AT89S52单片机作为CPU,此单片机不仅价格便宜,也能足够满足设计的要求和目的,且运算的速度和精度都能达到要求,并且可以根据实际情况进行编程,所用外围元件少,功耗低,故障率低。

传感器采集到的脉冲经过整形和滤波后被输出到单片机AT89S52的INT0脚,单片机设为低电平跳变中断触发模式,对脉冲进行计算,然后P0口控制液晶显示。

图3.7 单片机处理电路

3.6 显示电路

此次设计采用了液晶显示,如图3.8。

图3.8 显示电路

3.6.1 1602字符型LCD简介

1602字符型LCD液晶显示模块是一种专门显示数字、符号、字母且不带字库的一款价格低廉的液晶,本设计采用16列*2行的字符型LCD1602带背光的液晶显示屏。

1602LCD主要技术参数:

显示容量:16×2个字符

芯片工作电压:4.5-5.5 V

工作电流:2.0 mA(5.0V)

模块最佳工作电压:5.0 V

字符尺寸:2.95×4.35(W×H) mm

3.6.2 1602LCD的指令说明及时序

读写操作时序如图3.9和3.10所示:

图3.9 读操作时序

图3.10 写操作时序

3.6.3 1602LCD的RAM地址映射及标准字库表

1602LCD液晶是一个慢显示器件,因此在执行每条指令之前一定要确认模块的忙标志位为0电平,表示现在不忙,处于可操作状态,否则此指令发送失败。若要显示字符或者数字,首先要做的是给液晶发送地址指令,让字符显示的位置确定,图3.11是LCD的内部显示地址。

图3.11 液晶内部显示地址

3.6.4 电源模块电路原理图

78xx系列在设计电路时应该注意以下事项:

1、一般稳压5V使用的是7805。由于输出的是5V,输入的电压就不能太大,太大则转换效率降低,稳定性能也会降低,而且容易损坏稳压芯片。

2、负载电流不易过大,最大输出电流控制在1.5V以内。当负载连刘过大时,应该配备大的散热装置,不然会导致芯片过热而损坏。

B

图 3.12 电源模块

第4章软件系统

4.1 主程序流程:

单片机中的存储器以及可操作的IO口集成在一片芯片上,不易受环境条件的影响。开机进入主程序时,主程序一直执行的是检测按键和读液晶的程序,传感器的采集主要是在中断里进行,这样有利于提高单片机的执行效率。流程如图4.1所示。

图 4.1 主程序流程图

4.2 中断程序流程

传感器采集程序是在外部中断进程中完成对外部电平变化进行测量和计算工作的,当外部有脉搏振动是就会产生一个脉冲信号,触发单片机的外部中断,计数器自动加1,外部中断采用边沿触发的方式。流程如图4.2所示。

图 4.2 INT中断程序流程图

4.3 显示程序流程:

显示程序主要是显示此次测量心率的次数,在一定的时间后,从寄存器中重新取出最新的测量结果显示在液晶显示器上面。流程如图4.3所示。

相关文档