基于C51单片机的脉搏测量仪设计.docx

上传人:b****8 文档编号:11108206 上传时间:2023-02-25 格式:DOCX 页数:34 大小:1.06MB
下载 相关 举报
基于C51单片机的脉搏测量仪设计.docx_第1页
第1页 / 共34页
基于C51单片机的脉搏测量仪设计.docx_第2页
第2页 / 共34页
基于C51单片机的脉搏测量仪设计.docx_第3页
第3页 / 共34页
基于C51单片机的脉搏测量仪设计.docx_第4页
第4页 / 共34页
基于C51单片机的脉搏测量仪设计.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

基于C51单片机的脉搏测量仪设计.docx

《基于C51单片机的脉搏测量仪设计.docx》由会员分享,可在线阅读,更多相关《基于C51单片机的脉搏测量仪设计.docx(34页珍藏版)》请在冰豆网上搜索。

基于C51单片机的脉搏测量仪设计.docx

基于C51单片机的脉搏测量仪设计

摘要

脉搏传感器采样脉搏信号,采用STC89C51单片机作为控制器,脉搏传感器输出方波传入单片机,单片机每接收一个脉冲波形,数码管就计数一次。

脉搏次数超限时用蜂鸣器报警。

三极管加大功率,驱动器件工作。

单片机软件设计,设置中断向量,编程执行。

关键词:

STC89C51单片机、脉搏测量仪、软件设计AT89S5X

Stc89c52

Abstract:

Pulsesensorsamplingpulsesignal,usingSTC89C51MCUascontroller,pulsesensoroutputsquarewaveintosinglechipmicrocomputerchip,eachreceivingapulsewaveform,digitaltubecountingtime.Pulsefrequencyoverrunwithbuzzeralarm.Thethreetransistortoincreasepower,drivingdevice.MCUsoftwaredesign,settheinterruptvector,programmingexecutive.

Keywords:

STC89C51monolithicintegratedcircuit.pulsemeasuringinstrument.Softwaredesign.

 

目录

引言1

1系统方案选择与论证1

1.1任务1

1.2要求1

1.3系统基本方案1

1.3.1各个部分电路的方案选择及论证1

1.3.2系统各模块的最终方案2

2.系统硬件设计3

2.1单片机处理电路3

2.1.1STC89C51系列单片机的主要性能特点3

2.1.2C51系列单片机的基本组成4

2.2复位电路6

2.2.1单片机复位电路6

2.2.2测试复位电路7

2.3振荡电路7

2.4脉搏传感器部分8

2.4.1HK-2000A集成化脉搏传感器8

2.4.2脉搏传感器接收电路9

2.4.3电源电路10

2.5显示报警部分10

2.5.1数码管显示电路10

2.5.2报警电路11

3软件设计11

3.1程序设计11

3.2程序调试13

4结论18

谢辞19

参考文献20

附录21

引言

脉搏波所呈现出来的形态、强度、速率和节律等方面的综合信息,能反映出人体心血管系统中许多生理疾病的血流特征。

本系统采用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所示。

STC89C51单片机处理电路

脉搏传感器电路

震荡电路

蜂鸣器报警电路

复位电路

图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。

2.3振荡电路

图2.7振荡电路图

本设计晶振选择频率为11.0592MHz,电容选择30pF如图2.7。

经计算得单片机工作机器周期为:

11.0592×(1÷11.0592M)=1us。

2.4脉搏传感器部分

2.4.1HK-2000A集成化脉搏传感器

HK-2000A集成化脉搏传感器采用高度集成化工艺将力敏元件(PVDF压电膜)、灵敏度温度补偿元件、感温元件、信号调理电路集成在传感器内。

压电式原理采集信号,模拟信号输出,输出同步于脉搏波动的脉冲信号,脉搏波动一次输出一正脉冲。

该产品可用于脉率检测,如运动、健身器材设备中的心率测试。

图2.8HK-2000A集成化脉搏传感器图2.9波形图

 

主要特点:

ƒ模拟脉冲信号输出

ƒ灵敏度高

ƒ抗干扰性能力强

ƒ过载能力大

ƒ一致性好

ƒ性能稳定可靠,使用寿命长

技术指标:

ƒ电源电压:

3~12VDC

ƒ压力量程:

-50~+300mmHg

ƒ过载:

100倍

2.4.2脉搏传感器接收电路

图2.10脉搏传感器接收电路

HK-2000A型脉搏传感器输出方波传入单片机,单片机每接收一个脉冲波形,数码管就计数一次,当一分钟结束后,单片机停止接收信号,数码管也停止计数,如果需要重新计数,再次按下测试按键开关。

脉搏传感器输出波形清晰,较完整,不需要进行信号波形放大与调整。

需要注意脉搏传感器3个接口位置。

如图2.10所示:

黑线1号接地,红线3号电源,黄线2号接单片机。

2.4.3电源电路

图2.11电源电路

采用USB电源接口,电容的作用是滤波,从外界进来的电流,电压可能不稳定,接上电容是为了保证后面的电路电压相对稳定,为方便指示电源工作状态,电源接通时LED灯亮,表示器件开始工作。

2.5显示报警部分

2.5.1数码管显示电路

图2.12数码管电路

数码管DS1~DS3、VT1~VT3、R12~R21等组成数码显示电路。

本机采用动态扫描显示的方式,使用共阳数码管,P3.3-P3.5口作三个数码管的动态扫描位驱动码输出,通过三极管驱动数码管。

P1.0-P1.6口作数码显示七段笔划字形码的输出,用以驱动数码管的各字段。

因为单片机的端口输出电流能力低,无法直接驱动那些器件,故增加三极管加大功率,驱动数码管工作。

如图2.12所示。

2.5.2报警电路

图2.13(LED灯与蜂鸣器电路)

根据医学数据,人体脉搏正常在60到120之间,当数码管所显示的示数大于120时LED红灯亮,蜂鸣器响应报警;示数小于60时LED黄灯亮,蜂鸣器响应报警;示数大于120时小于60时,LED绿灯亮,蜂鸣器不响。

因为单片机的端口输出电流能力低,无法直接驱动那些器件,故增加三极管加大功率,驱动蜂鸣器工作。

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

}

图3.2程序图

图3.3调试图

4结论

心率检测中关键技术是单片机设置与传感器输出的信号提取问题,本文设计系统模拟电路简单,由STC89C52芯片实现心率信号采集,信号处理,脉搏计数等显示接受和发送功能,因此体积小,功耗低,系统稳定性高。

本系统可实现心率次数的实时存储并可实现温度的信息的采集,显示以及对信息进行远程的接发收功能,因此可作为简单医院心率测量仪。

为了实现心率测量重复性,特别设置单片机的复位电路,复位电路设有复位按钮键。

档测试结果出来后,如要进行下一个测试环节,可通过复位按钮键,对单片机进行复位,进而可开始下一个测试。

同时方便观察脉搏次数变化,采用动态扫描显示的方式,使用共1062液晶显示器,可以随时方便观察脉搏跳动变化。

当测试结束时,增加的报警功能,起到对病人进行预警作用,当3种灯任何一种灯亮起时,即表示测试结束。

当然本次脉搏测量仪还有很多改进地方,比如rpr220反射式光电传感器对微弱跳动特别敏感,在测量时,手腕手指手掌等身体移动都会影响测量,因此在测量时需要防止其他部位移动。

通过这次课程设计,加强了我动手、思考和解决问题的能力。

在设计过程出出现过很多问题,比如元器件的成本问题,程序兼容问题,电路焊接问题,以及个人的身体出现的不适。

总的来说当看见自己的作评的完成。

见证了从方案的确立,元器件的购买,电路的设计,电路的焊接,程序的编写,模拟运行,电路调试,程序修改,到最终的完成的整一个过程,虽然整个过程繁琐枯燥乏味,到当设计完成的那一刻都转变成了那一份欣慰,怀念与激动。

生命赋予我们最美好的东西就是却是把所有的汗播种之后那最后一颗的收获,那一刻没有任何的负面情绪,不再消极,仿佛久雨的天空终于拨开了云雾见到了晴天。

我觉得做课程设计是对自我的进一步的认知,同时了解自我的不足却缺点,让自己能够有进一步提升的空间,挫败自己我的高傲,自满,从内到外逐步提升自我人格魅力。

也是对课本知识的巩固和加强,平时看课本时只得其形不得其意,不求甚解,模凌两可却自以为以深得其意。

有时问题老是弄不懂束手无策,无从着手,做设计设计过程中,那些问题摸索,尝试,纠正之后迎刃而解了。

而且还可以掌握了更多偏僻冷门的知识,记住很多东西。

比如单片机管脚用途,由于平时看课本,只是肤浅的记忆。

这次看了,下次就忘了,主要是因为没有动手实践过吧!

认识来源于实践,实践是认识的基础和原动力,实践是检验真理的唯一标准这是毋庸置疑的。

在内容设计方面,比较深入的学习了单片机方面的知识,补充了自己知识上的不足,更重要的是给自己找到了一个新的继续努力发展方向目标及动力。

 

谢辞

在这次课程设计的过程中,我的指导老师丁勇老师给予了我很大的帮助,提供了相关的资料,对我的课程设计作品给予了指导和支持。

使我顺利圆满的完成了此次课称设计设计。

在此,向丁勇老师表示衷心的感谢!

同时,也要感谢学院提供制板等设施,使我的设计得以顺利完成。

古人云:

预则立,不预则废。

祖先曾经教导我们:

一年之计在于春,一日之计在于晨。

作为即将走向社会的我们又何尝不是如此?

一个没有规划的人生,就像一场没有球门的足球赛,满场乱踢;一个没有规划的人生,就像一叶在茫茫大海上漫无目标的小舟,随波飘荡。

在我们即将走向社会的时候,我们必须对自己的职业生涯进行规划。

罗素曾说:

选择职业就是选择你自己的将来。

因此我们要针对社会需要,结合自身的情况及早做好相应准备,为我们走向社会打下坚实的基础。

俗话说:

磨刀不误砍柴功。

为适应社会需要,促进自我发展,我们除了学好本专业外,还应辅修相关专业知识,积极参加社会实践活动,培养工作能力,努力提高综合素质,同时努力培养特长,形成自身竞争优势。

最后,再次感谢学院给了我们机会,以及信息与通信学院的各位老师和许多的朋友、同学在各个方面给予了我很多的帮助和支持,让我坚持到了最后,谢谢你们!

 

参考文献

1.刘云丽,徐可欣等.微功耗光电式脉搏测量仪.电子测量技术.2005.第二期

2.李世馨.模拟电子技术基础.高等教育出版社.2001.123

3.朱国富,廖明涛,王博亮.袖珍式脉搏波测量仪.电子技术应用.1998.第1期

4.欧阳俊.基于BL-410的指端脉搏波采集系统应用研究.2004.第11卷第2期

5.程咏梅,夏雅琴,尚岚.人体脉搏波信号检测系统.北京生物医学工程.2006.第25卷

6.任为民.电子技术基础课程设计.中央广播电视大学出版社.1997年5月第1版

7.张毅坤.单片微型计算机原理及应用.西安电子科技大学出版社.1998.9第1版

8.刘文,杨欣,张铠麟.基于AT89C2051单片机的指脉检测系统的研究.医疗装备.2005

9.朱月秀.单片机原理与应用.科学出版社.2004.2

10.韩文波.光电式脉搏波监测系统.长春光学精密机械学院学报.1999.第22卷第4期

 

附录

原理图

 

PCB图

程序代码:

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

uchari=0xfe;//显示位选初值

ucharge,shi,bai;

uintcount=887;//脉搏次数

uintt;

uchardisp[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管编码

sbitP0_0=P0^0;//黄灯

sbitP0_1=P0^1;//红灯

sbitP0_2=P0^2;//绿灯

sbitP2_4=P2^4;//按键

//sbitP3_2=P3^2;

sbitP3_6=P2^3;//蜂鸣器

bitBELL=0;//响铃标志

/**************************************/

/*/

/*软件延时函数/

/*/

/**************************************/

voiddelay10ms(void)

{

uchari,j;

for(i=20;i>0;i--)

for(j=248;j>0;j--);

}

/**************************************/

/*/

/*显示函数/

/*/

/**************************************/

voiddisplay(uchari,ucharnumber)

{

P2=i;

P1=disp[number];

}

/**************************************/

/*/

/*定时器0中断处理函数/

/*用于定时一分钟/

/**************************************/

voidtimer0(void)interrupt1

{

TH0=0x3c;

TL0=0xb0;

t++;

if(t==1200)

{

EA=0;

t=0;

bai=count/100;

shi=(count%100)/10;

ge=(count%100)%10;

if(count<60)//设置最低值

{

P0_0=0;

P3_6=0;

BELL=1;

}

elseif(count>120)//设置最高值

{

P0_1=0;

P3_6=0;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1