⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adjust_bline.c

📁 医疗电子,血氧浓度测量模块原程序,采用430 单片机.
💻 C
字号:
#include "global.h"

uint red_t0,red_t1,red_t2,red_t3,red_t4,red_t5;
uint ired_t0,ired_t1,ired_t2,ired_t3,ired_t4,ired_t5;
ulong sum_red=0;
ulong sum_ired=0;
 uint red_x;
 uint ired_x;
 uint qq=0;
 
void adjust_bline(void) 
{
  
 switch (m)              //5点差分,排除干扰
  {
   case 4:
         if(red_avr[4]>red_avr[0])
          red_t4=red_avr[4]- red_avr[0];
         else
          red_t4=red_avr[0]- red_avr[4]; 
          
         if(ired_avr[4]>ired_avr[0])
          ired_t4=ired_avr[4]-ired_avr[0];
         else
          ired_t4=ired_avr[0]-ired_avr[4]; 
         break;  
   case 5:
         if(red_avr[5]>red_avr[1])
          red_t5=red_avr[5]- red_avr[1];
         else
          red_t5=red_avr[1]- red_avr[5]; 
          
         if(ired_avr[5]>ired_avr[1])
          ired_t5=ired_avr[5]-ired_avr[1];
         else
          ired_t5=ired_avr[1]-ired_avr[5]; 
         break;                  
   case 0:
         if(red_avr[0]>red_avr[2])
          red_t0=red_avr[0]- red_avr[2];
         else
          red_t0=red_avr[2]- red_avr[0]; 
          
         if(ired_avr[0]>ired_avr[2])
          ired_t0=ired_avr[0]-ired_avr[2];
         else
          ired_t0=ired_avr[2]-ired_avr[0];
         break;
   case 1:
        if(red_avr[1]>red_avr[3])
          red_t1=red_avr[1]- red_avr[3];
         else
          red_t1=red_avr[3]- red_avr[1]; 
          
         if(ired_avr[1]>ired_avr[3])
          ired_t1=ired_avr[1]-ired_avr[3];
         else
          ired_t1=ired_avr[3]-ired_avr[1];
         break;         
   case 2:
        if(red_avr[2]>red_avr[4])
          red_t2=red_avr[2]- red_avr[4];
         else
          red_t2=red_avr[4]- red_avr[2]; 
          
         if(ired_avr[2]>ired_avr[4])
          ired_t2=ired_avr[2]-ired_avr[4];
         else
          ired_t2=ired_avr[4]-ired_avr[2];
         break;            
  case 3:
         if(red_avr[3]>red_avr[5])
          red_t3=red_avr[3]- red_avr[5];
         else
          red_t3=red_avr[5]- red_avr[3]; 
          
         if(ired_avr[3]>ired_avr[5])
          ired_t3=ired_avr[3]-ired_avr[5];
         else
          ired_t3=ired_avr[5]-ired_avr[3];
         break;        
 }
 if((red_t0>150)&&(red_t1>150)&&(red_t2>150)&&(red_t3>150)&&(red_t4>150)&&(red_t5>150))  
  {
   adjust8402();
  }
 if((ired_t0>150)&&(ired_t1>150)&&(ired_t2>150)&&(ired_t3>150)&&(ired_t4>150)&&(ired_t5>150))  
  {
   adjust8402();
  }

 if((red_t0<20)&&(red_t1<20)&&(red_t2<20)&&(red_t3<20)&&(red_t4<20)&&(red_t5<20)) 
   red_x=red_avr[m]-0.90*ble_r;
   
 if((ired_t0<20)&&(ired_t1<20)&&(ired_t2<20)&&(ired_t3<20)&&(ired_t4<20)&&(ired_t5<20)) 
  ired_x=ired_avr[m]-0.90*ble_ir;
  
 if((red_x<800)&&(ired_x<800)) 
 {
   TXBUF0=(char)((red_x>>1)&0X00FF);
   while((UTCTL0&0X01)==0);
  // TXBUF0=(char)((ired_x>>1)&0X00FF);
  // while((UTCTL0&0X01)==0);   
  
   sum_red+=red_avr[m];
   sum_ired+=ired_avr[m];
   qq++; 
   if(qq==240)         //求基线
    {
     ble_r=sum_red/240;
     ble_ir=sum_ired/240;
     qq=0;
     sum_red=0;
     sum_ired=0;   
    }
 }
 
}
    
   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -