




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、血氧饱和度测量仪的设计目 录摘要 3第一章 绪论 41.1 血氧饱和度的基本概念 41.2血氧饱和度测量仪课程设计的意义 31.3血氧饱和度测量仪课程设计的技术要求 41.4基本步骤5 1.4.1 理论依据5 1.4.2 硬件电路的设计6 1.4.3 软件设计6 1.4.4 仿真及数值定标6第2章 实验方案设计及论证6 2.1 设计理论依据6 2.2. 双波长法的概念6 2.3 光电脉搏传感器7 2.4 传感器可能受到的干扰9 2.5实验方案设计10第三章 硬件电路的设计10 3.1硬件原理框图10 3.2各部分电路的设计11第4章 软件模块设计13 4.1主程序流程图14 4.2子程序流程图
2、14 4.3硬件调试16第五章 设计收获及心得体会17第六章 参考文献19附录 程序清单20摘要氧是维持人体组织细胞正常功能,生命活动的基础。人体的绝大多数组织细胞的能量装换均需要氧的参加。所以,实时监护人体组织中氧的代谢具有重要的意义。人体的新陈代谢过程是生物氧化过程。氧通过呼吸系统进入人体血液,与血液红细胞中的血红蛋白(Hb)结合成氧合血红蛋白(),再输送到人体各部分组织细胞中去。在全部血液中,被氧结合的容量占全部可结合容量的百分比称为血氧饱和度 。许多临床疾病会造成氧供给的缺乏,这将直接影响细胞的正常新陈代谢,严重的还会威胁人的生命,所以动脉血氧浓度即。 的实时监测在临床救护中非常重要。
3、在本次关于血氧饱和度测量仪的设计中,是基于MCS51单片机的设计,需要选测合适的光电脉搏传感器采集数据,并利用4为LED数码显示测量值,利用键盘切换显示脉搏跳动的频率。 关键词:51单片机 血氧饱和度 比尔朗伯定理第1章 绪论1.1血氧饱和度的基本概念血氧饱和度(SO2)是血液中被氧结合的氧合血红蛋白(HbO2)的容量占全部可结合的血红蛋白(Hb)容量的百分比,即血液中血氧的浓度,它是呼吸循环的重要生理参数。而功能性氧饱和度为HbO2浓度与HbO2+Hb浓度之比,有别于氧合血红蛋白所占百分数。因此,监测动脉血氧饱和度(SaO2)可以对肺的氧合和血红蛋白携氧能力进行估计。正常人体动脉血的血氧饱和
4、度为98% ,静脉血为75%。 (Hb为血红蛋白,hemoglobin,简写Hb)1.2血氧饱和度测量仪课程设计的意义人体的新陈代谢过程是生物氧化过程,而新陈代谢过程中所需要的氧,是通过呼吸系统进入人体血液,与血液红细胞中的血红蛋白(Hb),结合成氧合血红蛋白(HbO2),再输送到人体各部分组织细胞中去通过连续或间断地监测血氧饱和度可以对人体携带氧的能力进行估计, 同时,其又是判断人体呼吸系统、循环系统是否出现障碍或者周围环境是否缺氧的重要指标, 在手术麻醉、监护室急救病房、病人运动和睡眠研究、以及慢性呼吸循环系统疾病患者的监上都有着重要的作用。 传统的血氧饱和度测量方法是先进行人体采血,再利
5、用血气分析仪进行电化学分析,测出血氧分压PO:,计算SaO2:。这种方法比较麻烦,且不能进行连续的监测。因此,一种采用无损光谱学连续检测人体的血氧含量的方法应运而生。其基本原理是根据组织对光的固有特性,利用光在组织中传播的效应来获取和研究生物组织生理的、代谢的有用信息,安全、可靠、对肌体无损,具有广泛的研究应用前景和重要的实用价值。 1.3血氧饱和度测量仪课程设计的技术要求通过MCS51单片机(或其他单片机)制作一台数字显示的血氧饱和度测量仪。要求如下:1. 了解什么事血氧饱和度,掌握无创测量血氧饱和度的方法;2. 选择光电脉搏传感器,设计血氧饱和度检测电路;3. 利用4为LED数码显示测量值
6、并可以切换显示脉搏跳动的频率;4. 选测单片机构建信号采集系统;5. 需将完成的检测调理电路,通过软件仿真验证。1.4基本步骤1.4.1理论依据 无创血氧饱和度的检测原理是根据Beer-Lambert定律,引出分光光度法进行物质定性分析和定量分析。根据这个理论基础,由氧合血红蛋白与还原血红蛋白对不同波长色光的吸光度不同和血氧饱和度的定义,推导出动脉血管中的血氧饱和度计算公式。根据朗伯-比尔定律可以得出单色光透过某均匀溶液后透射光强I与溶液诸参数的关系是:式中:E表示该溶液对某特定单色光的吸光系数;C表示该溶液的浓度;D表示光透过溶液所经光程长度。若定义吸光度A为:A=ln(I0I)=ECD 假
7、如均匀组织为血管,当动脉血脉动时,D将有一个D的改变,此时透射光I也将有一个I的改变,此时吸光度A的改变A为:A=lnI(I-I)=EC×D 根据医学定义,由于含氧血红蛋白和还原血红蛋白处于同一血液溶液中,他们的含量之比即为浓度之比,这样血氧饱和度为:式中:W即为该色光光电信号的交直流成份之比,由以上表达式再根据数学变换,当有两路光源透射过手指后最终可以推出血氧饱和度的计算表达式为:式中:Ei表示不同物质的吸光系数,对于一定波长和一定组织成分而言,Ei是确定的常量。将上式写为如下形式,并展开成二阶泰勒级数为:只要测量出色光光电信号的交直流成份之比WW与标准血氧计测量的血氧饱和度,利用
8、最小二乘法二次曲线拟合技术,确定常数A,B,C就可以得到血氧饱和度经验公式。1.4.2硬件电路的设计根据脉搏血氧饱和度的测量仪的测量原理,设计了以MCS51单片机为核心的脉搏血氧饱和度仪的硬件电路,包括方波脉冲发生电路,光电驱动电路,滤波电路,放大电路,数码显示电路,解调电路,电源等。1.4.3软件设计编程产生时序,控制光源驱动电路,ADC0809,数码显示,实现检测结果数字显示及控制整个硬件系统,编程实现信号的增益调节等。1.4.4仿真及数值定标在完成血氧饱和度测量仪硬件系统金额信号处理之后,对脉搏血氧饱和度测量仪进行实验以验证测量的精度。为了能在实际应用中得到可信的结果,应对测量仪进行数值
9、的定标,以取得最准确的定标参数。第2章 实验方案设计及论证2.1设计理论依据血氧饱和度测量仪的设计主要依据是比尔朗伯定律,和双波长法以及光电脉搏传感器,采用无创血氧饱和度测量仪的设计理念。2.2双波长法的概念在单位时间内有两条波长不同的光束1和2交替照射同一个溶液,由检测器测出的吸收度是这两个波长下吸收度的差值A。A与被测定物质的浓度成正比,这个方法称双波长分光光度法。双波长分光光度法的关键是正确选择两波长1、2,要求被测组分D在两波长处的A足够大,而干扰组分G和背景在两波长应有相同的吸光度(A=0)。为满足上述要求,一般是将2选在待测组分的最大吸收波长,1是选在干扰组分等吸收波长。可测定浑浊
10、样品,也可测定吸收光谱相互重叠的混合物样品,也是当杂质使主峰产生肩峰时测定主峰物质的较好定量方法。2.3光电脉搏传感器a. 光电式脉搏传感器的原理 根据朗伯比尔(Lamber Beer) 定律, 物质在一定波长处的吸光度和他的浓度成正比。当恒定波长的光照射到人体组织上时, 通过人体组织吸收、反射衰减后测量到的光强将在一定程度上反映了被照射部位组织的结构特征。脉搏主要由人体动脉舒张和收缩产生的, 在人体指尖, 组织中的动脉成分含量高, 而且指尖厚度相对其他人体组织而言比较薄, 透过手指后检测到的光强相对较大,因此光电式脉搏传感器的测量部位通常在人体指尖。b. 光电脉搏传感器的结构 从光源发出的光
11、除被手指组织吸收以外, 一部分由血液漫反射返回。其余部分透射出来。光电式脉搏传感器按照光的接收方式可分为透射式和反射式2 种, 其中透射式的发射光源与光敏接收器件的距离相等并且对称布置,接收的是透射光, 这种方法可较好地反映出心律的时间关系, 但不能精确测量出血液容积量的变化; 反射式的发射光源和光敏器件位于同一侧, 接收的是血液漫反射回来的光, 此信号可以精确地测得血管内容积变化。本文讨论的是透射式脉搏传感器, 侧重于脉搏信号的测量。c. 光敏原件光电式脉搏传感器由于采用不同的光敏元件有着多种实现方法, 其中光敏元件主要有光敏电阻、光敏二极管、光敏三极管和硅光电池。在传统的光电式脉搏传感器设
12、计中, 通常采用的是独立光敏元件, 利用半导体的光电效应改变输出的电流, 通常光敏元器件输出的电流极低, 容易受到外界干扰, 而且对后续的放大器的要求比较严格, 需要放大器空载时的电流输出较小, 避免放大器空载输出电流对脉搏信号测量的干扰, 这样对于普通的放大器就不能直接应用在光敏元件的后端。在本设计中,采用一种光敏元件OPT101 , 该元件将感光部件和放大器集成在同一个芯片内部, 这种集成化的设计方式有效地克服了后端运算放大器空载电流输出对光敏部件输出电流的影响, 而且芯片输出的电压信号可以通过外部的精密电阻进行调节, 有利于芯片适应整体的电路设计, 同时芯片的集成化设计也能够减小系统的功
13、耗。d. 发射光源光电式脉搏传感器主要由光源、光敏器件, 以及相应的信号调理控制电路构成。为了充分利用器件的效果, 光源和光敏元件的选择是综合考虑的, 光源的波长应该落在光敏元件检测灵敏度较高的波段内, 图4 为OPT101 的光波长响应曲线。 脉搏信号主要由动脉血的充盈引起, 而血液中还原血红蛋白( Hb) 和氧合血红蛋白( HbO2 ) 含量变化将造成透光率的变化, 当氧合血红蛋白和还原血红蛋白对光的吸收量相等时, 透射光的强度将主要由动脉血管的收缩和舒张引起, 此时能够比较准确地反映出脉搏信号。图5 为血红蛋白的光吸收曲线, 从图中可以看出, 血液中HbO2 和Hb 对于不同波长光的吸收
14、系数的差异明显, 而且2 条曲线好几个不同的交点, 考虑到在805nm波长处, 血红蛋白的光吸收率比较低, 那么透射过手指的光强较大, 有利于光敏器件的接收, 因此发射光源的波长选择为805nm。 2.4传感器可能收到的干扰在测量过程中, 前端测量到的脉搏信号十分微弱, 容易受到外界环境干扰, 因此需要对脉搏传感器的干扰噪声进行分析, 从光电式脉搏传感器设计的技术角度减少干扰, 使之能够准确测量到脉搏信号。光电式脉搏传感器的干扰主要有测量环境光干扰、电磁干扰、测量过程运动噪声, 下面对上述情况结合实验测量做进一步的分析。a. 环境光对脉搏传感器测量的影响 在光电式脉搏传感器中, 光敏器件接收到
15、的光信号不仅包含脉搏信息的透射光信号, 而且包含测量环境下的背景光信号, 由于动脉搏动引起的光强变化比背景光的变化微弱得多, 因此在测量过程当中要保持测量背景光的恒定, 减少背景光的干扰。 测量环境下的背景光包含环境光和在测量过程中引起的二次反射光。为了减少环境光对脉搏信号测量的影响, 同时考虑到传感器使用的方便性, 采用密封的指套式的包装方式, 整个外壳采用不透光的介质和颜色, 尽量减小外界环境光的影响。为了避免测量过程中的二次反射光的影响, 在指套式传感器的内层表面涂上一层吸光材料, 这样能有效减少二次反射光的干扰。由图7 的图形明显可知, 加上指套式外壳后的脉搏传感器测量到的脉搏波形比较
16、平滑。这是因为加指套式的脉搏传感器中环境光在测量过程中基本上不受外界环境光的影响, 而且能够有效减少二次反射光, 使照射到手指上的光波长单一, 所以得到的脉搏信号较为稳定, 没有明显的重叠杂波信号, 能够很好地体现出脉搏波形的特征。 b.电磁干扰对脉搏传感器的影响 通过光电转换得到的包含脉搏信息的电信号一般比较微弱, 容易受到外界电磁信号的干扰, 在传统的光电式脉搏传感器电路中, 由于光敏器件和一级放大电路是分离的, 那么在信号的传递过程就很容易受到外界电磁干扰,通常在一级放大电路采用电磁屏蔽的方式来消除电磁干扰。本系统采用了新型的光敏器件, 在芯片内部集成光敏器和一级放大电路, 有效地抑制了
17、外界电磁信号对原始脉搏信号的干扰 工频干扰是电路中最常见的干扰, 脉搏信号变化缓慢, 特别容易受到工频信号的干扰, 因此对工频信号干扰的抑制是保证脉搏信号测量精度的主要措施之一。通常脉搏信号的频率范围在01330 Hz 之间, 小于工频50 Hz ,因此通过低通滤波器可以有效滤除工频干扰, 这在信号调理电路中容易实现; 同时可以在控制电路中对光源进行脉冲调制。这样不但能够降低系统的功耗, 而且能够在一定程度上减小外界的电磁干扰。在脉搏信号数据采集后, 可以通过数据处理法方法进一步滤除工频信号的干扰。 c. 测量过程中运动噪声 在测量过程当中, 通常情况下手指和光电式脉搏传感器可能产生相对的运动
18、, 这样对脉搏测量产生误差, 可以通过2 个方面减少运动噪声误差: 一是改善指套式传感器的机械抗运动性, 比如说使指套能够更紧的夹在手指上, 不易松动; 二是从脉搏信号处理的角度, 通过算法来减小误差,对于传感器的设计, 现在采用的主要是第一个途径。 2.5实验方案设计根据实验指导书,设计采用MCS51单片机的最小系统,通过555定时器产生方波,通过二分频对红光二极管和红外光二极管作用,根据双波长法测量血氧饱和度,光电传感器OPT101接受光信号,再通过解调电路,滤波电路,输入A/D转换器,单片机取出通过A/D转换器的数据,并在LED上显示。通过编程,使当按键盘后,显示切换成脉搏频率的显示。第
19、3章 硬件电路的设计3.1硬件原理框图AT89C51单片机LED显示复位自检键盘A/D转换器滤波电路555定时器产生方波信号红光/红外光发光管解调器和光电传感器该系统主要由传感器驱动电路,光电传感器,时序控制电路,积分滤波,液晶显示电路和8951单片机构成。信号处理和控制采用的是美国CYGNAL共生产的C8951单片机,与普用的8051单片机相比,89C51具有以下几个重要特点:1. 速度快:高达25M/s的速度,比标准8051快了20倍以上,丝毫不逊于PLC,ARM单片机。2. 强大的模拟信号处理功能:有32路12位的ADC,两路12位精度的DAC,两路模拟比较器。3. 强大的控制功能:多大
20、64位的I/O口线,独特地数字开关阵列可将内部的定时器串行总线,外部中断源,A/D转换输入等定位于P0,P1,P2。4. 存储器:64KB的FLASH存储器,部分可用数据存储器,片内4KB的RAM存储器。5. 。丰富的串行接口:具有标准的全双工UART,串行总线和SP2串行总线。3.2各部分电路的设计3.2.1单片机的最小系统电路用8051等内有ROM单片机构成最小系统时,只要在单片机的外围接时钟电路和复位电路,单片机就可以工作了。8031类内无ROM型单片机,仍需要外扩更大程序存储器的单片机,在构成最小单片机应用系统时,不仅要外接晶体振荡器和复位电路,还应在片外扩展程序存储器ROM,这时EA
21、应接高电平。3.2.2 555定时器产生方波信号电路采用555定时器产生一个2KHZ的方波信号,采用电路图为:参照附录硬件原理图。电阻选用10K的电阻,电容则为0.01uF。之后需要接入一个D触发器用于二分频。3.2.3 滤波电路采用BUTTERWORTH滤波器进行滤波操作,分别对红光交流,红光直流,红外光交流,红外光之流进行滤波处理,其中电感原件为通直阻交,电容原件为通交阻直。其次,还要通过一个正负1放大器来对共模干扰进行滤除,之后再进行滤波器滤波操作。3.2.4 解调电路及外拉电阻采用4053作为解调器,两个电容均选用10K的。外拉电阻采用RD1(10K),外拉电阻的作用是维持电平稳定,增
22、加单片机带负载能力。3.2.5红光和红外光发光模块利用两个发光二极管进行红光和红外光的发光控制。当555定时器产生的2KHZ的方波脉冲,通过D触发器二分频后,来控制红光和红外光的发光。第4章 软件模块设计脉搏血氧饱和度测量仪的软件部分主要包括:硬件初始化和系统自检,红光和红外光的时序控制,A/D采样和数据的操作,数码显示等模块。以下是流程图:4.1主程序流程图开始显示血氧浓度flag=1?A/D采样A/D中断定时器发送相应驱动控制信号系统自检硬件初始化结束显示脉搏频率调用显示子函数YN为保证系统的正常工作,在上电之后完成微处理器系统,外围设备的初始化设计和自检。微处理器上电之后,立即进入初始化
23、模块进行设置,关闭所有中断,进行系统总线的初始化,接着依次设置系统的晶振,定时器,串行通讯端口,片内外的模拟/数字转换器和所有的I/O端口。然后C8051加载应用程序运行,大量的过程处理和算术运算是由函数库软件实现的,实时监测过程的执行是由中断服务程序实现的。4.2子程序流程图4.2.1 ADC0809采集数据流程图返回结束转换EOC=1?转换数据选择通道编译选通代码开始YN4.2.2显示部分子程序流程图开始选择对应数码管编译显示代码从表中查询对应编码返回4.2.3对被存储的数据操作的流程图开始转换成十六进制码读低八位读高八位将低八位和高八位合并成一个字返回4.2.4系统调试根据方案设计的要求
24、,调试过程共分为3大部分:硬件调试,软件调试和软硬联跳。单片机的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试中发现和纠结的。但通常是先排除明显的硬件故障以后,在和软件结合起来调试以进一步排除故障。可见硬件的调试是基础。如果硬件调试不通过,软件设计就是无从说起4.3硬件调试(1) 排除逻辑故障这类故障往往是由于设计和加工制板的过程中工艺性的错误造成的。主要包括:错线,开路,短路。排出的方法是首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线是否存在相互之间短路或者与其他信号线短路。必要时利用数字万用表和短路测试功能,
25、可以缩短排错时间。(2) 排除原件失效造成这类错误的原因主要有两个:一个是元器件买来时就是坏的;另一个是安装错误,造成期间烧坏。可以采取检查元器件与设计要求的型号,规格和要求是否一致。在保证安装无误之后,用替换方法排除错误。(3) 排除电源故障在通电前,一定检查电源电压的幅值和极性,否则很容易造成集成块损坏。第五章 设计收获及心得体会三周的课程设计转眼即逝,又到了结束的时候了。这次信号检测课程设计可以说是非常辛苦的,但是却学到了很多以前没有接触过的东西,比如PROTEUS同时还巩固了以前在课堂上学到的知识,并且掌握了许多在课本上学不到的东西。通过参加本次课程设计,熟悉了数字信号处理的基本方法,
26、对信号的检测有了一个进一步的新的认识,对单片机及C语言进一步熟悉。以前接触的基本都是单片机的一些基础知识,而这次的课程设计需要对单片机有较深的理解,这就需要我们深入的去进一步学习和了解单片机的知识,比如单片机的最小工作系统的电路。在血氧饱和度的测量中,光电传感器是非常重要的,这是采用双波长法的基础。其次,滤波器也是很必要的。懂得理论结合实践的重要性,只在课堂上学好知识是远远不够的,还需要亲手去操作,亲手去实践,去验证。只有把所学到的理论知识应用到实践中去,并从实践中得出结论才能提高自己的实际动手能力和独立思考能力。作为一名电子信息科学与技术大三的学生,我觉得信号检测综合训练是十分有意义的,而且
27、是十分必要的。在已度过的大学时间里,我们大多数时间是花费在教室中的,在课堂上掌握的也仅仅是理论知识,课程设计正是一个让我们把理论转换成实践的一个平台。在做本次课程设计的过程中,我感触最深的就是查阅了大量有关于血氧饱和度和单片机的资料了,为了让自己的课设做的更加完善,查阅资料这是必不可少的。我们不是艺术家,不能够抛开实际尽情的在幻想的海洋里遨游。而我们,作为工科学生,要做的一切有根有据,一切有理可循,不切实际的构想永远只能是构想,不能升级成为设计。在这次课程设计中,我们运用到了许多我们以前学到的东西,如PROTEUS,KeilVision软件等。虽然从未独立应用过他们,但在学习的过程中带着问题去
28、学习我发现效率很高,这是我做课设的一大收获。在课程设中遇到问题很正常,但我们应当将问题记录下来,并分析清楚,以免下一次出现同样的问题,发现,提出,分析,解决问题和实践能力都能够显著提高总的来说,这次课程设计还是相对比较成功的,在设计中遇到过很多问题,但在老师和同学们的帮助下,最终顺利的完成了课设任务,心理有些小小的成就感。同时在这次课程设计中也让我发现了自身的许多不足之处,比如对数字信号的掌握不够熟悉,对单片机的掌握也是半斤八两,没有做到融会贯通,举一反三,在一些基础知识上没有显得游刃有余,对知识缺乏深入探究的好奇心,这是在今后生活中需要认真去改正的。并且在将来的毕业设计和生活学习中做的更好,
29、更加完善。最后,感谢王琦老师在课设期间对我们的帮助,帮助我们顺利的完成了这次的课设任务。第六章 参考文献1赵文博,刘文涛.单片机语言C51程序设计【J】.人民邮电出版社.20052王秀章,陈声权. 脉搏式血氧饱和度检测方法的研究【J】. 中国医学物理学杂志, 1995,(1) .3 宋相和, 王耘. 脉搏波:沟通中医和西医的桥梁【J】. 中西医结合学报, 2008,(9) 4 于巍, 古庆恩, 黄世安. 脉搏血氧饱和度监测技术的研究进展【J】. 中国医学装备, 2008,(4). 5苏永春, 姚翔, 梁妃学, 于巍, 邓亲恺. 基于独立分量分析的脉搏波信号的降噪处理【J】. 医疗设备信息, 2
30、006,(6) .6 .苏永春, 于巍, 姚翔, 梁妃学, 邓亲恺. 利用LMS算法处理血氧饱和度监测中的脉搏波信号【J】. 医疗卫生装备, 2006,(7) .7张虹, 孙卫新, 金捷. 脉搏血氧饱和度检测系统设计中干扰信号的处理方法【J】. 国外医学.生物医学工程分册, 2000,(2) .8张虹, 孙卫新, 金捷. 脉搏血氧饱和度检测中自适应滤波消除运动伪差的方法研究【J】. 生物医学工程与临床, 2001,(1) .9李刚, 李尚颖, 林凌, 王焱, 李晓霞, 卢志杨. 基于动态光谱的脉搏血氧测量精度分析【J】. 光谱学与光谱分析, 2006,(10).10张坤, 焦腾, 付峰, 张雯
31、, 董秀珍. 运用小波模极大值滤波算法消除光电容积脉搏波中的运动干扰J. 仪器仪表学报, 2009,(3) 11潘明,黄继业,潘松.单片机原理与应用技术【J】.清华大学出版社.2011附录1:元件清单序号品名规格信号数量备注1单片机AT89C5112数据锁存器74HC37333液晶显示屏LCD160214放大器AD746SP55555定时器55516解调器74LS406317正负1放大器TL08418D触发器74LS7419逻辑或非门74LS02110逻辑非门74LS04111逻辑与门74LS09212按键式开关513三极管8550314二极管215发光二极管216石英晶振12MHZ117电阻
32、200欧669K1010K125.86K51K2100K41M118电感1uH219电容0.01uF20.1uF820pF24.7uF41nF120uF18pF1附录2:程序清单#include<reg51.h>/函数头文件#include<absacc.h>/功能函数头文件#define CS0809 XBYTE0xfeff /adc0809的地址#define uchar unsigned char/自定义变量#define uint unsigned int/自定义变量sbit EOC=P30; /特殊位自定义sbit key=P13;sbit dula=P15;
33、sbit wela=P16;sbit P20=P20;sbit P21=P21;sbit P22=P22;sbit P31=P31;uchar code table=/显示代码表0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void delay(uint);/子程序自定义void init();void int0();uint shu1,shu2;void display1(uchar,uchar,uchar);void display2(uchar,uchar,uchar);uc
34、har flag1,bai,shi,ge,aa,bb,cc,c;uchar I1,I2,I3,I4,k,SPO2,V1,V2,V3,V4;uint temp;void main() /主函数部分:功能是显示 int0() interrupt 1; while(1) /利用变量C的值来控制标志位的值 if(c=1) flag1=1; else flag1=0; c=0; if(flag1=1)/利用标识符的值来进行显示切换 display1(bai,shi,ge); else display2(aa,bb,cc); void delay(uint x) /延迟函数调用,带参数反回 uint i,
35、j; for(i=x;i>0;i-) for(j=110;j>0;j-); void get_temp() uchar a,b; transform(); delay(1); tempwritebyte(0xfeff);/写转换指令 a=tempread();/读低8位 b=tempread();/读高8位 temp=b; temp<<=8;/两个字节组合成一个字 temp=templa; return temp;void init() /处理数据部分 uchar I1,I2,I3,I4,k,SPO2,V1,V2,V3,V4,p; get_temp(); I1=temp
36、;/红外光直流 get_temp(); I2=temp;/红外光交流 get_temp(); I3=temp;/红光交流 get_temp(); I4=temp;/红光直流 V1=I1*1000000+7.5*0.001; V2=I2*1000000+7.5*0.001; V3=I3*1000000+7.5*0.001; V4=I4*1000000+7.5*0.001; k=(POW(10,(I1+I2)/I1)/(POW(10,(I3+I4)/I4); SPO2=108.6-33.67k; nnt1(); nnt2(); nnt11(); nnt21(); p=(POW(10,(Imax(I
37、3)/Imin(I3)/(POW(10,(Imax(I2)/Imin(I2); shu1=SPO2; shu2=p; return shu1,shu2;void nnt1()/最大值调用函数 uint I3 ; for(m=0;m<8;m+) i=m; j=m+1; if(I3j>I3i) I3i=I3j; Imax(I3)=I3i; return Imax(I3);void nnt2() uint I2 ; for(m=0;m<8;m+) i=m; j=m+1; if(I2j>I2i) I2i=I2j; Imax(I2)=I2i; return Imax(I2);void n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 奶茶店店员合同协议书
- 家庭亲子活动计划
- 儿童购物网商业计划书范本【多】
- 2025年机电一体化的总结报告
- 霸王茶姬计划书
- 商业模式-连锁企业商业网点扩课程
- 2021田径工作报告
- 2025年鲜果品项目投资可行性研究分析报告
- 工地石头开采合同协议书
- 中国TiN涂层项目投资计划书
- 2025购销茶叶合同范本
- 2025年宣城郎溪开创控股集团有限公司下属子公司招聘12人笔试参考题库附带答案详解
- 山东济南历年中考作文题与审题指导(2005-2021)
- 风冷模块培训课件
- 职业技术学院2024级工业互联网技术专业人才培养方案
- 罗森加盟合同协议
- 2025年中考英语押题预测卷(徐州专用)(原卷版)
- 2025-2030中国马丁靴行业发展分析及发展前景与投资研究报告
- 锝99mTc替曲膦注射液-药品临床应用解读
- 武汉各区2023-2024学年九下化学四调压轴题分类汇编-第8题选择题
- 脑血管造影术的术前及术后护理
评论
0/150
提交评论