51单片机脉搏测量仪电路图和源程序

来源:本站
导读:目前正在解读《51单片机脉搏测量仪电路图和源程序》的相关信息,《51单片机脉搏测量仪电路图和源程序》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《51单片机脉搏测量仪电路图和源程序》的详细说明。
简介:本文主要讲了51单片机脉搏测量仪电路图和源程序,下面一起来学习一下:

51单片机脉搏测量仪电路图和源程序

51单片机脉搏测量仪电路图和源程序

51单片机脉搏测量仪电路图和源程序

脉搏测量仪的源程序

#include

unsigned char i,j,t,m,DelayTime,DispBuf[3];

//单片机脉搏测量仪源程序

//作者:吴汉清

unsigned int n,mb;

unsigned char code

BitTab[3]={0xf7,0xef,0xdf};//位驱动码

unsigned char code

DispTab[10]={0x81,0xcf,0x92,0x86,0xcc,0xa4,0xa0,0x8f,0x80,0x84};//字形码

sbit P3_0=P3^0;

void delay(DelayTime);

main() //主程序

{

TMOD=0x01; //定时器T0工作于方式1

TH0=0xec;

TL0=0x78; //T0定时时间为5ms

IE=0X83; //开中断

IT0=1; //外部中断0为边沿触发方式

TR0=1; //开定时器T0

for(;;) //脉搏指示灯控制

{

if(P3_0==0)

{

delay(200);

P3_0=1;

}

}

}

external0() interrupt 0//外部中断服务程序

{

P3_0=0; //点亮指示灯

if(n==0)

mb=0;

else

mb=12000/n; //计算每分钟脉搏数

DispBuf[2]=mb%10;//取个位数

mb=mb/10;

DispBuf[1]=mb%10;//取十位数

DispBuf[0]=mb/10;//取百位数

n=0;

}

Timer0() interrupt 1//定时中断服务程序

{

TH0=0xec;

TL0=0x78;

t=BitTab[j];//取位值

P3=P3|0x38;//P3.3-P3.5送1

P3=P3&t; //P3.3-P3.5输出取出的位值

t=DispBuf[j];//取出待显示的数

t=DispTab[t];//取字形码

P1=t; //字型码由P3输出显示

j++; //j作为数码管的计数器,取值0-2,显示程序通过它确认显示哪个数码管

if(j==3)

j=0;

n++;

if(n==2000)//10秒钟测不到心率,n复位

n=0;

}

void delay(DelayTime)//延时子程序

{

for(;DelayTime>0;DelayTime--)

{

for(i=0;i

;

}

}

提醒:《51单片机脉搏测量仪电路图和源程序》最后刷新时间 2024-03-14 00:52:22,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《51单片机脉搏测量仪电路图和源程序》该内容的真实性请自行鉴别。