资源简介

脉搏传感器采样脉搏信号,采用STC89C51单片机作为控制器,脉搏传感器输出方波传入单片机,触发单片机进去外部中断函数,每接收一个脉冲波形,显示屏就计数一次。如果脉搏次数超过设定值是,用蜂鸣器报警提示。

资源截图

代码片段和文件信息

/*************************************************
更多51单片机资料请关注微信公众号:电子应用学习馆
**************************************************
*****************《电子应用学习馆》***************
***************************************************/

#include
#include
#include
#include“lcd1602.H“
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long 
unsigned int incidd[11]jjjktmp;
bit w=0;
uchar bh;
ulong time;
sbit spd = P2^0;


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

   w=~w;
if(w==0)
{
  EX0=0; 
  ET0=1;
  TH0=0x0;
      TL0=0x0;
  n=0;
}
else 
{
time=n*65536+TH0*256+TL0;
dd[jj]=30000000/time;
jj++;
if(jj>10)
{
   jj=0;
   for(j=0;j<11;j++)
      for(k=0;k<11-j;k++)
     {
     if(dd[k]>dd[k+1])
  {
    tmp=dd[k];
   dd[k]=dd[k+1];
 dd[k+1]=tmp;
 
  }
    

 
 }
   if(dd[5]>50&&dd[5]<200)ci=((dd[4]+dd[5]+dd[6])/3)+11;

}
TH0=0x0;
        TL0=0x0;
n=0;

}
}
void timer0(void) interrupt 1
{
 n++;

}

void delay(void)   //误差 0us
{
   unsigned char abc;
    for(c=123;c>0;c--)
        for(b=116;b>0;b--)
            for(a=9;a>0;a--);


/////////////////////////////////////////////////////////////////
void main(void)
{
InitLcd();//
DelayMs(15);
IT0=1;     //INT0下降沿中断
EX0=1;     //允许INT1中断
TMOD=0x1;
TH0=0x0;
TL0=0x0; 
TR0=1;
ET0=1;
EA=1;

while(1)
{
 if(n>10)
 {
 n=0;  
 jj=0;
 ci=0;
         TimeNum[0]=‘N‘; 
         TimeNum[1]=‘O‘ ;
     TimeNum[2]=‘ ‘ ;
     TimeNum[3]=‘I‘ ;
     TimeNum[4]=‘N‘ ;
 TimeNum[5]=‘P‘ ;
 TimeNum[6]=‘U‘ ;
 TimeNum[7]=‘T‘ ;
 TimeNum[8]=‘ ‘ ;
   ShowString(0TimeNum);
     ShowString(1Test1);
  }
  else
  {
  if(w==0&&EX0==0)
    {
  delay();
  EX0=1;
}  

  TimeNum[0]=‘ ‘; 
         TimeNum[1]=‘ ‘ ;
     TimeNum[2]=‘ ‘ ;
     TimeNum[3]=‘ ‘ ;
     TimeNum[4]=‘ ‘ ;  
 TimeNum[5]=‘ ‘ ; 
  
  if(ci/100>0)TimeNum[6]=ci/100+‘0‘ ; else TimeNum[6]=‘ ‘ ; 
  if(ci/100==0&&ci%100/10>0)TimeNum[7]=ci%100/10+‘0‘ ; else TimeNum[7]=‘ ‘ ; 
  TimeNum[8]=ci%10+‘0‘ ;
  ShowString(0TimeNum);
  ShowString(1Test1);
  if(ci>100)spd=0;else spd=1;
     }
  
   }
;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     101289  2019-01-11 21:20  心率脉搏仪\心率脉搏仪原理图\原理图.pdf

     文件     123392  2019-01-11 21:35  心率脉搏仪\心率脉搏仪原理图\原理图.Sch

     文件         44  2018-12-07 00:00  心率脉搏仪\心率脉搏仪原理图\更多嵌入式资料.txt

     文件        742  2009-05-02 18:23  心率脉搏仪\心率脉搏仪源码\程序\1602.PWI

     文件      84495  2009-04-01 16:16  心率脉搏仪\心率脉搏仪源码\程序\Last Loaded 1602.DBK

     文件      11118  2019-01-10 22:00  心率脉搏仪\心率脉搏仪源码\程序\lcd1602

     文件       1018  2019-01-10 22:00  心率脉搏仪\心率脉搏仪源码\程序\lcd1602.build_log.htm

     文件       2374  2019-01-11 21:39  心率脉搏仪\心率脉搏仪源码\程序\lcd1602.c

     文件       2408  2019-01-11 21:39  心率脉搏仪\心率脉搏仪源码\程序\lcd1602.H

     文件       4330  2019-01-10 22:00  心率脉搏仪\心率脉搏仪源码\程序\lcd1602.hex

     文件         46  2019-01-10 22:00  心率脉搏仪\心率脉搏仪源码\程序\lcd1602.lnp

     文件       5104  2019-01-10 22:00  心率脉搏仪\心率脉搏仪源码\程序\lcd1602.LST

     文件      14484  2019-01-10 22:00  心率脉搏仪\心率脉搏仪源码\程序\lcd1602.M51

     文件      12744  2019-01-10 22:00  心率脉搏仪\心率脉搏仪源码\程序\lcd1602.OBJ

     文件        388  2013-01-11 16:04  心率脉搏仪\心率脉搏仪源码\程序\lcd1602.plg

     文件      85881  2019-01-11 21:39  心率脉搏仪\心率脉搏仪源码\程序\lcd1602.uvgui.Administrator

     文件       6320  2019-01-10 22:44  心率脉搏仪\心率脉搏仪源码\程序\lcd1602.uvopt

     文件      13859  2019-01-10 22:44  心率脉搏仪\心率脉搏仪源码\程序\lcd1602.uvproj

     文件       1066  2013-01-11 14:34  心率脉搏仪\心率脉搏仪源码\程序\lcd1602_Opt.Bak

     文件       2118  2009-04-01 16:37  心率脉搏仪\心率脉搏仪源码\程序\lcd1602_Uv2.Bak

     文件         44  2018-12-07 00:00  心率脉搏仪\心率脉搏仪源码\程序\更多嵌入式资料.txt

     文件         44  2018-12-07 00:00  心率脉搏仪\更多嵌入式资料.txt

     目录          0  2019-01-11 21:40  心率脉搏仪\心率脉搏仪源码\程序

     目录          0  2019-01-11 21:41  心率脉搏仪\心率脉搏仪原理图

     目录          0  2019-01-11 21:40  心率脉搏仪\心率脉搏仪源码

     目录          0  2019-01-11 21:40  心率脉搏仪

----------- ---------  ---------- -----  ----

               473308                    26


评论

共有 条评论