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

📄 display_mode.h

📁 嵌入式单片机开发,嵌入式单片机开发,嵌入式单片机开发
💻 H
📖 第 1 页 / 共 2 页
字号:
void DISPLAY_KEYDOWN_DRIVE()
	//  read(last) key
 {
  unsigned int l;
  unsigned char g;
 // value=0;
  if(RLCD_DISPLAY_STATUS!=DISPLAY_KEY)// status switch
         RPOINT_AUTO_DISPLAY=0x00;
 RLCD_DISPLAY_STATUS=DISPLAY_KEY;                               
 if(RFLAG_B_A_KU==1)// b ku
   	{
        	reference_last();
        	if(RCURRENT_REFERENCE>END_REFERENCE)   
			set_reference_value(END_REFERENCE);
        	if(RCURRENT_REFERENCE<=MIDDLE_REFERENCE) 
        		{// changed
        	 		reference_next();//  hui fu qian yi ge
        	 		//value=1;
        	 		RFLAG_B_A_KU=0;
        		}
       }   
//else 
	//value=1;
if(0==RFLAG_B_A_KU)
 	{   
       	if(RFLAG_DISPLAY_KEY_SET ==0)
          		{
          		 	RPOINT_AUTO_DISPLAY=0x00;
           			if(RCURRENT_REFERENCE==0) 
                 			set_reference_value(MIDDLE_REFERENCE+1);// A+1----> RETURN--->A
           			reference_last();
           			if(MIDDLE_REFERENCE<RCURRENT_REFERENCE)  
            	 			set_reference_value(FIRST_REFERENCE);               
           		 }
       	 else
            		{
            			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))
               					{
                      					if(RPOINT_AUTO_DISPLAY==0)
                      						RPOINT_AUTO_DISPLAY=l-1;
                      					else
                            					RPOINT_AUTO_DISPLAY=RPOINT_AUTO_DISPLAY-1;
								g=l-1;		  
                      					if(RPOINT_AUTO_DISPLAY>g)
                      						RPOINT_AUTO_DISPLAY=0;           
                     					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;
  }
          
//OK this

 //  2003-3-26  
void DISPLAY_OPENCLOSE_DRIVE() 
// yao kong qi open close(key)
{ unsigned char *dn3;
  unsigned char dn4;
 if(RLCD_DISPLAY_STATUS==DISPLAY_CLOSE)
   	{
   		RLCD_DISPLAY_STATUS=DISPLAY_LIGHT;
    		RPOINT_AUTO_DISPLAY=0x00;
    		set_reference_value(0);
     	}
else
     	{
       	RLCD_DISPLAY_STATUS=DISPLAY_CLOSE;
       	dn3=&lram0;
       	for(dn4=0;dn4<24;dn4++)
         		{
         			(*dn3)=0x00;
           			dn3++;
           		 }
      	}
RDISPLAY_TIMER=value_hex_from_bcd(RAM[R_DISPLAY_TIMER]);
 }            
                       
//ok this
void display_pointuse()
{
	if(RLCD_DISPLAY_STATUS==DISPLAY_AUTO)
		if((RFLAG_B_A_KU==1)||(0==RFLAG_DISPLAY_AUTO_SET))
			RLCD_DISPLAY_STATUS=DISPLAY_POINT;
	// ye jing ping xian shi zhuang tai wei zi dong fan ping zhuang tai shi
	// dang qian xian shi zhuang tai zai b ku huo zi dong lun xian mei she zhi 
	// zhuang tai zhuan huan
	if(RLCD_DISPLAY_STATUS==DISPLAY_DATE)// + - zhuang tai zhuan huan
		RLCD_DISPLAY_STATUS=DISPLAY_POINT;
}

DISPLAY_POINTADD_DRIVE()
	// +key( yao kong qi)
{
unsigned char dn5;
display_pointuse();
switch(RLCD_DISPLAY_STATUS)
	{
		case DISPLAY_KEY:
	       				 DISPLAY_KEY_DRIVE();
	        				 break;
		default:
           // point  if other no, else add(a or b)
              	 			if(RLCD_DISPLAY_STATUS==DISPLAY_POINT)
                 					{
                 						reference_next();
                   						if(RFLAG_B_A_KU==1)// b ku
                      						{
                      							if(RCURRENT_REFERENCE> END_REFERENCE) 
               	     								set_reference_value(MIDDLE_REFERENCE+1);
			  						}
                   						else
                   	   						{
                   	   							if(RCURRENT_REFERENCE> MIDDLE_REFERENCE) 
               	     								set_reference_value(0);
		          						}                 
                  						RDISPLAY_TIMER=180;
                 						SET_LCD_BUFFER_FORM_RCURRENT_REFERENCE();
							}
     	}              

}
//ok

                  

void DISPLAY_POINTSUB_DRIVE()
// -key
{
unsigned char dn7;
display_pointuse();
switch(RLCD_DISPLAY_STATUS)
	{
		case DISPLAY_KEY:
	        		DISPLAY_KEYDOWN_DRIVE();
	        		break;
		default:
             // point  if other no, else add(a or b)
              		if(RLCD_DISPLAY_STATUS==DISPLAY_POINT)
                  			{
                     			if(RFLAG_B_A_KU==1)
                     				{
                             		 		if(RCURRENT_REFERENCE<=MIDDLE_REFERENCE+1)  
									set_reference_value(END_REFERENCE);
                               				else    
									reference_last(); 
			        			}
                     	 		else
                      				{
                      					if(RCURRENT_REFERENCE==0)  
									set_reference_value(MIDDLE_REFERENCE+1);// a+1----->return a
                              				reference_last();
							}
                   				if(RCURRENT_REFERENCE> END_REFERENCE) 
              	   				set_reference_value(END_REFERENCE);                  
            					 RDISPLAY_TIMER=180;
             					SET_LCD_BUFFER_FORM_RCURRENT_REFERENCE();
	     				}
     }              
}                    
 extern unsigned char shangdian_ack();           
void display_mode()
{
  unsigned char dn11;
  unsigned char *dn12;
  if(1==rchange_a_b_display)
  	{
  		rchange_a_b_display=0;
        	if(RFLAG_B_A_KU==1) //b ku
             		{
             			set_reference_value(MIDDLE_REFERENCE+1);             
              		RLCD_DISPLAY_STATUS=DISPLAY_AUTO; 
             		 	RDISPLAY_TIMER=180;  // k3minute b_ku
              	}
        	else 
        		{//set_reference_value(0);
        	 		set_reference_value(END_REFERENCE);
        	 		RPOINT_AUTO_DISPLAY=0xff;
        	 		DISPLAY_NEXT();              
               		RLCD_DISPLAY_STATUS=DISPLAY_AUTO;
              		RDISPLAY_TIMER=180;
                	}
        	SET_LCD_BUFFER_FORM_RCURRENT_REFERENCE();    
        }
//ok  
// shi jian dao  
 if(RDISPLAY_MODE_SECOND!=RSOFT_RTC_SECOND)
     	{ 
     		RDISPLAY_MODE_SECOND=RSOFT_RTC_SECOND;
       	if(light_time!=0) 
			light_time=light_time-1;

		// ting dian shi bei guan bu da kai
       	if((0==light_time)||(0==shangdian_ack()))
       		{	
       			
				pindir_light=1;                		
			       pin_light=0;
			}
       	else
       		{	
       			
				pindir_light=1;                	
				pin_light=1;
       	 	}
		// comm character 
       	if(display_comm!=0) 
			display_comm=display_comm-1;
		// display time sub
      		if(0!=RDISPLAY_TIMER)  
			RDISPLAY_TIMER=RDISPLAY_TIMER-1;
             if(0==RDISPLAY_TIMER)
          	 {
          		RDISPLAY_TIMER=value_hex_from_bcd(RAM[R_DISPLAY_TIMER]);  // g8SECOND
          		if( RDISPLAY_ENVENT==DISPLAY_ENVENT_NO)          
              		switch(RLCD_DISPLAY_STATUS)
                   			{
                    				case DISPLAY_CLOSE:                    	   
                                                		RDISPLAY_ENVENT=DISPLAY_ENVENT_OPENCLOSE;
                                                  		break;
                    				case DISPLAY_AUTO: 
                                                   		DISPLAY_NEXT();
                                                   		break;                     	      
                   					default:  // other status -------------->auto
									RLCD_DISPLAY_STATUS=DISPLAY_AUTO;
                                					set_reference_value(END_REFERENCE);                              
                             					RPOINT_AUTO_DISPLAY=0xff;
                             					DISPLAY_NEXT(); 
									break;
                    		}
             }   
  }
  //ok
 if(1==RFLAG_DISPLAY_05SEC) // SET LRAM  IN HALF SECOND
 	{
// chu li envent
		switch(RDISPLAY_ENVENT)
           		{
           			case DISPLAY_ENVENT_OPENCLOSE: 
						DISPLAY_OPENCLOSE_DRIVE();
						break;
           			case DISPLAY_ENVENT_KEY : 
						DISPLAY_KEY_DRIVE();
						break;
           			case DISPLAY_ENVENT_POINT: 
						DISPLAY_POINT_DRIVE();
						break;
           			case DISPLAY_ENVENT_POINTADD: 
						DISPLAY_POINTADD_DRIVE();
						break;
           			case DISPLAY_ENVENT_POINTSUB: 
						DISPLAY_POINTSUB_DRIVE();
						break;
           			case DISPLAY_ENVENT_DATE: 
						DISPLAY_DATE_DRIVE();
						break;     
           			case DISPLAY_ENVENT_KEYDOWN: 
						DISPLAY_KEYDOWN_DRIVE();
						break;
            		}
// tong xun ke neng deng dui
  		 RDISPLAY_ENVENT=DISPLAY_ENVENT_NO; 
//ok
// 05sec 
  		RFLAG_DISPLAY_05SEC=0;
		switch(RLCD_DISPLAY_STATUS)
			{
  				case DISPLAY_DATE :
  	                          		 		display_date_use();
                 						break;    
  				default:  
								if(RLCD_DISPLAY_STATUS==DISPLAY_CLOSE)
                   							{
                   								displayalloroff(0);                   
                      						}
                 						else
     	                						{
                        							if(RLCD_DISPLAY_STATUS==DISPLAY_LIGHT)
                            							{
                            								displayalloroff(0xff);     
                                 							}
                          							else
         	// kao lv yi xia   pan suo yin hao ju ding
         	                  							{     
                                								SET_LCD_BUFFER_FORM_RCURRENT_REFERENCE(); 
                                								lcd_display();
											}
                         						}
        
         		 }
      		}
 }
//OK this
          

 

⌨️ 快捷键说明

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