版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PAGE 第 PAGE 35页毕业设计报告目 录 TOC o 1-3 h z u HYPERLINK l _Toc230062044 第一章 引 言 PAGEREF _Toc230062044 h 10 HYPERLINK l _Toc230062045 第二章 硬件电路设计 PAGEREF _Toc230062045 h 11 HYPERLINK l _Toc230062046 2.1 AT89C2051主要性能 PAGEREF _Toc230062046 h 11 HYPERLINK l _Toc230062049 2.2 AT89C2051的结构框图 PAGEREF _Toc230062
2、049 h 12 HYPERLINK l _Toc230062051 2.3 AT89C2051的引脚说明 PAGEREF _Toc230062051 h 13 HYPERLINK l _Toc230062052 2.4 复位电路 PAGEREF _Toc230062052 h 15 HYPERLINK l _Toc230062054 2.5 振荡电路 PAGEREF _Toc230062054 h 15 HYPERLINK l _Toc230062056 第三章 基本结构模块 PAGEREF _Toc230062056 h 16 HYPERLINK l _Toc230062057 3.1 脉
3、搏波检测电路 PAGEREF _Toc230062057 h 16 HYPERLINK l _Toc230062059 3.2 脉搏信号拾取电路 PAGEREF _Toc230062059 h 16 HYPERLINK l _Toc230062061 3.3 信号放大 PAGEREF _Toc230062061 h 18 HYPERLINK l _Toc230062064 3.4 波形整形部分 PAGEREF _Toc230062064 h 20 HYPERLINK l _Toc230062066 第四章 整体电路分析 PAGEREF _Toc230062066 h 21 HYPERLINK
4、l _Toc230062067 4.1 光发射电路 PAGEREF _Toc230062067 h 21 HYPERLINK l _Toc230062068 4.2 光电转换电路 PAGEREF _Toc230062068 h 21 HYPERLINK l _Toc230062071 4.3 信号采集及处理系统 PAGEREF _Toc230062071 h 22 HYPERLINK l _Toc230062072 4.4 过采样技术的应用 PAGEREF _Toc230062072 h 22 HYPERLINK l _Toc230062073 4.5 整体硬件电路设计 PAGEREF _To
5、c230062073 h 23 HYPERLINK l _Toc230062075 第五章 软件设计 PAGEREF _Toc230062075 h 25 HYPERLINK l _Toc230062076 5.1 程序设计 PAGEREF _Toc230062076 h 25 HYPERLINK l _Toc230062078 5.2 程序源代码 PAGEREF _Toc230062078 h 26 HYPERLINK l _Toc230062079 结束语29 HYPERLINK l _Toc230062080 致 谢 PAGEREF _Toc230062080 h 31 HYPERLIN
6、K l _Toc230062081 参考文献 PAGEREF _Toc230062081 h 32基于单片机设计的脉搏测量仪周 静0601电气技术摘 要 医院的护士每天都要给住院的病人把脉记录病人每分钟脉搏数,方法是用手按在病人腕部的动脉上,根据脉搏的跳动进行计数。为了节省时间,一般不会作1分钟的测量,通常是测量10秒钟时间内心跳的数,再把结果乘以6即得到每分钟的心跳数,即使这样做还是比较费时,而且精度也不高。本文介绍一种用单片机制作的脉搏测量仪,只要人把手指放在传感器内2秒钟就可以精确测量出每分钟脉搏数,测量结果用三位数字显示。关键词:AT89C2051 单片机 脉搏测量仪Single-ch
7、ip design based on the pulse measuring instrumentZhou Jing0601 Electrical TechnologyAbstract: Nurse hospital wants to give in hospital every day the patient takes the pulse to record the patient each minute pulse number, the method is with the hand according to on the patient wrists department arter
8、y, carries on the counting according to pulses beat. For the saving of time, will not make 1 minute survey generally, usually will be surveys in 10 seconds time palpitations number, will be multiplied by again the result 6 namely obtains each minute palpitation number, even if will do this is quite
9、time-consuming, moreover the precision will not be high. This article introduced that one kind the pulse measuring instrument which manufactures with the monolithic integrated circuit, so long as the human places the finger in the sensor 2 seconds to be possible the precision measuring each minute p
10、ulse number, the measurement result showed with three digit. Key words: AT89C2051 monolithic integrated circuit pulse measuring instrument第一章 引 言 脉搏测量属于检测有无脉博的测量,有脉搏时遮挡光线,无脉搏时透光强,所采用的传感器是红外接收二极管和红外发射二极管。用于体育测量用的脉搏测量大致有指脉和耳脉二种方式。这二种测量方式各有优缺点,指脉测量比较方便、简单,但因为手指上的汗腺较多,指夹常年使用,污染可能会使测量灵敏度下降;耳脉测量比较干净,传感器使用
11、环境污染少,容易维护。但因耳脉较弱,尤其是当季节变化时,所测信号受环境温度影响明显,造成测量结果不准确。从脉搏波中提取人体的生理病理信息作为临床诊断和治疗的依据,历来都受到中外医学界的重视。几乎世界上所有的民族都用过“摸脉”作为诊断疾病的手段。脉搏波所呈现出的形态(波形)、强度(波幅)、速率(波速)和节律(周期)等方面的综合信息,在很大程度上反映出人体心血管系统中许多生理病理的血流特征,因此对脉搏波采集和。处理具有很高的医学价值和应用前景。但人体的生物信号多属于强噪声背景下的低频的弱信号, 脉搏波信号更是低频微弱的非电生理信号, 必需经过放大和后级滤波以满足采集的要求。第二章 硬件电路设计2.
12、1 AT89C2051主要性能AT89C2051是ATMEL公司生产的带2K字节闪速可编程可擦除只读存储器(EEPROM)的8位单片机,它具有如下主要特性:(1)和MCS-51产品的兼容 (2)2K字节可重编程闪速存储器 (3)耐久性:1,000写擦除周期 (4)2.7V6V的操作范围 (5)全静态 图2-1 AT89C2051的结构框图操作:0Hz24MHz 两级加密程序存储器 1288位内部RAM 15根可编程I/O引线 两个16位定时器/计数器 六个中断源 可编程串行UART通道 直接LED驱动输出 片内模拟比较器 低功耗空载和掉电方式和MCS-51产品的兼容 2K字节可重编程闪速存储器
13、 耐久性:1,000写擦除周期 2.7V6V的操作范围 全静态操作:0Hz24MHz 两级加密程序存储器 1288位内部RAM 15根可编程I/O引线 两个16位定时器/计数器 六个中断源 可编程串行UART通道 直接LED驱动输出 片内模拟比较器 低功耗空载和掉电方式和MCS-51产品的兼容 2K字节可重编程闪速存储器 耐久性:1,000写擦除周期 2.7V6V的操作范围 全静态操作:0Hz24MHz 两级加密程序存储器 1288位内部RAM 15根可编程I/O引线 两个16位定时器/计数器 六个中断源 可编程串行UART通道 直接LED驱动输出 片内模拟比较器 低功耗空载和掉电方式。2.2
14、 AT89C2051的结构框图AT89C2051是一带有2K字节闪速可编程可擦除只读存储体(EEPROM)的低电压,高性能8位CMOS微型计算机。如图10.2所示。它采用ATMEL的高密非易失存储技术制造并和工业标准MCS51指令集和引脚结构兼容。通过在单块芯片上组合通用的CPL1和闪速存储器,ATMEL AT89C2051是一强劲的微型计算机,它对许多嵌入式控制应用提供一高度灵活和成本低的解决办法。图2-2 AT89C2051内部结构图此外,从AT89C2051内部结构图也可看出,其内部结构与8051内部结构基本一致(除模拟比较器外),引脚RST、XTAL1、XTAL2的特性和外部连接电路也
15、完全与51系列单片机相应引脚一致,但P1口、P3口有其独特之处。2.3 AT89C2051的引脚说明AT89C2051是一个有20个引脚的芯片,引脚如图10.1所示,与8051内部结构进行对比可发现,AT89C2051减少了两个对外端口(即P0、P2口),使它最大可能地减少了对外引脚,因而芯片尺寸有所减少。AT89C2051芯片的20个引脚功能为:1. Vcc:电源电压。2. GND:地。 3. P1口:P1口是一8位双向I/O口。口引脚P1.2P1.7提供内部上拉电阻。 P1.0和P1.1要求外部上拉电阻。P1.0和P1.1还分别作为片内精密模拟比较器的同相输入(AIN0)和反相输入(AIN
16、1)。P1口输出缓冲器可吸收20mA电流并能直接驱动LED显示。当P1口引脚写入“1”时,其可用作输入端。当引脚P1.2P1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而流出电流(IIL)。 P1口还在闪速编程和程序校验期间接收代码数据。4. P3口:P3口的P3.0P3.5、P3.7是带有内部上拉电阻的七个双向I/0引脚。P3.6用于固定输入片内比较器的输出信号并且它作为一通用I/O引脚而不可访问。P3口缓冲器可吸收20mA电流。当P3口引脚写入“1”时,它们被内部上拉电阻拉高并可用作输入端。用作输入时,被外部拉低的P3口引脚将用上拉电阻而流出电流(IIL)。P3口还用于实现AT89C
17、2051的各种功能,如下表10-1所示。P3口还接收一些用于闪速存储器编程和程序校验的控制信号。5. RST:复位输入。RST一旦变成高电平,所有的I/O引脚就复位到“1”。当振荡器正在运行时,持续给出RST引脚两个机器周期的高电平便可完成复位。每一个机器周期需12个振荡器或时钟周期。6. XTAL1:作为振荡器反相放大器的输入和内部时钟发生器的输入。7. XTAL2:作为振荡器反相放大器的输出。表1-1 P3口的功能P3口引脚功能P3.0RXD(串行输入端口)P3.1TXD(串行输出端口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4TO(定时器0外部输入)P3.5T1(定
18、时器1外部输入)从上述引脚说明可看出,AT89C2051没有提供外部扩展存储器与I/O设备所需的地址、数据、控制信号,因此利用AT89C2051构成的单片机应用系统不能在AT89C2051之外扩展存储器或I/O设备,也即AT89C2051本身即构成了最小单片机系统。2.4 复位电路图2-3 复位电路图时钟电路工作后,在REST管脚上加两个机器周期的高电平,芯片内部开始进行初始复位(如图23)。2.5 振荡电路图2-4 振荡电路图本设计晶振选择频率为12MHz,电容选择30pF如图(24)。经计算得单片机工作胡机器周期为:12(112M)=1us。第三章 基本结构模块3.1 脉搏波检测电路目前脉
19、搏波检测系统有以下几种检测方法:光电容积脉搏波法、液体耦合腔脉搏传感器、压阻式脉搏传感器以及应变式脉搏传感器。近年来, 光电检测技术在临床医学应用中发展很快, 这主要是由于光能避开强烈的电磁干扰, 具有很高的绝缘性, 且可非侵入地检测病人各种症状信息。用光电法提取指尖脉搏光信息受到了从事生物医学仪器工作的专家和学者的重视。本系统设计了指套式的透射型光电传感器, 实现了光电隔离,减少了对后级模拟电路的干扰,结构如图1 所示。图3-1 透射式光电传感器图传感器由发光二级管和光敏二极管组成, 其工作原理是: 发光二极管发出的光透射过手指,经过手指组织的血液吸收和衰减,由光敏二极管接收。由于手指动脉血
20、在血液循环过程中呈周期性的脉动变化,所以它对光的吸收和衰减也是周期性脉动的, 于是光敏二极管输出信号的变化也就反映了动脉血的脉动变化。3.2 脉搏信号拾取电路如图2所示,IClA为单位增益缓冲器,用于产生2.5V的基准电压。 图3-2 信号拾取器图红外接收二极管在红外光的照射下能产生电能,单个二极管能产生O.4 V电压,0.5 mA电流。BPW83型红外接收二极管和IR333型红外发射二极管工作波长都是940 nm,在指夹中,红外接收二极管和红外发射二极管相对摆放以获得最佳的指向特性。红外发射二极管中的电流越大,发射角度越小,产生的发射强度就越大。在图l中,RO选100 是基于红外接收二极管感
21、应红外光灵敏度考虑的。R0过大,通过红外发射二极管的电流偏小,BPW83型红外接收二极管无法区别有脉搏和无脉搏时的信号。反之,R0过小,通过的电流偏大,红外接收二极管也不能准确地辨别有脉搏和无脉搏时的信号。当红外发射二极管发射的红外光直接照射到红外接收二极管上时,IC1B的反相输入端电位大于同相输入端电位,Vi为“O”。当手指处于测量位置时,会出现二种情况:一是无脉期。虽然手指遮挡了红外发射二极管发射的红外光,但是,由于红外接收二极管中存在暗电流,仍有lA的暗电流会造成Vi电位略低于2.5 V。二是有脉期。当有跳动的脉搏时,血脉使手指透光性变差,红外接收二极管中的暗电流减小,Vi电位上升。由此
22、看来,所谓脉搏信号的拾取实际上是通过红外接收二极管,在有脉和无脉时暗电流的微弱变化,再经过IClB的放大而得到的。所拾取的信号为2V左右的电压信号。3.3 信号放大按人体脉搏在运动后最高跳动次数达240次/分计算来设计低通放大器,它由IC2A和C04等组成,如图2所示。转折频率由R07、C04、R08和C05决定,放大倍数由R08和R06的比值决定。图3-3 低通滤波器图根据二阶低通滤波器的传递函数,可得 (1)放大倍数为 H=-R08/R06 =-22 (2)取0.707倍零频增益计算高频转折频率,即fH = 7.7Hz (3)按人的脉搏最高为4 Hz考虑,低频特性是令人满意的。需要说明的是
23、,以上分析是在忽略C03的条件下做出的,如果考虑C03的话,那么:由此可见,C03没有影响频率特性的分析,它的作用只是隔直。二级放大器兼比较器如图4所示。Rpll用以调整系统的放大倍数,C06用以防止放大器自激。采用二级放大,零点漂移不很明显,在O.1 V左右。所以将比较器的阈值电压设计成O.25 V,以确保滤除干扰信号。采用比较器的好处是能有效地克服零点漂移所造成的影响,提高测量的准确性。图3-4 二级放大器和比较器图3.4 波形整形部分波形整形电路如图5所示,IC3A是CD4528型单稳态多谐振荡器,有效脉宽为0.05 s其宽度由R22和C20决定。IC3B也组成一个单稳态多谐振荡器,脉宽
24、为240ms。D2、Dl和T3等组成一个或非门,只有C,E两点均为低电平时,信号放大器整机输出才是高电平。设计这个电路的目的是为了在输出端输出一个窄脉冲,并且要在由R13和C07决定的时间内任何信号都不会干扰输出。R23和C21充电时间的长短决定了计数脉冲的宽度,一般不希望它太宽。波形整形时序如图6所示。图3-5 波形整形线路图第四章 整体电路分析4.1 光发射电路经实验可知,采用GaAs红外发光二极管作为光源时,可基本抑制由呼吸运动造成的脉搏波曲线的漂移。脉搏波检测以光电检测技术为基础,因此受周围杂散光、暗电流等各种干扰影响较大。为了克服这一问题本系统采用脉冲振幅光调制技术。脉冲调制传送的是
25、调制信号的采样值,只要采样频率奈奎斯特采样频率,则可由采样脉冲来恢复原信号,而不会导致失真。系统对红外二极管的驱动脉冲信号的频率选定为工频整数倍400Hz以降低工频干扰。脉冲载波由ADuC841内部16位数模转换器产生。为了保证红外发光二极管的光源稳定,本文采用运放op495和NPN型三极管作为恒流源电路向发光二极管提供稳定的工作电流,光源驱动电路如图4-1所示。4.2 光电转换电路光敏二极管的特性是将光信号转换为电流,而随后的A/D转换电路是以电压为检测对象。因此,接收电路中应采用电流电压变换电路,将电流信号转换为电压信号。运算放大器与电阻R形成电流电压变换电路,如图4-2所示。(图中S_G
26、ND为信号地,运算放大器工作正负电源为5V、0V,为避免信号丢失,将信号抬高至VS_GND=1V。)电路输出电压。图4-1 发光二极管驱动电路图图4-2 光敏二极管的电流电压转换电路图4.3 信号采集及处理系统 由于光电脉搏波属于缓慢变化的微弱生理信号,信噪比低,极易受到环境噪声和肢体运动的干扰。传统的光电脉搏波信号检测电路都采用高增益放大器,以获得较高的检测灵敏度,这种设计思路导致了检测信号动态范围缩小,在受到运动干扰时,将导致由于干扰信号而带来的光电脉搏波信号检测的饱和失真。本系统采用过采样技术,通过对信号的高速采样来提高采样精度,相当于用高分辨率的ADC对信号进行模数转换,达到了提高信噪
27、比并改善动态范围的效果。因此本系统对经过光电转换后的信号进行模数转换而不需要任何信号调理(放大和滤波)电路。4.4 过采样技术的应用所谓过采样技术是指以远远高于奈奎斯特(Nyquist)采样频率的频率对模拟信号进行采样的方法。由信号采样量化理论可知,若输入信号的最小幅度大于量化器的量化电平,并且输入信号的幅度随机分布,则量化噪声的总功率是一个常数,在0fs2的频带范围内均匀分布8。因此量化噪声电平与采样频率成反比,如果提高采样频率,则可以降低量化噪声电平,而由于基带是固定不变的,因而减少了基带范围内的噪声功率,提高了信噪比,从而提高分辨率,并且采样频率每提高4倍,则信噪比提高4倍,相当于A/D
28、C的分辨率提高1位。本文设计的脉搏检测系统正是利用了这一原理,在A/DC过采样之后进行数字滤波,大部分噪声被数字滤波器滤掉,这样量化噪声就降低了,即提高了系统信噪比。系统采用FIR结构的滑动平均滤波器,在过采样之后对数据进行数字抽取滤波。滑动平均滤波器系统传递函数为。该滤波器的作用是滤波、抽取和抗混叠。滤波器为一个数字低通滤波器,主要是滤除采样信号频带以外的高频量化噪声,并维持信号频带以内的信号基本不变,相当于增加了数字信号的有效分辨率;抽取是将采样得到的高速低分辨率的数字信号的抽样频率降至奈奎斯特采样频率,进而完成高分辨率数字信号的重构;抗混叠主要是滤除降低取样频率后可能出现的混叠噪声。本文
29、利用ADC841单片机内部的12位ADC对光电转换后的02.5V 的电信号进行采样,由于本身具有一定的分辨率,要求的过采样倍数不会太高,ADC的速度可以满足应用。而数字滤波和抽取均通过软件来实现,配置灵活。4.5 整体硬件电路设计电路的原理图见图4-3。电路由传感器电路、信号放大和整形电路、单片机电路、数码显示电路等部分组成。图4-3 电路的原理图传感器主要由红外线发射二极管和接收二极管组成,测量的原理如下:将手指放在红外线发射二极管和接收二极管中间,随着心脏的跳动,血管中血液的流量将发生变化。由于手指放在光的传递路径中,血管中血液饱和程度的变化将引起光的强度发生变化,因此和心跳的节拍相对应,
30、红外接收二极管的电流也跟着改变,这就导致红外接收二极管输出脉冲信号。脉冲信号由F1F3、R3R5、C1、C2等组成的低通放大器进行放大,再经由F4、R6、R7、C3组成的放大器进一步放大,其输出信号送给由F5、F6、RP1、R8等组成的施密特触发器进行整形后输出,输出的脉冲信号作为单片机的外部中断信号。可变电阻RP1用来调整施密特触发器的阀值电压,从而调整电路的灵敏度。AT89C2051、X1、R10、C5等组成单片机电路。单片机电路对P3.2输入的脉冲信号进行计算处理后把结果送到数码管显示。发光二极管VD3作脉搏测量状态显示,脉搏每跳动一次发光二极管就点亮一次。数码管DS1DS3、VT1VT
31、3、R12R21等组成数码显示电路。本机采用动态扫描显示的方式,使用共阳数码管, P3.3-P3.5口作三个数码管的动态扫描位驱动码输出,通过三极管驱动数码管。P1.0-P1.6口作数码显示七段笔划字形码的输出,用以驱动数码管的各字段。第五章 软件设计5.1 程序设计本系统的硬件平台的核心为ADuC841,其片内微控制器是一个优化的单指令周期8052 闪存MCU,它的指令系统保持与8051指令系统兼容。ADuC内程序主要功能为:(1)系统初始化;(2)改变DAC0电平状态,驱动红外光二极管;(3)管理ADC进行数据采集;(4)数字滤波处理;(5)与中央监测系统或计算机进行实时数据传输。本文选用
32、ADI公司的单片机ADC841,其内部集成了速度可达400k的12位逐次逼近型ADC,模拟输入范围是02.5v,则分辨率为0.6mv/LSB。从软件需求和单片机速度出发,将ADC采样率fs定为102.4kHz,为便于计算,将过采样倍数k定为64,则下抽取后采样率为f为:fs/k=1600Hz,是频率为400Hz载波的四倍,满足奈奎斯特采样定理。由于过采样倍数k为64,按每提高4倍采样率就能提高一位分辨率来计算,获得的ADC有效分辨率能提高3位,最后能达到约15位精度,其分辨率可达到0.0763mv/LSB。过采样和数字滤波的实现都是在AD中断服务程序中实现的。集成于单片机上的ADC由定时器2产
33、生用于A/D转换的重复触发信号,因此需要通过设置T2寄存器重新装载的值来获得102.4kHz的采样率,参考信号取自片上自带的2.5V基准电压,设置ADCCON1#0B2H,ADCCON2#00H。定时器2是一个具有16位自动重装载功能的定时器,作定时器用时,TH2和TL2计的是机器周期数,TH2和TL2内容的自动重装载通过寄存器RCAP2H和RCAP2L来实现。对这四个寄存器都进行初始化,自动装载值为#0FFCAH。在数据采集中, 为了保证采集数据的不失真和适当的精确度, 必须选择合适的采样频率。人体脉搏正常跳动约为60次/ 分左右,即跳动频率在1Hz 左右,本系统为了更好的消除50Hz工频干
34、扰,系统以50Hz的数据输出率对数据进行下抽取,抽样比为2048。中断程序中的数字处理包括如下步骤:(1)将脉冲载波的高电平时段内的数据累加2048/(2*64)16次,(2)将脉冲载波低电平时段内的数据累加2048/(2*64)16次,(3)用步骤(1)中的数据减去步骤(2)中的数据,便得到了解调后以50Hz的数据输出率输出的一个数据点。经过上述对信号的解调,有效去除背景光、杂散光的干扰。程序同时实现了过采样算法中的滤波和下抽取。脉率计算程序包括如下步骤:将得到的数据以双字节存入ADC841的XRAM中(2304字节)。从0000H 开始,在60个样本数据中寻找最大值, 并确定其位置即波峰位
35、置, 之后寻找紧挨着它的第二个波峰,采用软件计数器计算两者间的距离即其点数,然后按照脉率计算公式:脉率采样频率/ 相邻两波峰60 5060/ 相邻两波峰,计算出脉率, 并将其存储。当脉搏检测系统与中央监测系统或计算机进行实时数据传输时,通过设置定时器T3的控制寄存器T3CON为#86H,T3FD为 08H,得到9600的串口波特率。ADuC841发送握手信号与系统机建立通信,当握手成功后,系统开中断并将转换处理后的数据送交系统应用程序进行处理。所得到的光电脉搏波波形如图5-1所示。图5-1 光电脉搏波波形显示图5.2 程序源代码#include unsigned char i,j,t,m,De
36、layTime,DispBuf3;unsigned int n,mb;unsigned char codeBitTab3=0 xf7,0 xef,0 xdf; /位驱动码unsigned char codeDispTab10=0 x81,0 xcf,0 x92,0 x86,0 xcc,0 xa4,0 xa0,0 x8f,0 x80,0 x84; /字形码sbit P3_0=P30;void delay(DelayTime);main() /主程序TMOD=0 x01;/定时器T0工作于方式1TH0=0 xec;TL0=0 x78;/T0定时时间为5msIE=0X83; /开中断IT0=1; /
37、外部中断0为边沿触发方式TR0=1; /开定时器T0for( ) /脉搏指示灯控制if(P3_0=0)delay(200);P3_0=1;external0() interrupt 0/外部中断服务程序P3_0=0; /点亮指示灯if(n=0)mb=0;elsemb=12000/n; /计算每分钟脉搏数DispBuf2=mb%10; /取个位数mb=mb/10;DispBuf1=mb%10; /取十位数DispBuf0=mb/10; /取百位数n=0;Timer0() interrupt 1 /定时中断服务程序TH0=0 xec;TL0=0 x78;t=BitTabj; /取位值P3=P3|0
38、 x38; /P3.3-P3.5送1P3=P3&t; /P3.3-P3.5输出取出的位值t=DispBufj; /取出待显示的数t=DispTabt; /取字形码P1=t; /字型码由P3输出显示j+; /j作为数码管的计数器,取值0-2,显示程序通过它确认显示哪个数码管if(j=3)j=0;n+;if(n=2000) /10秒钟测不到心率,n复位n=0;void delay(DelayTime)/延时子程序for(;DelayTime0;DelayTime-)for(i=0;i250;i+);结束语脉搏检测中关键技术是传感器的设计与传感器输出的微弱信号提取问题, 本文设计的脉搏波检测系统以光
39、电检测技术为基础,并采用了脉冲振幅光调制技术消除周围杂散光、暗电流等各种干扰的影响。并利用过采样技术和数字滤波等数字信号处理方法,代替实现模拟电路中的放大滤波电路的功能。本系统模拟电路简单,由ADC841芯片实现脉搏信号采集,信号处理和脉搏次数的计算等功能,因此体积小,功耗低,系统稳定性高。本系统可实现脉搏波的实时存储并可实现与上位机(PC 机)的实时通讯, 因此可作为多参数病人中心监护系统的一个模块完成心率检测和脉搏波形显示。当该放大器用于集群脉搏测量仪时,一定要注意不同信号通道之间的相互影响,建议把各个放大器的电源分开。此外,测量通道需要一个开关电路,当指夹悬空时,这个开关电路关闭单稳态电
40、路,切断信号通路,防止乱计。几年的生产实践证明,该放大处理电路稳定可靠。下面是笔者在设计中获得的一些体会。采用二级放大好于三级放大,个别三级放大电路板的零点漂移大得足以达到满幅,使得测量不准确。每个单级放大器放大倍数最好不要大于30,以免自激振荡。本信号放大器的高频转折频率由C05、C04、R07、R08和R06决定,C05、C04通常选聚丙烯电容器或聚碳酸酯电容器,R07、R08和R06通常选金属膜五色环电阻。IClA、R02和R03组成电压跟随器,设计值为2.5V,精确度由R02和R03决定,最好用金属膜五色环电阻器。隔直电容器C03的漏电要小,选用钽电解电容器为佳。IClA和IC1B要选
41、用偏置电流小、输入失调电压小的运算放大器。考虑到性价比,笔者使用了TLC2264和TLC2262。通过这次毕业设计,加强了我动手、思考和解决问题的能力。我觉得做毕业设计同时也是对课本知识的巩固和加强,平时看课本时,有时问题老是弄不懂,做完设计,那些问题就迎刃而解了。而且还可以记住很多东西。比如PLC的功能,平时看课本,这次看了,下次就忘了,主要是因为没有动手实践过吧!认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。作为毕业的学生,能够搞这样的关于PLC技术的设计,确实从中学到了很多的知识。在项目设计方面,打破了以往单纯为解决问题的观念,树立了良好的项目设计思想。在内容设计
42、方面,比较深入的学习了PLC方面的知识,补充了自己知识上的不足,更重要的是给自己找到了一个发展的方向。在这个过程中,受到了我们老师和同学的热切关注和耐心辅导,特别李建荣老师对我进行了系统的讲解和指导,对设计提出了很多建设性的意见及建议,对我的设计起到了指导性和决定性的作用,使我深刻的体会到了良师益友给我带来的帮助,在此表示深深的感谢!感谢李建荣老师给了我们这个机会去更深层次的学习对于PLC的理解能力和分析设计能力,感谢这次毕业设计带给我的丰收的硕果,感觉系统的总结了3年来所学的专业知识很有用途,同时激发了我对于PLC这个领域的极大兴趣,我将以此为起点,去更加努力的学习深造争做PLC领域的专业人
43、才,为自己争光,为母校添彩。致 谢在这次毕业设计的过程中,我的指导老师李建荣老师给予了我很大的帮助,提供了相关的资料,对我的毕设作品给予了指导和支持。使我顺利圆满的完成了此次毕业设计。在此,向李建荣老师表示衷心的感谢!同时,也要感谢学院提供计算机等设施,使我的设计得以顺利完成。寒窗几载,春花秋实。大学三年是我一生的重要阶段,是学习专业知识及提高各方面能力为以谋生发展的重要阶段。从跨入大学的校门的那一刻起我就把这一信念做为人生的又一座右铭。古人云:预则立,不预则废。祖先曾经教导我们:一年之计在于春,一日之计在于晨。作为即将走向社会的我们又何尝不是如此?一个没有规划的人生,就象一场没有球门的足球赛
44、,一场乱踢;一个没有规划的人生,就象一叶在茫茫大海上漫无目标的小舟,随波飘荡。在我们即将走向社会的时候,我们必须对自己的职业生涯进行规划。罗素曾说:选择职业就是选择你自己的将来。因此我们要针对社会需要,结合自身的情况及早做好相应准备,为我们走向社会打下坚实的基础。俗话说:磨刀不误砍柴功。为适应社会需要,促进自我发展,我们除了学好本专业外,还应辅修相关转业知识,积极参加社会实践活动,培养工作能力,努力提高综合素质,同时努力培养特长,形成自身竞争优势。最后,再次感谢学院给了我们机会,以及电子信息工程系的各位老师和许多的朋友、同学在各个方面给予了我很多的帮助和支持,让我坚持到了最后,谢谢你们!参考文
45、献1. 欧阳俊.基于BL-410 的指端脉搏波采集系统应用研究.2004.第11卷第2期2. 韩文波.光电式脉搏波监测系统.长春光学精密机械学院学报.1999.第22卷第4期3. 朱国富,廖明涛,王博亮.袖珍式脉搏波测量仪.电子技术应用.1998.第1期4. 刘云丽,徐可欣等.微功耗光电式脉搏测量仪.电子测量技术.2005.第二期5. 程咏梅,夏雅琴,尚岚.人体脉搏波信号检测系统.北京生物医学工程.2006.第25卷6. 刘文,杨欣,张铠麟.基于AT89C2051单片机的指脉检测系统的研究.医疗装备.20057. 张毅坤.单片微型计算机原理及应用. 西安电子科技大学出版社. 1998.9第1版
46、8任为民.电子技术基础课程设计. 中央广播电视大学出版社.1997年5月第1版9. 朱月秀.单片机原理与应用.科学出版社.2004.210. 李世馨.模拟电子技术基础.高等教育出版社.2001.12 3附录资料:不需要的可以自行删除Abstract: Based on the comprehensive analysis on the plastic parts structure service requirement, mounding quality and mould menu factoring cost. A corresponding injection mould of int
47、ernal side core pulling was designed. By adopting the multi-direction and multi-combination core-pulling. A corresponding injection mould of internal side core pulling was designed, the working process of the mould was introducedC语言详解 - 枚举类型注:以下全部代码的执行环境为VC+ 6.0在程序中,可能需要为某些整数定义一个别名,我们可以利用预处理指令#defin
48、e来完成这项工作,您的代码可能是:#define MON 1#define TUE 2#define WED 3#define THU 4#define FRI 5#define SAT 6#define SUN 7在此,我们定义一种新的数据类型,希望它能完成同样的工作。这种新的数据类型叫枚举型。1. 定义一种新的数据类型 - 枚举型 以下代码定义了这种新的数据类型 - 枚举型enum DAY MON=1, TUE, WED, THU, FRI, SAT, SUN;(1) 枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号,隔开。(2) DAY是一个标识符,可以看成
49、这个集合的名字,是一个可选项,即是可有可无的项。(3) 第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。(4) 可以人为设定枚举成员的值,从而自定义某个范围内的整数。(5) 枚举型是预处理指令#define的替代。(6) 类型定义以分号;结束。2. 使用枚举类型对变量进行声明新的数据类型定义完成后,它就可以使用了。我们已经见过最基本的数据类型,如:整型int, 单精度浮点型float, 双精度浮点型double, 字符型char, 短整型short等等。用这些基本数据类型声明变量通常是这样:char a; /变量a的类型均为字符型charchar letter;int x
50、, y, z; /变量x,y和z的类型均为整型intint number;double m, n;double result; /变量result的类型为双精度浮点型double既然枚举也是一种数据类型,那么它和基本数据类型一样也可以对变量进行声明。方法一:枚举类型的定义和变量的声明分开enum DAY MON=1, TUE, WED, THU, FRI, SAT, SUN;enum DAY yesterday;enum DAY today;enum DAY tomorrow; /变量tomorrow的类型为枚举型enum DAYenum DAY good_day, bad_day; /变量g
51、ood_day和bad_day的类型均为枚举型enum DAY方法二:类型定义与变量声明同时进行:enum /跟第一个定义不同的是,此处的标号DAY省略,这是允许的。 saturday, sunday = 0, monday, tuesday, wednesday, thursday, friday workday; /变量workday的类型为枚举型enum DAYenum week Mon=1, Tue, Wed, Thu, Fri Sat, Sun days; /变量days的类型为枚举型enum weekenum BOOLEAN false, true end_flag, match_
52、flag; /定义枚举类型并声明了两个枚举型变量方法三:用typedef关键字将枚举类型定义成别名,并利用该别名进行变量声明:typedef enum workday saturday, sunday = 0, monday, tuesday, wednesday, thursday, friday workday; /此处的workday为枚举型enum workday的别名workday today, tomorrow; /变量today和tomorrow的类型为枚举型workday,也即enum workdayenum workday中的workday可以省略:typedef enum
53、saturday, sunday = 0, monday, tuesday, wednesday, thursday, friday workday; /此处的workday为枚举型enum workday的别名workday today, tomorrow; /变量today和tomorrow的类型为枚举型workday,也即enum workday也可以用这种方式:typedef enum workday saturday, sunday = 0, monday, tuesday, wednesday, thursday, friday;workday today, tomorrow; /
54、变量today和tomorrow的类型为枚举型workday,也即enum workday注意:同一个程序中不能定义同名的枚举类型,不同的枚举类型中也不能存在同名的命名常量。错误示例如下所示:错误声明一:存在同名的枚举类型typedef enum wednesday, thursday, friday workday;typedef enum WEEK saturday, sunday = 0, monday, workday; 错误声明二:存在同名的枚举成员typedef enum wednesday, thursday, friday workday_1;typedef enum WEEK
55、 wednesday, sunday = 0, monday, workday_2;3. 使用枚举类型的变量3.1 对枚举型的变量赋值。实例将枚举类型的赋值与基本数据类型的赋值进行了对比:方法一:先声明变量,再对变量赋值#include/* 定义枚举类型 */enum DAY MON=1, TUE, WED, THU, FRI, SAT, SUN ;void main() /* 使用基本数据类型声明变量,然后对变量赋值 */ int x, y, z; x = 10; y = 20; z = 30; /* 使用枚举类型声明变量,再对枚举型变量赋值 */ enum DAY yesterday, t
56、oday, tomorrow; yesterday = MON; today = TUE; tomorrow = WED; printf(%d %d %d n, yesterday, today, tomorrow);方法二:声明变量的同时赋初值#include /* 定义枚举类型 */enum DAY MON=1, TUE, WED, THU, FRI, SAT, SUN ;void main() /* 使用基本数据类型声明变量同时对变量赋初值 */ int x=10, y=20, z=30; /* 使用枚举类型声明变量同时对枚举型变量赋初值 */ enum DAY yesterday =
57、MON, today = TUE, tomorrow = WED; printf(%d %d %d n, yesterday, today, tomorrow);方法三:定义类型的同时声明变量,然后对变量赋值。#include /* 定义枚举类型,同时声明该类型的三个变量,它们都为全局变量 */enum DAY MON=1, TUE, WED, THU, FRI, SAT, SUN yesterday, today, tomorrow;/* 定义三个具有基本数据类型的变量,它们都为全局变量 */int x, y, z;void main() /* 对基本数据类型的变量赋值 */ x = 10;
58、 y = 20; z = 30; /* 对枚举型的变量赋值 */ yesterday = MON; today = TUE; tomorrow = WED; printf(%d %d %d n, x, y, z); /输出:10 20 30 printf(%d %d %d n, yesterday, today, tomorrow); /输出:1 2 3方法四:类型定义,变量声明,赋初值同时进行。#include /* 定义枚举类型,同时声明该类型的三个变量,并赋初值。它们都为全局变量 */enum DAY MON=1, TUE, WED, THU, FRI, SAT, SUN yesterd
59、ay = MON, today = TUE, tomorrow = WED;/* 定义三个具有基本数据类型的变量,并赋初值。它们都为全局变量 */int x = 10, y = 20, z = 30;void main() printf(%d %d %d n, x, y, z); /输出:10 20 30 printf(%d %d %d n, yesterday, today, tomorrow); /输出:1 2 33.2 对枚举型的变量赋整数值时,需要进行类型转换。#include enum DAY MON=1, TUE, WED, THU, FRI, SAT, SUN ;void main() enum DAY yesterday, today, tomorrow; yesterday = TUE; today = (enum DAY) (yesterday + 1); /类型转换 tomorrow = (enum DAY) 30; /类型转换 /tomorrow = 3; /错误 printf(%d %d %d n, yesterday,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年实验室生物安全柜使用培训
- 2026年上班族养生保健操课件
- 护理核心制度的前沿动态
- T∕GAEPA 006-2025 飞行汽车 术语定义
- 机动护士的团队协作能力
- 移植舱病人生命体征异常处理与护理
- 朱红版护理美学:伦理决策
- 心搏骤停的急救效果评价
- 某铝业公司产品包装标准
- 麻纺厂原材料储存管理规定
- JGJ162-2025《建筑施工模板安全技术规范》
- JG/T 235-2014建筑反射隔热涂料
- 二次供水人员培训试题及答案
- 夜间安全驾驶课件
- 《研究生就业指导课件(说课)》
- PSP问题解决流程分析
- 3.1.1农业区位因素及其变化-仙居杨梅的地理密码【知识探究】高中地理人教版(2019)必修二
- 部编版小学语文四年级下册教师(教学参考)
- 2025北京丰台高三一模化学试题及答案
- 幼儿园数字故事制作培训
- 水库工程标准化管理工作手册示范文本(制度手册)
评论
0/150
提交评论