脉搏测量仪毕业设计论文11 - 范文中心

脉搏测量仪毕业设计论文11

12/01

摘 要

本课题是人体脉搏测量仪的设计。由于脉搏信号的特殊性,在设计时必须要注意实现测量的准确。该系统的重点就在于要求实现测量的简便化和精确化。系统要在小于十秒的时间内,测量出人体一分钟的脉搏,并且保证误差在2次以内。本系统以89S51单片机作为中心,通过使用单片机来实现系统最核心的计算脉搏功能。在信号的前端处理上,使用压电陶瓷片采集人体脉搏信号,然后经过AD620放大,施密特触发器整形,低通滤波器滤波等一系列操作,将脉搏信号转换为同频率的脉冲信号输入到单片机内,并利用单片机对其进行计数。计数的方法是利用单片机的计时器,计算一次心跳的时间,然后由该周期计算出频率,继而就可以求出一分钟的脉搏数。按照理论来说,只要有一次心跳信号就可以。但是要考虑到计算的精确性,可以设定为测量五次心跳信号,然后再求脉搏就可以使结果比较精确。计数结果将最终送至液晶屏1602来进行显示。虽然压电陶瓷片的性能并非很好,在信号的采集上不能实现非常精确的采集,但是它的价格低廉,并且在经过系统的信号调理电路后,也能比较满意的实现我们所要实现的目标。整个系统耗电低,体积小,具有便携性与精确性。经过多次调试和实验,本系统基本实现了设计所要求的指标。

关键词:脉搏测量;压电陶瓷片;液晶显示屏;单片机

目 录

引言………………………………………………………………………1 1 设计任务及要求……………………………………………………3

1.1 设计任务………………………………………………………………3

1.2 设计要求………………………………………………………………3

1.3 设计时所遇到的问题………………………………………………… 3 2 系统总体设计……………………………………………………… 3

2.1 方案论证…………………………………………………………… 3

2.2 总体设计框图…………………………………………………………4 3 系统硬件设计……………………………………………………… 5

3.1 脉搏信号采集…………………………………………………………5

3.1.1传感器的选择…………………………………………………………………5

3.1.2三种方案的优缺点比较…………………………………………………… 6

3.1.3压电陶瓷片介绍………………………………………………………………7

3.2 信号调理单元…………………………………………………………7

3.2.1一级放大电路…………………………………………………………………8

3.2.2二阶滤波器电路…………………………………………………………… 10

3.2.3二级放大电路……………………………………………………………… 12

3.3 整形电路…………………………………………………………… 14

3.4 电源滤波电路……………………………………………………… 16

3.5 单片机电路………………………………………………………… 16

3.6 显示系统…………………………………………………………… 18 4 系统软件设计…………………………………………………… 19

4.1 软件部分设计……………………………………………………… 19

4.1.1主程序模块………………………………………………………………… 20

4.1.2液晶驱动模块……………………………………………………………… 21

4.2 软件开发环境……………………………………………………… 21 5 测试方案及结果………………………………………………… 21

5.1 测试方案……………………………………………………………21

5.2 模拟测试结果……………………………………………………… 21

5.2 实际测试结果……………………………………………………… 22 6 结束语………………………………………………………………22 谢辞……………………………………………………………………24 参考文献………………………………………………………………25 附录……………………………………………………………………26

引言

在我国传统中医学的诊断中,“望、闻、问、切”是最基本的四个方面。而在其中,切,也就是脉诊,占有非常重要的地位。通过脉诊,医生可以对患者的身体状况有一个大概的了解,进而对症下药。脉搏信号可以直接反应出患者心脏的部分状况,我国传统中医学认为,通过脉诊可以了解到患者脏腑气血的盛衰,可以探测到病因,病位,预测疗效等。

从近代医学的角度来看,人体循环系统承担着协调全身各组织的能量代谢,输送氧气、营养物质,运走代谢废物等重要的工作,还承担运送抗体、激素等物质以协调整体的动态平衡。从整体的角度对疾病进行综合分析,显然循环系统的信息将占很重要的比重;从整个循环系统来看桡动脉介于大动脉与小动脉之间,由于心脏的舒缩、内脏血容量的变化、血管端点阻抗、管道内脉波的反射、血液的粘滞性、血管壁的粘弹性等因素使脉象携带着有关心脏运动、内脏循环、外周循环等丰富的心血管系统及整体的动态信息。因此脉诊的临床意义很大,它的机理是急待于我们进行研究的。

鉴于脉诊的重要性,人们对于脉搏测量一直非常关注,早在1860年Vierordt 创建了第一台杠杆式脉搏描记仪,国内20世纪50年代初朱颜将脉搏仪引用到中医脉诊的客观化研究方面。此后随着机械及电子技术的发展,国内外在研制中医脉象仪方面进展很快,尤其是70年代中期,国内天津、上海、广州、江西等地相继成立了跨学科的脉象研究协作组,多学科共同合作促使中医脉象研究工作进入了一个新的境界。

脉搏测量仪的发展主要向以下几个趋势发展:

(1) 自动测量脉搏并且对所得到的脉搏进行自动分析。

目前很多脉搏测量仪都具有检测血氧等其他的功能,但是对这些信号的分析和诊断还需要一些有经验的医生观察,进行分析后才能确认结果,浪费大量的人力,且由人为引入的误差较大。因此,未来脉搏自动检测的内容将更加详细,自动分析诊断功能也更强大。

(2) 数字化技术等先进技术的应用。

随着数字科学技术的发展,脉搏测量仪集成度将更高,更便于携带。数字信号处理的运用将使干扰更小,测量更为准确。

(3)多功能化越来越明显

目前的脉搏测量仪,一般都具有测试血氧,心电图等等功能,单纯的脉搏测量仪已经很少见。随着电子技术的发展,脉搏测量仪必然可以实现更多的功能。 本设计所使用的系统利用压电陶瓷片将脉博转换为电压信号,经过信号调理

后利用AT89S51单片机进行信号采集和处理,在短时间内,测量出人体一分钟的脉搏数,并将心率进行实时显示,便于携带。达到了方便、快速、准确地测量心率的目的。这样的脉搏测量系统性能良好,结构简单,性价比高,输出显示稳定,比较适应大众化,适合家庭进行自我检查以及医院护士进行每日的临床记录。 1 设计任务及要求

1.1 设计任务

本课题要求利用传感器对人体脉搏信号进行采集,设计相应的信号调理电路,然后利用通过对脉搏信号进行测量,来进行实时显示测量结果。

1.2 设计要求

(1)、完成一次测量时间:

(2)、脉搏测量精度:≤±2次/分钟;

(3)、能够实时显示测量结果。

1.3 设计时要考虑的问题

由于人体的脉搏信号具有频率低、幅度小干扰大,不稳定度低,随机性强等特点,使得对脉搏信号的采集放大电路的设计提出了很严格的要求,尤其是抗干扰变为十分重要,需要设计低通滤波器进行滤波。选择放大器时需要从增益、频率响应,输入阻抗,共模抑制比,噪声,漂移等几个方面加以综合考虑。

(1)抗干扰

1 工频50HZ干扰及其各次谐波 ○

使用频率为50HZ的市电的电子仪器设备会对检测系统会产生较大的干扰,其幅值大约是脉搏信号峰峰值的50%,是主要的干扰源

2肌电干扰 ○

肌肉的收缩会产生微伏级的电势,其幅值大约是脉搏信号峰峰值的10%,维持时间大约是50ms,频带范围可以在0HZ~10000HZ。

3由于呼吸引起的基线漂移和ECG幅度变化 ○

呼吸引起的基线漂移可以看成是一个以呼吸的频率加入ECG信号的窦性成分(正弦曲线),这个正弦成分的幅度和频率是变化的。呼吸所引起的ECG信号的幅度的变化可以达到15%。基线漂移的频率是从0.15~0.3HZ。

(2)低噪声、低漂移

在脉搏信号放大器中,由于增益较高,噪声和漂移是两个较重要的参数。脉搏信号放大器运行过程中的噪声主要表现为电子线路的固有热噪声和散粒噪声,这些都属于白噪声,其幅值为正态分布。为了获得一定信噪比的输出信号,对放大器的低噪声性能有严格要求。另外,温度变化会造成零点漂移,漂移现象限制了放大器的输入范围,使得微弱的缓变信号无法被放大。而脉搏信号具有很低的

频率成分,为了能正常测量,必须采取措施来限制放大器的漂移。所以放大器应选用低漂移,高输入阻抗并且具有高共模抑制比的集成运放电路。

2 系统总体设计

2.1 方案论证

脉搏测量仪要实现对脉搏信号的检测,并且能够对脉搏信号进行处理,并进而求得脉搏数来显示。考虑到系统的实现,有两种方案可以实现。

方案一:使用纯硬件电路来实现。整个系统的框图如下图图2.1所示

图2.1 纯硬件脉搏测量仪框图

方案二:使用单片机电路来实现。通过信号调理电路,将脉搏信号转换为数字信号,然后利用单片机来实现脉搏测量功能。使用该方案其框图如下图图2.2所示。

图2.2 单片机脉搏测量仪框图

通过比较以上两种方案。方案一由于使用纯硬件方式,系统稳定度比较高。但是功能有限,灵活度较低,也不能很好的实现锻炼自己的目的。而单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,

而且还可以方便的对系统进行升级,所以我们采用后一种方案。

2.2 总体设计框图

脉搏测量仪系统总框图,如图2.3所示。系统由五个部分组成:信号采集单元,信号调理单元,信号整形单元,单片机单元,显示单元。其中信号采集单元主要是选用合适的传感器将脉搏的压力信号转换为电信号,一般传感器输出的电压都在几毫伏左右。信号调理单元主要包括信号的低通滤波,以及实现信号的放大,经过信号调理单元,几毫伏的脉搏信号的电压被放大为4V-5V左右。信号整形单元则将模拟信号转化成数字信号,将脉搏信号转换为同频率的脉冲。单片机单元通过计时器求出一次脉搏的时间,并进而得出脉搏数,然后将该数据送到显示单元进行显示。显示单元选择数码管或者液晶屏,对数据进行实时显示。

图2.3 系统总体框图

3 系统硬件设计

系统的硬件框图如图2.3所示,包括五个部分组成。下面将分别介绍该五个单元。

3.1 脉搏信号的采集

该单元要将脉搏跳动的压力信号转换为电信号,因此需要使用传感器来实现。

3.1.1传感器的选择

①压电式传感器

目前常用的是一次性心电电极,它是用印刷方法制得的Ag/ Agcl传感器。这种传感器采用接扣与敏感区分离的方法,能明显的减少由于人体运动产生的干扰。电极的好坏对采集到的心电信号质量起着至关重要的作用,采用的电极应有贴力强,能紧附在人体表面,柔软、吸汗、极化电压低、导电性良好等特点。当选用电极传感器时,需要3个电极分别置于左右手和左腿,构成标准导联。临床上为了统一和便于比较所获得的脉搏信号,在检测脉搏信号时,对电极的位置,引线与放大器的连接方式都有严格的统一规定。

目前市场上有一种采用新型高分子压电材料聚偏氟乙烯研制的压电传感器,其灵敏度高,频带范围好,结构简单,便于使用。当手指前端受到轻微的压力时,

可以感觉到手指前端在血压的作用下有一张一弛的感觉,将这个信号用传感器提取出来,转变为电信号,通过指脉的波形检测,就可以获得人体的脉搏信号。

2光电式传感器 ○

血液是高度不透明的液体,光照在一般组织中的穿透性要比血液中大几十倍,据此特点,采用光电效应手指脉搏传感器来拾取脉搏信号。反向偏压的光敏二极管,它的反向电流具有随光照强度增加而增加的光电效应特性,在一定光强范围内,光敏二极管的反向电流与光强呈线性关系。指端血管的容积和透光度随心搏改变时,将使光电三极管极管收到不同的光强,并由此产生的光电流均随之作相应变化。常用检测脉搏的光电传感器分为红外对管和红外放射管。

采用红外对管。将对管夹于手指端部,通过手指的血液浓度会随着心脏的跳动发生变化,红外对管对应的信号便会发生相应的变化,采集此信号经过放大,滤波,比较等处理便可以得到理想的信号。。

采用反射式的红外管。现在市场上的心率计普遍采用这种传感器来采集信号,因为此红外管接收和发射都在手指的同一侧,因此便不用考虑每个人手指情况不同所造成的麻烦。接收的是血液漫反射回来的光,此信号可以精确地测得血管内容积变化。

3集成传感器 ○

当前,市面上有很多类型的集成心电传感器,其灵敏度高,集成度高,直接就可以反映出心率的变化,且已包含了滤波等抗干扰电路,波形经过放大可以直接处理使用。缺点是价格非常昂贵,一般均在五百元以上,就本次设计来说,考虑到经费以及锻炼自己的目的,不选择使用该型传感器。

3.1.2三种方案的优缺点比较

1光电式: ○

优点:灵敏度高,易于操作,响应速度快,结构简单。

缺点:1、外部光源的变化对测量结果的影响较大;

2、需要购买专门的医用光电传感器,价格较贵且不易购买;

3、对这样的器件接触很少,对其进行调试时可能会出现较大困难。

2压电式: ○

优点:结构简单,实时性好,工作频带宽,应用电路简单,且价格低廉。 缺点:直接与人体相接触,容易因为人体肌肉的颤动等而产生干扰。并且容易受到外界其他信号的干扰。

3集成式: ○

优点:集成度高,包含了滤波,放大电路,可以直接输出信号,便于操作,有效的减少了各种干扰。

缺点:降低了本任务的难度,如果采用该传感器,只需将其直接接上单片机即可实现功能,且价格非常昂贵。

考虑到种种情况,结合本系统的设计要求以及经费的考虑,最终选择压电式陶瓷片。该传感器价格较低,而且输出电压变化较为明显,可以实现我们的实验目的。

3.1.3压电陶瓷片介绍

压电陶瓷片的外观和电路符号如下图3.2所示。压电片包括三个部分,镀银层,压电陶瓷,以及铜片。外部压力作用于铜片时,压电陶瓷就可以感受压力而产生电信号,并最终通过镀银层将该信号输出。在使用时,压电陶瓷片要通过导线与电路板连接,注意在焊接压电陶瓷片时,时间不能太长以免烫坏压电陶瓷片的镀银层。

图3.1 压电陶瓷片的符号及外观

由于压电陶瓷片的资料比较少,为了确定使用该传感器能够实现本次设计的目的,先要对其进行实验,来确定它的输出电压是否符合要求。

使用实验室砝码来测试,其结果如下表表3.1所示。

由于只需要4mv-5mv左右的电压输出,就可以实现设计要求。由本次试验,可以得知压电陶瓷片可以实现我们所要达到的目标。

3.2 信号调理单元

信号调理电路包括对信号的放大和滤波两个部分。由于传感器输出的电压比较小,在几毫伏左右,且频率较低,需要低噪声,低漂移,高输入阻抗的放大器,所以选择使用仪表放大器。肌电干扰可能会导致放大器的静态工作点偏移,甚至使放大器达到饱和,所以第一级放大器的放大倍数不能太高。因此还需要另一个放大器。此外,为了滤去高频信号和市电的干扰,还需要设计一个低通滤波器。这部分电路的框图如下图图3.2所示。

图3.2 信号调理单元框图

下面,将分别介绍三个部分。

3.2.1一级放大电路

一级放大电路是整个系统设计的重点,脉搏测量仪要求在脉搏信号频率范围内,不失真的放大所采集的微弱信号,这要求所用的放大器必须具有低噪声,低漂移,低失调参数,高共模抑制比,高输入阻抗,线形度小等特点。

为了达到上述要求,并联型双运放放大电路能满足其要求

图3.3 并联型双运放放大电路

前两个运放为同向比例放大器,输入阻抗很高,它对共模信号有很高的抑制比。由于Rx连接于这两个放大器的求和点之间,当一个差分电压加到医用放大器的输入端时,整个输入的电压都呈现在Rx两端。由于Rx两端的电压等于V2-V1,所以流过Rx的电流等于(V2-V1)/Rx,因此输入信号将通过放大器获得增益并且得到放大。

这种电路的优点在于:

a,高共模抑制比;

b,通常只需改变电阻Rx大小可改变增益。

以上电路需要三个运放,在调试的时候会比较复杂。现在的很多仪表放大器的内部电路与这个电路相同,而且仪表放大器都有成品可以买到,只需调整外界电阻就可以调整放大器的放大倍数,准确而且方便。

以下是几种常用的集成仪表放大器,其主要参数如表3.2

表3.2 三种集成医用放大器参数

脉搏信号是在强噪声下的微弱信号,它对前置放大器的共模抑制比,输入阻抗,输入噪声,输入失调电压有较严格的要求,由表3.2知AD620是最为理想的。 AD620参数如下表表3.3所示。

表3.3 AD620参数表

AD620的芯片引脚如下图图3.4所示

图3.4 AD620芯片引脚图

其中增益为

G=

49.4K

+1Rx

由于肌电干扰可能造成前置放大器静态工作点的偏移,甚至截至饱和,所以前置放大器的增益不能太大。所以设计时考虑两级放大,第一级采用AD620,外接一个4.7K的电阻,放大倍数由公式大约放大十倍左右。

实际的一级放大电路原理图如图3.5所示。

图3.5 一级放大电路

3.2.2二阶滤波器电路

由于脉搏信号的频率在1.33HZ左右,正常情况下不会出现高于2HZ的信号,因此需要设计一个低通滤波器,用来滤去高频信号。在这个系统中最大的干扰就是来自市电的50HZ干扰信号,考虑到有些病人在患病时可能会出现较高的脉搏,因此在设计滤波器的截止频率在4HZ左右,这样不但能保证不滤去脉搏信号,而且能很好的将干扰滤去。 (1)方案选择:

①无源滤波器

采用RC低通滤波器。其电路如图3.6所示,特点是电路简单,阻带衰减太慢,选择性较差。其幅频特性如图3.7所示。

图3.6 一阶无源滤波

图3.7 一阶无源滤波器幅频特性

②二阶低通滤波器

采用二阶有源滤波器,通带内幅频特性曲线比较平坦,而且二阶也可以达到较陡的衰减的特性。由于主要的干扰出现在50HZ左右,所以在截止频率较低时,采用二阶滤波器即可达到很好的滤波效果。二阶有源滤波器的电路图如下图3.8所示。其幅频特性如图3.9所示。

图3.8 二阶有源滤波器

图3.9 有源滤波器幅频特性 (2)参数确定

电容C的容量宜在微法数量级以下,电阻器的阻值一般应在几百千欧以内。我们现在设定C1=C2=0.33uF,R1=R2=100K。

根据

FC

1

2πRC

可以计算出,该滤波器的截止频率为4.8HZ。符合所要达到的指标。同时,为了更好的实现效果,也可以使用一些稍大的电阻,如110K等。 (3)方案确定

由于使用二阶有源滤波器能够很好的实现系统的滤波目的,所以选择使用方案②,即二阶有源滤波器。其电路原理图如图3.10所示。

图3.10 二阶滤波器

3.2.3第二级放大电路

第二级放大采用同相放大器,其电路图为

图3.11 同相放大器电路

其闭环电压增益

RF

AVFR1

输入电阻 Ri=ric 输出电阻 R0=0 平衡电阻 RP=R1//RF

其中,ric为运放本身同相端对地的共模输入电阻,一般为108欧姆。 同相放大器具有输入阻抗高,输出阻抗很低的特点,广泛用于前置放大级。若RF≈0,R1=∞(开路),则为电压跟随器,与晶体管电压跟随器(射极输出器)相比,集成运放的电压跟随器的输入阻抗更高,几乎不从信号源吸取电流;输出阻抗更小,可视作电压源,是较理想的阻抗变换器。

在设计时,选用的运放为TL082,该运放具有较小的输入偏置电压和偏移电流,输出设有短路保护,输入级有较高的输入阻抗,完全可以达到设计要求。同时,设定RF=100K,R1=1K,

由AVF=1+

RF

R1

可以得到第二级的放大倍数为101倍,可以实现系统所要达到的放大参数。 二级放大电路的电路图如图3.12所示。

图3.12 二级放大器电路

3.3 整形电路

由于单片机只能检测到数字信号,因此,经过信号调理电路后得到的模拟信号必须转换为数字信号。这里有两个方案可以选择。

方案一: 使用三极管进行整形.

图3.13 三极管整形电路

方案二:使用施密特触发器来实现整形。

只要使用一个施密特触发器,就可以实现对于信号的整流作用。

由于三极管的调试较为复杂,且工作性能不如施密特触发器稳定,所以我们选用施密特触发器。现在的施密特触发器一般分为由555芯片构成和用TTL电路构成两种。使用由555芯片构成的施密特触发器,结构简单,使用方便,因此选用555芯片来完成该项任务。

由555芯片构成的施密特触发器如下图图3.14所示。

图3.14 555施密特触发器电路图

使用施密特触发器后,其输入输出波形的变化如下图图3.15所示。

图3.15 施密特触发器工作波形

由于VCC=5V,所以,当输入电压大于2/3VCC,也就是3.33V时,电路就可以输出高电平,然后一直持续到1/3VCC,也就是1.67V时,电路开始输出低电平。在前面的电路中,脉搏信号被转化为5V左右的信号,经过实验验证,脉搏信号在本级可以被转化为能被单片机识别的数字信号。

图3.16 整形电路

3.4 电源滤波电路

由于脉搏信号非常小,很容易收到外部干扰,因此设计电源滤波电路。使用该滤波电路,能够将电源中的高低频杂波滤去。电路如下图图3.17所示。

图3.17 电源滤波电路

3.5 单片机电路

在这里,单片机要实现对脉搏信号的处理。为了能够在不到10s的时间内,测量出一分钟的脉搏,可以使用单片机的定时器来实现。在检测到第一个脉冲到达时,开启定时器,然后在下一个脉冲到达时,关闭计时器,如此就可以求得一次心跳所需要的时间,然后由该周期就可以得到一分钟的脉搏数。

考虑到单片机要实现以上功能,选择使用AT89S51来构成电路。AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。

AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活

或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。

该单片机主要特性:

• 8031 CPU与MCS-51 兼容

• 4K字节可编程FLASH存储器(寿命:1000写/擦循环) • 全静态工作:0Hz-24KHz • 三级程序存储器保密锁定 • 128*8位内部RAM • 32条可编程I/O线 • 两个16位定时器/计数器 • 6个中断源 • 可编程串行通道

• 低功耗的闲置和掉电模式 • 片内振荡器和时钟电路

经过整形的信号由单片机的INT0口输入,使用单片机的外部中断0。单片机的P0口作为数据口,与显示屏相接,来输出单片机所计算的脉搏值。单片机的P2.5,P2.6,P2.7口接到液晶屏的控制端,来控制单片机工作。设置定时/计数器1屏蔽,定时/计数器0工作方式为16位计数器,并对中断做出定义。

当低频信号的下降沿到来时,中断触发。记录这个周期内计数器记录的时钟周期数。当系统时钟为12M时,周期T与时钟周期数S的关系是

T=S⨯10-6

当T>0.065535s时,计数器记录的时钟周期数会溢出,这时,需要记录计数器溢出次数C,然后再将计数器清零,重新记录。

设定单片机在检测到5次心跳信号后再计算时间,然后求5次的平均数来计算一次心跳的周期,那么可以得知,一次心跳的周期T为

(C*65535+S)*10-6

T=

5

这时的T即是以秒为单位的。求出T之后,一分钟的脉搏数F就可以很容易的得到

F=

60T

单片机电路如下图图3.18所示。

图3.18 单片机电路

3.6 显示系统

显示系统既可以选择使用LED,也可以选择使用LCD。就本系统的功能来说,使用LED已经可以实现功能,不过考虑到使用LCD,可以输出英文字符,从而使得显示系统能够更加美观,同时也能更好的达到提高自己的目的,所以最后选择使用液晶屏LCD。

由于本次设计所要显示的内容不多,并不需要太大的液晶屏来显示。所以选择使用1602来进行显示。1602液晶每次可以显示2行16个字符,总共32个字符,而且可以显示所有的ASCII码,包括标点,数字,英文大小写等,因此,使用该液晶屏可以很好的实现显示功能。

1602显示屏的主要技术指标如表3.4所示。

表3.5 1602液晶显示屏的各个引脚功能

1602液晶显示屏共有16个引脚,其各个引脚的功能如下表,表3.5中所示。

使用1602,所设计的显示电路部分如下图图3.19所示。

图3.19 液晶显示电路

4 系统软件设计

4.1软件设计

软件部分包括两个模块,一个是主程序模块,而另一个则是液晶屏的驱动模块。下面将分别介绍这两个模块。 4.1.1主程序模块

本程序的主要思路是,利用单片机的计数器,统计两次脉冲之间的时间,即可得出心跳一次的时间,然后便可以得出一分钟的脉搏数。由于单片机的精确度非常高,所以该方法精度较高,本程序的流程图如下图图4.1所示。

图4.1主程序流程图

4.1.2液晶驱动模块

选用1602液晶屏,在液晶屏的第一行将显示出字符“your pulse is:”,在第二行显示出脉搏数。其数据口为P0口。

sbit RS = P2^5; //H数据,L指令 sbit RW = P2^6; //H读,L写

sbit E = P2^7; //片使能信号,控制其工作。 #define LCD_Data P0 //数据口

其驱动程序见附录。 4.2 软件开发环境

单片机应用系统设计与一般电子系统设计的差别在于,它既要构成硬件逻辑电路,也要设计相应的支持软件。Keil C51是美国Keil Software 公司出品的51系列兼容单片机C语言软件开发系统,该系统全WINDOWS界面且库函数丰富,调试功能强大、生成代码率很高。因此,本课题软件的软件调试选用该开环境来完成。

5 测试方案和测试结果。

5.1 测试方案

系统整体功能实现后,就要对其进行测试。设计使用一个夹子,将传感器夹在人的手腕处,这样能够减少因此身体抖动而产生的干扰。 5.2 模拟测试结果

首先,使用信号源输入与脉搏信号相仿的信号,来测试整个系统的工作情况。我们设定输入信号幅度为5mv,偏置为2.5mv,则模拟测试结果如下表所示。

可见,在3HZ以前,系统的测试结果非常准确,但是在之后,由于滤波器的作用,结果无法显示。由此可以得知,系统的测频和滤波作用都实现了预期的效果。

5.3 实际测试结果。

单片机上电后会首先对液晶进行初始化,然后直到检测完脉搏,才会出现显示内容。因此需要大概几秒的时间。我们选择了三位同学来测试本系统,其结果记录在下面的表中。其实际值由统计一分钟脉搏数得出。其测试结果如下表所示。

表5.2 实际测试结果记录表

由上表可以看出,由于传感器的粗糙,在测量时,仍然存在着较大的误差,个别值的误差还比较大,不过结合模拟测试结果,可以看出,本设计基本上实现了对脉搏的测量。同时也知道,该设计仍有很多的不足之处,需要进行改进设计。

附图1 原理图

附录3 主程序

#include

#include "LCD_1602.c"

//定义周期测频法测式的周期数,这个值越大,结果越精确,但也需 //要更多的时间。

#define TF_TIMES 3 //频率暂存字

unsigned long g_Ftmp; unsigned long g_Ftmp_All;

//单周期信号结束标志 0未测试完成 1初始化 2测试完成 unsigned int g_flag;

//定时器T0溢出次数统计 unsigned long g_T0count; //每分钟心跳次数

unsigned int g_CountMinu;

unsigned char code string1[]="Your Pulse Is:"; void INT0ISR( void ) interrupt 0 // 外部中断0中断服务函数 { //IE0 = 0; //外部中断0标志位清0 在边沿触发模式下 //会由硬件清零 TR0 = 0; //停止计数 if(1 != g_flag) { g_Ftmp = g_T0count * 65535; g_Ftmp += (unsigned int)(TH0

void T0ISR( void ) interrupt 1 //定时器0溢出中断服务函数 { TH0 = 0; TL0 = 0; g_T0count++; }

void TFInit( void ) //初始化函数 { EX0 = 1; //使能外部中断0 IT0 = 1; //外部中断0触发方式为边沿触发 高-->低 ET0 = 1; //使能T0溢出中断

PX0 = 1; //外部中断0为高优先级 PT0 = 0; //定时器0溢出中断为低优先级 TMOD = 0x01; //屏蔽T1,GATE = 0: 软件控制TR0启动定时器 // C/T = 0: T0工作在定时器方式 // M1\M0= 01:T0工作方式为16位定时器 TF0 = 0; //清零标志位,T0溢出中断请求 IE0 = 0; //清零标志位,外部中断标志位 TH0 = 0; TL0 = 0; g_T0count = 0;//定时器溢出次数初始化 g_Ftmp = 0; g_CountMinu = 0; g_Ftmp_All = 0; g_flag = 1; //标志位初始化 EA = 1; //充许全局中断 }

void GetFreq( void ) //求频率 { unsigned char i; g_Ftmp_All = 0; EA = 1; for(i=0; i

void main() { TFInit(); LCD_init(); LCD_Showstring(0 , string1); GetFreq(); TS1602DisInt(22, g_CountMinu); }

附录4 液晶驱动程序

#include

#define uchar unsigned char

//统计TF_TIMES次T之和

sbit LCD_RS = P2^5; sbit LCD_RW = P2^6; sbit LCD_EN = P2^7; #define LCD_Bus P0

void LCD_init();

void LCD_Showchar(unsigned char position , unsigned char z);//显示字符函数,并指定相应的位置

void LCD_Showstring(unsigned char line , unsigned char str[]);//显示字符串,并指定相应的行 void TS1602DisInt (unsigned char X, unsigned long Num ); void delay(unsigned char t) {

unsigned char i , j , k; for(i=0;i

//------写命令子函数

void WriteCode(unsigned char c) {

delay(5);

LCD_RS=0;//低电平有效时写命令,选择指令寄存器 LCD_RW=0; //RW=0,选择写模式 delay(10); LCD_EN=1; LCD_Bus=c; delay(10);

LCD_EN=0; //lcd使能端,当是下降沿的时候写数据和命令 }

//-----写数据子函数

void WriteData(unsigned char w) {

delay(5);

LCD_RS=1; //选择数据寄存器 LCD_RW=0; //选择写模式 delay(10); LCD_EN=1; LCD_Bus=w; delay(10); LCD_EN=0; }

//显示字符子程序,同时写上要显示的位置和要显示的字符 void LCD_Showchar(unsigned char position,unsigned char z )

unsigned char p; if(position

p=position+0x80; else

p=position+0xB0; WriteCode(p);

WriteData(z); }

//显示字符串的程序,同时写上要显示第几行和字符串的名字 void LCD_Showstring(unsigned char line , unsigned char str[]) {

unsigned char i , j; i=line*0x10;

for(j=0;str[j]!='\0';j++) LCD_Showchar(i++,str[j]); }

/*******************在特定位置显示整数***********************/ void TS1602DisInt (unsigned char X, unsigned long Num ) { unsigned char i = 0, a[7]; do { a[i++] = Num%10; Num = Num/10; } while(Num); for( ; i; ) { LCD_Showchar(X++,a[--i]+48); } }

//------液晶初始化函数----- void LCD_init(void) {

delay(10);

WriteCode(0x80);

WriteCode(0x01); //应该先清屏并复位光标 WriteCode(0x38); //设置8位,2行,5X7点阵

WriteCode(0x0C); //开显示器, 开启光标,且光标允许闪烁 WriteCode(0x06); //文字不动,光标自动右移 //写入显示起始地址 }


相关内容

  • 压电传感器SC0073脉搏测量仪设计
    大连民族学院机电信息工程学院 自动化系 单片机系统课程设计报告 设计完成日期: 2012年 11月28日 目 录 1任务分析和性能指标 .................................................... ...
  • 综合电子设计题目
    题目一: 题目一:多功能计数器设计 一.任务 设计并制作一台测量正弦信号的频率.周期和相位差的多功能计数器. 二.要求 1.频率测量 a.测量范围:1Hz-10MHz:信号幅度范围:0.5Vrms-5Vrms. -6 b.测量误差≤10 . ...
  • 采用单片机设计频率计_毕业设计论文
    毕业设计论文 采用单片计设计频率计 系 专业 班级指导教师 职称 讲师 设计时间 目录 摘 要 ........................................................................ ...
  • 护理文书书写规范及要求 - 修改本
    护理病历书写规范总则 新规范指导思想 ● 摒弃"无用功" ● 表格式护理文书 ● 医护记录互补.统一 ● 留有一定余地 ● 专科护理记录单 护士全面减负 ● 把时间还给护士, 把护士还给病人 内容结构 1.基本要求 2. ...
  • 成功的路上
    同学们即将结束六年的小学生活,跨进中学的大门了,在这里,我们一起来读读那些成功路上的故事,他们坚持不懈的精神,或许,会给你这个准中学生一些启示哟! NO·1 伽利略 眼睛盯着天花板 有一次,伽利略站在比萨的天主教堂里,眼睛盯着天花板,一动也 ...
  • WPAN脉搏血氧饱和度仪设计
    WPAN脉搏血氧饱和度仪设计 本文介绍了基于无线个域网(WPAN)设计的脉搏血氧饱和度检测仪.WPAN是为在小范围内的设备间建立无线连接而开发的无线传输技术,IEEE标准化协会已为此制定了IEEE802.15.X标准.本文涉及的传输技术符合 ...
  • 傅立叶分析
    脉搏.语音及图像信号的傅里叶分析 一.实验简介 任何波形的周期信号均可用傅里叶级数来表示.傅里叶级数的各项代表了不同频率的正弦或余弦信号,即任何波形的周期信号都可以看作是这些信号(谐波)的叠加.利用不同的方法,可以从周期信号中分解出它的各次 ...
  • 心电监护仪--血氧饱和度监测的注意事项
    心电监护仪--血氧饱和度监测的注意事项 一.血氧饱和度的定义 血氧饱和度(SpO2)是血液中被氧结合的氧合血红蛋白(HbO2)的容量占全部可结合的血红蛋白(Hb)容量的百分比,即血液中血氧的浓度,它是呼吸循环的重要生理参数.常用动脉血氧定量 ...
  • 一种电子式电流互感器的研制
    # xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 一种电子式电流互感器的研制 申 烛!王士敏!罗承沐 清华大学电机系!北京市#"$$$%&a ...
  • 第五章妇产科护理常规
    妇产科护理常规 第一节 产科护理常规 一.产科一般护理常规 (一)产前护理 观察要点 观察孕妇产兆(宫缩.胎膜.阴道出血情况),胎心.胎动及血压. 护理措施 1.按入院病人一般护理常规. 2.做产前检查.无灌肠禁忌症的给予温肥皂水灌肠. 3 ...