基于at89s51单片机的电子血压计设计毕业设计.docx
《基于at89s51单片机的电子血压计设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于at89s51单片机的电子血压计设计毕业设计.docx(34页珍藏版)》请在冰点文库上搜索。
![基于at89s51单片机的电子血压计设计毕业设计.docx](https://file1.bingdoc.com/fileroot1/2023-5/10/5d033725-fe61-4820-b5b9-147e3c6d4083/5d033725-fe61-4820-b5b9-147e3c6d40831.gif)
基于at89s51单片机的电子血压计设计毕业设计
基于AT89S51单片机的电子血压计设计
摘要
电子血压计具有易携带、精度高、智能化等特点,随着现代电子技术的发展,电子血压计呈现出家用化的趋势。
然而传统单片机的电路设计复杂、稳定性不好、测量精度不高,因此本设计首先从血压测量方法切入设计出电路系统,然后以AT89S51单片机为控制核心,外围硬件电路由气体压力传感器US9111、串行A/D转换芯片ADC0832、LCD驱动芯片和其他模拟电路组成,同时采用KeiluVision2进行C语言编程来使硬件满足一个简易血压计的功能。
本文所设计的血压计稳定性高,测量速度快,测量精度高,测试结果基本与水银血压计一致。
另外,本系统的设计能满足人体健康测量需要,对提高日常生活质量有很多好处,具有很高的市场价值。
关键词:
单片机血压计传感器精度
TheDesignofElectronicSphygmomanometerBasedonAT89S51MCU
Abstract
Theelectronicbloodpressuremonitoriseasytobecarried,highaccuracy,intelligentfeatures.Withthedevelopmentofmodernelectronictechnology,electronicbloodpressuremonitorshowsthetrendofthehousehold.Thecircuitofthetraditionalmicrocontroller’sdesignprocessiscomplex,andthestabilityisnotgood,aswellasthatthemeasurementaccuracyisnothigh.Therefore,tosumup,themethodofhowtodesignthecircuitsystemisthebloodpressuremeasurementbriefly,andthenaroundtheAT89S51microcontrollerdevelopmentplatform,composedoftheperipheralhardwarecircuitbythegaspressuresensorUS9111,theserialA/DconversionchipADC0832,theLCDdriverchipandotheranalogcircuitsunderthepreparationofKeiluVision2theCprogramminglanguage.Thissphygmomanometerdesignedperfectstability,excellentspeed,highaccuracy,andaboveall,thetestresultsarebasicallyconsistentwiththemercurysphygmomanometer.Inaddition,thedesignofthissystemmeetstheneedsofthehumanhealthmeasurement.Moreover,therearemanybenefitstoimprovethequalityofdailylife,andofcourseithasaveryhighmarketvalue.
KeyWords:
MCU;sphygmomanometer;sensor;accuracy;
1.绪论
1.1课题背景与现实意义
伴随着单片机的不断升级,许多智能型电器设计都加入了单片机,单片机也成为许多产品不可或缺的一部分,因此,现在的电子产品的开发单片机为核心。
电子血压计就是电子产品中一个典型例子,目前,电子血压计在日常生活中得到越来越广泛的使用,它操作简单,使用者能迅速掌握其操作要点,使用方便,冬天无需使用者脱衣,并且测量时间段,极大的提高了工作效率。
而且可自动加压,排气,直接显示测量值,不要操作者熟练程度,听觉和环境等人为因素的干扰。
在医疗保健中准确地提供血压信息是十分重要的,而现代人患血管疾病呈现低龄化趋势,如果经常测量自己的血压,就可以做到对自己的健康情况心里有数,早期发现问题,得到及时的治疗效果。
单片机是电子血压开发的平台,它具有体积小、功耗低、功能强、稳定、可靠、使用灵活、性能、价格比高等显著特点。
中国从80年代起开始了单片机的热潮,三十多年过去了,单片机成为智能电器的一个不可缺少的部件,单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。
单片机全称为单片微型计算机(SingleChipMicrocomputer)。
它是将计算机的基本部件微型化并集成到一块芯片上的微型计算机,通常片内都含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。
如电机控制,UPS控制、信号处理等;内容较多、功能复杂的系统多采用嵌入式操作系统,单片机在各个领域都得到了广泛而又充分的应用,较微处理器更具个性的发展趋势,得到了广大用户的认可[1]。
单片机全称为单片微型计算机(SingleChipMicrocomputer)。
它主要的技术发展方向是:
不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。
它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。
从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。
在发展MCU方面,最著名的厂家当数Philips公司,该公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。
因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。
单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。
随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。
因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。
当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。
而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用Windows和Linux操作系统。
而51单片机是初学者基础入门的一种单片机,现在使用的型号主要有ATMEL公司89C51、89C52、89C2051;INTEL公司的80C31、80C51、87C51和其它如Philips、华邦等公司的许多产品。
单片机是靠程序运行的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的[1]。
总之,单片机开创了现代电子系统时代,成为主流电子系统。
它带动了整个电子产业的发展,造就新一代电子精英,单片机将带你进入智能化电子领域和计算机工程控制领域,该设计对自己从事相关领域具有重要意义。
1.2血压计发展现状
电子血压计从使用原理上为两类:
一是听诊法(又称柯氏音法)电子血压计,目前只有极少数;二是示波法(又称振荡法)电子血压计,是目前的主流血压计。
电子血压计有臂式、腕式之分,其技术经历了最原始的第一代、第二代(臂式使用)、第三代(腕式使用)的发展,具体介绍如下所示[2]。
第一代电子血压计(G1-NIBPM)使用MWD技术(减压时测量)。
电路内部有快速加压气阀、电子快速排气阀、机械式定速排气阀和气压压力传感器等主要器件。
第一代电子血压计有三个显著特征:
一是使用了两个排气阀:
电子快速排气阀和机械式定速排气阀;二是初始加压压力大多设定在200mmHg,强调加压速度要快,9~10秒内达到300mmHg等;三是加压刚停止时,放气速度超过7mmHg/s,2~3秒内后才能大致稳定为2~7mmHg/s。
当快速加压到某一压力时,通过一个机械式定速排气阀按2~7mmHg/s的速度放气,并在此放气过程中进行血压测量。
第一代电子血压计在原理上存在缺陷,由于机械式定速排气阀的不稳定性,客观上提高血压初始压力。
用户使用时,手臂有明显压迫感,同时由于机械式定速排气阀不稳定性,测量结果有时也会不稳定。
当然,目前大部分国产血压计,初始压力大多设在190~200mmHg,一定程度上可以克服加压速度造成测量不稳定问题。
第二代电子血压计(G2-NIBPM)和第一代一样使用MWD技术(减压时测量)。
使用的主要元器件有加压气泵、电子控制排气阀和气体压力传感器。
与第一代电子血压计相比,第二代电子血压计只使用一个排气阀:
电子控制排气阀,同时用于定速排气及测量结束时的快速排气。
当然第二代还有其他优点,如在加压过程中对血压进行一定程度的粗测量,用于决定加压压力,且在放气开始就稳定在3~4mmHg/s。
这一代电子血压计解决了上一代存在的原理性缺陷,真正做到了定速排气,测量结果也相当稳定。
第三代电子血压计(G3-NIBPM)与前两代不同,它采用MWI技术(加压时测量)。
它有伺服加压气泵、电子控制排气阀和气压压力传感器等主要元器件组成。
第三代在前两代的基础上增加了新功能,就是使用伺服加压气泵控制加压速度,在加压过程中测量血压。
电子血压计经历了三代的发展,目前国内一些制造商,其技术水平都处于第一代,而且所有的方案提供商手上也只有这一代的技术方案;先进的电子血压计技术都掌握在国外,这些公司主要有:
欧姆龙、松下、爱安德、优胜医学和金亿帝。
1.3本文的研究内容
本课题的内容就是要用AT89S51单片机为核心器件,通过C语言编程实现一个简单实用的电子血压计。
首先根据电子血压计的具体性能与要求将其分为A/D转换、数据处理和数据显示三大模块,采用C语言对各个模块进行编程处理,然后运用Keiluvision2软件进行软件仿真测试,最后通过ISP在线烧写器下载到实物电子血压计上进行调试,实现血压测量功能。
本课题的主要工作首先是熟悉单片机和软件的使用;再是查阅资料进行方案设计;最后完成硬件电路设计和软件编写。
本课题各章内容安排如下所示。
第一章为基于AT89S51单片机的电子血压计设计课题的概述。
第二章阐述设计要求、方案论证及主要元器件功能介绍。
第三章为硬件电路设计。
第四章为软件设计。
第五章为系统性能测试。
2.设计要求及方案论证
2.1血压测量原理
血压的概念是指血管内的血液作用于血管管壁所产生的侧压力,也即血管侧面单位面积所承受的压力,通常以毫米水银柱(mmHg)为单位,1mmHg相当于133Pa或0.133kPa。
它是人体健康的一项重要指标,在医学检测中精确测量血压是十分有必要的。
一般医院通常所使用的是水银血压计,它是基于柯氏法,医生使用专业医用听诊器听到动脉血管产生的不同声音来判断收缩和舒张压。
但这种方法存在一些不可避免的缺点:
一是确定舒张压比较困难;二是使用时仅凭人的视觉和听觉,带有个人主观因素。
虽然以前出现过各种基于柯氏法电子血压计,但是还是不能克服其自身的缺点。
目前,医学上大多数电子血压计都采用示波法,示波法电子血压计是目前的主流血压计[3]。
示波法的测量过程与柯氏法类似,仍采用充气袖套来阻断上臂动脉血流。
由于心搏的血液动力学作用,在气袖压力上将重叠与心搏同步的压力波动,即脉搏波。
当气袖压力远高于收缩压时,脉搏波消失。
随着袖套压力下降,脉搏波开始出现。
当袖套压力从高于收缩压降到收缩压以下时,脉搏波会突然增大。
到平均压时达到最大值。
然后又随袖套压力下降而衰减。
示波法血压测量就是根据脉搏波振幅与气袖压力之间关系来估计血压。
与脉搏波最大值对应的是平均值,收缩压和舒张压分别用对应脉搏波最大振幅的比例来确定。
收缩压的确定采用最大振幅法,即在放气过程中脉搏波幅度包络线的上升段,当某一个脉搏波的幅度Ui与最大幅度Um(平均压)之比刚刚大于Ks(Ks为经验参数)时,就认为此时对应的气袖压力为收缩压。
舒张压的确也是用最大振幅法来判定的,不过是在脉搏波幅度包络线的下降段,当某一个脉搏波的幅度Ui与最大幅度Um(平均压)之比刚刚小于Kd(Kd为经验参数)时,就认为此时对应的气袖压力为舒张压。
图2.1袖带压力、脉搏波形
袖带气压和脉搏波经信号处理模块的处理后,得出如图2.1数据。
图中的下方为被测者的脉搏波,上方为血压计升压和降压过程中的袖带压力。
在此基础上分析信号,提供收缩压、舒张压和平均压的计算。
2.2设计要求
本设计以AT89S51单片机为控制核心,功能是实现人体血压的精确测量,并且采用了合适的人机接口,基本功能框图如图2.2所示。
设计的基本功能要求如下所示。
(1)血压测量:
测量方式为上臂式。
(2)液晶显示:
选择1602点阵液晶显示屏显示人体血压信息。
(3)按键控制:
按键主要由开始键和复位键两个按键组成。
开始键控制测量开始。
复位键使显示数据复位,为再次测量血压作准备。
图2.2电子血压计基本功能框图
上述是电子血压计的基本组成和功能,是一个简易实用的电子血压计。
市场上的血压计除了具备基本功能外,还可能具有其他附加功能,如温度测量和时钟功能等。
2.3设计方案
由于现代化的电子血压计功能不断增加,在给我们提供各种服务功能的同时,也使用愈加繁琐,对此,我们可以根据自己的需求设计简易电子血压计。
本次设计以AT89S51单片机为控制核心,并结合C语言编程来设计电子血压计。
整个系统分为硬件和软件两个部分,硬件部分主要由单片机最小系统,压力传感器,放大电路,A/D转换和显示部分组成。
软件部分主要由数据处理模块,A/D转换模块和显示模块组成。
系统中人体上臂血压经过压力传感器,产生含有脉搏波的袖带压力信号。
袖带的压力为直流电压信号,脉搏波为频率小于2Hz的低频电压信号。
含有脉搏波的袖带压力信号经过一次放大后,袖带压力信号传送至ADC0832通道0进行模数转换,采集袖带气压进行。
为了得到脉搏波信号,必须滤除传感器产生的直流分量。
然后再对脉搏波信号进行二次放大滤波,最后接到ADC0832通道1进行模数转换。
经A/D转换后通过显示电路进行输出显示。
该血压计能正确的测量和显示人体血压,血压数据能正确显示。
电子血压计总体设计框图如图2.3所示。
图2.3电子血压计总体设计框图
2.4器件介绍
2.4.1AT89S51单片机简介
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP可反复擦写1000次的Flash只读程序存储器。
器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构。
芯片内集成通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机AT89S51成为许多嵌入式控制应用系统的控制核心。
AT89SXX系列单片机实现了ISP下载功能,因此取代89CXX系列的下载方式,正因为这样,ATMEL公司已经停产了89CXX系列的单片机,现在市面上的AT89CXX多是停产前的库存产品。
所以综合考虑采用ATMEL公司的AT89S51芯片[4]。
图2.4.1为AT89S51单片机系统结构框图,由图可以看出,单片机内部主要包含下列几个部件所示。
图2.4.1AT89S51单片机系统结构框图
Ø8位CPU。
Ø片内带震荡器,震荡频率f范围为1.2~12MHz:
可有时钟输出。
Ø128个字节片内数据存储器。
Ø4K字节片内程序存储器。
Ø程序存储器,寻址范围为64K字节。
Ø片外数据存储器,寻址范围为64K字节。
Ø4个8位并行I/O接口:
P0、P1、P2、P3。
Ø2个16位定时器/计数器。
Ø中断系统有5个中断源。
2.4.2模数转换器ADC0832简介
ADC0832是美国国家半导体公司生产的一种具有8位分辨率、双通道的A/D转换芯片,如图2.4.2所示。
由于它体积小,兼容性强,性价比高深受单片机爱好者及企业的好评,其目前已经有很高的普及率。
学习并使用ADC0832可是使我们了解A/D转换器的原理,有助于我们单片机开发和应用技术水平的提高。
ADC0832具有以下特点[5]。
Ø8位分辨率。
Ø双通道A/D转换。
Ø输入输出电平与TTL/CMOS相兼容。
Ø5V电源供电时输入电压在0~5V之间。
Ø工作频率为250KHZ,转换时间为32μS。
Ø一般功耗仅为15mW。
Ø8P、14P-DIP(双列直插)、PICC多种封装。
Ø商用级芯片温宽为0℃到+70℃,工业级芯片温宽为-40℃到+85℃。
图2.4.2模数转换器ADC0832
芯片接口说明如下所示。
ØCS片选使能,低电平芯片使能。
ØCH0模拟输入通道0,或作为IN+/-使用。
ØCH1模拟输入通道1,或作为IN+/-使用。
ØGND芯片参考0电位(地)。
ØDI数据信号输入,选择通道控制。
ØDO数据信号输出,转换数据输出。
ØCLK芯片时钟输入。
ØVcc/ref电源输入及参考电压输入(复用)。
ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,适用于一般模拟量转换。
其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。
芯片转换时间仅为32μS,具有双数据输出,因此可作为数据校验,以减少数据误差,转换速度快且稳定性能强。
独立的芯片始能输入,使多器件挂接和处理器控制变的更加方便。
通过DI数据输入端,可以轻易的实现通道功能的选择[5]。
正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。
但是由于DO端与DI端在通信时并未同时有效与单片机的接口实现数据传输,所以电路设计时可以将DO和DI并联在一根数据线上使用。
当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。
当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。
此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。
在第1时钟脉冲的下沉之前DI端必须是高电平,表示起始信号在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能[6],其功能项见表2.4.1和表2.4.2。
表2.4.1单端输入模式
MUXAddress
Channel#
SGL/DIF
ODD/SIGN
0
1
1
0
+
1
1
+
表2.4.2差分输入模式
MUXAddress
Channel#
SGL/DIF
ODD/SIGN
0
1
0
0
+
-
0
1
-
+
如表2.4.1和表2.4.2所示,当此2位数据为“1”、“0”时,只对CH0进行单通道转换。
当2位数据为“1”、“1”时,只对CH1进行单通道转换。
当2位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。
当2位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1作为正输入端IN+进行输入[6]。
到第3脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。
从第4脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。
直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。
也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATD0。
随后输出8位数据,到第19冲时数据输出完成,也标志着一次A/D转换的结束。
最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了[7]。
作为单通道模拟信号输入时,ADC0832的输入电压是0~5V且8位分辨率时的电压精度为19.53mV。
果作为由IN+与IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。
但值得注意的是,在进行IN+与IN-的输入时,如果IN-的电压大于IN+的电压则转换后的数据结果始终为00H[7]。
2.4.3压力传感器(US9111-006-D)简介
本设计选用型号为US9111-006-D作为压力传感器。
其中006表示量程为5.8PSI(磅/平方英寸),D表示DIPToptube封装为DIP(双列直插)与一般的DIP封装不同,两列之间的距离比DIP大2.54mm,使用时需要自画封装。
下面介绍传感器US111-006-D性能参数如下所示。
Ø压力范围:
0~5.8PSIG,15PSIG,100PSIG。
Ø过载能力:
2X(200%)。
Ø测量介质:
无腐蚀、非导电气体。
Ø工作方式:
表压。
Ø工作电压:
5VDC或1.5mA。
Ø工作温度范围:
-40~125℃。
图2.4.3US111-006-D内部结构
引脚说明:
US111-006-D内部结构如图2.4.3所示,其工作原理与电阻桥相同。
图中1和6脚接地,3脚接激励源,5脚接正电压输出,2脚为负电压输出。
激励源选用恒压5V~10V供电。
设计中选用DC5V电压。
此型号产品稳定性强,一致性好,价格便宜,主要应用于电子血压计,呼吸机,麻醉机,医疗仪器,家用吸尘器,消费性电子,胎压计,轮胎压力检测系统等领域。
2.4.4运算放大器OP07和AD620简介
OP07芯片是一种低噪声,长期稳定的双极性运算放大器集成电路,其引脚图如图2.4.4所示。
由于OP07具有非常低的输入失调电压(对于OP07A最大为25μV),所以OP07在很多应用场合不需要额外的调零措施。
OP07同时具有输入偏置电流低(OP07A为±2nA)和开环增益高(对于OP07A为300V/mV)的特点,这种低失调、高开环增益的特性使得OP07特别适用于高增益的测量设备和放大传感器的微弱信号等方面。
OP07芯片性能参数如下所示。
Ø超低偏移:
150μV最大。
Ø低输入偏置电流:
1.8nA。
Ø低失调电压漂移:
0.5μV/℃。
Ø超稳定,时间:
2μV/month最大。
Ø高电源电压范围:
±3V至±22V。
图2.4.4运算放大器OP07图2.4.5运算放大器AD620
AD620是一款低成本、高精度仪表放大器,仅需要一个外部电阻来设置增益,引脚图如图2.4.5所示,增益范围为1至10000。
此外,AD620采用8引脚SOIC和DIP封装,尺寸小于分立电路设计,并且功耗更低,因而非常适合电池供电及便携式应用。
AD620具有高精度、失调电压低和失调漂移低等特性,是传感器接口等精密数据采集系统的理想之选。
此外,AD620还具有噪声低、功耗低和输入偏置电流低等特性,使之非常适用于ECG和无创血压监测仪等医疗应用。
3.硬件电路设计
在第二章已经阐述了本设计由A/D转换模块、数据处理模块和显示模块三部分组成,并且介绍一些主要元器件的性能及功能。
本章除具体介绍三大模块外,还要介绍其它外围小模块,如气体压力传感器电路、滤波电路、气泵和气阀驱动电路等。
3.1数据处理模块
数据处理模块采用AT89S51单片机工作的最小系统,如图3.1所示。
单片机晶振选用12MHZ。
将P0口作为普通I/O口使用时必须加上拉电阻,