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

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

?? qd.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 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;


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


//存儲數據到FLASH子程序

void Store_Data(unsigned char *point,unsigned char  type, unsigned char length )
{      
    int i;  
    unsigned char xdata tempbuffer[100],Verify_Counter;
		
  	if(!Flash_Full_Flag)
	{
		switch(type)

	    {
		case 1:                       //identify that it is device error status
		 

			
		while(1)
		{	 
	  		for (i=1;i<length-1;i++)
		  	{
		  		Info_Frame1[i+9]=*(point+i);        
		    } 		
		  	Info_Frame1[2]= (Frame_Num- Frame_Num%256)/256;
		  	Info_Frame1[3]= Frame_Num%256;
		  	Info_Frame1[16]

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产乱码精品1区2区3区| 91精品国产福利| 宅男噜噜噜66一区二区66| 久久精品一区二区三区四区| 亚洲亚洲精品在线观看| 国产精品一区二区男女羞羞无遮挡 | 欧美一区二区三区视频免费播放| 亚洲国产精品高清| 九九**精品视频免费播放| 91在线观看下载| 久久久亚洲午夜电影| 日本aⅴ免费视频一区二区三区| 99久久精品国产一区二区三区| 精品日韩在线一区| 丝袜美腿亚洲一区二区图片| 91污片在线观看| 国产精品麻豆久久久| 麻豆国产精品一区二区三区| 欧美色图一区二区三区| 亚洲人亚洲人成电影网站色| 粉嫩嫩av羞羞动漫久久久| 日韩欧美区一区二| 午夜不卡av免费| 欧美亚洲国产bt| 亚洲激情中文1区| 日本高清不卡aⅴ免费网站| 国产精品卡一卡二| 成人污污视频在线观看| 精品国精品国产| 麻豆成人久久精品二区三区红 | 亚洲综合偷拍欧美一区色| www.亚洲色图| 成人欧美一区二区三区| 99国产一区二区三精品乱码| 中文字幕欧美日本乱码一线二线| 国产精品小仙女| 国产三级三级三级精品8ⅰ区| 国产高清成人在线| 中文字幕不卡三区| www.性欧美| 尤物在线观看一区| 欧美日韩精品系列| 免费成人在线观看视频| 欧美xxxxx裸体时装秀| 激情综合五月婷婷| 中文字幕不卡在线播放| 91免费视频观看| 亚洲国产美女搞黄色| 欧美二区乱c少妇| 久久国产精品99久久人人澡| 久久久影视传媒| 成人动漫视频在线| 亚洲精品美国一| 欧美日韩国产首页在线观看| 激情久久五月天| 欧美国产日韩a欧美在线观看| 91丨九色丨黑人外教| 午夜影院久久久| 国产亚洲综合在线| 91日韩一区二区三区| 婷婷开心激情综合| 国产亚洲精品aa午夜观看| av在线这里只有精品| 一区2区3区在线看| 精品久久人人做人人爰| 91在线免费看| 久久成人免费电影| 亚洲色图欧美激情| 日韩欧美的一区| 91视视频在线直接观看在线看网页在线看 | 欧美tk—视频vk| 国产在线一区观看| 亚洲欧美日韩国产中文在线| 欧美一区二区三区日韩视频| 成人免费观看视频| 人人超碰91尤物精品国产| 国产欧美久久久精品影院| 欧美日韩一区二区欧美激情| 国产毛片精品视频| 亚洲国产精品嫩草影院| 国产亚洲一区二区在线观看| 欧美三级电影在线看| 国产成人精品免费在线| 全国精品久久少妇| 伊人一区二区三区| 久久久久久久久久久99999| 欧美日韩一区二区不卡| 不卡一区二区中文字幕| 久久精品72免费观看| 亚洲一区二区五区| 国产精品久久精品日日| 亚洲精品在线三区| 欧美美女网站色| 欧美主播一区二区三区美女| 不卡一区中文字幕| 国产传媒日韩欧美成人| 久88久久88久久久| 亚洲成人av一区二区三区| 亚洲日本在线视频观看| 国产欧美日韩亚州综合| 久久综合999| 日韩精品专区在线影院重磅| 欧美日韩国产首页| 91传媒视频在线播放| 91网站最新地址| 成人aa视频在线观看| 国产成人亚洲精品青草天美| 久久精品国产精品亚洲精品| 日欧美一区二区| 午夜一区二区三区在线观看| 一区二区三区中文字幕电影| 亚洲手机成人高清视频| 亚洲欧美综合色| 日韩一区日韩二区| 成人免费在线观看入口| 成人欧美一区二区三区| 中文字幕色av一区二区三区| 亚洲欧美在线另类| 自拍偷在线精品自拍偷无码专区| 国产精品嫩草99a| 国产精品久久午夜夜伦鲁鲁| 中文字幕在线观看不卡视频| 1区2区3区欧美| 一区二区三区日韩欧美| 亚洲综合免费观看高清完整版在线 | 精品国产不卡一区二区三区| 欧美一区三区四区| 日韩视频在线永久播放| 久久免费国产精品| 亚洲国产精品高清| 亚洲免费观看高清| 午夜欧美电影在线观看| 美日韩一级片在线观看| 国产一区二区三区四区五区美女| 国产v综合v亚洲欧| 不卡在线观看av| 欧美日韩视频在线一区二区 | 色综合色狠狠天天综合色| 日本伦理一区二区| 欧美一区二区三区四区在线观看| 欧美精品一区男女天堂| 国产欧美1区2区3区| 亚洲精品视频一区二区| 日本中文在线一区| 成人美女视频在线观看18| 91影视在线播放| 欧美精选在线播放| 久久久久久久久久久久电影| 亚洲精品国产第一综合99久久| 秋霞电影网一区二区| 成人app网站| 日韩亚洲欧美中文三级| 国产女人aaa级久久久级 | 色综合久久中文字幕| 欧美日韩精品一区二区天天拍小说 | 精品国产1区2区3区| 国产精品成人一区二区艾草 | 国产福利一区二区三区视频在线| 91免费观看国产| 日韩欧美一区二区不卡| 亚洲欧美另类图片小说| 美女视频黄 久久| 91丨九色丨国产丨porny| 日韩欧美一级二级三级久久久| 中文字幕在线一区免费| 免费精品视频最新在线| 91久久免费观看| 国产欧美日韩卡一| 精品影视av免费| 欧美中文字幕亚洲一区二区va在线 | 欧美亚洲综合网| 久久久久亚洲蜜桃| 午夜精品一区二区三区三上悠亚| 高清日韩电视剧大全免费| 91麻豆精品国产无毒不卡在线观看| 亚洲国产精品v| 久久电影网站中文字幕 | 99在线精品视频| 久久综合色婷婷| 五月婷婷欧美视频| 一本久久a久久精品亚洲| 久久久www免费人成精品| 日本美女视频一区二区| 欧美曰成人黄网| 中文字幕一区二区三区不卡| 久草这里只有精品视频| 欧美一区二区人人喊爽| 亚洲成人午夜电影| 欧美性欧美巨大黑白大战| 中文字幕欧美一区| 成人av综合一区| 欧美激情中文字幕一区二区| 九一九一国产精品| 精品乱码亚洲一区二区不卡| 男女男精品视频网| 欧美电影免费提供在线观看| 蜜臀久久久久久久| 日韩美女一区二区三区| 麻豆久久久久久| 精品91自产拍在线观看一区|