基于单片机的脉搏测量仪设计毕业设计论文.docx
《基于单片机的脉搏测量仪设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的脉搏测量仪设计毕业设计论文.docx(29页珍藏版)》请在冰豆网上搜索。
基于单片机的脉搏测量仪设计毕业设计论文
分类号TP216单位代码11395
密级学号0905270128
学生毕业设计(论文)
题目
基于单片机的脉搏测量仪设计
作者
院(系)
专业
测控技术与仪器
指导教师
答辩日期
2013年6月1日
毕业设计(论文)诚信责任书
本人郑重声明:
所呈交的毕业设计(论文),是本人在导师的指导下独立进行研究所取得的成果。
毕业设计(论文)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。
尽我所知,除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人毕业设计(论文)与资料若有不实,愿意承担一切相关的法律责任。
论文作者签名:
年月日
摘要
脉搏波所呈现出来的形态、强度、速率和节律等方面的综合信息,能反映出人体心血系统中许多生理疾病的血流特征。
根据人体脉搏信号特征,本论文设计了一种基于单片机的脉搏测量系统。
系统采用红外发射与接收二极管充当脉搏传感器来采集脉搏信号。
首先将采集到的信号通过低通滤波与放大电路对脉搏信号进行处理,然后,将放大的脉搏信号通过整形电路进行电压基准变化,在经过一次放大电路对整形后的脉搏信号进行放大,将信号转换为AT89S52单片机易于处理的脉冲信号。
通过单片机编程对脉冲信号进行处理,测量出一分钟内的脉搏次数,最终在数码管中直观的显示出来。
为了节省时间,一般不会作一分钟的测量,通常是测量10秒钟时间内的脉搏数,再把结果乘以6即得到每分钟的脉搏数。
发光二极管可以通过发光的形式显示脉搏的跳动。
关键词:
脉搏测量仪;AT89S52;LED;信号处理
TheDesignofPulseMeasurementInstrumentBasedonSingleChipMicrocomputer
ABSTRACT
Comprehensiveinformationform,strength,speedandrhythmofthepulsewaveshow,canreflectthehumancardiovascularsystemflowcharacteristicinmanyphysiologicaldiseases.Accordingtothecharacteristicsofthehumanpulsesignals,thispaperdesignedapulsemeasurementsystembasedonmcu.
Systemusesinfraredemittingandreceivingdiodeactsasapulsesensortocollectthepulsesignal.Firstly,thecollectedsignalthroughlow-passfilteringandamplifyingcircuitforpulsesignalprocessing,then,thepulsesignalamplificationofthevoltagereferencechangethroughtheshapingcircuit,afteranamplifyingcircuitamplifiesthepulsesignalaftershaping,thesignalisconvertedintoAT89S52microcontrollermanageablepulsesignal.ProcessingthroughtheMCUprogrammingonthepulsesignal,measuredthepulseofoneminute,times,finallyinthedigitaltubedisplay.
Inordertosavetime,generallynotasameasureofaminute,oftenisthenumberofpulsemeasurement10seconds,thentheresultismultipliedby6toobtainthepulsenumberperminute.Lightemittingdiodecanbedisplayedbylightpulse.
Keywords:
Pulsemeasuringinstrument;AT89S52;LED;Signalprocessing
1绪论
1.1脉搏测量仪介绍
脉搏测量仪是用来测量一个人脉搏跳动次数的电子仪器,也是心电图的主要组成部分,因此,在现代医学上具有非常重要的作用。
随着人们生活环境和经济条件的改善,以及文化素质的提高,其生活方式,保健需求以及疾病种类、治疗措施等发生了明显的变化。
但在目前,我国的心脑血管疾病仍呈逐年上升趋势。
其发病率和死亡率均居各种疾病之首,是人类死亡的主要原因之一。
而脉搏测量仪在预防和发现这些疾病中有着至关重要的作用。
从脉搏波中提取人体的生理病理信息作为临床诊断和治疗的依据,历来都受到中外医学界的重视。
几乎世界上所有的民族都用过“摸脉”作为诊断疾病的手段,中医中脉诊在“望、闻、问、切”四诊中占有非常重要的地位。
脉搏是常见的生理现象,蕴含着丰富的人体生理病理信息。
脉搏波所呈现出的形态(波形)、强度(波幅)、速率(波速)和节律(周期)等方面的综合信息,在很大程度上反映出人体心血管系统中许多生理病理的血流特征,因此对脉搏波的采集和处理具有很高的医学价值和应用前景。
1.2脉搏测量仪的应用
20世纪50年代初,朱颜将脉搏器引入到中医脉诊的客观化研究方面。
此后随着机械和电子技术的发展,中医脉象仪方面的研究进展很快,尤其是七十年代中期,天津、上海、江西等地相继成立了跨学科的脉象研究协作组织,多学科共同合作促使其进入了一个新的发展水平。
脉象探头式样很多,有单部、三部、单点、多点、刚性接触式、软性接触式、气压式、硅杯式、液态汞、液态水、子母式等组成。
脉象探头的主要原件有应变片、压电晶体、单晶硅、光敏元件、PVDF压电薄膜等。
其中以单部单点应变片最为广泛,不过近年来正在向三部多点式方向设计[1]。
目前脉搏测量仪在许多领域被广泛利用,除了应用与医学领域,如无创心血管功能检测、妊高症检测、脉率检测等等,商业应用也不断发展,如运动、健身器材中心的心率测试都用到了先进的脉搏测量仪[2]。
1.3本设计所要实现的目标
基于AT89S52单片机脉搏测量仪设计要求如下:
(1)要求通过手指测量脉搏跳动。
(2)准确测量出1分钟内的脉搏跳动次数。
(3)通过数码管显示出1分钟内脉搏跳动的次数。
(4)发光二极管通过发光的形式显示脉搏的跳动。
1.4本文的设计方案:
采用以单片机为核心的控制方案
基于AT89S52单片机的脉搏测量仪由电源电路、复位电路、晶振电路、AT89S52单片机、脉搏感应电路、脉搏信号处理电路、脉搏次数显示电路以及脉搏显示发光二极管组成,系统框图如图1-1所示。
图1-1基于AT89S52单片机脉搏测量仪系统框图
2主要器件介绍
2.1单片机的选择
本次设计单片机选用ATMEL公司的AT89S52单片机。
2.1.1AT89S52简介
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储技术制造,与工业8031、80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程(IPS下载),亦适用于常规编程器[3]。
图2-1AT89S52单片机实物图
2.1.2AT89S52的特点
AT89S52的主要特点:
(1)8k字节Flash;
(2)256字节RAM;
(3)32位I/O口线;
(4)看门狗定时器;
(5)2个数据指针;
(6)三个16位定时器/计数器;
(7)一个6向量2级中断结构;
(8)全双工串行口;
(9)片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
8位微控制器8K字节在系统可编程[4]。
2.1.3AT89S52引脚功能说明
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
其引脚图如图2-2所示。
图2-2AT89S52引脚图
各引脚功能说明:
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0不具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1(P1.0~P1.7)口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P2(P2.0~P2.7)口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3(P3.0~P3.7)口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接收一些控制信号。
表2-1P3口第二功能表
引脚
第二功能特性
P3.0
串行输入口RXD
P3.1
串行输出口TXD
P3.2
外中断0
P3.3
外中断1
P3.4
定时/计数器0
P3.5
定时/计数器1
P3.6
外部存储器写选通
P3.7
外部存储器读选通
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:
外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接VCC端),CPU则执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
中断源:
AT89S52有6个中断源。
两个外部中断(INT0和INT1),三个定时中断(定时器0、1、2)和一个串行中断[5]。
2.2传感器的选择
本次设计选用的传感器由红外发光二极管和光敏三极管组成。
采用GaAs红外发光二极管作为光源时,可基本抑制由呼吸运动造成的脉搏波曲线的漂移。
红外接收三极管在红外光的照射下能产生电能,它的特性是将光信号转换为电信号。
在本设计中,红外接收三极管和红外发射二极管相对摆放以获得最佳的指向特性[6]。
图2-3透射式光电传感器
2.2.1红外发光二极管简介
红外线发光二极管由红外辐射效率高的材料(常用砷化镓GaAs)制成PN结,外加正向偏压向PN结注入电流激发红外光。
光谱功率分布为中心波长830~950nm,半峰带宽约40nm左右。
其最大优点是可以完全无红暴,或仅有微弱红暴(红暴为有可见红光)而延长使用寿命。
通常应用红外发射管波长:
850nm、870nm、880nm、840nm、980nm。
辐射强度(POWER)与输入电流(If)成正比,辐射强度与发射距离成反比[6]。
图2-4红外发光二极管
2.2.2光敏三极管简介
光敏三极管又称光电三极管,采用半导体制作工艺制成的具有NPN或PNP结构的半导体管,它是一种光电转换器件。
基本原理是光照到PN结上时,吸收光能并转换为电能。
当光敏三极管加上反向电压时,管子中的反向电流随着光照强度的改变而改变,光照强度越大,反向电流越大[7]。
图2-5光敏三极管
2.3驱动芯片的选择
本设计采用74系列中的74LS245作为数码管驱动器,集成芯片74LS04作为数码管反相器。
2.3.174LS245简介
74LS245是我们常用的芯片,用来驱动LED或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。
74LS245还具有双向三态功能,既可以输出,也可以输入数据。
当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。
当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)DIR=“1”,信号由A向B传输;(发送)当CE为高电平时,A、B均为高阻态。
由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。
P0口与74LS245输入端相连,E端接地,保证数据线畅通。
8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1)[8]。
图2-674LS245引脚图
2.3.274LS04简介
74LS04是6非门(反相器),它的工作电压是5V,内部含有6个CMOS反相器,74LS04的作用就是反相把1变成0。
集成芯片74LS04的引脚图如图2-7所示。
图2-774LS04引脚图
2.4显示器的选择
本设计采用3位共阳八段数码管作为显示器。
2.4.1三位共阳八段数码管简介
三位数码管显示分为共阴和共阳两种显示方式,共阴就是把abcdefg这7个发光二极管的负极连接在一起并接地,它们的7个正极接到7段译码驱动电路74LS245的相对应的驱动段上;本设计采用共阳显示电路,即把abcdefg的7个发光二极管的正极连接在一起并接到5V电源上,其余的7个负极接到74LS245相应的abcdefg输出端上。
无论是共阴还是共阳,都需要加限流电阻,否则会烧坏七段译码管。
限流电阻的选取是:
5V电源电压减去发光二极管的工作电压除以10mA到15mA所得的数即为限流电阻的值。
发光二极管的工作电压一般在1.8V~2.2V,为计算方便,通常选2V,发光二极管的工作电流选取在10~20mA[9]。
图2-8三位共阳八段数码管结构图
2.4.2八段数码管字形表
字形表是通过对字形的编码,由八段数码管实现字符的显示。
表2-2列出了字符“0”至字符“9”的对应字型码[10]。
表2-2共阳极字形表
3系统硬件设计
3.1设计原理
根据系统总体的设计方案,本设计的工作原理为:
电源电路为单片机以及其他模块提供标准5V电源;晶振模块为单片机提供时钟标准,使系统各部分能协调工作;复位电路模块为单片机提供复位功能;单片机作为主控制器,根据输入信号对系统进行相应的控制;红外发射和接收模块用来检测脉搏信号;信号变换模块用来把红外接收头接收到的脉搏信号进行放大和滤波,以便单片机进行处理;显示模块用来显示具体的脉搏测量结果,它会记录脉搏一分钟的跳动次数;发光二极管可以通过发光的形式显示脉搏的跳动。
下面给出各个部分的硬件电路设计方案。
3.2外围电路
本设计选用单片机AT89S52作为核心控制器件,结合电源电路、晶振电路、复位电路、红外发射和接收电路、信号放大和整形电路和脉搏显示电路等外围辅助电路,可以实现基本的脉搏测量并显示的功能。
其总电路图见附录A。
3.2.1电源电路
本次设计的电源电路为+5V稳压电源,其电路如图3-1所示。
图3-1电源电路原理图
该稳压电源电路利用晶体管作为调整元件和负载串联,调整元件看做是可变电阻,从输出电压中提取全部或部分电压调节调整管所呈现的电阻来维持输出电压基本不变。
它的输出电压可以随意连续调节,输出电流也可达到很大,稳压精度较高[11]。
稳压电源电路主要是由变压器、三端集成稳压器7805、整流电路、滤波电路组成。
变压器是利用电磁感应原理进行变换交流电压、阻抗和电流的器件;三端稳压器可靠性高、精度高、电路实现简单且价格低廉,可以实现可靠的直流稳压电源;整流电路采用全桥式整流桥,即利用四个二极管两两并联后接入输出电压;电容滤波电路即在输出端并联一个电容器。
3.2.2复位电路
单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。
89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。
单片机系统的复位方式有:
手动按钮复位和上电复位。
不管是单片机刚接上电源还是断电后或发生故障后均要进行复位的操作。
通常采用手动复位和上电自动复位的组合,在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用于复位。
复位电路如图3-2所示。
图3-2复位电路原理图
3.2.3晶振电路
单片机是一种时序电路,必须提供脉冲才能正常工作。
MCS-51系列单片机内部都有一个时钟振荡电路,只需外接晶振源,就可以产生一定频率的时钟信号送到单片机的内部各个单元,决定单片机的工作速度。
XTAL1和XTAL2脚分别构成单片机片内振荡电路的反相放大器的输入端和输出端,外接石英晶体X1和振荡电容C1、C2构成并联谐振电路。
晶振是石英振荡器的简称,英文名为Crystal,是利用石英晶体(SiO2晶体)的压电效应制成的一种谐振器件;两个振荡电容C1、C2是分别接在晶振的两个脚和对地的电容,本设计分别选用12.0MHz的标准石英晶振和两个22pF的电容。
晶振电路如图3-3所示。
图3-3晶振电路原理图
3.2.4脉搏信号采集放大电路
目前脉搏波检测系统有以下几种检测方法:
光电容积脉搏波法、液体耦合腔脉搏传感器、压阻式脉搏传感器以及应变片式脉搏传感器。
本设计采用了光电法,近年来,光电检测技术在临床医学应用中发展很快,这主要是由于光能避开强烈的电磁干扰,具有很高的绝缘性,且可非侵入的检测病人各种症状信息,具有结构简单、无损伤、精度高、可重复好等优点[12]。
脉搏主要由人体动脉舒张和收缩产生的,在人体指尖组织中的动脉成分含量高,而且指尖厚度相对其他人体组织而言比较薄,透过手指后检测到的光强相对较大,因此测量部位选择在人体指尖。
手指组织可以分为皮肤、肌肉、骨骼等非血液组织和血液组织,其中非血液组织的光吸收量时恒定的,而在血液中,静脉血的搏动相对于动脉血时十分微弱的,可以忽略。
因此可认为光透过手指后的变化仅由动脉血的充盈而引起的,那么在恒定波长的光源照射下,通过检测透过手指的光强可以间接测量到人体的脉搏信号[13]。
脉搏传感器出来的电压信号较弱,一般在毫伏级,需要对其进行放大。
所以设计信号放大电路,将脉搏传感器出来的信号进行放大,使之成为一个幅值适当的信号,便于后续电路的处理。
电路原理图如图3-4所示,其中包含了脉搏采集电路、低通放大电路、二级放大电路和整形电路。
图3-4脉搏信号采集放大电路原理图
3.2.5LED显示电路
LED显示电路如图3-5所示,当P3.1、P3.3、P3.4送来的信号为低电平时,74LS04导通,对应位选通。
P0.0到P0.7送来低电平时,对应段选通。
分别显示数字0到9。
图3-5显示电路原理图
4系统软件设计
本次设计采用C语言程序编程。
程序的主要思路是利用单片机的计数器,统计两次脉冲之间的时间,即可得出一次心跳的时间,然后便可以得出一分钟的脉搏数。
由于单片机的精确度非常高,所以该方法精度较高。
上电后,首先进行整机初始化处理,其中初始化包含了对定时器的选用、优先级的设定和初始值的设置。
整机初始化完成之后,检测脉搏信号,如果检测到脉搏,则会对脉搏信号进行处理。
基于AT89S52单片机脉搏测量仪的程序流程图如图4-1所示。
软件程序部分见附录B。
图4-1基于AT89S52单片机脉搏测量仪程序流程图
5软件调试及仿真
本次设计软件调试工具采用KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统KeiluVision2,KeilC51标准C编译器为8051微控制器的软件开发提供了C语言环境,并保留了汇编代码高效、快速的特点。
软件仿真工具采用英国LabcenterElectronics公司研发的多功能EDA软件Proteus,其中的ProteusISIS是一款操作简单便捷的电子系统原理设计和仿真平台软件,它运行于Window