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

📄 disp_control.c

📁 此程序中有LCD显示
💻 C
📖 第 1 页 / 共 5 页
字号:
   case 0xcc://待命状态
       {  
        if(ready_led==0)  
          ready_f=0;
        else  ready_f=1;      
        if(reset_require==0xce)  //要求复位
            {
            reset_require=0;
            reset_done(); 
            }
        if(time_count==4)
        {
        key_scan();//50ms键盘扫描
        key_process();//待命处理所有键盘
        time_count=0;
        time_count2++;
        tran_require(0x1ccc); //50ms发送温度报警请求信号               
        }          
       if(time_count2==9)
          {          
          re_display();//500ms刷新显示
          time_count2=0;
          if((pic_number==1)||(pic_number==2)||(pic_number==3)||(pic_number==4)||(pic_number==300))
          {
             if(temp_flag==0xaa12)//接收完电压、电流、功率因数标志
                {
                 tran_require(0x1c1a); //50ms发送温度报警请求信号                                           
			    }                            
             if((send_pic==0)||(send_pic==2))
             {
              tran_master(0xce00);//发送在主画面下标志              
              send_pic=1;              
             } 
           }
         else
          {
          if((send_pic==0)||(send_pic==1))
            {
             tran_master(0xcf00); //发送在非主画面下标志             
             send_pic=2; 
            }
           }          
          }
       }break;
    case 0xaa://起动状态
       {      
        time_count1++;
        if(time_count1==5)
           {         
            if(I_a_value>read_eeprom(0xfc10))//最后起动电流
             {             
             write_word(0xfc10,I_a_value);//将起动电流最大值记录下来并写入EEPROM
             }                                                    
            run_f=~run_f;
            time_count1=0;
            tran_require(0x1ccc); //50ms发送温度报警请求信号
           }
        if(time_count==4)
        {
        key_scan();//50ms键盘扫描
        key_process1();//启动过程中只处理上下翻页键
        time_count=0;
        time_count2++;
        }      
       if(time_count2==9)
          {           
          count_factor();//计算功率因数、有功功率、无功功率          
          re_display();//500ms刷新显示
          time_count2=0;
          if(temp_flag==0xaa12)//接收完电压、电流、功率因数标志                
           tran_require(0x1c1a); //发送温度请求			                                
          }                   
       }break;
    case 0xce://运行状态
       {               
        if(time_count==4)
        {                
        key_scan();//50ms键盘扫描
        key_process1();//运行过程中只处理上下翻页键
        time_count=0;
        time_count2++;
        tran_require(0x1ccc); //50ms发送温度报警请求信号
        }
       if(time_count2==9)
          {                                                 
          count_factor();//计算功率因数、有功功率、无功功率          
          re_display();//500ms刷新显示
          time_count2=0;
           if(temp_flag==0xaa12)//接收完电压、电流、功率因数标志
                {
                 tran_require(0x1c1a); //发送温度请求信号                        
			    }                            
          }      
       }break;
    case 0xaf://报警状态
       {       
        if(reset_require==0xce)  //要求复位
            {
            reset_require=0;
            reset_done(); 
            }       
       if(time_count==4)
        { 
        time_count=0;
        time_count2++;      
        key_scan();      //50ms键盘扫描
        key_process2();  //故障状态下只响应 reset horn_off键
        }
       if (time_count==5)
        {
         fault_f=~fault_f;
          time_count=0;
        }
        if(time_count2==9)
          { 
		  re_display();//500ms刷新显示
          time_count2=0;	             
		  }
       }break; 
     case 0xbb://软停状态
       {       
        if(time_count==4)
           {
            sstop_f =~sstop_f ;
            time_count=0;           
            }
       }break;      
     default:;  
  }
}
/*******************错误状态显示*************************/
void err_display()
{
 write_word(0xfc60,trip_count);//将跳闸次数   写入EEPROM
 write_word(0xfc50,trip_flag);//将跳闸记录    写入EEPROM 
 status=0xaf;            
 stop_f=0;
 run_f= auxa_f=sstop_f=st_stp_f=st_sart_f=turn_f= dol_f=ready_f=1;    
}
/*************************************************************************/

/***************************************************************************/
void clear_alram()
    {
    clear1();
    alarm_info=alarm_info_1;
    alarm_info_1=0;
    pic_number400();   
    }
void alarm_flag_son(uchar flag)
{
alarm_flag=flag;//报警记录标志
write_word(0xfc40,alarm_flag);//将报警记录   写入EEPROM
}
void trip_record(uchar flag)
{
 trip_count=read_eeprom(0xfc60)+1;;//记录跳闸次数                       
 trip_flag=flag;//报警记录标志
 err_display();
 clear1(); 
}
void alarm_record(uchar flag)
{
clear1();
alarm_info_1=alarm_info;  
alarm_info=flag;            
}
/***************************************************************************/
void temp_trip_alarm()
{
                          if((temp_trip&0x0001)==0x0001)
                                {								 
                                 if(status==0xcc)
                                  {
                                 T_ch1=0xdd01;
                                 trip_flag=20;//跳闸记录标志
                                  }
                                 else  
                                   {T_ch1=0xff01;
                                    trip_record(20);                                    
						           }
                                }
                             else if((temp_alarm&0x0001)==0x0001)
                                  {
                                  alarm_flag_son(20);                             
                                  T_ch1=0xdd01;
                                  }
                              else 
                                  T_ch1=0;   
                          if((temp_trip&0x0002)==0x0002)
                                {                                
                                 if(status==0xcc)
                                 {
                                 T_ch2=0xdd02;
                                 trip_flag=21;//跳闸记录标志
                                  }
                                 else  
                                    { T_ch2=0xff02;
                                    trip_record(21);                                    
						           }  
                                }
                           else   if((temp_alarm&0x0002)==0x0002)
                                  {
                                  alarm_flag_son(21);                                 
                                  T_ch2=0xdd02;
                                  }
                              else
                                 T_ch2=0;     
                          if((temp_trip&0x0004)==0x0004)
                                {                                 
                                 if(status==0xcc)
                                 {
                                 T_ch3=0xdd03;
                                 trip_flag=22;//跳闸记录标志
                                  }
                                 else  
                                    {T_ch3=0xff03;
                                    trip_record(22);                                    
						           }    
                                }
                             else if((temp_alarm&0x0004)==0x0004)
                                 {
                                  alarm_flag_son(22);                              
                                  T_ch3=0xdd03;
                                 }
                              else
                                  T_ch3=0; 
                          if((temp_trip&0x0008)==0x0008)
                                 {                                 
                                 if(status==0xcc)
                                 {
                                 T_ch4=0xdd04;
                                 trip_flag=23;//跳闸记录标志
                                  }
                                 else  
                                    {T_ch4=0xff04;
                                    trip_record(23);                                    
						           }  
                                 }
                             else if((temp_alarm&0x0008)==0x0008)
                                 {
                                  alarm_flag_son(23);                              
                                  T_ch4=0xdd04;
                                 }
                              else
                                  T_ch4=0; 
                          if((temp_trip&0x0010)==0x0010)
                                 {                                 
                                 if(status==0xcc)
                                 {
                                 T_ch5=0xdd05;
                                 trip_flag=24;//跳闸记录标志
                                  }
                                 else  
                                   {T_ch5=0xff05;
                                    trip_record(24);                                    
						           }
                                 }
                             else if((temp_alarm&0x0010)==0x0010)
                                 {
                                  alarm_flag_son(24);
                                  T_ch5=0xdd05;
                                 }
                              else
                                  T_ch5=0;
                          if((temp_trip&0x0020)==0x0020)
                                 {                                 
                                 if(status==0xcc)
                                 {
                                 T_ch6=0xdd06;
                                 trip_flag=25;//跳闸记录标志
                                  }
                                 else 
                                   {T_ch6=0xff06;
                                    trip_record(25);                                   
						           }
                                 }
                            else  if((temp_alarm&0x0020)==0x0020)
                                  {
                                  alarm_flag_son(25);                               
                                  T_ch6=0xdd06;
                                  }
                              else
                                  T_ch6=0;
                          if((temp_trip&0x0040)==0x0040)
                                 {                                
                                 if(status==0xcc)
                                 {

⌨️ 快捷键说明

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