基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx

上传人:b****3 文档编号:6186212 上传时间:2023-05-06 格式:DOCX 页数:24 大小:1.15MB
下载 相关 举报
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第1页
第1页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第2页
第2页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第3页
第3页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第4页
第4页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第5页
第5页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第6页
第6页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第7页
第7页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第8页
第8页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第9页
第9页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第10页
第10页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第11页
第11页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第12页
第12页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第13页
第13页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第14页
第14页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第15页
第15页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第16页
第16页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第17页
第17页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第18页
第18页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第19页
第19页 / 共24页
基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx

《基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx》由会员分享,可在线阅读,更多相关《基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx(24页珍藏版)》请在冰点文库上搜索。

基于51单片机人体脉搏测量仪的设计实现分析范文Word格式.docx

采用红外传感器进行对脉搏信号的采集,光电系统通常是指能够敏感到紫外光至红外光的光能量,并将这个光能量变换成电信号的器件。

光电式传感器测量比较微小的位移变化有非常明显的作用,而且红外传感器对材料、电路模块控制以及光电管的特性要求是相对要高的。

光电式检测信号是使用红外传感器测试出血脉中流动时对光的透过率、反射率不同,就将收到的信号进行光电转换。

选择ST188传感器对信号进行采集是最合适的。

选择STC89C52单片机系统,该设计的的可靠性可以得到提升,而且简化电路的设计,从而使系统耗材减少。

显示模块选择LCD液晶显示屏,因为液晶显示屏的信息量大,使用的寿命相关的长,而且能够在低压的情况下驱动。

LCD具有的独特的优点特性,对信息的显示效果也是非常好的,而且控制方面也比较简便使用等等。

蜂鸣器模块采用蜂鸣器在超过上限低于下限时报警,并添加一个蜂鸣器开关。

按键功能由4个按键开关组成,用于对单片机的复位,设置上下限,数值加,数值减。

电源模块是采用的DC电源插座,还有自锁开关实现对系统的断电续电,并保护系统。

硬件电路设计框图如图2-1所示。

图2-1硬件电路设计框图

3硬件电路设计与实现

硬件电路的设计也是实现系统功能的重要部分,由主控制模块进行系统控制,LCD模块进行数据的显示,传感器进行脉搏的采集,运放电路进行数据的处理,按键电路进行数据的调节以及系统的复位,蜂鸣电路进行异常报警,电源电路是为系统提供工作电压。

硬件电路如图3-1所示。

图3-1硬件电路原理图

3.1主控制模块

STC89C52单片机可以让开发者通过计算机的并行端口或者串行端口直接将可执行文件烧写到单片机中,这样就可以在开发板上进行仿真,在电路设计中,单片机的每个引脚的功能都要充分实现,图3-2为STC89C52的引脚图。

图3-2STC89C52RC引脚图

电源引脚:

40引脚为VCC引脚,连接5V的电源,20引脚为GND引脚,必须接地。

那么第40引脚就直接接到电源的正极[5]。

输入/输出端口:

如图3-2,40引脚的下一个是第39引脚,是P0的起始引脚,直到第32脚这8个脚是P0;

1引脚到8引脚为P1;

21到28引脚为P2;

10引脚到17引脚为P3;

39引脚、1引脚、21引脚、10引脚就是4个Port的开始引脚,因此把这四个引脚称为输入/输出端口。

能连接各个辅助电路实现硬件的连接,如显示电路,按键电路,蜂鸣器电路等。

P3口:

①可以作为输入/输出口,外接输入/输出设备;

②作为第二功能使用。

P0作为I/O口输出时,输出低电平为0输出高电平为高组态,就是说P0不能真正的输出高电平,如果要为所接的负载提供电流,就一定要用到上拉电阻。

复位引脚:

所有的微处理都需要复位的动作,复位引脚是9引脚,接高电平超过2个机器周期,即可产生复位动作。

频率引脚:

18引脚、19引脚是时钟脉冲引脚,连接震荡电路。

存储器引脚:

31引脚是存取外部存储器使能引脚,设计中只使用内部存储器,因此就把使能引脚直接接到电源正极[5]。

外部存储器引脚:

因为用到的是内部存储器,所以29引脚、30引脚就使用悬空。

3.2信号采集与处理模块设计

3.2.1ST188红外光电传感器

信号采集用的是反射式红外光电传感器,由红外发光二极管和红外光敏三极管构成。

A_K为发射管;

C_E为接收管。

电路图如图3-3所示。

图3-3ST188传感器电路图

3.2.2双运算放大器LM358P

LM358P内部有两个独立的、高增益、内部频率补偿的双运算放大器,1引脚、2引脚、3引脚为第一极运算放大通道,运放的1引脚是OUT端,运放的2引脚是反相INT端,运放的3引脚是同相INT端;

5、6、7引脚为另一运放通道,7引脚是输出端,6引脚是反相输入端,5引脚是同相输入端;

8引脚接VCC;

4引脚是接地或负电源[6]。

LM358P的引脚结构如图3-4所示。

图3-4LM358的引脚结构

3.2.3信号采集电路

打开电源后,发光二极管发射红外光照射到血管上,其中的部分光信号经过血管反射被光敏三极管所接收且转换成电信号送至测量处理电路,测出血管中血液流动状态[7]。

血管中的血液流动平滑时,发射出去的光经过反射,接收管收到的发射光没有幅度上的大变化,采集电路就没有信号输出;

当血管受压血液不流动时,传感器也无输出信号;

只有当血管受到了压力的作用时,血管里面的血液就会根据压力的作用产生断续,反射光也跟着之产生改变,就会让接收管电流发生变化,因此传感器就会输出脉搏信号。

激励电阻R4选择470欧姆是基于红外接收管所考虑的,传感器输出的脉冲信号是非常微弱的低频信号,脉搏数是50次/分为0.78Hz,200次/分为3.33Hz。

脉搏采集电路如图3-5所示。

图3-5脉搏采集电路

3.2.4信号处理电路

经过传感器的输出信号是低频信号而且还伴有干扰信号,信号经R5和C4滤除高频干扰,再由耦合电容C5、C6加到放大输入端,电容的作用传递电流信号,进入运算放大器电路处理后变为电压信号既脉冲信号,信号要经过两级放大,即滤波放大和整形放大,经过滤波放大后的信号还是不规则的脉冲信号,而且还有低频信号的干扰,就必须利用整形电路进行处理[9]。

R9为反馈电阻,运放电路中选第二级作为滞回电压比较器,处于开环状态,电压增益很大,目的是进一步提高电路的抗干扰能力,而且还在LM358P的输出端XL连接一个作为系统工作状态的发光二极管。

信号处理电路如图3-6所示。

图3-6信号处理电路

3.3显示模块

LCD1602是因为在显示屏要显示的数据是16X2,就是可以显示出两行数据,上下两行都可以显示16个字符和数字,LCD1602显示模块有标准的16脚接口。

接口如下:

第1引脚GND是接地的;

第2引脚为VCC是接5V电源正极;

第3引脚,V0是LCD1602的液晶显示器对比度调整端,接VCC时对比度是最弱的,接GND时对比度是最高的,在使用时如果对比度过高[10],会因为响应速度原因使图像发生模糊,所以在使用时用R2接VCC和R1接地调整对比度;

第4脚RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器;

第5脚RW为读写信号线,高低电平时分别进行读操作和写操作;

第6脚,EN端为使能端,高电平时读取信息,负跳变时执行指令;

第7脚与第14脚,D0到D7是8位双向数据端,在LCD的7到14脚与单片机的32到39引脚之间要用到排阻103,P0口做输出口时,只有接上拉电阻才能有高电平输出。

第15脚与第16脚,空脚或背灯电源,15脚背光正极就接VCC,16脚背光负极就接地。

LCD1602与单片机接口电路如图3-7所示。

图3-7LCD显示电路

3.4键盘电路模块

因为I/O口足够用,键盘设计采用线性键盘,三个引脚通过按键接地,有程序控制扫描。

K2、K3、K4按键分别接到单片机的P10、P11、P12上;

K2是设置上下限,按一次显示设置下限,按第二次显示设置上限,按K3进行数值加,按K4进行数值减,以便在超出限制时有报警提示。

键盘电路如图3-8所示。

图3-8键盘电路

3.5时钟电路

时钟电路如图3-9所示,时钟电路就是振荡电路,在单片机系统的第18、19引脚上外接一个12MHz的晶振,是为了给单片机系统提供工作频率[11]。

振荡电路是由两个30pF的电容和一个12MHz的晶振组成,单片机系统的工作周期通过计算是1us。

图3-9时钟电路

3.6复位电路

系统上电后单片机进入工作状态,开始的=测量工作,如果需要复位,那么按下弹片K1开关,系统再次进入稳定的工作状态,重新开始测量。

如果在测量时手指离开过传感器,那么就需要进行复位。

C1电容的作用是:

上电自动复位作用。

复位电路如图3-10所示。

图3-10复位电路

3.7报警电路

在单片机的24引脚连接一个蜂鸣器,在测量脉搏的过程中,根据设置的上下限,当脉搏大于上限M次/分钟或小于下限N次/分钟[12],蜂鸣器进行报警。

有时候会因为干扰导致蜂鸣器长时间报警,加一个开关进行控制。

三极管的作用:

因为从单片机端口输出的信号较小,如果直接接上蜂鸣器,可能会由于电流能力太小,蜂鸣器并不能正常工作,且会不发出声响,所以增加一个三极管对输出信号进行放大,增大功率来驱动蜂鸣器[13]。

如图3-11所示。

图3-11报警电路

3.8电源模块

VCC接一个DC插座,和一个自锁开关S1,使用时用USB电源线接入USB端口,DC插头插入DC插座进行供电。

STC89C52RC的工作电压在5V电压下,电源电路图如图3-12所示。

图3-12电源电路

4系统软件部分设计

4.1主程序设计

主程序是程序的中心部分,能够调用子程序,系统主程序控制单片机系统按预定的运行,它是单片机系统程序的框架。

系统上电后,对系统进行初始化,LCD显示并打开定时器,进入循环,开始扫描按键程序,再显示出来,再次扫描按键程序,结束程序。

程序流程图如图4-1所示。

图4-1主程序流程图

主程序:

voidmain()//主函数

{

InitLcd();

Tim_Init();

lcd_1602_word(0x80,16,"

PulseRate:

"

);

//初始化显示

TR0=1;

TR1=1;

//打开定时器

while

(1)//进入循环

{

if(Key_Change)//有按键按下并已经得出键值

{

Key_Change=0;

//将按键使能变量清零,等待下次按键按下

View_Change=1;

switch(Key_Value)//判断键值

}

if(View_Change)//显示变量

View_Change=0;

//变量清零

if(stop==0)//脉搏正常时

{

if(View_Data[0]==0x30)//最高位为0时不显示

View_Data[0]='

'

;

}

else//脉搏不正常(计数超过5000,也就是两次信号时间超过5s)不显示数据

View_Data[1]='

View_Data[2]='

switch(View_Con)//显示函数

}

}

}

4.2中断程序

定时器服务程序,定时器中初始化,定时10ms;

有定时中断产生,无信号时返回到定时中断;

有信号输入时,Maibo_Con就+1,当Maibo_Con不是大于等于3时,返回到定时中断;

当Maibo_Con是大于等于3时,信号输入就保持了30ms,说明是脉搏信号;

如果是第一个脉搏信号那么返回到定时中断继续检测第二个脉冲信号;

是第二次脉冲信号是就计算两次脉冲信号的时间差,从而得到1分钟的脉搏数;

在显示模块上进行显示出来。

流程如图4-2所示。

图4-2中断程序流程图

中断程序:

voidTime1()interrupt3//定时器1服务函数

staticucharKey_Con,Maibo_Con;

TH1=0xd8;

//10ms

TL1=0xf0;

//重新赋初值

switch(Key_Con)//无按键按下时此值为0

case0:

//每10ms扫描此处

.................

case1:

//10ms后二次进入中断后扫描此处(Key_Con为1)

..............

case2:

//20ms后检测按键

.........

switch(Maibo_Con)//此处与上面按键的检测类似

//默认Maibo_Con是为0的

........

..........

case4:

...........

4.3显示模块

开始,声明变量和函数,显示初始化,进行扫描键盘,判断是否有按键按下,有5ms延迟函数,显示内容,LCD1602显示模块如图4-3所示:

图4-3显示模块流程图

显示子程序:

voidlcd_1602_word(ucharAdress_Com,ucharNum_Adat,uchar*Adress_Data)

uchara=0;

ucharData_Word;

LCD_WriteCom(Adress_Com);

//选中地址

for(a=0;

a<

Num_Adat;

a++)//for循环决定显示字符个数

Data_Word=*Adress_Data;

//读取字符串数据

LCD_WriteData(Data_Word);

//显示字符串

Adress_Data++;

//显示地址加一

/***************1602函数*******************/

voidLCD_WriteData(ucharLCD_1602_DATA)/********LCD1602数据写入***********/

delay5ms();

//操作前短暂延时,保证信号稳定

LCD_E=0;

LCD_RS=1;

LCD_RW=0;

_nop_();

LCD_E=1;

LCD_DATA=LCD_1602_DATA;

LCD_RS=0;

/********LCD1602命令写入***********/

voidLCD_WriteCom(ucharLCD_1602_COM)

//操作前短暂延时,保证信号稳定

LCD_DATA=LCD_1602_COM;

 

voidInitLcd()//初始化液晶函数

LCD_WriteCom(0x38);

//displaymode

LCD_WriteCom(0x06);

//显示光标移动位置

LCD_WriteCom(0x0c);

//显示开及光标设置

LCD_WriteCom(0x01);

//显示清屏

5脉搏仪测试与结果分析

5.1程序调试

设计的程序编写使用的是Keil4软件,调试过程如下:

在Keil4里面的Project下新建一个项目;

在工程文件中新建一个file文件,将程序输入进去后并保存为.c文件,设置时钟脉冲频率为12MHz,在Output下,勾选产生16进制数文件,即.hex文件;

对程序进行编译零错误后,就完成了程序的开发,将生成的.hex文件烧写到STC89C52单片机中。

程序编译结果如图5-1所示。

图5-1程序编译结果

5.2脉搏测量仪原理图调试

在AltiumDesigner软件中进行原理图绘制和调试,在元件库里面找到相关器件,在工作界面进行绘制。

在完成原理图的连线后,应仔细检查接线是否到位,用Compile进行编译,检查出原理图绘制的错误,修改里面的错误,直到整体电路都符合电气特性。

5.3脉搏测量仪在Proteus的仿真

绘制完原理图后,按照电路原理图在ProteusProfessional软件做仿真图。

按照原理图在ProteusProfessional中选择相应的电子元件,排布好电子元器件的位置对电路进行连线,连接完后进行检查无误后,将在Keil4中编译生成的.hex文件导入ProteusProfessional单片机中对电路进行仿真。

仿真图如图5-2所示。

图5-2仿真图

在本次的原理仿真当中,因为只需要进行单片机处理部分的仿真,所以输入端选择了波形发生器,利用波形发生器产生不相同的频率的方波来取代脉搏波信号。

为了测试其性能,将给单片机不同大小频率的方波信号。

5.4PCB排版布线及硬件焊接

完成调试仿真后按照原理图来完成PCB板的绘制,在AltiumDesigner软件中绘制的PCB图,将PCB文件发给PCB制作厂家,制作好的PCB如5-3所示。

接下来按照原理图将元器件焊接到制作好的电路板上,并完成实物的制作,实物如图5-4所示。

图5-3PCB布线

图5-4脉搏测量仪

5.5测试数据与结果分析

将焊接好的实物,进行实际的检测,测试方案是:

对同一个人同一时间进行不同的方式进行测量。

脉搏测量仪是在2s内计算出人体的脉搏数值,如果数值在接下来的几秒内一直变化,那么就要等变化不大时出现的数值时,就是人体1分钟的脉搏次数了;

而听诊器测量脉搏的次数则是要用到1分钟,所以在检测中安排了多次检测,部分测试结果如表5-1所示。

表5-1部分测试结果

测试

次序

听诊器测到的数据(次/分)

脉搏测量仪示值(次/分)

两者之间相差

1

73

77

4

2

76

79

3

72

74

78

5

70

69

6

80

从表5-5中结果分析,在实际测量中,用听诊器测量的数据与脉搏测量仪检测到的的数据会出现误差,这个是在检测同一个人的脉搏的实时数据,出现的误差最大为4,最小为0,因为脉搏仪在短时间内就得到了数据,听诊器还要测满1分钟,在这段时间内,会出现人体的生理变化,脉搏会忽慢忽快,导致了误差的产生。

可以在表5-5中看出,误差保持在0到4之间,这个误差范围是可以允许的,因此本系统基本达到设计要求。

6总结与分析

基于单片机的脉搏测量仪系统容易进行操作使用,其响应速度和精度相对较好,应用广泛,具有实际意义。

脉搏测量的极为特殊性,比如血脉的振动幅度小,大多数会受到其他信号的干预,造成需要的信号难以采集和获取,或者无法保证采集获取到的脉搏信号的准确可靠性,而且脉搏信号的处理过程是比较麻烦和复杂的,所以在每个模块的设计中,都应该小心仔细,全面考虑,确保每一部分电路的正确性。

系统可工作在直流电压为5V伏左右,工作电流为100mA左右;

系统在通电后,将手指放在红外传感器上,等待测试2s到5s可检测到人体的信号,并在液晶屏上显示出来。

这次设计因为时间比较紧,还有就是本人掌握的知识有限,在本次设计中存在很多不足,而且系统的测试能力有限。

本设计的整体设计方案相对于以前已有的设计来说,改进和提高的幅度也不是很大,有一定的局限性。

现如今电子器件的

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2