基于单片机的心率检测系统设计毕业论文.docx
- 文档编号:6611114
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:33
- 大小:758.02KB
基于单片机的心率检测系统设计毕业论文.docx
《基于单片机的心率检测系统设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的心率检测系统设计毕业论文.docx(33页珍藏版)》请在冰豆网上搜索。
基于单片机的心率检测系统设计毕业论文
基于单片机的心率监测系统设计
摘要
随着社会的发展,心率监测系统已经得到广泛的应用,但医学心率监测系统还存在着单一地点、实时性不精确等缺点。
本设计就是为了克服传统心率监测系统的局限性,突出价格低廉、使用简单方便、维护成本低的特点。
所设计心率监测系统采用光学感应原理做成的传感器,把心率信号转换为可测量的电信号模拟量。
在CPU的选型上,使用价格低、功能强大的AT89S52单片机。
利用中断和定时器功能,能够精确的计算出心率。
在做出硬件和完整的软件算法后,进行了多次测试,测试结果表明,本设计能够达到预期的效果。
关键词:
心率监测系统;AT89S52单片机;光电传感器
Designoftheheart-ratemonitoringsystembasedonsinglechipmicrocomputer
Abstract
Withthedevelopmentofsociety,Theheart-ratemonitoringsystemhasbeenwidelyused,buttheheart-ratemonitoringsystemhasasinglelocation,real-timeimpreciseandothershortcomings.Toovercometheselimitationsofconventionalheart-ratemonitoringsystem,highlightthecharacteristicsofinexpensive,easytouse,lowmaintenancecosts,thisheart-ratemonitoringsystemmadeuseofanopticalsensor,theheart-ratesignalwasdirectlyconvertedintotheanalogelectricalsignals.Usinginterruptandtimerfunctions,thisheart-ratewascalculatedaccurately.Aftermakingacompletehardwareandsoftwarealgorithms,severaltestswereachieved.Thetestresultsshowthisdesigncouldobtainthedesiredeffect.
Keywords:
Heart-ratemonitoringsystem;AT89S52;photoelectricsensor
第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模块功能表
模块名称
模块功能
光电传感器
非电量(红外光)模拟量点信号的转换元件,它由红外管和红外接收管组成,把接收到的红外光按一定线性关系转换成便于测量的物理量(如电压、电流或频率等)输出
信号处理
把采集到的非可直接运用的模拟量信号进行一系列的处理(包括滤波、整形、放大)。
单片机电路
单片机的计数/中断口会根据传感器输入的电平的变化运用算法计算出心率(包括AT89S52外围电路、时钟电路、外部中断等)。
液晶显示
把单片机计算得出的结果显示在LCD1602上,便于直观的读出所要测量的数据。
电源
能够给传感器、信号处理、单片机提供的电源,可以是通过7805芯片稳压后输出的5V直流稳压电源。
可以向光电传感器、信号整形、放大、单片机Vcc提供的电源。
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.1AT89S52简介
AT89C51是8位的CPU,片内有振荡器和时钟电路,工作频率为0~24MHz。
片内有256字节数据存储器RAM,有8K字节程序存储器ROM,4个8位的并行I/O口(P0、P1、P2、P3),1个全双工串行通讯口,3个16位定时器/计数器(T0、T1、T2),可处理6个中断源,两级中断优先级。
低功耗的闲置和掉电模式。
3.1.2AT89S52的结构
本设计所使用的单片机的封装形式是DIP40,如图3.1:
图3.1AT89S52的封装形式
AT89S52单片机40脚。
如表3.1所示:
表3.1单片机引脚
引脚名称
引脚个数
Vcc,GND
2
XTAL1,XTAL2
2
RESET
1
EA/Vpp
1
ALE/PROG
1
PSEN
1
P0.0—P0.7
8
P1.0—P1.7
8
P2.0—P2.7
8
P3.0—P3.7
8
P3口也可作为特殊的功能口,如下列所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器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=1/fosc=1/12Mhz
Tm=12XTc=12X1/12Mhz=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.2LM358引脚功能说明[5]
引脚序号
英文
缩写
集成电路
引脚功能
电阻参数(KΩ)
直流电压参数(V)
正笔接地
负笔接地
有信号
无信号
①
AMPout1
放大信号
(1)输出
17
7
6.5
6.5
②
IN1-
反向信号
(1)输入
19
7.5
6.5
6.5
③
IN1+
同向信号
(1)输入
4.9
4.9
6.3
6.3
④
GND
接地
0
0
0
0
⑤
IN2-
反向信号
(2)输入
4.9
4.9
6.3
6.3
⑥
IN2+
同向信号
(2)输入
58
8
6.4
6.4
⑦
AMPout2
放大信号
(2)输出
18
6.9
6.4
6.4
⑧
Vcc
电源电压+12V
0.43
0.43
12
12
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.3Hz考虑,低频特性能够达到设计的要求。
经过低通放大输出后的信号为掺杂有噪声的脉动正弦波。
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.11602字符型LCD简介
1602字符型LCD液晶显示模块是一种专门显示数字、符号、字母且不带字库的一款价格低廉的液晶,本设计采用16列*2行的字符型LCD1602带背光的液晶显示屏。
1602LCD主要技术参数:
显示容量:
16×2个字符
芯片工作电压:
4.5-5.5V
工作电流:
2.0mA(5.0V)
模块最佳工作电压:
5.0V
字符尺寸:
2.95×4.35(W×H)mm
3.6.21602LCD的指令说明及时序
读写操作时序如图3.9和3.10所示:
图3.9读操作时序
图3.10写操作时序
3.6.31602LCD的RAM地址映射及标准字库表
1602LCD液晶是一个慢显示器件,因此在执行每条指令之前一定要确认模块的忙标志位为0电平,表示现在不忙,处于可操作状态,否则此指令发送失败。
若要显示字符或者数字,首先要做的是给液晶发送地址指令,让字符显示的位置确定,图3.11是LCD的内部显示地址。
图3.11液晶内部显示地址
3.6.4电源模块电路原理图
78xx系列在设计电路时应该注意以下事项:
1、一般稳压5V使用的是7805。
由于输出的是5V,输入的电压就不能太大,太大则转换效率降低,稳定性能也会降低,而且容易损坏稳压芯片。
2、负载电流不易过大,最大输出电流控制在1.5V以内。
当负载连刘过大时,应该配备大的散热装置,不然会导致芯片过热而损坏。
图3.12电源模块
第4章软件系统
4.1主程序流程:
单片机中的存储器以及可操作的I/O口集成在一片芯片上,不易受环境条件的影响。
开机进入主程序时,主程序一直执行的是检测按键和读液晶的程序,传感器的采集主要是在中断里进行,这样有利于提高单片机的执行效率。
流程如图4.1所示。
图4.1主程序流程图
4.2中断程序流程
传感器采集程序是在外部中断进程中完成对外部电平变化进行测量和计算工作的,当外部有脉搏振动是就会产生一个脉冲信号,触发单片机的外部中断,计数器自动加1,外部中断采用边沿触发的方式。
流程如图4.2所示。
图4.2INT中断程序流程图
4.3显示程序流程:
显示程序主要是显示此次测量心率的次数,在一定的时间后,从寄存器中重新取出最新的测量结果显示在液晶显示器上面。
流程如图4.3所示。
图4.3显示程序流程图
4.4软件说明
本程序采用C语言编程,它具有非常好的可读性。
C语言是一种结构化程序语言。
它的层次分明,方便于按模块化的方式组织程序,在实际维护和调试时也很方便。
C语言具有很好的编译性,是计算机最低层的语言,编写简单易懂,而且处理效率极高。
它具有大量的运算符和数据类型,方便于实行多种复杂的数据结构。
C语言同样还可以直接访问内存,进行位操作。
由于C语言可以对硬件的编程进行操作,所以C语言能都实现一切转换为机器语言的代码,逻辑性强。
适用于系统软件和应用软件的开发。
第5章抗干扰及使用方法
5.1抗干扰措施
为了达到高精度的测量数据,首先是从硬件下手,硬件是软件的基础,没有硬件的支持,软件只是纸上谈兵,只有硬件做的好,才能提高监测系统的精确度。
5.1.1环境光对心率传感器测量的影响
想要减少环境光对信号测量的影响,考虑到传感器使用的方便性,本打算是在暗盒中进行测量,但那样就不能很好地体现出设计的方便性了。
在曝光的情况下测量就要考虑到各种干扰因素,所以硬件的完美盒软件算法的结合才能减少不必要的测量误差。
5.1.2电磁干扰对心率传感器的影响
光电式传感器得到的电信号模拟量是比较微弱的,而经过整形、放大后的信号由于受到硬件的干扰也是比较强的,所以在硬件电路设计的时候尽量不用对电路影响比较大的感性负载和容性负载。
正常情况下心率的频率会在0.3-30Hz之间,也就是小于家用电网频率50Hz,因此在知道大环境的工频干扰之后就可也设计出信号的调理电路,这在信号调理电路中很容易通过硬件的方式实现;为了节能环,减少电路的整体功耗,在传感器信号调理中进行脉冲调剂,可以在一定程度上减少外界的电磁干扰。
5.2使用方法
测量仪接通电源后,数码管全部显示0。
把手轻轻置于右下角的传感器中,以稍微有压迫感为宜
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 心率 检测 系统 设计 毕业论文