心率计心跳监控系统c语言毕业设计.docx
《心率计心跳监控系统c语言毕业设计.docx》由会员分享,可在线阅读,更多相关《心率计心跳监控系统c语言毕业设计.docx(30页珍藏版)》请在冰豆网上搜索。
心率计心跳监控系统c语言毕业设计
摘要
随着社会的飞速发展,人们的生活方式和膳食结构发生了巨大的变化,与此同时,人类因各类突发性疾病的死亡率逐年提高,心血管疾病已成为威胁人类健康的多发病,而且发病率逐年提高,发病年龄也出现下降趋势。
心脏病是人们难以预防的突发性疾病,所以自身的健康也被越来越多的人所重视。
本设计要解决的就是可以测量心率,预防心脏病等心血管方面的疾病的心跳监控系统。
本设计采用以AT89S52单片机为核心控制器件的低成本、高精度、体积小的数字显示的心率计。
心率监控系统的工作原理是利用SC0073型压电传感器接收到人体信号,通过电路中的放大电路将信号放大、整形处理,最后再传给单片机AT89S52处理,处理完成后由三位数码管显示出来。
整个监控系统采用模块化设计,由主程序、预置子程序、信号采集子程序、信号放大处理子程序、显示子程序等模块组成。
传感器探头采集的信号经单片机分析处理,实现心率测量的功能。
在此基础上设计了心跳监控系统的总体方案,通过硬件和软件来实现各个功能模块。
该心跳监控系统可以便捷的测量出人体的心跳,基本实现预定的目标,大大降低测量心跳的时间,且方便携带。
关键词:
AT89S52;SC0073;心率;监控系统
Abstract
Withtherapidsocialdevelopment,people'slifestyleanddietarystructurehaschangedagreatdeal,atthesametime,becauseofthesuddenillnessofhumanmortalityisalsomoreandmorehigh,cardiovasculardiseasehasgraduallybecomethefrequently-occurringdiseasethreatenshumanhealth,andincidenceincreasedyearbyyear,theagealsodrop.Peoplearehardtopreventheartdiseaseofsuddendisease,sotheirhealthisalsomoreandmorepeoplepayattentionto.Thisdesigntosolveiscanmeasureheartrate,preventheartdiseaseandothercardiovasculardiseasesoftheheartmonitorsystem.
ThisdesignusestheAT89S52SCMasthecoretocontroldeviceoflowcost,highprecision,smallvolumeofdigitaldisplayofheartrateplan.HeartratemonitorsystemusesSC0073piezoelectricsensorstoreceivethehumanbodysignals,throughthecircuitoftheamplifiercircuitwillamplification,plasticprocessing,andfinallytotomonolithicintegratedcircuitAT89S52treatment,afterthecompletionofthethreedigitalpipebythedisplay.Thewholemonitoringsystemusesmodulardesign,themainprogram,presetsubroutines,signalacquisitionprocedure,amplificationprocessingprocedure,displaysubroutinesetcmodule.SensorprobeacquisitionofthesignalanalysisandprocessingofSCM,realizethefunctionoftheheartratemeasurement.Basedonthisdesignheartbeattheoverallschemeofthemonitoringsystem,throughthehardwareandsoftwaretoachieveeachfunctionalmodules.
Theheartratemonitorsystemcanbeconvenientmeasurethehumanheartbeat,basicforachievingthegoal,andgreatlyreducemeasuringtheheartbeatoftime,andeasytocarry.
KeyWords:
AT89S52;SC0073;heartrate;monitorsystem
1引言
随着社会的飞速发展,人们的生活方式和膳食结构发生了巨大的变化,与此同时,人类因各类突发性疾病的死亡率逐年提高,心血管疾病已成为威胁人类健康的多发病,而且发病率逐年提高,发病年龄也出现下降趋势。
在世界范围内,心血管病患者不断增多。
世界卫生组织指出,目前全球每年有1700万人死于心脏病和其它心血管疾病,约占全球死亡人数的三分之一。
心血管疾病已成为二十一世纪严重威胁人类健康的头号杀手。
心血管疾病同样是我国居民主要的死亡疾病之一,每年大约有260万人死于心血管疾病,每12秒就有1人因为心血管疾病而死亡[1]。
而心脏病的发作更是是人们难以预防的突发致命疾病。
所以,如何测量和防治心血管疾病,已成为全世界解决的一项重大课题。
脉搏,即动脉的搏动。
心脏收缩时,由于输出血液冲击引起的动脉跳动。
在医学上,通过测量人的心率,便可初步判断人的健康状况。
人体不同的生理信号,能反映相应部位的身体变化,是临床诊断的重要依据。
例如心电变化的测量与记录是现代医学诊断心脏的主要手段[1]。
而正常人的脉搏和心跳是一致的。
自从Dr.WillemEinthoven在1902年发明了第一个“心电图”,心脏的电位变就被记录下来。
直到20世纪60年代才有能够识别一个正常的心律和失常的心律没有共同的保健设施。
在过去的40年里,在记录和解析心电图方面已经取得了很大的进步。
尽管心脏诊断技术在不断的发展,但心电图(ECG)仍是一种无损、快捷、有效的诊断工具。
当你第一次接触心电图就好比第一次学习一门外语。
没有任何的知识结构或规则,理解几乎是不可能的[2]。
而心率计是心电监护机的一部分或是单独测量心率的装置。
目前,在心电图的研制和生产中占主要地位的是以德国、日本为主的发达国家,相对国内的心电图机的发展,特别是在家用领域发展缓慢,工艺水平也较落后。
特别是应用在家庭使用中的更是寥寥无几[3]。
日本、德国等极少数的国家虽然已经研制家用的数字心电图机,但是进口的心电图机价格对于国内的消费水平是难以接受的,因此很难进入中国的普通家庭。
随着医疗技术的进步,特别是生物医学工程技术的迅速提高,家庭保健工程的发展已经越来越受到人们的重视,预防及检测病人的心血管功能并进行康复治疗是最受重视的[4]。
根据中国医学协会的统计有近60%的心脏类疾病的死亡是发生在家庭和社区范围内的。
如果在心血管疾病病发的早起就能发现心率的异常,及时通知家属,就能及早就医。
医学实践表明,心脏类疾病如果可以及时发现并做恰当处理,则患者有70%-80%的生存率[5]。
因此,研究设计出一种用单片机制作,具有性能稳定、成本低、体积小、重量轻,抗干扰能力强,且方便携带的心率测量仪,将具有很好的发展前景。
目前在国内外,获取脉搏信号的技术主要有:
(1)脉压测量方法;
(2)心电电位脉搏测量方法;(3)脉搏波传导速度测定方法[6];(4)超声多普勒方法;(5)弹性腔膜型方法;(6)平面脉搏压力波形测量分析方法;(7)核磁共振方法;(8)光电脉搏波测量方法[7][8]。
这些检测方法的原理以及检测出的脉搏信号类型都各有不同,每种方法都各有其各自的优点和缺点,通过综合比较这些测量方法,其中以脉搏测压法、光电脉搏波测量方法、平面脉搏压力波形测量分析方法的性价比比较高[9]。
因此采用脉压测量脉搏信号是一种比较先进的无创检测手段[10]。
本文阐述了基于单片机设计的心跳监控系统设计原理与硬件的实现方法。
采用以AT89S52单片机为基础,压电传感器进行信号采集为的低成本、高精度、体积小的数字显示的心率计,能快速测量出被测人的心率参数,对异常情况进行声音报警。
整个系统的设计由硬件和软件两部分组成,其中硬件部分由采样电路、滤波电路、放大电路、比较电路和单片机处理电路及显示电路组成,并对部分电路进行仿真。
同时还提出了基于单片机的编码、译码程序设计流程图。
从整体上实现了心跳监控系统的功能。
2总体设计
2.1心跳监控系统原理
心率是指人体心脏每分钟搏动的次数,正常人的脉搏和心跳是一致的。
它是反映心脏是否正常工作的一个重要参数,同时心率的值也是衡量体力劳动强度和脑力劳动强度的重要指标。
因此心率的测量是一种评价病人生理状况很好的方法。
采用压电传感器的心率监控系统的基本检测原理为:
随着心脏的搏动,人体手腕的脉搏及颈部的搏动较为明显,我们采用压电传感器放在上述位置,把压电传感器测到的信号转换成脉冲并进行整形、计数和显示,就能实现实时检测脉搏次数的目的。
正常成人为60次/分到100次/分,常为每分钟70-80次,平均约72次/分。
老年人较慢,为55次/分到60次/分。
正常人脉率规则,不会出现脉搏间隔时间长短不一的现象。
正常人脉搏强弱均等,不会出现强弱交替的现象。
病情危重,特别是临终前脉搏的次数和脉率都会发生明显的变化。
而本心跳监控正是基于此进行设计,对不合格的心率信号进行语音报警。
相比较与传统的红外光电传感器制作的心脏监控系统,采用压电传感器的设计方案要简单的多,由于采集到的信号经过传感器后,信号本身成了数字信号,可直接送到单片机进行处理,省去了A/D电路。
既简化了硬件电路也省下了A/D转化部分的编程。
2.2总体电路框图设计
心跳监控系统的总体设计电路框图如图2-1所示,主要包括取样电路、放大电路、比较电路和单片机处理电路及显示电路。
首先,使用压电传感器采集与心跳同频率的信息,送至单片机后,然后软件对信号进行处理,最后在数码管上显示出数值,对不合格的心率信号进行语音报警。
图2-1系统设计原理框图
3元器件的选择及其功能介绍
3.1单片机AT89S52
主要性能:
(1)与MCS-51单片机产品兼容
(2)8K字节在系统可编程Flash存储器
(3)1000次擦写周期
(4)全静态操作:
0Hz~33Hz
(5)三级加密程序存储器
(6)32个可编程I/O口线
(7)三个16位定时器/计数器
(8)八个中断源
(9)全双工UART串行通道
(10)低功耗空闲和掉电模式
(11)掉电后中断可唤醒
(12)看门狗定时器
(13)双数据指针
(14)掉电标识符
功能特性描述:
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案[11]。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止[12]。
AT89S52的引脚结构如图3-1所示。
图3-1AT89S52的引脚结构
引脚功能介绍[13]:
VCC:
电源正端输入,接+5V。
VSS:
电源地端。
XTAL1:
单芯片系统时钟反相放大器输入端。
XTAL2:
系统时钟的反相放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入30PF的小电容,可以使系统更稳定,避免噪声干扰而死机。
RESET:
AT89S52的重置引脚,高电平有效,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。
EA/Vpp:
EA为英文ExternalAccess的缩写,表示存取外部程序代码之意,低电平有效,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。
因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。
如果是使用8751内部程序空间时,此引脚要接成高电平。
此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。
ALE/PROG:
ALE是英文AddressLatchEnable的缩写,表示地址锁存器启用信号。
AT89S51可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0~A7)锁进锁存器中,因为AT89S51是以多工的方式送出地址及数据。
平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。
此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。
PSEN:
此为"ProgramStoreEnable"的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。
AT89S51可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。
PORT0(P0.0~P0.7):
端口0是一个8位宽的开路极(OpenDrain)双向输出入端口,共有8个位,其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在做I/O用时可以推动8个LS的TTL负载。
如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。
PORT2(P2.0~P2.7):
端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。
P2除了当做一般I/O端口使用外,如果是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2就不能做I/O来使用了。
PORT1(P1.0~P1.7):
端口1是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LSTTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。
PORT3(P3.0~P3.7):
端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。
其引脚分配如下:
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,外部数据存储器的读取信号。
3.2低功率运算放大器LM324N
LM324系列器件为价格便宜的带有真差动输入的四运算放大器。
其最大额定值如表3-1所示,与单电源应用场合的标准运算放大器相比,它们有显著的有点:
该四放大器可以工作在低到3.0伏或高到32伏的电压下,静态电流大致为MC1741的五分之一(对每个放大器而言),共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性,输出电压范围也包括负电源电压。
其管脚连接图如图3-2所示:
图3-2LM324管脚连接图
(1)短路保护输出
(2)真差动输入级
(3)单电源工作,3.0V~32V(4)低输入偏置电流,最大100nA[LM324A]
(5)每一个封装四个放大器(6)内部补偿
(7)共模范围扩展到负电源(8)行业标准引脚输出
(9)在输入端的静电放电位增加可靠性而不影响器件的工作
表3-1LM324的最大额定值
额定值
符号
LM324,
LM324A
LM2902
LM2902V
单位
电源电压
单电压
分离电压
VCC
VCC,VEE
32
±16
26
±13
Vdc
输入差动电压范围
Vidr
±32
±26
Vdc
输入共模电压范围
Vicr
-0.3~32
-0.3~26
Vdc
输出短路持续时间
Tsc
连续
结温
Tj
150
℃
保存温度范围
Tstg
-65~+150
℃
工作环境温度范围
TA
-25~+85
0~70
-40~+105
-40~+125
℃
表3-1LM324的最大额定值
3.3SC0073微型动态脉搏微压传感器
动态微压传感器,如图3-3所示,是一种高性能、低成本的压电式小型压力传感器,产品采用压电薄膜作为换能材料,动态压力信号通过薄膜变成电荷量,在经传感器内部放大电路转换成电压输出。
该传感器具有灵敏度高,抗过载及抗冲击能力强,抗干扰性强、操作简便、体积小、重量轻、成本低等特点,广泛应用于医疗、工业控制、交通、安全防卫等领域。
SC0073压电薄膜脉搏传感器,具有灵敏度高,频率响应范围宽,抗过载及冲击力强,搞干扰性好,操作方便等特点。
是一种高质量的心音脉搏传感器。
该传感器具有良好的低频应响,可以方便地测试劲动脉搏,可以与国内外有关的生理记录相配。
图3-3SC0073压电传感器
典型应用:
脉搏技术探测
按键键盘,触摸键盘
震动、冲击、碰撞报警
振动加速量
管道压力波动
其它机电转换、动态力检测等
动态微压传感器主要性能指标:
压力范围:
≤1Kpa
灵敏度:
≥0.2mv/pa
非线性度:
≦1%F.S
频率响应:
1-1000HZ
标准工作电压:
3V(DC)
扩充工作电压:
1.5~6V(DC)
扩充电阻:
10K
外形尺寸:
5K~20K
重量:
<1.5g
3.4数码管
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳极数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴极数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
(1)静态显示驱动:
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段选码都由一个单片机的I/O端口进行驱动,或者使用如BCD码、二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S52单片机可用的I/O端口才32个呢:
),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
(2)动态显示驱动:
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a、b、c、d、e、f、g、dp"的同名端连在一起,另外每个数码管的公共极COM增加选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管不是同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
4系统硬件设计
硬件电路的设计主要包括单片机系统及显示电路、信号采集、信号放大、比较电路四部分。
单片机采用AT89S52或其兼容系列。
采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。
利用外中断0口监测由压电传感器SC0073、信号采集电路输出的信号。
显示电路采用简单实用LED数码管,信号用LM324放大,比较电路也使用用LM324。
仿真主要包括放大电路与比较电路和单片机。
4.1单片机最小系统
AT89S52是片内有EPROM的单片机。
因此,用AT89S52单片机构成的最小系统具有简单、可靠的特点。
使用AT89S52单片机最小应用系统时,只要需接上时钟电路和复位电路以及扩展的简单I/O口就可以了,如图4-1所示。
由于受集成度、片内功能的限制,AT89S52单片机最小系统只能应用到一些比较小型的控制单元。
其特点:
(1)有较多可供用户使用的I/O口。
由于不需要扩展外部存储器(ROM),EA应接高电平,P0、P1、P2、P3均作为用户I/O口使用。
(2)内部存储器(RAM)容量有限。
应用系统开发具有特殊性。
如AT89S52的应用软件须依靠半导体厂家用半导体掩膜技术置入,所以AT89S52的应用系统可以用于大批量生产。
另外,P0、P2口的应用与开发环境差别较大。
4.1.1复位电路
时钟电路工作后,在REST管脚上加两个机器周期的高电平,芯片内部开始进行初始复位。
其电路图如图4-1所示:
图4-1复位电路
4.1.2振荡电路
本设计晶振频率选为12MHz,电容选择30pF,其电路图如图4-2所示