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

📄 comm_remote.h

📁 嵌入式单片机开发,嵌入式单片机开发,嵌入式单片机开发
💻 H
📖 第 1 页 / 共 3 页
字号:
     	if(RSTATUS_DUOJIAN==8) 
     	 	if(a>1)
     	 		value=0;  
    	if(((table_num_by_duokeyvalue[RSTATUS_DUOJIAN]+a)<=MAX_GAOZIJISUOYINHAO)&&(1==value))   
    		{         
         		m=table_gaozijiduiyinsuoyinhao[table_num_by_duokeyvalue[RSTATUS_DUOJIAN]+a];
	  		l=table_num_by_duokeyvalue[RSTATUS_DUOJIAN]+a;
	  		if(l==25)
	  			{
	  			// changed by zhanglong  ---->start
	  				// if(progfunction_kvarh_f!=yes)
	  				if ((yes!=progfunction_kvarh_r)&&(yes!=progfunction_kvarh_f))
			  			m=131;
				// changed by zhanglong  ---->end
	  			}
		      if(progfunction_cuofeng!=yes)
		      		{
	             			if(l==58)	  	              
			  			m=404+1;	  	
	  				if(l==68)	  	
			  			m=536+1;	 	
		      		}	  
         	      if(display_yesorno(m)==yes)
         			{
               			 RDISPLAY_ENVENT=DISPLAY_ENVENT_POINT;         
                			RAPPOINT_REFERENCE=m; 
					RFLAG_DISPLAY_05SEC=1;
         			}        		
	
  		}
	RSTATUS_DUOJIAN=NODUOJIAN;
      	remote_status=remote_phase_start;
}

  	
  	
  	
#pragma INTERRUPT int3
void int3()
{
	int3ic=0;
	tb0s=0;
	tb0ic=0;
	tb0mr=0x00; 
	tb0=8330+8330/2;     //01     judge  second bit 
	udf0=0;
	trgsr0=0;
	onsf0=00;
	cpsrf=0x80;
	tb0ic=7;
	tb0s=1;// start time tb0 
	switch( remote_status)
		{  			
  			case remote_phase_hualong:  
									remote_status_hualong=REMOTE_HUALONG_2;
									break;
  			case remote_phase_zhejiang_quanguo:   
									remote_status_zhejiang_quanguo=remote_zhejiang_quanguo_2;
									break;  
  			default:
									remote_status_start=remote_start_2;
									break;
		}
   }  	


//interrupt tb0;
#pragma INTERRUPT remote
void remote()
{
	yaokong_chaoshi_timer=0;
	RREMOTE_TIMER=0;
	switch(remote_status)
      		{
 			case remote_phase_start: 
           								switch(remote_status_start)
                 									{
                 										case remote_start_2:
                 	   														tb0s=0;
                      														tb0mr=0x00;
																	tb0=8330;     //01
                      														udf0=0;
                      														trgsr0=0;
                      														onsf0=00;
                      														cpsrf=0x80;
                      														tb0ic=7;
                      														tb0s=1;
                      														remote_status_start=remote_start_3;
                     														len_bit_remote=1;// first bit
                      														remote_rec.bit.b7=pin_irrx;//p5_6;  //p5_0                      
                      														break;
                 										case remote_start_3:
                      														tb0mr=0x00;
                      														udf0=0;
                      														trgsr0=0;
                      														onsf0=00;
                      														cpsrf=0x80;
                      														tb0ic=7;
                      														tb0s=1;   // rec 2------->8 bit                  
                      														len_bit_remote=len_bit_remote+1;
                     														remote_rec.byte=remote_rec.byte>>1;
                      														remote_rec.bit.b7=pin_irrx;//p5_6;  //p5_0 
                      														if(len_bit_remote>=8)
                         															remote_status_start=remote_start_4; 
                      														break;
                 										case remote_start_4:
                     														 if(pin_irrx==1)       // check bit
                      															switch(remote_rec.byte)
                      																	{
                      																		case 0x68 : 
                      	        																		    	sendremote_pry=1;
                      	       																			RREMOTE_HUALONG_BUFFER[0]=0x68;
                                  																			RLEN_REMOTE_HUALONG=1;
                                  																			remote_status=remote_phase_zhejiang_quanguo;
                                  																			remote_status_zhejiang_quanguo=remote_zhejiang_quanguo_1;
                                 																			RPROTOCOL_REMOTE_1=QUANGUOZHEJIANG;
                                  																			tb0s=0;                           
                                  																			udf0=0;
                                 																			trgsr0=0;
                                 																			onsf0=00;
                                 																			cpsrf=0x80;
                               																				tb0ic=0;                             
                               																				int3ic=7;
                                																			break;                       
                            																	case 0xaa :
                             																				sendremote_pry=0;
                             																				RREMOTE_HUALONG_BUFFER[0]=0xaa;
                             																				RLEN_REMOTE_HUALONG=1;
                            													 							remote_status=remote_phase_hualong;
                             																				remote_status_hualong=REMOTE_HUALONG_1;
                              																				RPROTOCOL_REMOTE_1=HUALONG;                           
                             																				tb0s=0;                           
                             																				udf0=0;
                            																				trgsr0=0;
                             																				onsf0=00;
                             																				cpsrf=0x80;
                            																				tb0ic=0;                           
                            																	 			int3ic=7;
                             																				break;
                          																		default:
                             																				 remote_status_start=remote_start_5; 
																								 break;
                      																	}
                      
                      														else
                         															{
                         																if(remote_rec.byte==0x00)
                             																{
                             																	remote_status=remote_phase_yaokong;
                           																		len_bit_remote=0;
                                         																remote_rec2.byte=00;
                              																	remote_status_yaokong=REMOTE_YAOKONG_3617;               //REMOTE_YAOKONG_3617;
                              																	RPROTOCOL_REMOTE_1=PROTOCOL_START;
                             																	tb0s=0;  //bbbbb
                             																	tb0ic=0;
                             																	tb0mr=0x00;   //01
                            																	tb0=11065+22500+2800;//33083;//32765+20337+5600;
                             																	udf0=0;
                             																	trgsr0=0;
                             																	onsf0=00;
                             																	cpsrf=0x80;
                             																	tb0ic=5;
                             																	tb0s=1;
																				}
                          																else
                             																	 remote_status_start=remote_start_5; 
                      	
           																	}
                        															 break;
                  														default:
																		if(pin_irrx)    //p5_0
                          																{
                         																		tb0s=0;
                           																	udf0=0;
                          																	trgsr0=0;
                           																	onsf0=00;
                         																		cpsrf=0x80;
                           																	tb0ic=0;
                          																	tb0s=0;
                           																	int3ic=7;
																				}
                          														 else
                              																{
                              																	tb0ic=0;
                              																	tb0s=0;
                             																	remote_status=remote_phase_err;
																				}
               									 }
                							    break;
    case remote_phase_hualong:
                     	switch(remote_status_hualong)
                     			{                   
                      				case REMOTE_HUALONG_2:
                           						tb0s=0;
                          			 			tb0ic=0;
                          						tb0mr=0x00;
                          						tb0=8330;     //01
                          						udf0=0;
                          						trgsr0=0;
                          						onsf0=00;
                          						cpsrf=0x80;
                          						tb0ic=7;
                          						tb0s=1;
                          						remote_status_hualong=REMOTE_HUALONG_3;
                          						len_bit_remote=1;// rec first bit
                          						remote_rec.bit.b7=pin_irrx;                      
                          						break;
                     				case REMOTE_HUALONG_3:
                          						tb0mr=0x00;                      
                          						udf0=0;
                          						trgsr0=0;
                          						onsf0=00;
                          						cpsrf=0x80;
                          						tb0ic=7;
                          						tb0s=1;                     
                         							len_bit_remote=len_bit_remote+1;
                        	 						remote_rec.byte=remote_rec.byte>>1;
                         							remote_rec.bit.b7=pin_irrx;      //rec 2-------------8 bit
                         							if(len_bit_remote>=8)
                         								remote_status_hualong=REMOTE_HUALONG_4; 
                         							break;
                   					case REMOTE_HUALONG_4:
                        							remote_rec1.bit.b0=pin_irrx;  //rec check bit
                        							remote_status_hualong=REMOTE_HUALONG_5;                        
                        							break;
                   					case REMOTE_HUALONG_5:
                        							if((remote_rec.bit.b0^remote_rec.bit.b1
                                   						^remote_rec.bit.b2^remote_rec.bit.b3
                                   						^remote_rec.bit.b4^remote_rec.bit.b5
                                   						^remote_rec.bit.b6^remote_rec.bit.b7)
                                   						!=remote_rec1.bit.b0)
                           								{
                           									RREMOTE_HUALONG_BUFFER[RLEN_REMOTE_HUALONG]=remote_rec.byte;
                           									RLEN_REMOTE_HUALONG=RLEN_REMOTE_HUALONG+1;
                           									if(RLEN_REMOTE_HUALONG>=MAX_RLEN_REMOTE_HUALONG)
                           										{
                           											remote_status=remote_phase_err;
                           											tb0s=0;
                           											tb0ic=0;
														}
                           									else
                           										{ 
                           											tb0s=0;                           
                                         									udf0=0;
                                         									trgsr0=0;
                                         									onsf0=00;
                                         									cpsrf=0x80;
                                          									tb0ic=0;                             
                                           									int3ic=7;
                                        								}
                                       						}
                        							else  
											{
												remote_status=remote_phase_err;
                               								tb0s=0;
                               								tb0ic=0;
			      								}
                        							break;
                   				default : 
								remote_status=remote_phase_err;
                             				tb0s=0;
                             				tb0ic=0;
						} 
                             	break;

// add 2003  zhen jia dui ,zhe jiang ,quan guo ,gui yue tong xun de zhi ci 
 	case remote_phase_zhejiang_quanguo: 
                     switch(remote_status_zhejiang_quanguo)
                     	{                    
                     		case remote_zhejiang_quanguo_2:
                           				tb0s=0;
                           				tb0ic=0;
                          				tb0mr=0x00;
                          				tb0=8330;     //01
                          				udf0=0;
                          				trgsr0=0;
                          				onsf0=00;
                          				cpsrf=0x80;
                          				tb0ic=7;
                          				tb0s=1;
                          				remote_status_zhejiang_quanguo=remote_zhejiang_quanguo_3;
                          				len_bit_remote=1;
                          				remote_rec.bit.b7=pin_irrx;//rec  first bit                    
                          				break;
                     		case remote_zhejiang_quanguo_3:
                          				tb0mr=0x00;                      
                          				udf0=0;
                          				trgsr0=0;
                          				onsf0=00;
                          				cpsrf=0x80;
                          				tb0ic=7;
                          				tb0s=1;                     
                         					len_bit_remote=len_bit_remote+1;
                         					remote_rec.byte=remote_rec.byte>>1;
                         					remote_rec.bit.b7=pin_irrx;//rec 2-----------8 bit
                         					if(len_bit_remote>=8)
                         						remote_status_zhejiang_quanguo=remote_zhejiang_quanguo_4;
                         					break;
                   			case remote_zhejiang_quanguo_4:
                        					remote_rec1.bit.b0=pin_irrx;//rec check bit
                        					remote_status_zhejiang_quanguo=remote_zhejiang_quanguo_5;                      
                        					break;
                   			case remote_zhejiang_quanguo_5:
                        					if((remote_rec.bit.b0^remote_rec.bit.b1
                                   				^remote_rec.bit.b2^remote_rec.bit.b3
                                   				^remote_rec.bit.b4^remote_rec.bit.b5
                                   				^remote_rec.bit.b6^remote_rec.bit.b7)
                                   				==remote_rec1.bit.b0)
                           					{
                           						RREMOTE_HUALONG_BUFFER[RLEN_REMOTE_HUALONG]=remote_rec.byte;
                           						RLEN_REMOTE_HUALONG=RLEN_REMOTE_HUALONG+1;
                           						if(RLEN_REMOTE_HUALONG>=MAX_RLEN_REMOTE_HUALONG)
                           							{
                           								remote_status=remote_phase_err;
                           								tb0s=0;
                           								tb0ic=0;
											}
                             						else
                             							{ 
                             								tb0s=0;                           
                                   							udf0=0;
                                   							trgsr0=0;
                                   							onsf0=00;
                                   							cpsrf=0x80;
                                   							tb0ic=0;                             
                                   							int3ic=7;
                             							}
                                           			}
                        					else  
									{
										remote_status=remote_phase_err;
                               						tb0s=0;
                               						tb0ic=0;

⌨️ 快捷键说明

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