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

📄 display_mode.h

📁 嵌入式单片机开发,嵌入式单片机开发,嵌入式单片机开发
💻 H
📖 第 1 页 / 共 2 页
字号:
//oooo通讯保存前状态00000000000
unsigned char rdisplay_before_status;
unsigned char rdisplay_before_time;
unsigned int rdisplay_befor_reference;
//ok this
//l41
 void init_display()
 {
 	 RFLAG_B_A_KU=0;
 	 displaynum_auto_key=0;// AUTO OR KEY DISPLAY (DISPLAY NUM)
 	 set_reference_value(0);
 	 RLCD_DISPLAY_STATUS=DISPLAY_LIGHT;  // DISPLAY STATUS     
        gdisplay_auto_key_comm();
        RPOINT_AUTO_DISPLAY=0xff;
        rchange_a_b_display=0;
        RFLAG_PROG=0;
        RDISPLAY_TIMER=0;
        RDISPLAY_ENVENT=DISPLAY_ENVENT_NO; 
        DISPLAY_DATA_TIME_WEEK=WEEK;
        light_time=0;
       // RFLAG_NEED_RESETASKNUM_DISPLAY=0;
        RFLAG_RESET_DISPLAY=0;
        RFLAG_ASKNUM_DISPLAY=0;
        display_comm=0;
        status_cuofeng_price=0;
        arm_cuofeng=0;
 }


void SET_LCD_BUFFER_FORM_RCURRENT_REFERENCE() 
{
 	unsigned char dn10,dn20,dn21,y,i;
 	unsigned char d1,d2,d3,d4;
	unsigned char g1,g2;
	unsigned long  g3;
	unsigned int current_reference;
	unsigned char display_biao[13];
	union k1 
		{
                  unsigned char s[2];
                  unsigned int   w;
                  }d0,d5;
 struct bit_use
 		{
               unsigned char b0:1;
               unsigned char b1:1;
               unsigned char b2:1;
               unsigned char b3:1;
               unsigned char b4:1;
               unsigned char b5:1;
               unsigned char b6:1;
               unsigned char b7:1;
               };
 union byte_use
 		{
                struct bit_use bit;
                unsigned char byte;
                };
 union byte_use byte_bit;                
// check
current_reference=RCURRENT_REFERENCE;
if(current_reference>END_REFERENCE) 
 	set_reference_value(0);
current_reference=RCURRENT_REFERENCE;
// 2003-7-27 changed------>start
for(g1=0;g1<13;g1++)
	display_biao[g1]=READ_LCD_DISPLAY_DATA_TABLE[current_reference][g1];  
// 2003-7-27 changed------>end
 if(RLCD_DISPLAY_STATUS<4)
 	{ 
       // JI SUAN ADDRESS
          data_addr.addrc[0]=display_biao[1];
          data_addr.addrc[1]=display_biao[2];
         // data_addr.addrc[2]=display_biao[3];
     // SHU JU GE SHU
          dn10=display_biao[4];  
          if((0x80&display_biao[10])==0x80)
         	{              
                   g3=display_biao[3];
		     data_addr.addri=current_twobiaofm_block_addr(display_biao[1],display_biao[2]);
		     data_addr.addri=g3+data_addr.addri;		     
               }
     //  ok
//read data--->wr_data[]     
          read(display_biao[0],dn10);
          if(current_reference==130)// shang xian wu gong
          	{
          		shuangxiang_kvarh();
	          	for(i=0;i<4;i++)
	         		wr_data[i]=bcdaddbuffer[i+1];
          	}
          dn10=dn10-1;
          for(dn20=0;dn20<8;dn20++)
          		DISPLAY_8_NUM[dn20]=CHARMODE_KONG;
           if(dn10>3) 
		   	dn20=3;
           else 
		   	dn20=dn10;
            dn21=0x7;
            for(dn10=0;dn10<=dn20;dn10++)
                   {                
                    		DISPLAY_8_NUM[dn21]=0xf&wr_data[dn10];
                    		dn21=dn21-1;
                    		DISPLAY_8_NUM[dn21]=wr_data[dn10]>>4;
                    		dn21=dn21-1;
                    }	
 
  // xu hao     
 		DISPLAY_4_NUM[0]=display_biao[6]>>4; 
 		DISPLAY_4_NUM[1]=0xf&display_biao[6];//READ_LCD_DISPLAY_DATA_TABLE[current_reference][6];               
 		DISPLAY_4_NUM[2]=display_biao[5]>>4; 
 		DISPLAY_4_NUM[3]=0xf&display_biao[5];//READ_LCD_DISPLAY_DATA_TABLE[current_reference][5];                            
// zi fu liang
// kong ding yi chao zuo
  		for(dn21=0;dn21<4;dn21++)
      			{
      				if(DISPLAY_4_NUM[dn21]==0xa) 
					DISPLAY_4_NUM[dn21]=CHARMODE_KONG;
			}                                  
 // fan shangyue zuida jian fen oing guo
	 	DISPLAY_FLAG5.byte=display_biao[7];//READ_LCD_DISPLAY_DATA_TABLE[current_reference][7];  
  // left dot ji wei    
 		RFLAG_LEFT_DOT=DISPLAY_FLAG5.bit.b4;
  //  h hj hp hw liang dian xu zon        
	 	DISPLAY_FLAG3.byte=display_biao[8];//READ_LCD_DISPLAY_DATA_TABLE[current_reference][8];
 // chu duan xiang zhi shi
 // right dot k shijian v 
  		DISPLAY_FLAG2.byte=display_biao[9];
// xu hao xiao shu dian                       
 		DISPLAY_4_NUM[4]=display_biao[10];//READ_LCD_DISPLAY_DATA_TABLE[current_reference][10];  
// nei rong xiao shu dian 
		DISPLAY_8_NUM[8]=display_biao[11];  //gu ding  
  }
}

void display_autokeyuse()
// auto or key display  know eeprom addr ,calculate REFERENCE,display num
{unsigned int l; 
 if(1==read(EP1,4))
 	{
 		l=value_hex_from_bcd(wr_data[0])+100*value_hex_from_bcd(wr_data[1]);
            	if(l<=END_REFERENCE)
               	if(display_yesorno(l)==yes)
                  		{
                  			displaynum_auto_key=value_hex_from_bcd(wr_data[2])+100*value_hex_from_bcd(wr_data[3]);
                               	set_reference_value(l);					
                   		}
         }
}
            
void DISPLAY_NEXT()
{unsigned char dn0;
  unsigned int l;
 // a 0----middle    b middle+1----end  
   if(RFLAG_B_A_KU==1)// l1=b ku   0==a ku
     	{
     		reference_next();      
       	if(RCURRENT_REFERENCE> END_REFERENCE) 
           		{
             			set_reference_value(FIRST_REFERENCE);
            			RFLAG_B_A_KU=0;
            			RLCD_DISPLAY_STATUS=DISPLAY_AUTO;
            			RPOINT_AUTO_DISPLAY=0xff;         
            		}
      }     
//   else
  if(RFLAG_B_A_KU==0)
   	{ 
       	if(1==RFLAG_DISPLAY_AUTO_SET)// auto display enabled
           		{  
              	 	RPOINT_AUTO_DISPLAY=RPOINT_AUTO_DISPLAY+1;
            				// READ NUM
               		data_addr.addri=EP1_AUTO_NUM;// display num
               		if(1==read(EP1,2))
                			{
                				l=value_hex_from_bcd(wr_data[0])+100*value_hex_from_bcd(wr_data[1]);
                  	  			if((l<=0x80)&&(0!=l))
            	 	       			{
            	 	       				dn0=l-1;
                              				if(RPOINT_AUTO_DISPLAY>dn0) // current point >end
									RPOINT_AUTO_DISPLAY=0;
                                 				data_addr.addri=RPOINT_AUTO_DISPLAY*4+EP1_AUTO_ADDR_BLOCKADDR;
            							// zi xian zi dong
                                				display_autokeyuse();
            	 	       			}
                     		}
       		}
           	else// no set  auto display
               	{
                 		RPOINT_AUTO_DISPLAY=0;                 
                 		reference_next();    
                 		if(RCURRENT_REFERENCE> MIDDLE_REFERENCE) 
                 			set_reference_value(FIRST_REFERENCE);                   
                 	}
           }    
    if(RCURRENT_REFERENCE>END_REFERENCE) 
		set_reference_value(0);
   SET_LCD_BUFFER_FORM_RCURRENT_REFERENCE();
   RDISPLAY_TIMER=value_hex_from_bcd(RAM[R_DISPLAY_TIMER]);  
   // auto display time
} 


void display_date_use()
// display date time week 
{unsigned char dn11;
 if(DISPLAY_DATA_TIME_WEEK>WEEK) 
 	DISPLAY_DATA_TIME_WEEK=DATE;
 set_reference_value(7+DISPLAY_DATA_TIME_WEEK);
 SET_LCD_BUFFER_FORM_RCURRENT_REFERENCE(); 
 lcd_display();
 }

   
   
void DISPLAY_DATE_DRIVE()
// yao kong qi time key envent 
// date-------->time--------------->week----->date
{
 unsigned char dn2;
 if(RLCD_DISPLAY_STATUS!=DISPLAY_DATE)
    {
    	RLCD_DISPLAY_STATUS=DISPLAY_DATE;
    	 DISPLAY_DATA_TIME_WEEK=WEEK;
     }
DISPLAY_DATA_TIME_WEEK=DISPLAY_DATA_TIME_WEEK+1;

if(DISPLAY_DATA_TIME_WEEK>WEEK) 
	DISPLAY_DATA_TIME_WEEK=DATE;
display_date_use(); 
 RDISPLAY_TIMER=180;
  }
  
//OK THIS
// zhi ding lun xian hao  
void DISPLAY_POINT_DRIVE()
// point firm reference
{
	if(RAPPOINT_REFERENCE<=END_REFERENCE)
   		{
   			if(RAPPOINT_REFERENCE>MIDDLE_REFERENCE)
             			RFLAG_B_A_KU=1;// change to b ku
      			else 
      	      			RFLAG_B_A_KU=0;// change to a ku
     			RLCD_DISPLAY_STATUS=DISPLAY_POINT;
     			RDISPLAY_TIMER=180;// display 180 second
     			set_reference_value(RAPPOINT_REFERENCE);
      			SET_LCD_BUFFER_FORM_RCURRENT_REFERENCE();
     		} 
}   
 
                  
 
void DISPLAY_KEY_DRIVE()
// key event
 {
  unsigned int l;
  unsigned char g;
  //value=0;
 if(RLCD_DISPLAY_STATUS!=DISPLAY_KEY)
         RPOINT_AUTO_DISPLAY=0xff;
 RLCD_DISPLAY_STATUS=DISPLAY_KEY;                               
 if(RFLAG_B_A_KU==1)// b ku
   	{
        	reference_next();   	
         	if(END_REFERENCE<RCURRENT_REFERENCE)      
               	{
                	 //set_reference_value(FIRST_REFERENCE);// CHANGED
                 		RFLAG_B_A_KU=0;
                 		//value=1;
			}// a ku next        
   	}
 // else   
  		//value=1;  // a ku next
  if(0==RFLAG_B_A_KU)
  	{   
       	if(RFLAG_DISPLAY_KEY_SET ==0)
          		{
           			RPOINT_AUTO_DISPLAY=0x00;
           			reference_next();          
            			if(MIDDLE_REFERENCE<RCURRENT_REFERENCE)      
               			set_reference_value(FIRST_REFERENCE);
            		}
        	else
            		{
            			RPOINT_AUTO_DISPLAY=RPOINT_AUTO_DISPLAY+1;
             			data_addr.addri=EP1_KEY_NUM;
             			if(1==read(EP1,2))
             				{
             					l=value_hex_from_bcd(wr_data[0])+100*value_hex_from_bcd(wr_data[1]);
                				if((l<=0x80)&&(0!=l))
            	 					{
            	 						g=l-1;
                       					if(RPOINT_AUTO_DISPLAY>g)
                              					RPOINT_AUTO_DISPLAY=0x00;
                       					data_addr.addri=RPOINT_AUTO_DISPLAY*4+EP1_KEY_ADDR_BLOCKADDR;  //zhi xian an jian
                      					display_autokeyuse();
                					}             
              			}   
        		}
  	}
   if(RCURRENT_REFERENCE>END_REFERENCE) 
   	set_reference_value(0);
   SET_LCD_BUFFER_FORM_RCURRENT_REFERENCE();
   RDISPLAY_TIMER=180;// display 180 second
 }

⌨️ 快捷键说明

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