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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? qd.c

?? 8051實現(xiàn)_gsm_gprs收發(fā)短信打電話的功能
?? C
?? 第 1 頁 / 共 5 頁
字號:
					PCA0CPM0 = 0x49;					// Change module 0 to software
															// timer mode, interrupts enabled.

					SURXST++;							// Update RX state variable.
				}
				break;
			
			// States 1-8: Bit Received
			// - Sample SW_RX pin
			// - Shift new bit into RXSHIFT
			// - Add 1 bit time to module 0 capture registers
			// - Increment RX state variable
			case 1:
			case 2:
			case 3:
			case 4:
			case 5:
			case 6:
			case 7:
			case 8:
					
				RXSHIFT = RXSHIFT >> 1;				// Shift right 1 bit
				if (SW_RX)								// If SW_RX=1, 
					RXSHIFT |= 0x80;					// shift '1' into RXSHIFT msb
				
				PCA_TEMP = (PCA0CPH0 << 8);		// Read module 0 contents into
				PCA_TEMP |= PCA0CPL0;				// PCA_TEMP.

				PCA_TEMP += TIME_COUNT;				// Add 1 bit time to PCA_TEMP

				PCA0CPL0 = PCA_TEMP;					// Restore PCA0CPL0 and PCA0CPH0
				PCA0CPH0 = (PCA_TEMP >> 8);		// with the updated value
				
				SURXST++;								// Update RX state variable.
				break;

			// State 9: 8-bits received, Capture STOP bit.
			// - Move RXSHIFT into RDR.
			// - Set SRI (indicate receive complete).
			// - Prepare module 0 for next transfer.
			// - Reset RX state variable.
			// - Trigger IE7 if user-level interrupt support is enabled.
			case 9:

				RDR = RXSHIFT;							// Move received data to receive register.
				SRI = 1;									// Set receive complete indicator.

				PCA0CPM0 = 0x11;						// Switch module 0 to negative capture
															// mode; interrupt enabled for START
															// detection.

				SURXST = 0;								// Reset RX state variable.

				if (SES){								// If user-level interrupt support enabled
					EIE2 |= 0x20;						// Enable IE7.
					PRT1IF |= 0x80;					// Trigger IE7.
				}
				break;
				
			}
		}
		
		// Check Transmit interrupt; service if CCF1 is set.
		else if (CCF1){ 
			CCF1 = 0;									// Clear interrupt flag
			switch (SUTXST){
				
				// State 0: Transmit Initiated.
				// Here, the user has loaded a byte to transmit into TDR, and set the
				// module 1 interrupt to initiate the transfer.
				// - Transmit START bit (drop SW_TX)
				// - Read PCA0, add one bit time, & store in module 1 capture registers
				//   for first bit.
				// - Increment TX state variable.
				case 0:

					SW_TX = 0;							// Drop TX pin as START bit.
					
					PCA_TEMP = PCA0L;					// Read PCA counter value into
					PCA_TEMP |= (PCA0H << 8);		// PCA_TEMP.

					PCA_TEMP += TIME_COUNT;			// Add 1 bit time.

					PCA0CPL1 = PCA_TEMP;				// Store updated match value into
					PCA0CPH1 = (PCA_TEMP >> 8);	// module1 capture/compare registers.

					PCA0CPM1 |= 0x48;					// Enable module 1 software timer.

					SUTXST++;							// Update TX state variable.				
					break;

				// States 1-9: Transmit Bit.
				// - Output LSB of TDR onto TX
				// - Shift TDR 1 bit right.
				// - Shift a '1' into MSB of TDR for STOP bit in State 9.
				// - Add 1 bit time to module 1 capture register
				case 1:
				case 2:
				case 3:
				case 4:
				case 5:
				case 6:
				case 7:
				case 8:
				case 9:
					
					SW_TX = (TDR & 0x01);			// Output LSB of TDR onto SW_TX pin.
					TDR >>= 1;							// Shift TDR right 1 bit.
					TDR |= 0x80;						// Shift '1' into MSB of TDR for
															// STOP bit in State 9.

					PCA_TEMP = (PCA0CPH1 << 8);	// Read module 0 contents into
					PCA_TEMP |= PCA0CPL1;			// PCA_TEMP.

					PCA_TEMP += TIME_COUNT;			// Add 1 bit time to PCA_TEMP
	
					PCA0CPL1 = PCA_TEMP;				// Restore PCA0CPL1 and PCA0CPH1
					PCA0CPH1 = (PCA_TEMP >> 8);	// with the updated value	

					SUTXST++;                     // Update TX state variable.
					break;
					
				// State 10: Last bit has been transmitted.  Transmit STOP bit
				// and end transfer.  
				// - Transmit STOP bit
				// - Set TX Complete indicator, clear Busy flag
				// - Reset TX state
				// - Prepare module 1 for next transfer.
				// - Trigger IE7 interrupt if user-level interrupts enabled.
				case 10:

					STI = 1;								// Indicate TX complete.
					SUTXST = 0;							// Reset TX state.
					SW_TX = 1;							// SW_TX should remain high.

					PCA0CPM1 = 0x01;					// Disable module 1 software timer; leave
															// interrupt enabled for next transmit.					
					
					if (SES){							// If user-level interrupt support enabled:
						EIE2 |= 0x20;					// Enable IE7.
						PRT1IF |= 0x80;				// Trigger IE7.
					}
					STXBSY = 0;							// SW_UART TX free.	
					break;
				}
		}
}
//-----------------------------------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------------------------------------------------------

//WAVECOM 數(shù)據(jù)接收子程序:串口0中斷服務(wù)程序

void  Serial0_WAVECOM(void)   interrupt 4

{   
    EA=0;
	if (RI0)	
	{	 
		RI0=0;
		if(RECEIVE_FLAG==0)
		{
			if(SBUF0==0x7E)
			{
				RECEIVE_FLAG=1;
				RECEIVEBUFFERPOINT=RECEIVEBUFFER;
			}
        }
		else
		{
			if(SBUF0==0x7E)
			{ 
			  if(RECEIVEBUFFERPOINT!=RECEIVEBUFFER)     //排除連續(xù)收到兩個7E,數(shù)據(jù)長度為0的錯誤情況
				 {
				  RECEIVE_FLAG=0;
				  PPP_Rec_Complete = 1;
                 }
			}
			else
			{
				if(PADDING_Flag==1)
	  			{
	  				*RECEIVEBUFFERPOINT=SBUF0;
	  	        	*RECEIVEBUFFERPOINT^=0x20;
	  	        	PADDING_Flag=0;
	  	        	RECEIVEBUFFERPOINT++;
	    		}
	    		else
	    		{
	    			if(SBUF0==0x7D)
	    				PADDING_Flag=1;
	    			else
	    			{
	    				*RECEIVEBUFFERPOINT=SBUF0;
	  	           		RECEIVEBUFFERPOINT++;
	  	        	}
	  	        }
			}
		}
   	}

    EA=1;
}



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


//MDB數(shù)據(jù)接收子程序 :串口1中斷服務(wù)程序
void Receive_MDB(void) interrupt 20 
{			
	unsigned char temp,Rec_Data,i;
    
	EIE2 &= 0xbf; //關(guān)閉串口1中斷 
 
 	if(SCON1 & 0x01==0x01){ 
     
	    SCON1 &= 0xfe; // 清串口1標(biāo)字位
	   
	    Rec_Data=SBUF1;
	    
	if (ReceiveFlag==0)
      {   
                                            //Has received the first byte 
	    switch ( Rec_Data)
	    {
	    case 0x78:                                        //receive the command reset   
		     ReceiveFlag=1;
			 Information_Type=0;    
		     
			  break;
		case 0x79:                                        //receive the device error status          
		     ReceiveFlag=1;
			 Information_Type=1;                          
	         
			  break;
		case 0x7a:                                        //receive the column error status
		     ReceiveFlag=1;
			 Information_Type=2; 	                      
		     
			  break;
		case 0x7b:                                        //receive the goods status
			 ReceiveFlag=1; 
			 Information_Type=3; 	
	        
			   break;
		case 0x7c:                                        //receive the sale info 
		     ReceiveFlag=1;
			 Information_Type=4;                            
	          break;
	    case 0x7d:                                        //receive the device info        
		     ReceiveFlag=1;
			 Information_Type=5;                           
	          break;  
	
		case 0x7e:                                        //request the control info 
	         ReceiveFlag=1;
			 Information_Type=6;
               break;
		case 0x0 :
		      
			 SCON1 |= 0x20;                            // SM2位置1,只在地址時中斷
	          Rec_Ack_Flag=1;
		     // Ctrl_Complete_Flag=1;
		//	 Deal_Flag=0;
		//	 if(Ctrl_Info_Flag==1)                        //控制信息已下發(fā)
			   // Ctrl_Info_Flag=0;
			 break;
		default:
		     break; 
	    }
	    Receive_Data_Num=0;                              //clear the number of the receiving data	   
        InfoData_BufferPoint=InfoData_Buffer;
        *InfoData_BufferPoint=Rec_Data;
		Receive_Data_Num++;
	  	  
	    SCON1 &= 0xdf; //  清SM2位,允許中斷,無論數(shù)據(jù)還是地址  
	   
	  } 
	  else 
	   {  
         
          *(InfoData_BufferPoint+Receive_Data_Num)=Rec_Data;
          Receive_Data_Num++;
       	  
		  switch (Information_Type)
		    {
			case 0: 
			      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
                        { 	
						 Deal_Flag=1;					
						
                    	}
                        else
						{ 
						 	Send_Retransmit(); // 不做任何操作,相當(dāng)于NAK 
						    Receive_Data_Num=0;
					        ReceiveFlag=0;}               //enable to receive the information data again 					                
                 		}
                    break;
			 
			 
			 case 1:
			      if( Receive_Data_Num==8) 
                    {   
						SCON1 |= 0x20;   // SM2位置1,只在地址時中斷      
					    if (Check_Info_Data(InfoData_Buffer,Receive_Data_Num))  
    	                 {  
						   Deal_Flag=1;
						    
                         	  	  						
				/*		 if (First_Rec_Flag==0)
						      {
							   counter=5;                           //3秒為回應(yīng)時間         
						       EX1=1;
                               First_Rec_Flag=1;
							   }*/ 
						   }                             
                         else
						 {
						 	Send_Retransmit(); //不做任何操作,相當(dāng)于NAK 
						    Receive_Data_Num=0;
     					  	ReceiveFlag=0; 
						  }            //enable to receive the information data again 					  
	                }
               		break;
			  case 2 :
			        if( Receive_Data_Num==8) 
                    {    
						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;//打開外部中斷1
                               First_Rec_Flag=1;
							   } */ 
						  				  
						  }                             
                         else
						 { 
						  Send_Retransmit(); //不做任何操作,相當(dāng)于NAK 
						  Receive_Data_Num=0;
     					  ReceiveFlag=0;
						  }              //enable to receive the information data again 					  
	                } 
	           		break;
			  case 3: 
			       if( Receive_Data_Num==8) 
                    {
					   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(); //不做任何操作,相當(dāng)于NAK  
					   	  Receive_Data_Num=0;
     					  ReceiveFlag=0;
						  }               //enable to receive the information data again 					  
	                 }    
	          		break;
			   case 4:
			        if( Receive_Data_Num==4) 
                    { 
					     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(); //不做任何操作,相當(dāng)于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;
							   }*/  
					     }                             

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品国产视频| 日韩欧美一级在线播放| 国产精品视频九色porn| 懂色av中文字幕一区二区三区| 日韩精品一区二区三区在线| 美女精品自拍一二三四| 日韩免费电影网站| 韩国一区二区视频| 国产日韩影视精品| 99久免费精品视频在线观看| 日韩美女视频一区二区 | 视频在线观看国产精品| 欧美日韩久久一区二区| 日本免费新一区视频| 91精品国产综合久久久久久| 毛片av中文字幕一区二区| 精品成人在线观看| 国产精品羞羞答答xxdd| 国产精品福利一区二区三区| 91在线国内视频| 亚洲一区二区三区影院| 91麻豆精品国产91久久久更新时间 | 成年人网站91| 亚洲黄色av一区| 91精品国产综合久久久久久久久久| 久久99这里只有精品| 国产精品天干天干在线综合| 欧美在线制服丝袜| 蜜桃视频免费观看一区| 国产欧美日韩三区| 欧美伊人久久久久久久久影院 | 精品一区二区三区在线播放| 亚洲va欧美va人人爽| 精品第一国产综合精品aⅴ| 99久久婷婷国产精品综合| 亚洲高清视频中文字幕| 久久九九全国免费| 欧美午夜电影网| 狠狠色丁香久久婷婷综合_中| **网站欧美大片在线观看| 欧美日韩一二三| 丰满亚洲少妇av| 亚洲成人午夜影院| 国产精品丝袜在线| 欧美精品一区二区三区四区| 日韩一区二区在线观看| 精品国产一二三区| 99免费精品视频| 蜜臀av一级做a爰片久久| 欧美中文一区二区三区| 激情五月婷婷综合网| 91精品在线免费| 99精品视频一区二区三区| 成人国产视频在线观看| 99久久精品免费| 91美女片黄在线观看91美女| 成人激情免费视频| 99久久国产综合色|国产精品| 99久久伊人久久99| 91丨国产丨九色丨pron| 91国产成人在线| 欧美美女bb生活片| 91精品国产一区二区三区| 日韩亚洲欧美在线观看| 精品久久国产字幕高潮| 国产人成一区二区三区影院| 国产精品久久久久一区二区三区| 中文字幕一区二区5566日韩| 亚洲欧洲日韩av| 亚洲狠狠丁香婷婷综合久久久| 亚洲午夜视频在线| 蜜桃一区二区三区在线观看| 国产精品一区二区视频| 99久久婷婷国产| 欧美日韩中文国产| 精品sm在线观看| 国产精品网站在线| 亚洲国产日韩在线一区模特| 日本美女一区二区三区| 欧美成人一区二区三区片免费| 精品国产91乱码一区二区三区| 国产亚洲视频系列| 亚洲三级免费电影| 日韩高清一区二区| 成人一级黄色片| 在线观看91视频| 精品理论电影在线观看| 亚洲欧洲av另类| 日韩av电影免费观看高清完整版 | 国产精品自在欧美一区| 91在线丨porny丨国产| 91精品国产日韩91久久久久久| 精品美女在线播放| 亚洲免费在线电影| 狠狠色丁香婷婷综合久久片| 色综合欧美在线视频区| 日韩欧美色综合| 中文字幕一区免费在线观看| 日韩高清电影一区| 成人av一区二区三区| 欧美一二三区在线| 亚洲欧美国产毛片在线| 蜜桃视频一区二区| 日本精品视频一区二区| 久久午夜羞羞影院免费观看| 亚洲自拍偷拍网站| 国产成人精品aa毛片| 制服丝袜亚洲播放| 一区二区三区在线视频免费| 国产成人免费xxxxxxxx| 欧美老年两性高潮| 亚洲色图都市小说| 国产成人精品免费视频网站| 日韩午夜激情av| 亚洲一区二区三区小说| 成人97人人超碰人人99| 精品国产百合女同互慰| 五月综合激情婷婷六月色窝| 波多野结衣在线一区| 久久久久久9999| 久久精品国产99国产精品| 精品婷婷伊人一区三区三| 亚洲人xxxx| 成人一道本在线| 久久久三级国产网站| 美腿丝袜一区二区三区| 欧美久久高跟鞋激| 一区二区三区四区视频精品免费| 粉嫩嫩av羞羞动漫久久久| 欧美成人精品1314www| 视频一区视频二区中文| 欧美怡红院视频| 一区二区三区不卡视频在线观看| 99久久精品免费精品国产| 国产精品视频免费| 成人综合婷婷国产精品久久免费| 久久综合狠狠综合久久综合88 | 国内精品国产三级国产a久久| 欧美日韩国产综合久久| 亚洲另类春色校园小说| 99精品偷自拍| 成人免费在线视频| 91欧美一区二区| 依依成人精品视频| 色狠狠一区二区| 亚洲精品第一国产综合野| 色噜噜狠狠色综合中国| 亚洲激情一二三区| 日本精品免费观看高清观看| 艳妇臀荡乳欲伦亚洲一区| 欧美日韩一区精品| 午夜精品一区二区三区免费视频| 在线观看av一区| 五月天精品一区二区三区| 欧美丰满美乳xxx高潮www| 日韩精品欧美成人高清一区二区| 欧美日本韩国一区| 免费欧美日韩国产三级电影| 精品久久久久久无| 国产成都精品91一区二区三| 国产精品少妇自拍| 色婷婷综合久久| 亚洲成人一区二区在线观看| 欧美一区二区成人6969| 激情六月婷婷久久| 国产女同性恋一区二区| 99视频精品全部免费在线| 夜夜亚洲天天久久| 91精品国产福利在线观看| 久久国产婷婷国产香蕉| 国产欧美日韩在线| 色综合天天在线| 蜜臀久久99精品久久久画质超高清 | 99久久精品情趣| 亚洲国产成人av好男人在线观看| 91精品国产福利在线观看| 国产美女在线观看一区| 亚洲免费观看高清完整版在线| 欧美日韩精品一二三区| 国产一区二区精品久久99| 亚洲日本在线观看| 日韩亚洲欧美在线| 99久久精品国产毛片| 日韩和的一区二区| 国产精品污污网站在线观看| 欧美视频三区在线播放| 国产精一区二区三区| 一区二区三区在线高清| 26uuu另类欧美| 91官网在线观看| 国精产品一区一区三区mba视频| 中文字幕亚洲精品在线观看| 9191国产精品| 99精品国产视频| 久久99这里只有精品| 亚洲最大成人网4388xx| 久久精品免费在线观看| 欧美乱熟臀69xxxxxx| av电影天堂一区二区在线观看| 日本美女一区二区三区|