auto_self.c

来自「医疗电子,血氧浓度测量模块原程序,采用430 单片机.」· C语言 代码 · 共 85 行

C
85
字号
#include "global.h"
uint ble_r;     //红光基线值
uint ble_ir;   //红外基线值
uint HH_ir;    //红外参考阈值
uchar f_ble=0,f_a=0;
uint f_n=0;
uint  dif_ir;
uchar e=0;
uint dd1_ir; 
uint np=0,nk=0; 
ulong s01_r=0;
ulong s01_ir=0;
ulong S_HH=0;
 
void auto_self(void)  //自动调整,自学习
{
 
  do
   {    
    if(flag==1) 
     {
       avr();
       if(f_a==0)
         {
          adjust8402();
          f_a=1;
         }      
       if((ired_avr[0]>2250)&&(ired_avr[0]<3500))
         { 
           if(ired_avr[10]!=0)               //差分法
             {           
               if(ired_avr[0]>ired_avr[10])
                 {
                   dd1_ir=ired_avr[0]-ired_avr[10];
                 }
               if(ired_avr[0]<ired_avr[10])
                {
                   dd1_ir=0;
                } 
             }                
           if(f_ble==0)
             {
               s01_r+=red_avr[0];
               s01_ir+=ired_avr[0];           
               if((dd1_ir!=0)&&(dd1_ir<6000))
                 {                
                   S_HH+=dd1_ir;
                   nk++;                
                 }
               np++;
               if(np==360)
                 {
                   ble_r=s01_r/360;
                   ble_ir=s01_ir/360;               
                   HH_ir=S_HH/nk;
                   f_ble=1;
                   np=0;
                   e=1;
                 }
             }          
         }
      if((ired_avr[0]<2250)||(ired_avr[0]>3500))  
        f_n++;
      if(f_n==60)
        {
         f_a=0; 
         f_n=0;
         f_ble=0;       
         np=0;  
         s01_r=0;
         s01_ir=0; 
         S_HH=0;  
         nk==0;      
        }
    }
            Usart0_TX_BUF[0]=0X80;
            Usart0_TX_BUF[1]=0x00;
            Usart0_TX_BUF[2]=0x20;
            Usart0_TX_BUF[3]=0x00;                                   
            Usart0_TX_BUF[4]=0x00;
            nTX0_Len=5; 
    
  }while(e==0);  
  fin_flg=1;  
}

⌨️ 快捷键说明

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