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

📄 m7219tbl.c

📁 电磁流量计的源程序。将流体流量用电磁转换方式变换成弱电信号
💻 C
📖 第 1 页 / 共 2 页
字号:
/**********************	7 Segment Driver MAX7219 *************************************/
/*                            Definitions                                         ****/
/*                           1. Display type                                      ****/
/*                       	COMMON_ANODE                                          ****/
/*                              LED arry                                          ****/
/*      L1(A PIN)    L2(B)          L3(C)         L4(D)                L5(E)      ****/
/*     XUNSHI  ZHONJINLIULIANG      DIWEI      BAOJIN SHANGXIAN      BAOJINXIAXIAN  **/
/*************************************************************************************/


#include "math.h"
#include "reg52.h"
#include "typedef.h"
#include "function.h"
#include "define.h"
#include "varible.h"
//#define  DISP_DECIMAL

/**************************************/
/**************************************/
  

void Moment_disp(void);
void P_count_disp(void);
void N_count_disp(void);
void Net_count_disp(void);
void Low_count_disp(void);
void Alarm_up_disp(void);
void Alarm_down_disp(void);
void Set_disp(void);
void Password_disp(void);
void Reset_count_disp(void);
void Range_disp(void);
void Pulse_disp(void);
void Filter_disp(void);
void Small_cut_disp(void);
void Ulimit_alarm_disp(void);
void Dlimit_alarm_disp(void);
void Sensor_k_disp(void);
void Set_4ma_refence(void);
void Set_zero_offset(void);
void Change_code_disp(void);
void Sys_mima_disp(void);
void Disp_prc( void );
void Led_prc(void);
void Dp_disp_set(unsigned char dp);
/**************************************/
/**************************************/
 

/**************************************/
/**************************************/
//extern void Get_dispdata(void);
//extern void Clear_disp_memory(void);
//extern void Conver_hnetdata(float temp_data);
//extern void Convert_lnetdata(float temp_data);
/**************************************/
/*  disp data define                  */
/**************************************/


/*******************************/
/*******************************/
 
void  (*const code para_disp[])(void)=
{  
   Moment_disp ,                   //shun shi liu liang 
   P_count_disp,                  //zhen xiang lei ji
   N_count_disp,                   //fan xiang lei ji
   Net_count_disp ,                //jing lei ji
   Low_count_disp ,                //di wei zhong liang 
   Alarm_up_disp ,                //bao jing shanxian
   Alarm_down_disp,              //bao jing xiaxian
   Sys_mima_disp                //disp system mima (1 2 3 4) only press left and mid key
};

/**************************************/
/**************************************/
  
void (*const code setpara_disp[])(void)=
{
Password_disp ,                          
Reset_count_disp,
Range_disp,
Pulse_disp,
Filter_disp,
Small_cut_disp,
Ulimit_alarm_disp,
Dlimit_alarm_disp,
Sensor_k_disp,
Set_4ma_refence,
Set_zero_offset,
Change_code_disp
};

/**************************************/
/**************************************/
  
void (*const *const code disp_tbl[])(void)=
{
 para_disp,
 setpara_disp
};
/**************************************/
/**************************************/
  
void Moment_disp(void)
{
 
 if(disp_time != 0)
    disp_time--;
 else
    {
        disp_time = TM500MS;
        Get_dispdata(moment_data);
        if(liuxiang_F == REVERSE)
          disp_memory[4] = 0x01;     //disp_-
        else 
          disp_memory[4] = disp_BLANK ;
        
        disp_memory[5] = disp_A ;
	}
       
	
 return;
}
/**************************************/
/*zenxiang leiji                      */
/**************************************/

void P_count_disp(void)
{ 
  
  if(disp_time != 0)
     disp_time--;
  else
  {
  	 
     if(disp_blink_time == 0)
          {
          	disp_blink_time = TM4S;
          	
          }
     if(disp_blink_time != 0)
          disp_blink_time--;
     if(disp_blink_time >= TM4S/2)
       {   
	    //  high_p_count_data = Get_high_data(p_count_data);
	  //    Convert_hdata(high_p_count_data);
	      Convert_hdata(Get_high_data(p_count_data));
	   
   //	      disp_memory[4] = disp_BLANK ;
          disp_memory[5] = disp_C    ;
	      
       }
	
     else
      {
      	 
   //   	  low_p_count_data = Get_low_data(p_count_data);
 //		  Convert_ldata(low_p_count_data);
          Convert_ldata(Get_low_data(p_count_data));
          disp_memory[4] = disp_BLANK ;
          disp_memory[5] = disp_BLANK ;
      }	
    }
return;
}

/**************************************/
/**************************************/

void N_count_disp(void)
{ 
 if(disp_time != 0)
    disp_time--;
 else
   {
     
     if(disp_blink_time == 0)
     {
          disp_blink_time = TM4S;
          
          
     }
     if(disp_blink_time != 0)
          disp_blink_time--;
     if(disp_blink_time >= TM4S/2)
       {   
	//       high_n_count_data = Get_high_data(n_count_data);
	//       Convert_hdata(high_n_count_data);
	       Convert_hdata(Get_high_data(n_count_data));
	         
   //	       disp_memory[4] = 0x01 ;       //disp_-
	    
           disp_memory[5] = disp_E    ;
	      
       }
	
     else
      {
   	      
   //	      low_n_count_data = Get_low_data(n_count_data);
   //		  Convert_ldata(low_n_count_data);
            Convert_ldata(Get_low_data(n_count_data));
            disp_memory[4] = disp_BLANK;
            disp_memory[5] = disp_BLANK;
      }
     
   }
return;
}
/**************************************/
/**************************************/

void Net_count_disp(void)
{  
 if(disp_time != 0)
    disp_time--;
 else
 {  
    
    
     if(disp_blink_time == 0)
          {
          	disp_blink_time = TM4S;
          	
          }
     if(disp_blink_time != 0)
          disp_blink_time--;
     if(disp_blink_time >= TM4S/2)
       {   
	 //      high_net_count_data = Get_high_data(net_count_data);
     //	   Convert_hdata(high_net_count_data);
           Convert_hdata(Get_high_data(fabs(net_count_data)));
    /*         if( net_count_data< 0 )
	          disp_memory[4] = 0x01 ;       //disp_-
	      else 
	          disp_memory[4] = disp_BLANK ;   */
           disp_memory[5] = disp_H    ;
	      
       }
	
     else
      {
   	      
   	     //    low_net_count_data = Get_low_data(net_count_data);
		 //     Convert_ldata(low_net_count_data);
		    
	         Convert_ldata(Get_low_data(fabs(net_count_data)));
	         if(net_count_data < 0)
		        disp_memory[4] = 0x01;
		     else
		        disp_memory[4] = disp_BLANK;
		     disp_memory[5] = disp_BLANK;
      }
   }
return;
}
/**************************************/
/**************************************/

void Low_count_disp(void)
{
    if(disp_time != 0)
	   disp_time--;
	else
	{   
	    disp_time = TM500MS ;
	               
   //     low_net_count_data = Get_low_data(net_count_data);
//	    Convert_ldata(low_net_count_data);
        
        Convert_ldata(Get_low_data(fabs(net_count_data)));
        if(net_count_data < 0)
           disp_memory[4] = 0x01 ;
        else
           disp_memory[4] = disp_BLANK;
        disp_memory[5] = disp_F ;
       
	}
        return;
}
/**************************************/
/**************************************/

void Alarm_up_disp(void)
{
 if(disp_time != 0)
    disp_time--;
 else
 {  
    disp_time = TM500MS ; 
    
  #ifndef DISP_DECIMAL
    disp_memory[5]=disp_P;
    disp_memory[4]=disp_BLANK;	
    
    disp_memory[3]=disp_BLANK;
    disp_memory[0]=disp_data[Read1B(0x12,0)];
    disp_memory[1]=disp_data[Read1B(0x13,0)];
    disp_memory[2]=disp_data[Read1B(0x14,0)];
    

 	
 #else 
	Get_dispdata(alarm_up_data);
	disp_memory[3]= disp_BLANK;
	disp_memory[4]=disp_BLANK;	
    disp_memory[5]=disp_P;
 #endif
  }
 return;
}
/**************************************/
/**************************************/

void Alarm_down_disp(void)
{
if(disp_time != 0)
 	disp_time--;
 else
 	{   
 	    disp_time = TM500MS;
 	    
 	#ifndef DISP_DECIMAL
 	    disp_memory[5] = disp_U; 
 	    disp_memory[4] = disp_BLANK;
		
 	    disp_memory[3] = disp_BLANK;
 	    disp_memory[2] = disp_BLANK;
 		disp_memory[1] = disp_data[Read1B(0x16,0)];
		disp_memory[0] = disp_data[Read1B(0x15,0)];
		
	#else
	    Get_dispdata(alarm_dm_data);  
	    disp_memory[5] = disp_U; 
	    disp_memory[4] = disp_BLANK;
		

    #endif
	}
return;
}

⌨️ 快捷键说明

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