亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? qdv2.c

?? 8051實現_gsm_gprs收發短信打電話的功能
?? C
?? 第 1 頁 / 共 5 頁
字號:
					     else
						 
						  {
						  	Send_Retransmit(); //不做任何操作,相當于NAK 
							Receive_Data_Num=0;
     					  	ReceiveFlag=0;
						  }               //enable to receive the information data again 					  
	                  }
	            	break;
			   case 5:
			    	if( Receive_Data_Num==30) 
                    {
					     SCON1 |= 0x20;   // SM2位置1,只在地址時中斷 
					    
						 if (Check_Info_Data(InfoData_Buffer,Receive_Data_Num))  
    	                 {
						      Deal_Flag=1;
						   
                               
						  	/*if (First_Rec_Flag==0)
						      {
							   counter=5;         
						       EX1=1; //   EIE2|=0x01;
                               First_Rec_Flag=1;
							   }*/  
					     }                             
                        
					else
						 
						 {
						  Send_Retransmit(); //不做任何操作,相當于NAK 
						  Receive_Data_Num=0;
     					  ReceiveFlag=0;
						  }               //enable to receive the information data again 					  
	                  }    
	  
	  	       		break;
			   case 6:
			      if( Receive_Data_Num==2)
			       {  // SCON1 |= 0x20;   // SM2位置1,只在地址時中斷 
					  if (Check_Info_Data(InfoData_Buffer,Receive_Data_Num))        //?????judge if the check_num is right
                      {
					    Rec_Ctrl_Flag=1;
					    if (!Ctrl_Info_Flag){ Deal_Flag=1;  }  
						else
                        {					       
						         
						  switch(Ctrl_Info_Buffer[1])
						   {
						   case 0:
						   case 1:
						   case 2:
						   case 3:
						   case 6:
						   case 7:	   
						        Ctrl_Info_Counter=4;  		   
				                break;   			 
						   case 4:
						  
						   		Ctrl_Info_Counter=5;  		   
				           		break;   			 
						   case 5:
						    	Ctrl_Info_Counter=7; 	 
						   		break;	 
						   default:
						   		break;
						   		
						   }
						   SCON1 &= 0xfd;  //SCON1的TI1標志位清零		 
						   temp=0;
						   for(i=0;i<Ctrl_Info_Counter-1;i++) temp=Ctrl_Info_Buffer[i]+temp;  //求校驗和CHK
						   Ctrl_Info_Buffer[Ctrl_Info_Counter-1]=temp;
						   Deal_Flag=1;
						  
						 }
                      }
					  else  
					  {
					  	Send_Retransmit(); //不做任何操作,相當于NAK 
					   }
					  Receive_Data_Num=0;
					  ReceiveFlag=0;               //enable to receive the information data again 					                
                    }
			   		break;
			  
			  default:
		             break;   			      

			  }   
				                                          //end of switch 
				                        			     	
	       }   //end of else          
		// EIE2 |=0x40;    // 打開串口1中斷
		 }

	else 					//發送中斷處理程序				// If Transmit Complete:
	 {
	   SCON1 &= 0xfd;                      //清TI1標志位
		//  Send_Ack_Flag=1; 
	   if((Ctrl_Info_Flag==1)&&(Rec_Ctrl_Flag == 1))
	    {
		      Send_Ctrl_Info_Counter++;
		      if( Send_Ctrl_Info_Counter>(Ctrl_Info_Counter-1))
			      {
				     Send_Ctrl_Info_Counter=0;
		             //Ctrl_Info_Flag=0;
                      First_Send_Flag=0;
				      Rec_Ctrl_Flag=0;
				      Rec_Ack_Flag=0;//接收回應標志位清零
					  Ack_Timer_Flag=1;
					  Timer3_Counter=0;//定時器3的計數器清零
				      TMR3CN |= 0x04; //啟動定時器3,檢查20ms之內收到回應    
				   
				   
				   }  
			  else if  (Send_Ctrl_Info_Counter==(Ctrl_Info_Counter-1)) 
					{
					   SCON1 |=  0x08; // TB8置1
					   SBUF1=Ctrl_Info_Buffer[Send_Ctrl_Info_Counter];					// interrupt to service.
                   }
              else
			        {
                        SCON1  &= 0xf7; // TB8置0   
			            SBUF1=Ctrl_Info_Buffer[Send_Ctrl_Info_Counter];
			       }
			 
		}
     }
    EIE2 |=0x40;    // 打開串口1中斷

}



//----------------------------------------------------------------------------------------
// USER_ISR: User SW_UART Interrupt Service Routine (IE7 ISR)
// If interrupt-mode test code is enabled, this ISR
// transmits 15 characters and receives 15 characters. This routine is triggered each
// time a SW_UART transmit or receive is completed.
// - Checks receive complete indicator, and services.
// - Checks transmit complete indicator, and services.
// - Checks for transmits or receives that completed during the ISR; if so, triggers the
//   interrupt again.
//
//軟串口中斷服務程序
void USER_ISR(void) interrupt 19 {				// IE7 Interrupt Service Routine

    unsigned char  Rec_Data,i;
	PRT1IF &= ~(0x80);								// Clear IE7 interrupt flag
	if (SRI){											// If Receive Complete:
         SRI = 0;											// Clear receive flag.
	  
	     Rec_Data=RDR;

		 if (Receive_Ini_Flag==0)
    	  {   
        	  if(Rec_Data==0xa5) 
	  	   
		    	Receive_Ini_Flag=1;                                 //Has received the first byte 
	   	  }
	 	else if ( Receive_Ini_Flag==1) 
	   
	    { 
	     	if(Rec_Data==0xa5) 
	  	   
		    { 
		     	Receive_Ini_Flag=2; 
	         	Ini_Data_BufferPoint=Ini_Data_Buffer;
			 			 
			 	Ini_Data_Num=0;
            }
                      		 
		 	else
		   		Receive_Ini_Flag=0;   
	   	   
	    }
	   
	 	else if  ( Receive_Ini_Flag==2)
	   	{  
	       	*(Ini_Data_BufferPoint+Ini_Data_Num)=Rec_Data;
	        Ini_Data_Num++;
            if( Ini_Data_Num==27)
			  {  
			  	  Receive_Ini_Flag=0;
	              Ini_Data_Num=0;
				    
				   /*for(i=0;i<4;i++)
				   {
				      if(*(Ini_Data_BufferPoint+i)==0xff)
					     counter3++;
				   }
	               
				   if(counter3>=3)
				      counter3=0; 
				   else
				     {*/
				  for(i=0;i<4;i++)
				   {
				  		Info_Frame1[i+4]=*(Ini_Data_BufferPoint+i);
	              		Info_Frame2[i+4]=*(Ini_Data_BufferPoint+i);
	              		Info_Frame3[i+4]=*(Ini_Data_BufferPoint+i);
			      		Info_Frame4[i+4]=*(Ini_Data_BufferPoint+i);
			      		Info_Frame5[i+4]=*(Ini_Data_BufferPoint+i);  
				  		Test_Frame[i+4]=*(Ini_Data_BufferPoint+i);
					}
			          //}
				   
				   
				   
				  for(i=0;i<4;i++) MDB_DATA_TEMP[i+18]=*(Ini_Data_BufferPoint+i+4);
				 				  
				  for(i=0;i<2;i++) MDB_DATA_TEMP[i+24]=*(Ini_Data_BufferPoint+i+8);
			   
			      Time_Distance[0]=*(Ini_Data_BufferPoint+10);
                  Time_Distance[1]=*(Ini_Data_BufferPoint+11);
			      Distance = Time_Distance[0]*256+Time_Distance[1];
			      
			      for(i=0;i<8;i++) MAC_Key[i]=*(Ini_Data_BufferPoint+12+i);
			       //counter3=0; 
				   /*for(i=0;i<6;i++)
				    {    
				        if(*(Ini_Data_BufferPoint+i+20)==0xff)
				                counter3++;
                    }
				   if(counter3==6)*/	  
				      
				   
				   
				   
				   
				   CS_RTC=0;
			/*	   RegB=0x86;// ???????????????????????????????????????????????????????  //考慮打開RTC日期設置
				   Century=*(Ini_Data_BufferPoint+20);
				   Year = *(Ini_Data_BufferPoint+21);
			       Month = *(Ini_Data_BufferPoint+22);
			       Day   = *(Ini_Data_BufferPoint+23);
				   Hour  = *(Ini_Data_BufferPoint+24);
				   Minute= *(Ini_Data_BufferPoint+25);
				   Second= *(Ini_Data_BufferPoint+26);
			    */  
				   RegB=0x1e;//????????????????????????????????????????????????????????
			       CS_RTC=1;
			       
				   Store_Ini_Data(); 
				   
				   CS_RTC = 1;
				   for(i=0;i<20;i++) Ini_Data_Buffer[i]=XBYTE[IniDataAddress+i]; 	
				   CS_RTC = 0;				   

				   Ini_Data_Flag=1;
				   
			 			   
			   }            
				                        			     	
	          //end of else          
		}
       else 
	    {
		     Receive_Ini_Flag=0;
	         
	    }
	}
	
	
	
	
	else if (STI)
	  {										// If Transmit Complete:
		STI = 0;											// Clear transmit flag.

		if (m<27){                          // If less than 15 characters transmitted:
		 STXBSY = 1;                         // Claim SW_UART Transmitter.
         TDR = *(Ini_Data_BufferPoint+m);
		 m++;									// Increment variable, transmit.
         CCF1 = 1;									// Force module 0 interrupt to initiate TX
      }										         
      else 			
         m=0;
		 Ini_Data_Flag=0;
		// SW_DONE=1;									// Indicate last character transmitted.
	}

//	if (STI|SRI)										// If SRI or STI is set, re-trigger
//		PRT1IF |= 0x80;								// interrupt to service.
}



//-------------------------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------------------------

//FLASH初始化子程序

void FLASH_INI(void)
{ 
   unsigned int i,j;
   unsigned char temp; 
   CS_RTC=1;              //Select and Enable Flash Chip,Low Effect
   i=0;  
   Send_Data_Num=0;         //initiate the num of the data sent
   UnSend_Data_Num=0;        //initiate the num of the data unsent
   Data_Total_Num=0;        //initiate the total num of the data frame byte
   for (i=0;i<960;i++)
   {
	   temp=XBYTE[StartAddress+i*64];
   
       if (temp!=0xff)                         //judge if it is effect data frame
    
	   {    
	  	switch(temp)
	  	{
	  		case 0x79:
	    		for(j=0;j<6;j++)
				{ 
		   			Device_Error_Status[j]=XBYTE[StartAddress+i*64+10+j];    
	     		}
	        break;
      
	  		case 0x7a:
	    		for(j=0;j<6;j++)
				{ 
		   			Column_Error_Status[j]=XBYTE[StartAddress+i*64+10+j];    
	     		}
            break;
	 		case 0x7b:
	    		for(j=0;j<6;j++)
				{ 
		   			Goods_Status[j]=XBYTE[StartAddress+i*64+10+j];    
	     		}
          	break;
	 		case 0x7d:
	    		for(j=0;j<28;j++)
				{ 
		   			Device_Info[j]=XBYTE[StartAddress+i*64+10+j];    
	     		}
          	break;
	 		default:
	       		break;
	 	}
	 
	   temp=XBYTE[StartAddress+i*64+63];
	   
	   if (temp!=0xff)                               //the ACK has been received 
	            Send_Data_Num++;           
       else
	            UnSend_Data_Num++;
                                    //the num of data frame increase 1 


	   }			   
       else 

	       break;
	 

     }
     if (i==0)
          Frame_Num=-1;
	 else  
	   Frame_Num=i-1;
	   Data_Total_Num =i*64;                //get the total  num of data frame byte              
       

	   
	   
	 CS_RTC=0;                          //Disable Flash 
     if(Data_Total_Num>=43008)   //總數達到56K字節   
	   {
	     Erase_Flag=1;
		 if(Data_Total_Num>=56320)
		 {
		 	Flash_Full_Flag = 1;
		 }
	   }
}
//
//
//------------------------------------------------------------------------------------------------------- 
//-------------------------------------------------------------------------------------------------------    


//計算MDB數據的校驗和

bit Check_Info_Data(unsigned char * point,unsigned char length )

{   unsigned char  i;
     unsigned char temp;
	 temp=0;
     for (i=0;i<length-1;i++)
	   {  
	      temp += *(point+i);      //??????????????????????????
	    } 	  
     if (temp==*(point+length-1))
	    return 1 ;
	 else 
	    return 0;	 
}

  
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
  
//讀取當前時間子程序

void Read_Time(void)
{  
   CS_RTC=0;
   YEAR=Year;
   MONTH=Month;
   DAY=Day;
   HOUR=Hour;
   MINUTE=Minute;
   CS_RTC=1;


}
 
//--------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精东粉嫩av免费一区二区三区| 亚洲日本青草视频在线怡红院 | 青青草国产精品97视觉盛宴| 欧美国产精品一区| 欧美精品一区二区三区蜜桃| 欧美精品色综合| 欧美色综合网站| 欧美日韩国产天堂| 欧美日韩不卡视频| 欧美一级片在线看| 精品国产污网站| 国产亚洲一区二区三区在线观看| 26uuu亚洲综合色| 国产亚洲综合色| 国产亲近乱来精品视频| 国产女主播一区| 亚洲欧美精品午睡沙发| 亚洲国产毛片aaaaa无费看| 亚洲一区精品在线| 日韩制服丝袜先锋影音| 日本不卡视频在线| 国产精品一区二区果冻传媒| 成人国产在线观看| 在线观看日韩av先锋影音电影院| 欧美欧美欧美欧美| 久久久久久免费| 亚洲精品自拍动漫在线| 婷婷激情综合网| 国产一区在线观看麻豆| 91欧美一区二区| 欧美一区二区三区白人| 欧美国产精品一区二区三区| 亚洲综合久久久| 99热精品一区二区| 欧美日韩电影在线播放| 337p日本欧洲亚洲大胆精品| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 一区二区三区四区激情| 国产在线视频一区二区三区| 91在线观看污| 精品久久久久久久久久久久久久久 | 亚洲婷婷综合久久一本伊一区| 亚洲国产日韩在线一区模特| 国产一区在线视频| 欧美精品1区2区| 亚洲欧洲另类国产综合| 久久精品一区蜜桃臀影院| 欧美一卡2卡三卡4卡5免费| 欧美性大战久久久| 欧美精品一区二区精品网| 亚洲精品成人天堂一二三| 久久精品国产在热久久| 日本韩国欧美国产| 久久综合色一综合色88| 国产成人av福利| 欧美日韩国产一区| 日韩伦理av电影| 国产不卡在线视频| 欧美一级专区免费大片| 亚洲电影一级片| 色av成人天堂桃色av| 国产欧美精品一区aⅴ影院| 极品少妇xxxx偷拍精品少妇| 69成人精品免费视频| 亚洲国产日产av| 99精品欧美一区二区三区综合在线| 欧美一级在线视频| 亚洲第一主播视频| 欧美日韩一区 二区 三区 久久精品| **欧美大码日韩| 成人激情小说乱人伦| 国产亚洲精品aa午夜观看| 精品一区免费av| 精品国产亚洲一区二区三区在线观看| 日本一道高清亚洲日美韩| 欧美日韩国产在线观看| 亚洲自拍偷拍九九九| 日本精品视频一区二区| 亚洲人成7777| 欧美一a一片一级一片| 亚洲国产另类精品专区| 欧洲亚洲精品在线| 亚洲一区二区三区四区的| 欧洲av一区二区嗯嗯嗯啊| 亚洲亚洲精品在线观看| 欧美日韩国产成人在线91| 日韩精品福利网| 欧美一区二区久久| 黄色成人免费在线| 国产精品视频看| 欧洲亚洲精品在线| 日本特黄久久久高潮| 韩国欧美一区二区| 色婷婷亚洲综合| 洋洋成人永久网站入口| 91浏览器在线视频| 亚洲午夜精品网| 日韩一二三区视频| 国产一区视频网站| 中文字幕免费一区| 在线精品亚洲一区二区不卡| 日韩国产成人精品| 国产日韩欧美在线一区| 色综合久久88色综合天天| 午夜不卡av免费| 亚洲国产精华液网站w| 欧洲在线/亚洲| 国产精品一区三区| 亚洲免费电影在线| 欧美大片国产精品| 北条麻妃一区二区三区| 婷婷国产在线综合| 国产精品久久久久久久久快鸭| 欧美一a一片一级一片| 激情五月播播久久久精品| 亚洲欧洲综合另类| 日韩亚洲欧美成人一区| 成人午夜私人影院| 日韩电影免费在线观看网站| 久久蜜桃香蕉精品一区二区三区| 91久久线看在观草草青青| 狠狠网亚洲精品| 亚洲国产视频一区| 国产精品嫩草影院av蜜臀| 欧美一区二区二区| 91丨porny丨户外露出| 激情综合一区二区三区| 午夜精品爽啪视频| 亚洲视频你懂的| 亚洲国产高清不卡| 日韩精品一区在线观看| 在线观看日韩av先锋影音电影院| 精品亚洲aⅴ乱码一区二区三区| 亚洲一区二区三区免费视频| 久久久精品欧美丰满| 欧美大片在线观看一区二区| 欧美日韩国产小视频在线观看| 91丝袜美女网| av在线这里只有精品| 国产精品18久久久久久vr| 美腿丝袜亚洲三区| 日韩高清在线不卡| 午夜精品一区二区三区免费视频| 亚洲欧美激情在线| 国产欧美一区二区精品性| 26uuu另类欧美| 精品国产髙清在线看国产毛片| 色噜噜狠狠色综合中国| 99久精品国产| 成人黄色在线看| 成a人片亚洲日本久久| 国产盗摄女厕一区二区三区| 国产一区美女在线| 国产精品综合av一区二区国产馆| 韩国成人在线视频| 国产原创一区二区三区| 国产一区在线不卡| 风间由美一区二区三区在线观看| 国产精品资源网| 成人综合日日夜夜| av一本久道久久综合久久鬼色| caoporn国产精品| 日本韩国欧美三级| 欧美日韩一区精品| 欧美精品日韩综合在线| 欧美一级理论片| 久久久久亚洲蜜桃| 亚洲视频免费在线观看| 亚洲国产精品久久人人爱| 午夜精品久久久久| 美女视频一区在线观看| 国产一区视频网站| 成人国产亚洲欧美成人综合网| 色狠狠综合天天综合综合| 欧美一区二区三区四区视频 | 亚洲精品一二三| 婷婷丁香久久五月婷婷| 国产一区二区免费在线| 成人黄动漫网站免费app| 欧美午夜精品久久久久久超碰| 91精品国产综合久久精品图片| 精品日韩一区二区三区| 亚洲欧洲日韩在线| 香蕉av福利精品导航| 精品一区二区三区免费观看| 成人精品高清在线| 在线播放91灌醉迷j高跟美女| 久久久久9999亚洲精品| 一级中文字幕一区二区| 国产老妇另类xxxxx| 在线观看亚洲a| 久久众筹精品私拍模特| 亚洲五码中文字幕| 国产91对白在线观看九色| 欧美色老头old∨ideo| 国产嫩草影院久久久久| 日本vs亚洲vs韩国一区三区二区 | 国产成人夜色高潮福利影视| 一本一道波多野结衣一区二区 | 岛国一区二区三区|