单片机脉搏计设计.docx
《单片机脉搏计设计.docx》由会员分享,可在线阅读,更多相关《单片机脉搏计设计.docx(14页珍藏版)》请在冰豆网上搜索。
![单片机脉搏计设计.docx](https://file1.bdocx.com/fileroot1/2023-2/17/692fb317-6269-4cd5-b30f-12eb4a09e34a/692fb317-6269-4cd5-b30f-12eb4a09e34a1.gif)
单片机脉搏计设计
脉搏计设计论文
单片机脉搏计设计
摘要
脉搏传感器采样脉搏信号,采用STC89C51单片机作为控制器,脉搏传感器输出方波传入单片机,单片机每接收一个脉冲波形,数码管就计数一次。
脉搏次数超限时用蜂鸣器报警。
三极管加大功率,驱动器件工作。
单片机软件设计,设置中断向量,编程执行。
关键词:
STC89C51单片机、脉搏测量仪、软件设计
2.2.1单片机复位电路8
前言
脉搏波所呈现出来的形态、强度、速率和节律等方面的综合信息,能反映出人体心血管系统中许多生理疾病的血流特征。
本系统采用STC89S51单片机为核心而制作的一种实用型脉搏测量仪。
采用HK-2000A集成化脉搏传感器作为传感器对人体的脉搏心率警醒数据采集。
得到的信号送入STC89S51单片机进行处理。
单片机将采集到的脉搏心率在数码管上实时显示出来,同时还设置了脉搏测量仪的上下限报警电路。
本文首先描述本设计的整体思路,然后介绍各个部分设计中的细节问题,最后提出一些完善本设计的改进意见。
从脉搏波中提取人体的生理病理信息作为临床诊断和治疗的依据,历来都受到中外医学界的重视。
几乎世界上所有的民族都用过“摸脉”作为诊断疾病的手段。
脉搏波所呈现出的形态(波形)、强度(波幅)、速率(波速)和节律(周期)等方面的综合信息,在很大程度上反映出人体心血管系统中许多生理病理的血流特征,因此对脉搏波采集和处理具有很高的医学价值和应用前景。
1系统方案选择与论证
1.1任务
基于C51单片机的脉搏测量仪设计
1.2要求
(1)通过脉搏传感器采样脉搏信号,设计脉搏波检测电路,通过数码管来显示脉搏次数。
(2)将脉冲波送入单片机,采用单片机构成脉搏检测仪,要求实时脉搏次数对超限时用蜂鸣器报警。
1.3系统基本方案
根据题目的要求系统模块可以基本划分为:
脉搏传感器部分、单片机处理电路部分及显示电路部分。
为实现各模块的功能,分别做了几种不同的设计方案病进行了论证
1.3.1各个部分电路的方案选择及论证
(1)脉搏传感器部分
传感器又称为换能器、变换器等。
脉搏传感器是脉搏检测系统中重要的组成部分,其基本功能是将切脉压力和桡动脉搏动压力这样一些物理量(非电量)转换成为便于测量的电量。
脉搏传感器的精度、灵敏度、抗干扰能力及安装方式决定了脉搏测量精度,因此其选型对整个设计具有决定性的作用。
本设计中,采用HK-2000A集成化脉搏传感器,HK-2000A集成化脉搏传感器采用高度集成化工艺将力敏元件(PVDF压电膜)、灵敏度温度补偿元件、感温元件、信号调理电路集成在传感器内。
压电式原理采集信号,模拟信号输出,输出同步于脉搏波动的脉冲信号,脉搏波动一次输出一正脉冲。
该产品可用于脉率检测,如运动、健身器材设备中的心率测试。
(2)单片机选择
51单片机是INTEL公司生产的。
它具有结构简单,价格便宜,易于开发的特点。
通用型,有总线扩展,有较强的位处理功能,有全双工异步串行通信口。
但是其功能相对较少,访问外部数据有瓶颈,作电压范围窄。
本设计中,单片机只需要对脉搏信号的波动频率进行测量、计算和显示,对单片机的要求不是很高。
而对51单片机,本人比较熟悉,所以,本设计中选择51单片机作为信息处理中心。
(3)显示部分
根据题目要求,设计出来的系统是可以设定报警的范围的。
对显示部分采用以下方案:
采用数码管。
数码管具有功耗小、轻薄短小无辐射危险,简单方便等特点。
1.3.2系统各模块的最终方案
根据以上分析,结合器件和设备等因素,确定如下方案:
1.采用STC89C51单片机作为控制器,分别对输入、显示、信号的处理和控制。
2.传感器部分采用光HK-2000A集成化脉搏传感器,该器件结构简单、可靠性高、抗干扰能力强。
3.显示用数码管显示实时脉搏数和蜂鸣器报警上下限数值。
系统的基本框图如下图1.1所示。
图1.1设计框图
2.系统硬件设计
2.1单片机处理电路
单片机处理电路如图2.1所示
图2.1单片机处理电路
2.1.1STC89C51系列单片机的主要性能特点
STC89C51系列单片机是宏晶科技推出的新一代超强抗干扰、高速、低功耗的单片机,指令代码与传统8051单片机完全兼容。
MCS-51的主要特点为:
◆CPU为8位;
◆片内带振荡器,频率范围为1.2~12MHz;
◆片内带128字节的数据存储器;(RAM)
◆片内带4KB的Flash程序存储器;(ROM)
◆程序存储器的寻址空间为64KB;(需要扩展ROM)
◆片外数据存储器的寻址空间为64KB;(需要扩展RAM)
◆128位(16字节)用户位寻址空间;(在128个字节中)
◆18个字节特殊功能寄存器SFR(MCS—52子系列为21个);
◆4个8位的并行I/O接口:
P0、P1、P2、P3;
◆2个16位定时器/计数器T0、T1;(MCS-52子系列为3个,T2)
◆2个优先级别的5个中断源;(高、低2个)
◆1个全双工的串行I/O接口,可多机通信;
◆片内采用单总线结构;
◆有较强的位处理能力;
2.1.2C51系列单片机的基本组成
图2.2框图
图2.3DIP管脚图
AT89C51与51系列中各种型号芯片的引脚互相兼容。
目前多采用40只引脚双列直插,如图2.3所示。
引脚按其功能可分为如下3类:
【要熟练记住】
①电源及时钟引脚—-VCC、VSS;XTAL1、XTAL2;
②控制引脚—-
、
、
、和
;
③I/O口引脚——P0、P1、P2、P3,为4个8位I/O口。
1.电源引脚
VSS(20脚):
接地,0V参考点。
VCC(40脚):
5V电源。
【提供掉电、空闲、正常工作电压】
图2.4总线分布
2.外接晶体引脚
XTAL1(19脚):
接外部晶体振荡器的一端。
当使用芯片内部时钟时,此脚用于外接石英晶体振荡器和微调电容;当使用外部时钟时,对于HMOS单片机,此引脚接地;对于CMOS单片机,此引脚作为外部振荡信号的输入端。
XTAL2(18脚):
接外部晶体振荡器的另一端,当使用芯片内部时钟时,此脚用于外接石英晶体振荡器和微调电容。
当使用外部时钟时,对于HMOS单片机,此引脚接外部振荡源;对于CMOS单片机,此引脚悬空不接。
89C51晶体振荡器频率可在6MHZ~40MHZ之间选择,常选6MHz或12MHz的石英晶体。
电容的值没有严格要求,但其取值对振荡器的频率输出的稳定性、大小、振荡电路起振速度稍有影响,C1、C2可在20pF~100pF之间选择。
当外接晶体振荡器时,电容可选30pF±10pF;外接陶瓷振荡器时,电容可选40pF±10pF。
3.控制信号或与其它电源复用引脚
(1)
(9脚):
复位端。
当输入的复位信号持续2个以上机器周期(12个晶体振荡周期)高电平即为有效,用于完成单片机的复位初始化操作。
正常工作时,此脚电平应≤0.5V。
在VCC发生故障、降低到电平规定值掉电期间,此引脚可接备用电源VPD(电源范围5V±0.5V),由VPD向内部RAM供电,以保持内部RAM中的数据。
(2)
(30脚):
地址锁存使能。
ALE(AddressLatchEnable);PROG(Program)
为CPU访问外部程序存储器或外部数据存储器提供地址锁存信号,将低8位地址锁存在片外的地址锁存器中。
引脚第二功能,对片内Flash编程,为编程脉冲输入端。
(3)
(29脚):
(ProgrammerSavingENable),外部程序存储器读选通信号。
在读外部程序存储器时有效(低电平),以实现外部程序存储器单元的读操作。
在访问外部数据存储器、访问内部程序存储器时
无效。
(4)
(31脚):
(EnableAddress/VoltagePulseofProgramming)
访问程序存储控制信号。
当
=“0”时,表示读外部程序存储器。
只读取外部的程序存储器中的内容,读取的地址范围为0000H~FFFFH(64KB),片内的4KBFlash程序存储器不起作用。
当
=“1”时,表示对程序存储器的读操作是从内部程序存储器开始,并可延至外部程序存储器。
在PC值不超出0FFFH(即不超出片内4KBFlash存储器的地址范围)时,单片机读片内程序存储器(4KB)中的程序,但当PC值超出0FFFH(即超出片内4KBFlash地址范围)时,将自动转向读取片外60KB(1000H-FFFFH)程序存储器空间中的程序。
对于EPROM(或FLASH)型单片机,在EPROM编程期间,此引脚需加12.75V或21V的编程电压。
2.2复位电路
2.2.1单片机复位电路
图2.5单片机复位电路图
时钟电路工作后,在REST管脚上加两个机器周期的高电平,芯片内部开始进行初始复位(如图2.5)。
2.2.2测试复位电路
图2.6测试复位电路图
单片机程序里通过检测该口,判断是否有按键按下,如按下开始计数工作,如一直未按则一直在此等待如图2.6。
3软件设计
3.1程序设计
在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。
把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。
应用系统的程序由包含多个模块的主程序和各种子程序组成。
各程序模块都要完成一个明确的任务,实现某个具体的功能,在具体需要时调用相应的模块即可。
这里采用顺序结构,通过对按键的扫描,判断要实现什么功能。
(如图3.1)
图3.1程序流程图
3.2程序调试
源程序的编写有多种语言,经过对原理的分析和自身的实际情况本课程设采用C语言编写,其主要程序代码如下:
/*初始化函数/
voidinit()
{
t=0;
TMOD=0x11;//定时器0,1的定时方式1都打开
TH1=-5000/256;//定时器1定时5ms
TL1=-5000%256;
TH0=0x3c;//定时器0定时50ms
TL0=0xb0;
EA=1;//开总中断
ET1=1;//开定时器1中断
TR1=1;//开定时器1
TR0=1;//开定时器0
ET0=1;//开定时器0中断
IT0=1;//下降沿促发
EX0=1;//开中断0
}
4总结
脉搏检测中关键技术是单片机设置与传感器输出的信号提取问题,本文设计系统模拟电路简单,由STC89C51芯片实现脉搏信号采集,信号处理,脉搏计数等功能,因此体积小,功耗低,系统稳定性高。
本系统可实现脉搏次数的实时存储并可实现与脉搏次数报警,因此可作为简单医院脉搏测量仪。
为了实现脉搏测量重复性,特别设置单片机复位按键和测试复位按键。
同时方便观察脉搏次数变化,采用动态扫描显示的方式,使用共阳极数码管,可以随时方便观察脉搏跳动变化。
当测试结束时,增加的报警功能,起到对病人进行预警作用,当3种灯任何一种灯亮起时,即表示测试结束。
当然本次脉搏测量仪还有很多改进地方,比如HK-2000A集成化脉搏传感器对微弱跳动特别敏感,在测量时,手腕手指手掌等身体移动都会影响测量,因此在测量时需要防止其他部位移动。
通过这次课程设计,加强了我动手、思考和解决问题的能力。
我觉得做课程设计同时也是对课本知识的巩固和加强,平时看课本时,有时问题老是弄不懂,做完设计,那些问题就迎刃而解了。
而且还可以记住很多东西。
比如单片机管脚用途,平时看课本,这次看了,下次就忘了,主要是因为没有动手实践过吧!
认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。
在内容设计方面,比较深入的学习了单片机方面的知识,补充了自己知识上的不足,更重要的是给自己找到了一个新的发展方向。
5.原理图
6.PCB图