《基于单片机的电子脉搏计的设计论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的电子脉搏计的设计论文.doc(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕业设计论文基于单片机的电子脉搏计的设计摘 要人们在日常生活或是医学上常常是通过测量脉搏跳动的力度和频率来检测身体的健康状况,而普通的方法是用手按在人腕部的动脉上,根据脉搏的跳动进行计数,这样不仅测量时间长而且精度不高,为了节省测量时间,一般不采用长时间测量,而是几秒钟之内测出脉搏数。本文介绍一种基于STC89C52单片机的电子脉搏计,通过测量腕部动脉的压力,把压力转变为电信号,送入单片机,可以在3秒钟之内精确测量出每分钟脉搏数,测量结果用三位LED数码管显示,并且脉搏波形通过串口送入PC机,实时显示脉搏波形。脉搏计是最常用的医疗检查设备之一,实时准确的脉搏测量在日常生活、患者监控、临床治疗及
2、体育运动等方面都有着广泛的应用。脉搏测量包括瞬时脉搏测量和平均脉搏测量。瞬时脉搏可以反映心率的快慢,同时能反映心率是否匀齐;平均脉搏测量虽然只能反映心率的快慢,但记录方便。本文设计的电子脉搏计可以把这两个参数在测量时都记录下来并且显示,瞬时测量结果通过PC机实时显示,平均脉搏测量结果通过LED七段数码管显示。关键词:STC89C52 单片机 脉搏 串口Based on SCM electronic pulse plan designAbstractPeople in daily life or medicine is often measured by the pulse frequency
3、and strength to detect the health status of body by hand, and ordinary people by the arteries in the wrist, according to a pulse count, thus not only beat measuring time long and accuracy is not high, in order to save the measuring time, generally does not use the long time measurement, but a few se
4、conds pulse count. Measured This paper introduces a STC89C52 MCU based on the electronic pulse plan, by measuring the pressure, the wrist artery pressure into electrical signals, into a single-chip microcomputer, can accurate measurement in three seconds per minute, a pulse with measurement results
5、number three LED digital display, and pulse tube through a serial port into PCS, real-time display pulse waveform.Pulse meter is one of the most commonly used in the medical examination device, real-time accurate measurement of the pulse of daily life, patient monitoring, clinical treatment and othe
6、r aspects of sports have a wide range of applications. Pulse measurements include transient pulse measurement and the average pulse measurement. Instantaneous heart rate may reflect the speed of the pulse, while heart rate can reflect whether the uniform homogeneous; average heart rate, pulse measur
7、ement can only reflect the speed though, but the record of convenience. This design of elec- tronic pulse meter to measure these two parameters are recorded and displayed the time, instantaneous measurements in real time through the PC, shows that the average pulse measurements by seven segment LED
8、digital display.朗读显示对应的拉丁字符的拼音字典Keywords: STC89C52; microcontroller; pulse; the serial interface目 录1 引言12 总体设计思路12.1 方案设计与选取12.1.1 总体流程图12.1.2 方案选择12.2 总体电路图23 硬件电路结构模块43.1 单片机的选取43.1.1 STC89C52引脚功能说明43.1.2 振荡电路53.1.3 复位电路53.2 AD转换电路模块63.2.1 ADC0809引脚功能63.2.2 ADC0809主要特性73.2.3 ADC0809工作过程73.2.4 ADC0
9、809与单片机接口电路83.2.5 ADC0809与PC机连接93.3 传感器的选取104 软件程序设计134.1 脉搏计数模块的设计134.1.1 脉搏计数程序方案的选取134.1.2 脉搏计数代码设计144.2 LED数码管显示模块设计154.2.1 显示模块的选取154.2.2 LED数码管与单片机的接口电路164.2.3 LED数码管驱动程序的设计174.3 AD转换模块的设计184.4 串口发送程序设计194.5 上位机程序及界面设计204.5.1 上位机程序的设计204.5.2 上位机界面的设计214.6 扩展血压计功能225 软硬件调试236 结论27谢辞28参考文献29附录30
10、外文资料36毕 业 设 计1 引言随着经济的飞速发展和人民生活水平的日益提高,有关心脑血管疾病的发病率与死亡率正在呈逐年上升趋势,这就需要一种方便的方法来测量心脑血管的健康状况,可以实时观测和评估人体的健康状况。从古到今中外医学界都重视从脉搏波中提取人体的健康状况,并作为临床诊断和治疗的依据。世界上几乎所有的民族都用过摸脉来作为诊断疾病的手段,因为脉搏处跳动压力比较明显。脉搏波所显示出的波形、压力强度、频率和节奏等方面的综合信息,在很大程度上可以反映出人体心脑血管系统中许多生理病理的健康状况。直接用手摸脉测量误差较大,并且无法实时观测。如果采用电子测量计,有利于精确测量,还可以借助PC机进行高
11、效、合理的判断和分析。随着集成电路技术的发展,电子脉搏计必然向微型化、大众化、智能化的方向发展。脉搏计是最常用的医疗检查设备之一,实时准确的脉搏测量在日常生活、患者监控、临床治疗及体育运动等方面都有着广泛的应用。脉搏测量包括瞬时脉搏测量和平均脉搏测量。瞬时脉搏可以反映心率的快慢,同时能反映心率是否匀齐;平均脉搏测量虽然只能反映心率的快慢,但记录方便。本设计这两个参数在测量时都会被记录并且显示,瞬时测量结果通过PC机实时显示,平均脉搏测量结果通过LED七段数码管显示。为了适应人们生活中的需要,本文设计一款基于压电传感器的电子脉搏计,实现瞬时脉搏测量和平均脉搏测量,并将测量结果用数字显示。该电子脉
12、搏计具有误差小,体积小易于携带的特点。家中备有这样的一款脉搏计,就可以在日常生活中监控自己和家人的心率变化,可以有效防止和控制多种疾病的发生和变化,达到日常保健的目的。测量范围广,测量精度高,显示采用三位十进制数显示。其设计思路是用压电传感器把待检测对象的脉搏跳动转变成电信号,但是由于信号比较微弱,需要经过传感器内部放大整形滤波后才可以得到规则的脉冲波形。处理后的信号经过单片机定时计数后通过译码电路就可以从数码管直接读出被测对象的脉搏数了。同时记录每一次脉搏跳动的间隔和力度,实时记录绘制曲线,分析数据。定时由基准时间产生电路完成。STC89C52 单片机构成的控制电路在硬件的作用下控制脉搏信号
13、放大、整形和倍频后再通过软件进入定时计数器的时间。该基于单片机的电子脉搏计优点是制作简单,使用元器件少,工作稳定可靠,显示直观,误差不大于1%,成本低廉且能节电。2 总体设计思路2.1 方案设计与选取2.1.1 总体流程图设计的总体流程图如图2-1所示:信号采集放大整形单片机模数变换数码管显示上位机显示图2-1 总体流程图2.1.2 方案选择方案1:1.信号采集 脉搏传感器将脉搏跳动的压力信号转换为与此相对应的电信号。2.放大电路 将传感器所采集到的微弱电流电压放大,可采用高输入阻抗的非门进行放大。3.低通滤波 空气中存在的高频信号对信号采集有影响,需要进行滤除,只让低频脉冲信号通过。对脉搏信
14、号进行采集的时候,空气中交流工频干扰最大,根据有源滤波的原理,在接至非门的输入与输出之间作为直流偏置电阻上并联一个电容。4.整形电路 可用两个非门组成的施密特触发器对放大后的信号进行整形。5.计数、译码、显示 用来读出脉搏数,并以十进制数的形式由数码管显示。方案2:1.信号采集 脉搏传感器将脉搏跳动的压力信号转换为与此相对应的电信号。2.放大电路 用普通运放进行发大,为达到高输入阻抗的要求,采用同相比例放大。3.低通滤波 在运放的反馈电阻上并联一个电容,达到滤波的效果。4.整形电路 通过集成运算放大电路运放组成的单限比较器进行脉冲整形。方案3:1.信号采集与放大 与方案1和方案2中不同的是信号
15、的采集和放大用一个MB-4型传感器实现,传感器不仅能把压力信号转变为电信号,而且还能通过传感器内部电路把信号放大输出。2.波形整形 由于单片机中断不识别脉搏波,所以放大后的信号通过555芯片构建的施密特触发器,将放大后的脉搏波转变为单片机实现的方波信号。3.模数变换 将信号送入模数变换后将模拟信号转变为数字信号送入单片机,为上位机波形显示部分做准备。4.数码管显示 用来读出脉搏数,并以十进制数的形式由数码管显示。通过以上方案对比观察可以得出,方案3中传感器的选取简单易行,节约了许多外围电路的空间,缩小了整体电路的体积,更加便于携带,如果价格合适的话,是最优的方案选择。波形整形部分,方案3中的由
16、555定时器构成的施密特触发器,电路搭构简单易行,与前两个方案相比减少了电路器件的繁琐度。采用数码管显示,节约设计成本,而且可以实现实时显示的功能。综合考虑,设计选择方案3的整体设计思路进行设计。2.2 总体电路图总体电路图如图2-2所示:图2-2 总体电路图单片机的P1口八个引脚分别与LED数码管的八段段码显示控制端相连接,构成了片选控制端,单片机的P3.3P3.5引脚分别接到LED数码管位选控制端,当程序控制单片机发送相应的字符时,数码管便会相应的点亮,从而实现每分钟脉搏数目的显示,这就是显示模块的设计。ADDA、ADDB、ADDC3位地址输入线接地,即选用IN0通道,模拟信号通过IN0通
17、道输入;时钟控制信号通过CLOCK端口输入,时钟频率选择为500kHz;A/D转换启动脉冲输入端START与单片机的P2.4引脚相连;数据输出允许信号输入端OE与单片机的P2.5引脚相连,通过单片机的P2.4与P2.5引脚控制ADC0809芯片。当转换完成后数据通过ADC0809的OUT1OUT8引脚送入单片机的P0.0P0.7引脚进行处理。总体电路框图用信号发生器代替传感器模拟采集到的信号,一路送入单片机,经过单片机的处理后送LED数码管显示每分钟的脉搏数。一路送到ADC0809芯片进行模数转换,并将转换后的信号送入单片机,信号经过单片机的处理后送到上位机实时显示脉搏波波形。3 硬件电路结构
18、模块3.1 单片机的选取考虑到单片机作为整体电路设计的核心工作单元,选取STC89C52型号的单片机作为总处理器。STC89C52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory)的低电压,高性能CMOS8的微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。其芯片引脚图如下图3-1所示:图3-1 STC89C52芯片引脚图STC89C52主要功能:兼容MCS51指令系统、32个双向I/O口、3个16位可编程定时/计数器中
19、断、2个串行中断、2个外部中断源、2个读写中断口线、低功耗空闲和掉电模式、8K可反复擦写Flash ROM、256x8bit内部RAM、时钟频率0到24MHz、可编程UART串行通道、共6个中断源、3级加密位、软件设置睡眠和唤醒功能。3.1.1 STC89C52引脚功能说明1可编程输入/输出引脚:STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8根引脚,共32根。P0口:8位双向I/O口线,名称为P0.0P0.7。P1口:8位准双向I/O口线,名称为P1.0P1.7。P2口:8位准双向I/O口线,名称为P2.0P2.7。P3口:8位准双向I/O口线,名
20、称为P3.0P3.7。2控制引脚:RST/VPP:复位引脚,引脚上出现2个机器周期的高电平将使单片机复位、ALE/PROG:地址锁存允许信号、PSEN:外部存储器读选通信号、EA/VPP:程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。3外接晶振引脚:XTAL1:片内振荡电路的输入端、XTAL2:片内振荡电路的输出端。4电源引脚:VCC:电源输入,接5V电源、GND:接地线 11。3.1.2 振荡电路单片机的时钟信号由内部振荡电路产生,振荡电路如图3-2所示:图3-2 振荡电路本系统选取的晶振频率为12MHz,电容选择30pF。经计算得单片机工作机
21、器周期为1s。3.1.3 复位电路复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续二个机器周期以上。若使用频率为12MHz的晶振,则复位信号持续时间应超过2s才能完成复位操作1。复位操作有上电自动复位和按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接
22、通而实现的,而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,按键电平复位电路如图3-3所示:图3-3 按键电平复位电路上述电路图中的电容、电阻参数适用于12MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。本系统的复位电路采用按键电平复位方式,由于程序运行出错或操作错误使系统处于死锁状态时,此方式无需重新上电,直接按键复位即可,操作简单。3.2 AD转换电路模块AD转换即模数转换,就是把模拟信号转换成数字信号,以便于计算机进行处理。目前广泛应用在单片机系统中的主要有积分型、逐次比较型、并行比较型/串并行型、-调制型、电容阵列逐次比较型、压频变换型。打算采用的具体芯片型号为逐次比
23、较型ADC0809、AD574A与双积分型AD转换器MC14433。考虑到转换精度、速度和芯片价格,本设计采用ADC0809,ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式AD转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行AD转换。ADC0809是目前国内应用最广泛的8位通用AD芯片,ADC0809芯片有28条引脚,采用双列直插式封装。3.2.1 ADC0809引脚功能下面说明各引脚功能:IN0IN7:8路模拟量输入端。D0D8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟
24、输入中的一路。START:A/D转换启动脉冲输入端,输入一个正脉冲使其启动,脉冲上升沿使ADC0809复位,下降沿启动A/D转换。EOC:A/D转换结束信号输出端,当A/D转换结束时,此端输出一个高电平,转换期间一直为低电平。OE:数据输出允许信号输入端,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。REF+、REF-:基准电压。Vcc:电源,单一+5V、GND:地 13。3.2.2 ADC0809主要特性ADC0809主要特性:8路输入通道,8位A/D转换器,即分辨率为8位、具有转换启停控制端、时钟
25、为640kHz时转换时间为100s,时钟为500kHz时130s、单个+5V电源供电、模拟输入电压范围0+5V,不需零点和满刻度校准、工作温度范围为-40+85摄氏度、低功耗,约15mW。3.2.3 ADC0809工作过程首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿时启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
26、转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式确认AD转换是否完成 12。1定时传送方式 对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809在时钟频率为500kHz时转换时间为128s,相当于12MHz的MCS-51单片机共128个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,当延迟时间到达时,转换可以确定已经完成了,接着就可进行数据传送。2查询方式A/D转换芯片可以利用表明转换完成的状态信号,例如ADC0809的E
27、OC端。因此可以用查询方式,查询EOC的状态,即可判断转换是否完成,并接着进行数据传送。3中断方式用转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。本设计采用单独通道,定时传送方式,ADDA、ADDB、ADDC3位地址输入线接地,即选用IN0通道输入模拟信号,经ADC0809转换完成后将数字信号采用定时传送方式传入单片机进行数据处理,然后单片机把数据经过MAX232电平转换后送入PC机串口,PC机根据所接收的数据经过VB界面实时绘制波形。3.2.4 ADC0809与单片机接口电路由于proteus仿真软件不支持ADC0809芯片仿真,所以采用ADC0808芯片代替ADC0
28、809,其功能特性与ADC0809芯片相同,软件仿真时采用ADC0808芯片,实际硬件电路中采用ADC0809芯片,无论是仿真还是实际硬件其与单片机接口电路相同,ADC0808与单片机接口电路如图3-4所示:图3-4 ADC0808与单片机接口电路由图3.4接口电路可以看出:ADDA、ADDB、ADDC3位地址输入线接地,即选用IN0通道,模拟信号通过IN0通道输入;时钟控制信号通过CLOCK端口输入,时钟频率选择为500kHz;A/D转换启动脉冲输入端START与单片机的P2.4口相连;数据输出允许信号输入端OE与单片机的P2.5口相连,通过单片机的P2.4与P2.5端口控制ADC0809芯
29、片。当转换完成后数据通过ADC0809的OUT1OUT8端口送入单片机的P0.0P0.7进行处理。3.2.5 ADC0809与PC机连接本设计需要单片机与PC机间实现实时通信,PC机内基本上都装有一个RS-232异步通信适配板,它的主要工作器件是可编程的UART芯片,从而可以使PC机有能力与其他具有标准RS-232串行通信接口的其他设备进行通信。STC89C52单片机本身具有一个全双工的串行口,但其串行口为TTL电平,需要外接一个TTL-RS-232电平转换器这样才能使单片机的串口与PC的RS-232串行口进行连接,这样便可以组成一个简单的串行通信接口。由于PC机的RS-232逻辑电平与单片机
30、的TTL电平不兼容,为了实现单片机与PC机的通信,必须进行电平转换,因此本设计采用由美国MAXIM公司生产的MAX232芯片,它是目前应用较为普遍的串行口电平转换器。PC机串口输出电压可高达12V,若直接与单片机相连会烧坏芯片,所以要借助于MAX232芯片来进行相应的电平转换。MAX232芯片用+5V电源供电,另外需要外接几个电容便可以完成从TTL电平到RS-232电平的转换,仅仅需要连接STC89C52单片机的RXD和TXD引脚便可以实现数据的传输 12。MAX232芯片与单片机和串口的电路连接图如图3-5所示:图3-5 MAX232接口电路在实际的焊接过程中一定要认真细心,在看好引脚序号和
31、硬件引脚必须一致,否则当硬件焊接好后在调试过程中会遇到许多意想不到的问题,不仅需要花很长时间去检查究竟是哪个地方出错了,如何修改,事倍功半,效果很不理想。在调试硬件时串口老是接收不到数据,在经过多次修改程序与硬件电路检查后终于发现是MAX232与串口的引脚错接到引脚8导致了以后许多不必要的工作量,既浪费时间又浪费精力,所以说认真细心的态度是工作中所必需的。3.3 传感器的选取本设计中关键之处在于信号的采集,信号采集可以分为压电式信号采集或光电式信号采集,由于光电信号采集相对误差较大,可控制度低且成本比较高。于是本设计采用压电式传感器采取信号。考虑到的压电式传感器有压电薄膜传感器、压电陶瓷片、H
32、K-2000系列的脉搏传感器、MB-4型脉搏波传感器和SC0073微型脉搏传感器。SC0073微型动态脉搏微压传感器的主要性能指标如下:压力范围: 1Kpa灵敏度: 0.2mv/pa非线性度: 1% F.S频率响应: 11000HZ标准工作电压: 3V (DC)扩充工作电压: 1.56V (DC)标准负载电阻: 10K扩充电阻: 5K20K外形尺寸: SC0073-A F12.7 X 7.6由以上性能指标可以看出SC0073微型动态脉搏微压传感器具有比较高的灵敏度,非线性比较好,频率响应范围很广,但如果人体脉搏每分钟心跳少于60下,则有可能检测不到脉搏信号,扩充工作电压可以与单片机的工作电压相
33、匹配,节省了另外独立的工作电源。外形尺寸小巧轻便,价格在60元左右。总体来说,除了测量脉搏范围有一点儿不足外。其他各方面的性能都值得考虑。HK-2000A集成化脉搏传感器性能指标如下:电源电压:312VDC压力量程:-50+300mmHg过载:100倍输出高电平:大于VCC-1.5V 输出低电平:小于0.2VHK-2000A集成化脉搏传感器采用高度集成化工艺将力敏元件PVDF压电膜、灵敏度温度补偿元件、感温元件、信号调理电路集成在传感器内。脉搏波动一次输出一正脉冲。该产品可用于脉率检测,主要用于运动、健身器材中的心率测试。其灵敏度高、抗干扰性能强、过载能力大、一致性好,性能稳定可靠,使用寿命长
34、。价格在100元左右。HK-2000B集成化脉搏传感器性能指标如下:电源电压:56VDC压力量程:-50+300mmHg灵敏度:2000uV/mmHg灵敏度温度系数:110-4/精度:0.5%重复性:0.5%迟滞:0.5%过载:100倍HK-2000B集成化脉搏传感器采用高度集成化工艺将力敏元件PVDF压电膜、灵敏度温度补偿元件、感温元件、信号调理电路电路集成在传感器内。主要应用于无创心血管测试,中医脉象诊断。其灵敏度高、抗干扰性能强、过载能力大、一致性好,性能稳定可靠,使用寿命长。价格在240元左右。HK-2000C集成化数字脉搏传感器在HK-2000B集成化脉搏传感器基础上增加了程控放大电
35、路、基线调整电路、A/D转换电路、串行通信电路,使用户使用更方便、快捷。性能指标同HK-2000B集成化脉搏传感器。价格在480元左右。MB-4型脉搏波传感器主要性能指标如下:1频率响应:0.135Hz2灵敏度:2mv/Pa ( 对于正常脉搏波信号,输出幅度可达34Vpp)3绝缘阻抗:1000M4输出阻抗:1K5体积:2215mm6电源电压:59VDCMB-4型脉搏波传感器灵敏度很高、抗过载能力强、抗干扰性能优、具有操作简便等特点。本传感器壳体内已配置放大器和输出阻抗变换器,可以很方便地与其它电路相匹配。适用于心脏功能监测仪检测体表动脉搏动波形。实际使用时往往不必再加其它放大环节,可以直接送到
36、A/D变换器等环节进行处理。压电薄膜传感器与压电陶瓷片传感器价格低廉,但市面上很难找到卖家,从网上买又有最小订货量的限制,HK-2000A集成化脉搏传感器与SC0073微型动态脉搏微压传感器功能相近,但价格比后者高出许多。HK-2000B集成化脉搏传感器与MB-4型脉搏波传感器相比,价格比较高,但功能上却比后者差好多。HK-2000C集成化数字脉搏传感器虽然功能很强大,但同样价格也很高,从设计成本上考虑太奢侈,不适合于设计的应用。HK-2000系列的脉搏传感器功能比较全,但价格非常高,在三四百元左右,MB-4型脉搏波传感器功能上能与HK-2000C集成化数字脉搏传感器相媲美,价格比HK-200
37、0B集成化脉搏传感器又低,具有频率响应为0.135Hz,且灵敏度高,内置放大电路,输出模拟信号可以直接送入ADC0809芯片处理,是相当理想的脉搏波传感器,价格在200元左右,而SC0073微型脉搏传感器价格在60元左右,其频率响应为11000HZ,也就是说如果人体脉搏每分钟心跳少于60下,则有可能检测不到脉搏信号。综合考虑,人的心跳频率范围在0240次每分钟,而且MB-4微型脉搏传感器性价比高,所以本设计采用MB-4型脉搏波传感器作为采取脉搏信号的传感器。在实际中有很高很精确测量范围很广,只需采用MB-4型脉搏波传感器,将采取的脉搏信号经过分压后直接送入ADC0809芯片即可。MB-4型脉搏
38、波传感器为压电式脉搏传感器,适用于心脏功能监测仪检测体表动脉搏动波形。传感器具有灵敏度很高、抗过载能力强、抗干扰性能优、操作简便等特点。本传感器壳体内已配置放大器和输出阻抗变换器,可以很方便地与其它电路相匹配。实际使用时往往不必再加其它放大环节, 可以直接送到A/D变换器等环节进行处理。适合于腕动脉、颈动脉、下肢浅表动脉等不同部位的测量。由MB-4型脉搏波传感器的频率响应可以知道测量脉搏范围为102100次每分钟,足以实现日常生活中的应用,灵敏度高。由于ADC0809芯片可处理电压为0到+5V,所以在传感器输出电压处采用分压方法以便于达到芯片处理电压要求,转换后的信号送入单片机后同样便于单片机
39、的响应与处理。4 软件程序设计4.1 脉搏计数模块的设计4.1.1 脉搏计数程序方案的选取利用单片机的外部中断对外部信号脉冲进行计数的方法,编写相应的程序就可以计算出单位时间内外部信号的脉冲数,就可以得到输入信号的频率,即可以计算出相应的脉搏数,从而实现脉搏计数功能。在测量信号频率的时候我首先采用的设计思路是:1.设frq的值为单位时间的脉冲数,单位时间设置为一秒,也就是信号的频率,设其数据类型为无符号的整型,其测量频率范围为0到65535Hz。2.由于所选用的晶振为12MHz,即机器周期为一微秒,利用定时器工作方式1,可以获得最大到65.536ms的定时,为了计算方便则取每隔50ms产生一次
40、定时中断。当中断次数达到20次时即定时达到1s。这时计算20次定时中断时间内外部信号的脉冲数即可得到所输入信号的频率。3.由以上分析可以得知,程序需要使用两个中断,T0的溢出中断用于50ms的定时,外部中断1用来对INT1引脚上的脉冲进行计数,由于程序的主要任务是对脉冲进行计数,从而计算出频率,因此外部中断1的中断优先级应为最高。4.外部中断服务子程序的主要任务是对外部脉冲计数,用frqc表示脉冲数目,并且frqc应小于frq,其数据类型为无符号的整型,主程序初始化时应该将frqc置0。5.T0中断服务子程序的主要任务有两个,第一个任务是重新给TL0和TH0赋初值,为下一次的定时中断做准备,第
41、二个任务是中断次数加1,中断次数用numone表示,由于程序设计的1m定时需要记录20次中断数目所以其数据类型应该设为无符号的字符型,同样在初始化程序时置numone为0。第三个任务是当到达1s钟的定时后将所记录脉冲数目frqc送入frc中,以便于程序的其他部分进行处理和显示使用,并将numone和frqc置0,以便于下一秒钟的定时计数用13。经过实际的编程调试后发现了问题,频率显示不稳定、计数不精确并且需要测量的时间长。针对上述问题,修改了中断次数从而减少测量脉搏的时间,但效果仍然不理想,经过多次调试后放弃了此方案,总结原因测量时间相对较长,脉搏信号属于低频信号,程序的设计对于低频信号的计数
42、误差较大。由于脉搏信号属于低频信号,此次的设计思路是通过测量信号的周期来计算频率。采用定时器精确定时得到一个相对较小的基准时间,然后计算在外部信号连续两次相同跳变之间的基准时间个数,由此可以得出信号的周期,即基准时间的个数乘以基准时间。然后再通过求周期的倒数便可以得到每分钟的脉搏数目。1.因为选用的晶振为12MHz,即机器周期为一微秒,为了得到比较准确的较小基准时间,可以利用定时器的工作方式2,即自动装入8位初值,用计数方式进行定时,可以精确定时到0.2毫秒,这样可以增加所得结果的精确度。2.因为被检测的信号频率在每分钟0到240次之间,可以利用T0工作在方式2,精确定时200微秒。3.下降沿
43、可以触发外部中断T0,因此可以利用外部中断0感测并记录外部信号的两次下降沿,单片机在两次下降沿中间的计时总时间即为信号的周期。4.程序中存在两个中断,由于需要精确定时,应设置定时器T0的中断优先级最高。在测量脉冲的周期时采用定时器T0定时200微秒,测量连续信号跳变中定时中断的次数。可以得到所输入的脉搏信号周期为定时时间乘以信号连续跳变两次之间的中断次数,然后通过程序设计取得每分钟的脉搏数 13。这种方法计算过程思路为用60秒除以所测得的脉搏信号的周期,即每分钟脉搏跳动的次数并将脉搏数通过数码显示程序送到LED数码管上显示。不仅可以精确实现脉搏的计数,而且测量时间短,极大的节约了测量时间。相应
44、的程序代码及功能如下所示:4.1.2 脉搏计数代码设计根据以上分析后确定的方案,来编写相应的程序代码,首先需要将定时器T0和外部中断0初始化,设置定时计数器T0选择工作方式2进行计数,并进行初值的装载,之后依次设置外部中断0为高优先级中断、外部中断0为跳沿触发方式、允许T0溢出中断、允许外部中断0中断、启动定时计数T0工作、开放所有的中断请求。设置完成后即完成了对定时器T0和外部中断0初始化,程序代码如下所示:void ding shi ()TMOD | = 0x02; /工作方式T0选择方式2计数 TH0 = T0H; /装载初值 TL0 = T0L; PX0 = 1; / 外部中断0为高优
45、先级中断 IT0 = 1; / 外部中断0为跳沿触发方式 ET0 = 1; / 允许T0溢出中断 EX0 = 1; / 允许外部中断0中断 TR0 = 1; / 启动定时计数器T0工作 EA = 1; / 所有的中断请求被开放 因为外部中断0为高优先级中断,当外部信号触发外部中断0时便启动了定时计数T0服务子程序器,T0开始计数,溢出时中断次数加一,当外部信号的下一次触发沿到来时,停止中断次数加一,并且转到外部中断0中断服务子程序,计算每分钟的脉搏数,并将脉搏数存入相应的单元,溢出中断次数置0。4.2 LED数码管显示模块设计4.2.1 显示模块的选取显示脉搏数模块有两个方案:LCD液晶模块显
46、示和LED数码管显示。方案1:LCD液晶模块显示,屏幕能显示的基本原理就是在两块平行板之间填充液晶材料,通过电压来改变液晶材料内部分子的排在列状况,以达到遮光和透光的目的来显示深浅不一,错落有致的图形,而且只要在两块平板间再加上三元色的滤光层,就可实现显示彩色图形。优点是体积小、功耗低、寿命长、显示稳定字迹清晰美观,可以很清楚的直接观察当前脉搏数目;缺点是价格相对较高,编程相对较为复杂。方案2:LED数码管显示,由于发光二极管基本上属于电流敏感器件,其正向压降的分散性很大, 并且还与温度有关,为了保证数码管具有良好的亮度均匀度,就需要使其具有恒定的工作电流,且不能受温度及其它因素的影响。优点是价格便宜,编程简单,缺点是LED数码管显示数字存在闪烁情况,观察脉搏显示数目效果不太理想,但可以实现显示功能。综合考虑两种方案,LED数码管编程显示