欧美一级在线免费观看-色播在线精品一区二区三区四区-成人一区二区在线播放-免费污片软件-粉嫩久久99精品久久久久久夜-成人免费看片'在线观看-亚洲情在线-伊人色综合一区二区三区-啪啪伊人网-午夜看片网站-欧美日韩免费在线观看视频-九色视频在线播放-久久av综合网-av女同在线-在线一区欧美-91在线观看网址

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機實例 >> 正文

單片機c語言編寫的51單片機modbus協議程序

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2018-12-19
單片機c語言編寫的51單片機modbus協議程序,代碼如下:

#include <reg51.h>
#define uint8 unsigned char
#define uint16 unsigned int
#define FOSC 16000000
uint16 BAUD=9600;
uint16 TEMP_Alert=1000;
//字地址 0 - 255 (只取低8位)
//位地址 0 - 255 (只取低8位)

uint16  TempRegister; //用于測試 字址址16

uint8 localAddr = 0x01; //單片機控制板的地址
uint8 sendCount;  //發送字節個數
uint8 receCount;    //接收到的字節個數
//uint8 sendPosi;    //發送位置

uint8 xdata receBuf[1];
uint8 xdata sendBuf[1];

void checkComm0Modbus(void);
uint16 getRegisterVal(uint16 addr,uint16 *tempData);
uint16 setRegisterVal(uint16 addr,uint16 tempData);
void switch_BAUD(uint16 value);


/*****************************波特率調整函數 ********************************/
////函數功能:調整串口通信波特率
////串口工作在工作方式1,即8位波特率可變模式
/****************************************************************************/
void switch_BAUD(uint16 value)
{
 switch(value)
 {
  case 0x0001: { BAUD=9600;break; }
  case 0x0002: { BAUD=14400;break; }
  case 0x0003: { BAUD=19200;break; }
 }
 TR1=0;        //停止定時器1
 ES=0;        //關閉串口中斷
 TH1=TL1=-(FOSC/12/32/BAUD);     //設置波特率
 TR1=1;        //開啟定時器1
 ES=1;        //使能串口中斷
}
/***************************CRC校驗碼生成函數 ********************************/
////函數功能:生成CRC校驗碼
////本代碼中使用查表法,以提高運算速度
/****************************************************************************/
uint16 crc16(uint8 *puchMsg, uint16 usDataLen)
{
 uint8 uchCRCHi = 0xFF ; /* 高CRC字節初始化 */
 uint8 uchCRCLo = 0xFF ; /* 低CRC 字節初始化 */
 uint16 uIndex ; /* CRC循環中的索引 */
 while (usDataLen--) /* 傳輸消息緩沖區 */
 {
  uIndex = uchCRCHi ^ *puchMsg++ ; /* 計算CRC */
  uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex] ;
  uchCRCLo = auchCRCLo[uIndex] ;
 }
 return (uchCRCLo << 8 | uchCRCHi) ;
}//uint16 crc16(uint8 *puchMsg, uint16 usDataLen)
/*******************************串口發送函數 ********************************/
////函數功能:將數據包通過串口發送至主機
////有待修改......
/****************************************************************************/
//開始發送
void Begin_send(void)
{
 uint16 i=0;
 while(sendCount--)
 {
  SBUF = sendBuf[i++];
  while(!TI);
 }
}

/********從機響應主機問詢函數,function code : 03,讀取多個寄存器值 ********/
////函數功能:叢機根據串口接收到的數據包receBuf[]里面的內容,根據被讀取寄存器
////的起始地址和讀取的寄存器個數,去讀相應的寄存器的值,并將讀取的數據以MODBUS
////響應數據的標準格式打包,經過串口發送到主機。數據包格式同上。
/****************************************************************************/
////////////// 詢問數據包格式:
///////////////////////// receBuf[0] receBuf[1]  receBuf[2]     receBuf[3]   receBuf[4]       receBuf[5]    receBuf[6]   receBuf[7]
//詢問數據格式:receBuf[]={從站地址, 功能碼,  起始地址高位,起始地址低位,寄存器數高位,   寄存器數低位, 校驗碼低位, 校驗碼高位}

////////////// 響應數據包格式:
///////////////////////// sendBuf[0] sendBuf[1]  sendBuf[[2]    sendBuf[3]  sendBuf[4]  sendBuf[5]...    receBuf[6]   receBuf[7]
//響應數據格式:receBuf[]={從站地址, 功能碼,    字節計數,      數據1,    數據2,     數據3,...      校驗碼低位, 校驗碼高位}

void readRegisters(void)
{
 uint8 addr;
 uint8 tempAddr;
 uint16 crcData;
 uint8 readCount;
 uint8 byteCount;
 uint16 i;
 uint16 tempData = 0;

 //addr = (receBuf[2]<<8) + receBuf[3];
 //tempAddr = addr & 0xfff;
 addr = receBuf[3];
 tempAddr = addr;

 //readCount = (receBuf[4]<<8) + receBuf[5]; //要讀的個數
 readCount = receBuf[5];

 byteCount = readCount * 2;                  //每個寄存器內容占高,低兩個字節

 for(i=0;i<byteCount;i+=2,tempAddr++)
 {
  getRegisterVal(tempAddr,&tempData);   
  sendBuf[i+3] = tempData >> 8;       
  sendBuf[i+4] = tempData & 0xff; 
 }

 sendBuf[0] = localAddr;
 sendBuf[1] = 3;  //function code : 03
 sendBuf[2] = byteCount;
 byteCount += 3;             //加上前面的地址,功能碼,地址 共3+byteCount個字節
 crcData = crc16(sendBuf,byteCount);
 sendBuf[byteCount] = crcData & 0xff;   // CRC代碼低位在前
 byteCount++;
 sendBuf[byteCount] = crcData >> 8 ;    //高位在后

 sendCount = byteCount + 1;   //例如byteCount=49,則sendBuf[]中實際上有49+1個元素待發
 Begin_send();
}//void readRegisters(void)
/********從機響應主機問詢函數,function code : 16,設置多個寄存器值 *********/
////函數功能:叢機根據串口接收到的數據包receBuf[]里面的內容,根據被強制寄存器
////的起始地址,去設置相應寄存器的值,響應數據包同詢問數據包
////的內容相同,經過串口發送到主機。
/****************************************************************************/
//////////////詢問數據包格式:
///////////////////////// receBuf[0] receBuf[1]  receBuf[2]     receBuf[3]   receBuf[4]    receBuf[5]   receBuf[6]  receBuf[7]  receBuf[8] ... receBuf[9]   receBuf[10]
//詢問數據格式:receBuf[]={從站地址, 功能碼,  起始地址高位,起始地址低位,寄存器數高位,寄存器數低位, 字節計數,  數據高位,  數據低位,... 校驗碼低位, 校驗碼高位}
//響應數據包內容為除去詢問數據包中的字節計數和數據高低位的其他內容
void presetMultipleRegisters(void)
{
 uint8 addr;
 uint8 tempAddr;
 uint8 byteCount;
 uint8 setCount;
 uint16 crcData;
 uint16 tempData;
 uint8 i;

 //addr = (receBuf[2]<<8) + receBuf[3];
 //tempAddr = addr & 0xfff;
 addr = receBuf[3];
 tempAddr = addr & 0xff;

 //setCount = (receBuf[4]<<8) + receBuf[5];
 setCount = receBuf[5];
 byteCount = receBuf[6];

 for(i=0;i<setCount;i++,tempAddr++)
 {
  tempData = (receBuf[i*2+7]<<8) + receBuf[i*2+8];//待設置寄存器值
  setRegisterVal(tempAddr,tempData); 
 }

 sendBuf[0] = localAddr;
 sendBuf[1] = 16;    //function code : 16
 sendBuf[2] = addr >> 8;  //寄存器地址高位
 sendBuf[3] = addr & 0xff;//寄存器地址低位
 sendBuf[4] = setCount >> 8;//待設置寄存器數量高位
 sendBuf[5] = setCount & 0xff;//待設置寄存器數量低位
 crcData = crc16(sendBuf,6);//生成CRC校驗碼
 sendBuf[6] = crcData & 0xff;  //CRC代碼低位在前
 sendBuf[7] = crcData >> 8;   //高位在后
 sendCount = 8;
 Begin_send();
}//void presetMultipleRegisters(void)
/*************************查詢uart接收的數據包內容函數 **************************/
////函數功能:叢機根據串口接收到的數據包receBuf[1]里面的內容,即function code執行
////相應的命令
/********************************************************************************/
void checkComm0Modbus(void)
{
 uint16 crcData;
 uint16 tempData;

 if(receCount > 4)
 {
  switch(receBuf[1])
  {
   case 3://讀取保持寄存器(一個或多個)
   {
    if(receCount >= 8)  //從詢問數據包格式可知,receCount應該等于8
    {//接收完成一組數據  //應該關閉接收中斷
     if(receBuf[0]==localAddr)   //核對地址
     {
      crcData = crc16(receBuf,6);                     //核對校驗碼
      if(crcData == receBuf[7]+(receBuf[6]<<8))
      if(receBuf[1] == 3)
      { //讀取保持寄存器(一個或多個)
       readRegisters();
      }
     }
    }     
    receCount = 0;
    break;
   }

   case 16://設置多個寄存器
   {
    tempData = (receBuf[4]<<8) + receBuf[5];
    tempData = tempData * 2; //數據個數
    tempData += 9;       //從詢問數據包格式可知,receCount應該等于9+byteCount
    if(receCount >= tempData)
    {
     if(receBuf[0]==localAddr )
     {
      crcData = crc16(receBuf,tempData-2);
      if(crcData == (receBuf[tempData-2]<<8)+ receBuf[tempData-1])
      {
       presetMultipleRegisters(); 
      }
     }
     receCount = 0;
    }
    break;
   }  
   default: break; 
  }
 }
}//void checkComm0(void)
/*******************************讀取寄存器內容函數 **************************/
////函數功能:根據寄存器地址讀取相應寄存器內容
/****************************************************************************/
//取寄存器值 返回0表示成功
uint16 getRegisterVal(uint16 addr,uint16 *tempData)
{
 uint16 result = 0;
 uint16 tempAddr;

 tempAddr = addr & 0xfff;

 switch(tempAddr & 0xff)
 {
  case 0x00:{ *tempData = TempRegister; break; }//讀取01開關A溫度
  case 0x01:{ *tempData = TempRegister; break; }//讀取01開關A溫度
  case 0x02:{ *tempData = TempRegister; break; }//讀取01開關A溫度
  case 0x03:{ *tempData = TempRegister; break; }//讀取01開關周邊溫度
  case 0x04:{ *tempData = TempRegister; break; }//讀取02開關A溫度
  case 0x05:{ *tempData = TempRegister; break; }//讀取02開關A溫度
  case 0x06:{ *tempData = TempRegister; break; }//讀取02開關A溫度
  case 0x07:{ *tempData = TempRegister; break; }//讀取02開關周邊溫度
  case 0x08:{ *tempData = TempRegister; break; }//讀取03開關A溫度
  case 0x09:{ *tempData = TempRegister; break; }//讀取03開關A溫度
  case 0x0a:{ *tempData = TempRegister; break; }//讀取03開關A溫度
  case 0x0b:{ *tempData = TempRegister; break; }//讀取03開關周邊溫度
  case 0x0c:{ *tempData = TempRegister; break; }//讀取04開關A溫度
  case 0x0d:{ *tempData = TempRegister; break; }//讀取04開關A溫度
  case 0x0e:{ *tempData = TempRegister; break; }//讀取04開關A溫度
  case 0x0f:{ *tempData = TempRegister; break; }//讀取04開關周邊溫度
  case 0x10:{ *tempData = TempRegister; break; }//讀取05開關A溫度
  case 0x11:{ *tempData = TempRegister; break; }//讀取05開關A溫度
  case 0x12:{ *tempData = TempRegister; break; }//讀取05開關A溫度
  case 0x13:{ *tempData = TempRegister; break; }//讀取05開關周邊溫度
  case 0x14:{ *tempData = TempRegister; break; }//讀取06開關A溫度
  case 0x15:{ *tempData = TempRegister; break; }//讀取06開關A溫度
  case 0x16:{ *tempData = TempRegister; break; }//讀取06開關A溫度
  case 0x17:{ *tempData = TempRegister; break; }//讀取06開關周邊溫度
  case 0x18:{ *tempData = TempRegister; break; }//讀取07開關A溫度
  case 0x19:{ *tempData = TempRegister; break; }//讀取07開關A溫度
  case 0x1a:{ *tempData = TempRegister; break; }//讀取07開關A溫度
  case 0x1b:{ *tempData = TempRegister; break; }//讀取07開關周邊溫度
  case 0x1c:{ *tempData = TempRegister; break; }//讀取08開關A溫度
  case 0x1d:{ *tempData = TempRegister; break; }//讀取08開關A溫度
  case 0x1e:{ *tempData = TempRegister; break; }//讀取08開關A溫度
  case 0x1f:{ *tempData = TempRegister; break; }//讀取08開關周邊溫度
  case 0x20:{ *tempData = TempRegister; break; }//讀取09開關A溫度
  case 0x21:{ *tempData = TempRegister; break; }//讀取09開關A溫度
  case 0x22:{ *tempData = TempRegister; break; }//讀取09開關A溫度
  case 0x23:{ *tempData = TempRegister; break; }//讀取09開關周邊溫度
  case 0x24:{ *tempData = TempRegister; break; }//讀取10開關A溫度
  case 0x25:{ *tempData = TempRegister; break; }//讀取10開關A溫度
  case 0x26:{ *tempData = TempRegister; break; }//讀取10開關A溫度
  case 0x27:{ *tempData = TempRegister; break; }//讀取10開關周邊溫度
  case 0x28:{ *tempData = TempRegister; break; }//讀取11開關A溫度
  case 0x29:{ *tempData = TempRegister; break; }//讀取11開關A溫度
  case 0x2a:{ *tempData = TempRegister; break; }//讀取11開關A溫度
  case 0x2b:{ *tempData = TempRegister; break; }//讀取11開關周邊溫度
  case 0x2c:{ *tempData = TempRegister; break; }//讀取12開關A溫度
  case 0x2d:{ *tempData = TempRegister; break; }//讀取12開關A溫度
  case 0x2e:{ *tempData = TempRegister; break; }//讀取12開關A溫度
  case 0x2f:{ *tempData = TempRegister; break; }//讀取12開關周邊溫度
  case 0x30:{ *tempData = TempRegister; break; }//讀取13開關A溫度
  case 0x31:{ *tempData = TempRegister; break; }//讀取13開關A溫度
  case 0x32:{ *tempData = TempRegister; break; }//讀取13開關A溫度
  case 0x33:{ *tempData = TempRegister; break; }//讀取13開關周邊溫度
  case 0x34:{ *tempData = TempRegister; break; }//讀取14開關A溫度
  case 0x35:{ *tempData = TempRegister; break; }//讀取14開關A溫度
  case 0x36:{ *tempData = TempRegister; break; }//讀取14開關A溫度
  case 0x37:{ *tempData = TempRegister; break; }//讀取14開關周邊溫度
  case 0x38:{ *tempData = TempRegister; break; }//讀取15開關A溫度
  case 0x39:{ *tempData = TempRegister; break; }//讀取15開關A溫度
  case 0x3a:{ *tempData = TempRegister; break; }//讀取15開關A溫度
  case 0x3b:{ *tempData = TempRegister; break; }//讀取15開關周邊溫度
  case 0x3c:{ *tempData = TempRegister; break; }//讀取16開關A溫度
  case 0x3d:{ *tempData = TempRegister; break; }//讀取16開關A溫度
  case 0x3e:{ *tempData = TempRegister; break; }//讀取16開關A溫度
  case 0x3f:{ *tempData = TempRegister; break; }//讀取16開關周邊溫度
  case 0x40:{ *tempData = TempRegister; break; }//讀取17開關A溫度
  case 0x41:{ *tempData = TempRegister; break; }//讀取17開關A溫度
  case 0x42:{ *tempData = TempRegister; break; }//讀取17開關A溫度
  case 0x43:{ *tempData = TempRegister; break; }//讀取17開關周邊溫度
  case 0x44:{ *tempData = TempRegister; break; }//讀取18開關A溫度
  case 0x45:{ *tempData = TempRegister; break; }//讀取18開關A溫度
  case 0x46:{ *tempData = TempRegister; break; }//讀取18開關A溫度
  case 0x47:{ *tempData = TempRegister; break; }//讀取18開關周邊溫度
  case 0x48:{ *tempData = TempRegister; break; }//讀取19開關A溫度
  case 0x49:{ *tempData = TempRegister; break; }//讀取19開關A溫度
  case 0x4a:{ *tempData = TempRegister; break; }//讀取19開關A溫度
  case 0x4b:{ *tempData = TempRegister; break; }//讀取19開關周邊溫度
  case 0x4c:{ *tempData = TempRegister; break; }//讀取20開關A溫度
  case 0x4d:{ *tempData = TempRegister; break; }//讀取20開關A溫度
  case 0x4e:{ *tempData = TempRegister; break; }//讀取20開關A溫度
  case 0x4f:{ *tempData = TempRegister; break; }//讀取20開關周邊溫度
  case 0x50:{ *tempData = TempRegister; break; }//讀取21開關A溫度
  case 0x51:{ *tempData = TempRegister; break; }//讀取21開關A溫度
  case 0x52:{ *tempData = TempRegister; break; }//讀取21開關A溫度
  case 0x53:{ *tempData = TempRegister; break; }//讀取21開關周邊溫度
  case 0x54:{ *tempData = TempRegister; break; }//讀取22開關A溫度
  case 0x55:{ *tempData = TempRegister; break; }//讀取22開關A溫度
  case 0x56:{ *tempData = TempRegister; break; }//讀取22開關A溫度
  case 0x57:{ *tempData = TempRegister; break; }//讀取22開關周邊溫度
  case 0x58:{ *tempData = TempRegister; break; }//讀取23開關A溫度
  case 0x59:{ *tempData = TempRegister; break; }//讀取23開關A溫度
  case 0x5a:{ *tempData = TempRegister; break; }//讀取23開關A溫度
  case 0x5b:{ *tempData = TempRegister; break; }//讀取23開關周邊溫度
  case 0x5c:{ *tempData = TempRegister; break; }//讀取24開關A溫度
  case 0x5d:{ *tempData = TempRegister; break; }//讀取24開關A溫度
  case 0x5e:{ *tempData = TempRegister; break; }//讀取24開關A溫度
  case 0x5f:{ *tempData = TempRegister; break; }//讀取24開關周邊溫度
  case 0x60:{ *tempData = TempRegister; break; }//讀取25開關A溫度
  case 0x61:{ *tempData = TempRegister; break; }//讀取25開關A溫度
  case 0x62:{ *tempData = TempRegister; break; }//讀取25開關A溫度
  case 0x63:{ *tempData = TempRegister; break; }//讀取25開關周邊溫度
  case 0x64:{ *tempData = TempRegister; break; }//讀取26開關A溫度
  case 0x65:{ *tempData = TempRegister; break; }//讀取26開關A溫度
  case 0x66:{ *tempData = TempRegister; break; }//讀取26開關A溫度
  case 0x67:{ *tempData = TempRegister; break; }//讀取26開關周邊溫度
  case 0x68:{ *tempData = TempRegister; break; }//讀取27開關A溫度
  case 0x69:{ *tempData = TempRegister; break; }//讀取27開關A溫度
  case 0x6a:{ *tempData = TempRegister; break; }//讀取27開關A溫度
  case 0x6b:{ *tempData = TempRegister; break; }//讀取27開關周邊溫度
  case 0x6c:{ *tempData = TempRegister; break; }//讀取28開關A溫度
  case 0x6d:{ *tempData = TempRegister; break; }//讀取28開關A溫度
  case 0x6e:{ *tempData = TempRegister; break; }//讀取28開關A溫度
  case 0x6f:{ *tempData = TempRegister; break; }//讀取28開關周邊溫度
  case 0x70:{ *tempData = TempRegister; break; }//讀取29開關A溫度
  case 0x71:{ *tempData = TempRegister; break; }//讀取29開關A溫度
  case 0x72:{ *tempData = TempRegister; break; }//讀取29開關A溫度
  case 0x73:{ *tempData = TempRegister; break; }//讀取29開關周邊溫度
  case 0x74:{ *tempData = TempRegister; break; }//讀取30開關A溫度
  case 0x75:{ *tempData = TempRegister; break; }//讀取30開關A溫度
  case 0x76:{ *tempData = TempRegister; break; }//讀取30開關A溫度
  case 0x77:{ *tempData = TempRegister; break; }//讀取30開關周邊溫度

  case 0x78:{ *tempData = localAddr; break; }//讀取設備地址
  case 0x79:{ *tempData = BAUD; break; }//讀取串口通信波特率   
  case 0x7a:{ *tempData = TEMP_Alert; break; }//讀取報警溫度上限 

  case 0x7b:{ *tempData = TempRegister; break; }//讀取年寄存器 
  case 0x7c:{ *tempData = TempRegister; break; }//讀取月寄存器 
  case 0x7d:{ *tempData = TempRegister; break; }//讀取日寄存器 
  case 0x7e:{ *tempData = TempRegister; break; }//讀取時寄存器 
  case 0x7f:{ *tempData = TempRegister; break; }//讀取分寄存器 
  case 0x80:{ *tempData = TempRegister; break; }//讀取秒寄存器 
  default:  break; 
 }
 return result;
}//uint16 getRegisterVal(uint16 addr,uint16 &data)
/*******************************設置寄存器內容函數 **************************/
////函數功能:根據寄存器地址設置相應寄存器內容
/****************************************************************************/
//設置寄存器值 返回0表示成功
uint16 setRegisterVal(uint16 addr,uint16 tempData)
{
 uint16 result = 0;
 uint16 tempAddr;

 tempAddr = addr & 0xfff;

 switch(tempAddr & 0xff)
 {
  case 0x78:{ localAddr = tempData; break;}//設置設備地址,設備地址初始值為0x01
  case 0x79:{ BAUD = tempData; switch_BAUD(BAUD);  break;}//設置串口通信波特率,串口通信波特率寄存器值為 1:9600 , 2:14400 , 3:19200  ,初始值為1 
  case 0x7a:{ TEMP_Alert = tempData; break;}//設置報警溫度上限,報警溫度值存儲方式:精確到0.1°C,以擴大10倍的數值放在寄存器里面,例如溫度值為100.1,則讀寫值為1001 
  case 0x7b:{ TempRegister = tempData; break;}//設置年寄存器
  case 0x7c:{ TempRegister = tempData; break;}//設置月寄存器 
  case 0x7d:{ TempRegister = tempData; break;}//設置日寄存器 
  case 0x7e:{ TempRegister = tempData; break;}//設置時寄存器 
  case 0x7f:{ TempRegister = tempData; break;}//設置分寄存器 
  case 0x80:{ TempRegister = tempData; break;}//設置秒寄存器             
  default: break; 
 }

 return result;
}

/* CRC 高位字節值表 */
const uint8 code auchCRCHi[] = {
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0/**/,
    0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
    0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
    0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
    0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
    0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
    0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
    0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
    0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
    0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
    0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
    0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
    0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
    0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
    0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
    0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
    0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
    0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
    0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
    0x80, 0x41, 0x00, 0xC1, 0x81, 0x40
  } ;
/* CRC低位字節值表*/
const uint8 code auchCRCLo[] = {
    0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06/**/,
    0x07, 0xC7, 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD,
    0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09,    
    0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A,
    0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4,
    0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
    0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3,
    0xF2, 0x32, 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4,
    0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A,
    0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29,
    0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED,
    0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,
    0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60,
    0x61, 0xA1, 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67,
    0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,
    0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68,
    0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E,
    0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,
    0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71,
    0x70, 0xB0, 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92,
    0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,
    0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B,
    0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B,
    0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,
    0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42,
    0x43, 0x83, 0x41, 0x81, 0x80, 0x40
  } ;

Tags:單片機C語言,modbus,協議程序  
責任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    最新推薦
    熱門文章
    • 此欄目下沒有熱點文章
    關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢
    主站蜘蛛池模板: 日韩视频一区二区在线观看 | 国产日韩精品视频 | 一本到视频 | 亚洲一区二区三区黄色 | 自拍偷拍18p | 欧美一级片黄色 | 国产伦精品一区二区三区高清版禁 | 操皮视频 | 自拍偷拍三级 | 亚洲一区在线观看视频 | 黄色在线资源 | 亚洲精品国产91 | 国产黄色激情 | 自拍偷拍在线视频 | 亚洲精品乱 | 亚洲天堂视频在线免费观看 | 国产在线观看av | 男人免费网站 | 国产偷怕 | 亚洲伊人伊色伊影伊综合网 | 色噜噜狠狠一区二区三区果冻 | 欧美久久网| 国产高清在线不卡 | 综合久久国产 | 性综合网 | 亚洲天堂一区二区 | 久久久欧洲 | 特级毛片爽www免费版 | 久久久久久久中文字幕 | 久久久精品视频在线 | 激情视频在线观看网址 | a毛片成人 | 黄色中文字幕 | 亚洲美女福利视频 | 青青草www| 天天操狠狠操 | 91黄色大片 | 欧美一区二区成人 | 亚洲视频免费观看 | 一级特黄aaa | 亚洲青涩在线 | 不卡精品视频 | 青草视频免费在线观看 | 日本在线免费视频 | 日本三级日本三级日本三级极 | 中文在线字幕av | a级片在线 | 91国在线 | 亚洲成人激情小说 | 国产欧美日韩综合精品一区二区 | 亚洲精品国产一区二区三区四区在线 | 黑人黄色大片 | 香蕉久久夜色精品升级完成 | 136微拍宅男导航在线 | 日本免费高清 | 久久久片| 午夜影院免费观看 | 窝窝午夜视频 | 少妇精品高潮欲妇又嫩中文字幕 | 久久免费中文字幕 | 99久久综合国产精品二区 | 国产成人短视频 | 国产成人综合亚洲 | 日韩一区二区免费在线观看 | 法国意大利性经典xxxxx | 污污网站在线免费观看 | 亚洲美女高潮久久久 | 91av视频在线免费观看 | 在线观看黄色av | 国产97在线视频 | 国产欧美一区二区三区在线看蜜臂 | 超碰在线免费公开 | 亚洲精品二区 | 91精品国产色综合久久不卡98 | 日美毛片 | 亚洲不卡免费视频 | 日韩精品视频一区二区三区 | 精品国产乱码久久久久久108 | 国产网站黄色 | 久久精品一级片 | 精品在线视频一区 | 四虎影视免费永久大全 | 亚洲午夜精品久久久久久浪潮 | 爆操巨乳 | 中文字幕视频免费观看 | 亚洲a图 | 欧美毛片在线 | 欧美另类极品videosbest使用方法 | 诱惑の诱惑筱田优在线播放 | 久久久久久久久久久影院 | www.久操 | 午夜精品久久久久久久99热浪潮 | 欧美色图五月天 | 中文字幕理论片 | 四色永久访问 | 美国成人免费视频 | 国产女主播福利 | 国产自产视频 | 91美女福利视频 | 狠狠做 | 污污网站免费在线观看 | 农村妇女毛片精品久久久 | 国产在线一区二区 | 插插插干干干 | 国产精品第13页 | 黄p在线播放 | 伊人爱爱网 | 午夜性爽视频 | 亚洲奶汁xxxx哺乳期 | 天堂综合| 91亚洲国产成人久久精品网站 | 三上悠亚亚洲一区 | 美女精品 | 国产视频1区2区 | 国产精品羞羞答答在线 | 精品视频三区 | 亚洲国产综合一区 | 波多野结衣激情视频 | 人人看人人射 | 亚洲欧美999| 国产乱国产乱300精品 | 中文字幕三级 | 精品欧美一区二区三区久久久 | 快射视频在线观看 | 天天操免费视频 | 日韩国产一级 | 中文无码日韩欧 | 欧美xxxx性| 在线性视频 | 一级片一区二区三区 | 一级黄色a视频 | 中文字幕97 | 青娱乐国产精品 | 国产成人精品一区二 | 免费萌白酱国产一区二区三区 | 色在线网站| 日本黄视频网站 | 天使色吧 | brazzers欧美一区二区 | 亚洲欧美综合精品久久成人网无毒不卡 | 国产一级一区二区 | 在线免费观看午夜视频8 | 在线日韩一区二区 | 四虎国产视频 | 黄色成人免费视频 | 午夜成年人视频 | av手机在线免费观看 | 亚洲天天综合网 | 欧美日韩不卡 | 国产日韩精品视频 | 午夜一级黄色大片 | 五月婷婷在线观看 | 曰韩中文字幕 | 天天操夜夜操视频 | 日本黄色一区二区三区 | 中文字幕国产视频 | 一区二区视频欧美 | 色呦呦视频 | www在线视频 | 91精品国产色综合久久不卡粉嫩 | 一区二区亚洲视频 | 一本综合久久 | 亚洲a人| 在线视频二区 | 午夜成人影视 | 91美女网站 | 九九精品免费视频 | 国产精品片 | 自拍第二页| 一级黄色播放 | 91看片淫黄大片 | 精品三级在线观看 | 灌满闺乖女h高h调教尿h | 国产一区精品在线 | 欧美精品影院 | 日本黄色视屏 | 黄色片视频在线观看 | 91亚洲日本aⅴ精品一区二区 | 毛片导航| 伊久久| 黄色三级三级三级三级 | 久久久久国产精品午夜一区 | 国产精品视频一区二区三区四区国 | 色综合天天综合 | 亚洲系列在线观看 | 日本三级视频在线观看 | 青青草原av| 三级视频在线看 | 亚洲精品午夜国产va久久成人 | 天堂激情网| a级片黄色| 小视频在线看 | 成人蜜桃av| av免费观看在线 | 日韩福利视频 | 成人免费观看网站 | 性涩av | 自拍偷拍 校园春色 | av看片网站| 成人性生生活性生交3 | 国产激情av | 国产男女啪啪 | 在线看a网站 | 亚洲a视频在线 | 96视频在线观看 | 中文字幕观看 | 久久好色 | 日本欧美一本 | 浪荡奴双性跪着伺候 | 可以免费看的毛片 | 色就是色综合 | 国产精品久久久久久久久久久久久久久久久 | 日韩av高清在线播放 | 9191av| 久久精品网 | 亚洲最大黄色网址 | 欧美激情区 | 欧美视频成人 | 久久九| 婷婷丁香花五月天 | 国产日产精品一区二区三区 | 国产激情精品视频 | 中国精品一区二区 | 国产一区二区三区四区视频 | 久久久午夜视频 | 欧美黑人疯狂性受xxxxx野外 | 成人黄色免费观看 | 国语自产偷拍精品视频 | 少妇一级淫片免费放 | 爱爱色图 | 亚洲www色| 国产久精品 | 精品视频一区二区在线观看 | 99热网址| 波多野结衣成人在线 | 六月丁香婷婷综合 | 久久国产精品毛片 | 欧美日韩成人在线观看 | 黄色免费高清 | 免费三片在线观看网站v888 | 国产日韩精品一区二区 | 91蝌蚪91九色 | 丁香五香天堂网 | 欧美亚洲天堂网 | 成人欧美日韩 | 大伊人久久 | 久久99久久98精品免观看软件 | 全部免费毛片 | 天天干天天透 | 黑人日批视频 | 亚洲精品二区 | 韩国三级黄色 | 精品国产乱码久久久久夜 | 国产精品久久久久久在线 | 免费在线毛片 | 国产三级在线 | 久久精品国产99国产 | 亚洲欧美不卡 | 狠狠躁夜夜躁人爽 | 久久成人免费网站 | 免费成人美女女 | 久久久久久97 | 毛片网站入口 | 亚洲成人中文字幕 | 午夜精品一区二区三区免费视频 | 蜜臀久久99精品久久久 | 久久精品这里有 | 国产在线黄色 | 天天狠狠干 | 国产成人一区 | 国产精品久久久久久久久免费相片 | 在线se| 在线观看欧美一区 | 成人免费视频一区二区 | 久色88 | 午夜啪啪网站 | 久久国产成人 | 亚洲深夜福利视频 | 免费视频成人 | 日本色视频 | 午夜国产在线 | 夜夜嗨av禁果av粉嫩avhd | 国产一区二区三区久久久 | 落日余晖图片 | 在线观看亚洲精品视频 | av在线等| 国产一页 | 中文字幕av在线 | 亚洲视频国产精品 | 91在线视频在线观看 | 国产亚洲欧美一区 | 亚洲骚片| 超碰av在线播放 | 久草福利在线观看 | 好吊色视频一区二区 | 久久一级大片 | www.日本黄| 天堂在线免费观看视频 | 草在线| 精品国产毛片 | 国产77777| 亚洲精品1区2区3区 国产免费一级视频 | 男女一级片 | 国产三级韩国三级日本带黄 | 亚洲激情视频网站 | 国产3级 | 国产猛男猛女超爽免费视频 | 亚洲日本精品视频 | 88av网站 | 黄网址在线 | 伊人22综合| 伦理自拍 | 久久视频免费 | 五月天色小说 | 男人免费网站 | 色偷偷视频| 欧美特级特黄aaaaaa在线看 | 欧美日韩国产精品一区二区三区 | 91精品国产91久久久 | 六月丁香综合网 | 中文字幕亚洲综合 | 国产精品久久久久久久裸模 | 国产一级片一区二区三区 | 国内精品久久久久久久久久 | 老司机一区二区三区 | 国产污污视频在线观看 | 夜夜干夜夜| 日韩欧美国产一区二区 | 青娱乐91| 亚洲黄业 | 91视频免费观看网站 | 在线视频第一页 | 欧美成人一二三区 | 奇米网888 | 二级毛片视频 | av在线中文 | 亚洲激情视频在线播放 | 又黄又爽视频在线观看 | 国产人澡人澡澡澡人视频 | 不卡一区二区在线观看 | 夜夜躁恨恨躁爱躁 | 亚洲字幕| 国产精品久久久久一区二区三区 | 免费色网站 | 男女午夜视频在线观看 | 黄色三级在线 | 国产免费二区 | 亚洲成人精品一区二区三区 | 在线a网| 成人午夜精品久久久久久久网站 | 99色婷婷 | 日韩国产网站 | 奇米影视色 | 欧美激情在线 | 国产精品美女久久久久av爽 | 一级片在线免费观看视频 | 九九精品国产 | 成人免费视频网址 | 日本乱偷中文字幕 | 伊人射| 天天拍夜夜拍 | 美女av黄 | 九九热视频在线观看 | 免费在线观看一区二区 | 色优久久 | 最新中文字幕在线 | 午夜国产免费 | 欧美一级淫 | 成人网色 | www色| 日韩在线一二三区 | 欧美三级在线播放 | 在线看一区 | 国产高清免费 | 在线二区 | 日本久久综合网 | 久久久一本精品99久久精品66 | 国产精品视频网 | 四虎永久免费影院 | 中文字幕免费视频观看 | 动漫一区二区 | 91成人免费网站 | 白白色免费在线视频 | 欧美巨大乳| 精品卡一卡二卡3卡高清乱码 | 亚洲图片小说视频 | 毛片基地在线观看 | 在线观看欧美一区二区三区 | 8090av| 色噜噜在线播放 | 国产在线不卡 | 超碰男人天堂 | 天天操人人干 | 黄色精品在线 | 久久人爽 | 国产冒白浆 | 欧美性大战久久久久久久蜜桃 | www日韩精品 | 亚洲激情黄色 | 亚洲图片偷拍区 | 九七精品 | 国产91精品看黄网站在线观看 | 精品亚洲一区二区三区四区五区高 | 波多野结衣av在线免费观看 | 欧美亚洲精品天堂 | 亚洲精品精 | 在线观看www. | 九九热精品在线视频 | 国产国拍精品亚洲 | 国产v片在线观看 | 国产精品初高中害羞小美女文 | 天天久久综合 | 深爱五月网 | 尤物网站在线观看 | av在线播放一区 | 4438xx亚洲五月最大丁香 | 中文字幕第五页 | 九月婷婷 | 成人拍拍 | 色视频在线观看免费 | 精品久久久久久久久久久久久久久久久久 | 国产又粗又猛又爽又 | 国产h视频在线观看 | 欧美一区二区三区不卡视频 | 亚洲国产精品嫩草影院 | av站| 色八区 | 在线观看亚洲国产 | 丁香婷婷激情 | 97精品国产97久久久久久免费 | 97精品久久人人爽人人爽 | 中文字幕av在线播放 | 国产盗摄xxxx视频xxxx | 成人深夜视频在线观看 | 激情777 | 香蕉视频免费在线看 | 丰满少妇一区二区三区专区 | 中文字幕在线天堂 | 久久久极品 | 日韩手机看片 | 色综合久久久久久久 | 亚洲男人在线天堂 | 白白色免费在线视频 | 91美女免费看 | 狠狠草视频 | 欧美伦理影院 | 日日干天天射 | 13日本xxxxxⅹxxx20 | 91欧美激情一区二区三区成人 | 欧美日韩视频在线 | 国产精选视频在线观看 | 亚洲欧美视频在线观看 | 国产精品免费久久久 | 久久精品探花 | 鸥美毛片 | www.youjizz视频 | 欧美乱强伦 | 色综合一区| 天天色天天看 | 国产人人爽| 欧美一页 | 插插插操操操 | 六月婷婷在线观看 | 日本一级做a爱片 | 欧美区在线观看 | 精品国产黄色 | 国产在线视频在线观看 | 日本免费一区视频 | 国产高潮视频 | 国产黄色片视频 | 国产深夜视频 | 欧美视频在线播放 | 精品久久视频 | 久久久久色 | 欧美人性生活视频 | 久久特级毛片 | 国产黄色高清视频 | 久久精品国产精品亚洲毛片 | 超碰h| 欧美成人91 | 久久99精品久久久久久水蜜桃 | 日韩福利一区 | 四虎黄色影视 | 久久激情视频 | 亚洲综合大片 | 亚洲国产tv| 亚洲精品在线观看中文字幕 | 久久精品久久久久 | 欧美在线色 | 日本国产高清 | 五月色丁香 | 亚洲综合成人亚洲 | 黄色大片免费网站 | 日韩无遮挡 | 日韩欧美一二区 | 亚洲色欧美| av深夜 | 999精品视频 | 亚洲免费精品 | 欧美性极品xxxx做受 | 日韩欧美视频一区二区 | 天天毛片 | 一级性爱视频 | 精品一区二区三区四 | 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 尤物av午夜精品一区二区入口 | 色美av| 国产激情啪啪 | 青青草综合网 | 久久青草欧美一区二区三区 | 凹凸69堂国产成人精品 | 自拍偷拍视频在线观看 | 91影院在线播放 | 成人日韩视频 | 免费的性爱视频 | 麻豆久久久久久久久久 | av大帝在线| 亚洲最大成人av | 干操网| 播放一级黄色片 | 亚洲久久久久久久 | 日本三级久久 | 91视频色 | 久久天| av片网站 | 91免费黄| 亚洲www永久成人夜色 | 日本中文字幕在线播放 | 国产欧美精品在线 | 波多野一区二区 | 天堂在线v | 中文字幕日韩精品在线 | 亚洲理论在线观看 | 日韩视频在线免费观看 | 中国av免费看 | 精品视频在线一区 | 久草资源在线视频 | 成人3d动漫在线观看 | 一区二区三区免费高清视频 | 黄色免费毛片 | 国产精品久久国产愉拍 | 玖草在线视频 | 伊人激情 | 色婷婷五 | 五月婷婷基地 | www插插插| 黄色网视频 | 免费网站www在线观看 | 黄色三级小视频 | 欧美精品久久久久久久久老牛影院 | 久久视频精品在线 | 中文字幕第28页 | 成人精品在线视频 | 欧美 | 91国产丝袜在线播放 | 黄色大片网站 | 久久99久久98精品免观看软件 | 好吊操这里有精品 | 精品三级av | 亚洲无吗在线观看 | 国产性―交一乱―色―情人免费看 | 亚洲天堂网络 | 日韩精品久久久久久久酒店 | 亚洲精品在线观看视频 | 免费一二区 | 国产成人精品影院 | 国产黄色91 | 久久99热这里只频精品6学生 | 日日操天天 | 最新黄网| 在线视频免费观看一区 | 香蕉国产在线观看 | 亚洲自拍偷拍网站 | 色眯眯视频 | 免费黄网站在线看 | 日韩av一级片 | av国产成人 | 一区二区免费 | 成人aaaa | 蜜桃91麻豆精品一二三区 | 国产在线观看黄 | 欧美激情国产精品免费 | 国产免费一级一级 | 欧美中文在线观看 | 91久久精品夜夜躁日日躁欧美 | 成人www | 亚洲激情在线视频 | 日本伊人影院 | 自拍一级片| 日本无遮羞调教打屁股网站 | www.国产麻豆| 国产黄色免费观看 | 天天草夜夜| 国产黄色三级网站 | 一本久久精品久久综合桃色 | 粉嫩av在线播放 | 亚州国产 | 精品国产精品三级精品av网址 | 国产午夜在线播放 | 亚洲国产精品久久久久婷婷老年 | 99色热 | 国产aⅴ爽av久久久久成人 | 欧美午夜在线视频 | 老鸭窝久久| 中文字幕有码在线 | 夫妻啪啪呻吟x一88av | 日本不卡在线播放 | 久久久久看片 | 不卡在线 | 亚洲毛片在线观看 | 韩日精品视频 | 91嫩草欧美久久久九九九 | 欧美一区日韩一区 | 国产又大又黄又爽 | 欧美乱人伦 | a√天堂中文字幕在线 | av在线免费资源 | 日韩免费看片 | 成人黄色免费网站在线观看 | 国产三级久久久久 | 综合中文字幕 | www.婷婷色| 一级视频在线观看 | 午夜男人影院 | 亚洲在线观看视频 | 国产一区二区网站 | 蜜桃av在线免费观看 | 国产精品玖玖玖 | 国产性久久 | 不卡视频免费在线观看 | av中字| 亚洲一区在线视频 | 亚洲欧洲av在线 | 日日操夜夜干 | 顶级嫩模啪啪呻吟不断好爽 | 性生生活大片又黄又 | 欧美不卡在线观看 | 激情文学影院 | 亚洲无人区码一码二码三码 | 国产理论视频在线观看 | 青娱乐国产盛宴 | 91桃色网站| 亚洲精品成人av | 久久一区二 | 经典一区二区 | 在线看国产精品 | 午夜毛片在线 | av老司机在线播放 | 成人av日韩 | 色一情一乱一乱一区91av | 亚洲第六页 | 97超碰自拍 | 中文字幕乱码在线 | 天天射综合网站 | 亚洲激情综合 | 人人爽人人插 | 日本视频在线免费观看 | 91成人品 | 五月丁香 | 日本最新中文字幕 | 成人一二三四区 | 国产影视av| 免费激情视频网站 | 在线国产视频 | 91视频免费网址 | 小草毛片| 91精品国产自产91精品 | 欧美一级影院 | 禁断介护一区二区在线 | 亚洲午夜一区 | aa亚洲| 草草影院在线观看视频 | 久久精品美女 | 亚洲欧洲一区二区三区 | 91视频网址 | 中文字幕高清在线免费播放 | 最近更新中文字幕第一页 | 综合久久av | 一级黄色片片 | 精品视频免费观看 | 国产又粗又猛又爽 | 色小姐综合 | 亚洲v在线 | 亚洲精品国产精品乱码不99按摩 | 国产精成人品免费观看 | 国产黄色精品视频 | 欧美一级特黄视频 | 91色在线 | 天天操天天做 | 真实偷拍激情啪啪对白 | 在线看成人av | 最新国产网址 | 在线观看黄色免费视频 | 欧美精品99久久久 | 国产精品1区二区 | 小色综合| 亚洲日本中文字幕 | 欧美一级片在线播放 | 国产日本视频 | 一区二区三区在线看 | 五月婷婷色丁香 | 深夜福利在线播放 | 久久性片 | 人人爽人人澡 | 高清日韩av | 日韩不卡在线观看 | 中文成人无字幕乱码精品区 | 中文字幕在线看人 | 色综合区 | 狠狠操狠狠操 | 亚洲国产欧美视频 | 色噜噜av | 国产男女猛烈无遮挡免费视频动漫 | 亚洲国产情侣 | 超碰在线网址 | 色播欧美 | 手机在线观看免费av | 久久不卡影院 | adn—256中文在线观看 | 久久国内精品 | 亚洲欧美日韩在线播放 | 欧美xxxx视频| 国产精品久久久久aaaa | 91久久一区| 久艹av| 看片网址国产福利av中文字幕 | 午夜av免费在线观看 | 亚洲欧美日韩综合在线 | 男女视频国产 | 亚洲奶汁xxxx哺乳期 | 亚洲欧洲一区二区三区 | 国产精品xxxx喷水欧美 | 成人一级黄色 | 亚洲在线网站 | 欧美国产综合视频 | 91国视频| 黄色片网站在线免费观看 | 日本久久一级片 | 91av导航 | av网在线| 色很久 | 少妇激情网 | 人人澡超碰碰97碰碰碰 | 一级黄色高清 | 青青草一区 | 毛片综合 | 欧美日韩在线观看视频 | 国产成人精品一区二三区 | 99热播| 精品国产乱码久久 | 欧美不在线 | 日韩成人不卡 | 国产a视频 | 88av视频在线观看 | 欧美日韩免费在线观看 | 亚洲天堂日韩av | 久热精品视频在线 | 在线不卡日韩 | 国产激情精品 | 91尤物国产福利在线观看 | 色婷婷综合成人 | 亚洲国产综合av | 日韩av在线资源 | 青青青免费在线视频 | 99久久精品国产一区二区三区 | 九九在线视频 | 午夜99| 91色区 | 超碰97人人草 | 性生交生活影碟片 | 日韩精品在线观看视频 | 国产高清日韩 | 欧美 亚洲 | 色噜噜一区二区三区 | 校园春色亚洲激情 | 日韩黄网站 | 成人超碰 | 男人插女人下面视频 | 91在线观 | 狠狠操网 | 亚洲最大福利网站 | 黄色资源在线播放 | 中文字幕在线免费 | 亚洲宗人网| 天天谢天天干 | 在线va视频 | 97在线超碰 | 久久久久资源 | 亚洲性猛交富婆 | 美女久久 | 干干干操操操 | 亚洲精品播放 | 日本久久综合网 | 欧美野外猛男的大粗鳮 | 黄色在线免费观看网站 | 久久人爽 | 91挑色| 天天插日日干 | 色噜噜狠狠狠综合曰曰曰 | 久久福利国产 | 国产高潮流白浆喷水视频 | 亚洲天堂网在线视频 | 精品免费在线 | 亚洲欧美自拍偷拍视频 | 中国特级毛片 | 免费一区二区三区四区 | 另类小说av | 日韩av在线播 | 国产乱人乱偷精品视频a人人澡 | 日韩国产精品一区二区 | 免费黄在线 | 99re免费视频 | 性生活视频软件 | 一区二区三区精品视频在线观看 | 欧美一区二区在线视频 | 亚洲自拍偷拍一区二区 | 亚洲欧美日本另类 | 性生交生活影碟片 | 亚洲激情视频网 | 亚洲超碰av | 视频在线观看网站免费 | 国产伦精品一区二区三区在线 | 免费视频成人 | 国产视频999| 亚洲综合网址 | wwwwww国产| 国产伦精品视频一区二区三区 | 欧美成人专区 | 亚洲自拍偷拍一区二区 | 亚洲久草av | 久久少妇网 | 亚洲 自拍 另类 欧美 丝袜 | 四虎视频国产精品免费入口 | 黄色a一级视频 | 91成人免费在线视频 | 91精品国产自产 | 日韩香蕉视频 | 国产资源久久 | 俄罗斯破处 | 性色福利 | 天天夜夜人人 | 性感美女一级片 | 国产免费拔擦拔擦8x在线播放 | 国产在线精 | 日韩黄色视屏 | 国产高清视频免费 | 毛片黄色一级 | 91在线一区 | 欧美亚洲黄色 | 久久综合高清 | 97在线公开视频 | 二级黄色片 | 成年人视频在线 | www四虎影院 | 在线观看免费观看在线 | 探花视频在线版播放免费观看 | 中文字幕首页 | 久久天天躁夜夜躁狠狠 | 亚洲成av人片在线观看无码 | 一级黄色大片免费观看 | 99免费精品视频 | 久一视频在线观看 | 日本亚洲一区 | 嫩草影院一区二区 | 国产在线高清视频 | 香蕉视频在线免费 | 97久久香蕉国产线看观看 | 一区二区免费高清视频 | 日本大尺度吃奶做爰久久久绯色 | 黄网站色成年片高清 | 男女激情免费网站 | 91av在线免费观看 | 久久精品视频久久 | 国产精品久久久久一区二区 | 一本加勒比hezyo综合 | 精品成人av一区二区三区 | 国产午夜精品久久久久 | 91久久国语露脸精品国产高跟 | 欧美精品免费一区二区三区 | 国产三级国产精品国产普男人 | 亚洲免费观看av | 99资源站 | 91亚洲国产成人精品一区二区三 | 天堂中文字幕 | 99热这里只有精品1 成人午夜精品视频 | 国产一区二区在线不卡 | 国产精品99久久久久久一区二区 | www插插插 | 又湿又紧又大又爽a视频国产 | 午夜刺激视频 | 99热热99 | 中日韩中文字幕 | 日本激情影院 | 欧美日韩另类视频 | 夜夜精品视频 | 色婷婷激情av | 高清国产一区 | 色一情一交一乱一区二区三区 | 中文字字幕在线中文乱码 | 国产毛片a级 | 国产黄色在线免费看 | 欧美亚洲第一页 | 在线观看www. | 亚洲夜夜夜 | 亚洲欧洲精品在线 | 日韩欧美一区二区在线 | 精品国产户外野外 | 欧美黄色一级视频 | 亚洲美女综合 | 免费在线小视频 | 蜜桃av成人永久免费 | 亚洲第一伊人 | 亚洲综合五月天婷婷丁香 | 亚洲成人一级片 | 日韩av一区二区三区在线观看 | 国产精品久久久久久久免费 | 国产三区在线成人av | 亚洲一a| 日韩欧美www | 日韩成人在线观看 | 亚洲综合大片69999 | 伊人网中文字幕 | 亚洲天堂手机版 | 亚洲欧洲中文字幕 | 97香蕉久久超级碰碰高清版 | 最新国产在线视频 | 国产一区二区日韩 | 国产精品一区二区毛片 | 国产精品制服诱惑 | 8x国产一区二区三区精品推荐 | 调教一区 | 在线观看精品 | 亚洲无打码 | 91片黄在线观看 | 国产成人精品av久久 | 欧美综合视频在线 | 日韩免费视频观看 | 伊人影院在线视频 | 狠狠爱综合网 | 日本亚洲最大的色成网站www | 午夜精品久久久久久久第一页按摩 | 国产区免费 | 日韩国产在线播放 | 欧美黄色一级大片 | 久操这里只有精品 | 激情第一页 | 娇小6一8小毛片 | 精品视频久久 | 91av在线播放| 亚洲天堂中文 | 一一级黄色片 | 欧美激情天堂 | 久久久久久夜 | 日韩精品h | 亚洲欧美在线综合 | 欧美日韩少妇 | 中国三级视频 | 久久婷婷精品 | 国产亚洲综合一区二区 | www天天干 | 成人免费视频一区 | 在线播放免费av | 激情在线网站 | 伊人狼人综合 | 欧美成人免费看 | 国产a级免费视频 | 日韩精品无 | www国产| 伊人久久久久久久久久久久久 | 国产高清成人久久 | 伊人影院在线观看视频 | www.99视频| 一区二区三区不卡视频 | 国产精品久久久久久久久免费相片 | 91久久精品一区 | 一本到在线视频 | 一极毛片| 国产乡下妇女做爰视频 | 亚洲国产中文字幕在线观看 | 亚洲人成激情在线播放国 | av综合久久 | 奇米第四色首页 | 在线观看网址你懂的 | wwww在线观看| 超碰97色| 亚洲综合久久久久 | 国产精品视频一二三 | 久久久久久久久久一区二区三区 | 黄色三级免费网站 | 在线色网 | 在线一区视频 | 麻豆精品免费观看 | 亚洲我不卡 | 韩国特级毛片 | 亚洲天天视频 | 黄片毛片在线观看 | 成人免费午夜视频 | 国产精品色网 | 99精品久久久久久 |