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

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機(jī)實(shí)例 >> 正文

單片機(jī)c語言編寫的51單片機(jī)modbus協(xié)議程序

作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時間:2018/12/19
單片機(jī)c語言編寫的51單片機(jī)modbus協(xié)議程序,代碼如下:

#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; //單片機(jī)控制板的地址
uint8 sendCount;  //發(fā)送字節(jié)個數(shù)
uint8 receCount;    //接收到的字節(jié)個數(shù)
//uint8 sendPosi;    //發(fā)送位置

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);


/*****************************波特率調(diào)整函數(shù) ********************************/
////函數(shù)功能:調(diào)整串口通信波特率
////串口工作在工作方式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;        //關(guān)閉串口中斷
 TH1=TL1=-(FOSC/12/32/BAUD);     //設(shè)置波特率
 TR1=1;        //開啟定時器1
 ES=1;        //使能串口中斷
}
/***************************CRC校驗(yàn)碼生成函數(shù) ********************************/
////函數(shù)功能:生成CRC校驗(yàn)碼
////本代碼中使用查表法,以提高運(yùn)算速度
/****************************************************************************/
uint16 crc16(uint8 *puchMsg, uint16 usDataLen)
{
 uint8 uchCRCHi = 0xFF ; /* 高CRC字節(jié)初始化 */
 uint8 uchCRCLo = 0xFF ; /* 低CRC 字節(jié)初始化 */
 uint16 uIndex ; /* CRC循環(huán)中的索引 */
 while (usDataLen--) /* 傳輸消息緩沖區(qū) */
 {
  uIndex = uchCRCHi ^ *puchMsg++ ; /* 計算CRC */
  uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex] ;
  uchCRCLo = auchCRCLo[uIndex] ;
 }
 return (uchCRCLo << 8 | uchCRCHi) ;
}//uint16 crc16(uint8 *puchMsg, uint16 usDataLen)
/*******************************串口發(fā)送函數(shù) ********************************/
////函數(shù)功能:將數(shù)據(jù)包通過串口發(fā)送至主機(jī)
////有待修改......
/****************************************************************************/
//開始發(fā)送
void Begin_send(void)
{
 uint16 i=0;
 while(sendCount--)
 {
  SBUF = sendBuf[i++];
  while(!TI);
 }
}

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

////////////// 響應(yīng)數(shù)據(jù)包格式:
///////////////////////// sendBuf[0] sendBuf[1]  sendBuf[[2]    sendBuf[3]  sendBuf[4]  sendBuf[5]...    receBuf[6]   receBuf[7]
//響應(yīng)數(shù)據(jù)格式:receBuf[]={從站地址, 功能碼,    字節(jié)計數(shù),      數(shù)據(jù)1,    數(shù)據(jù)2,     數(shù)據(jù)3,...      校驗(yàn)碼低位, 校驗(yàn)碼高位}

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]; //要讀的個數(shù)
 readCount = receBuf[5];

 byteCount = readCount * 2;                  //每個寄存器內(nèi)容占高,低兩個字節(jié)

 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個字節(jié)
 crcData = crc16(sendBuf,byteCount);
 sendBuf[byteCount] = crcData & 0xff;   // CRC代碼低位在前
 byteCount++;
 sendBuf[byteCount] = crcData >> 8 ;    //高位在后

 sendCount = byteCount + 1;   //例如byteCount=49,則sendBuf[]中實(shí)際上有49+1個元素待發(fā)
 Begin_send();
}//void readRegisters(void)
/********從機(jī)響應(yīng)主機(jī)問詢函數(shù),function code : 16,設(shè)置多個寄存器值 *********/
////函數(shù)功能:叢機(jī)根據(jù)串口接收到的數(shù)據(jù)包receBuf[]里面的內(nèi)容,根據(jù)被強(qiáng)制寄存器
////的起始地址,去設(shè)置相應(yīng)寄存器的值,響應(yīng)數(shù)據(jù)包同詢問數(shù)據(jù)包
////的內(nèi)容相同,經(jīng)過串口發(fā)送到主機(jī)。
/****************************************************************************/
//////////////詢問數(shù)據(jù)包格式:
///////////////////////// receBuf[0] receBuf[1]  receBuf[2]     receBuf[3]   receBuf[4]    receBuf[5]   receBuf[6]  receBuf[7]  receBuf[8] ... receBuf[9]   receBuf[10]
//詢問數(shù)據(jù)格式:receBuf[]={從站地址, 功能碼,  起始地址高位,起始地址低位,寄存器數(shù)高位,寄存器數(shù)低位, 字節(jié)計數(shù),  數(shù)據(jù)高位,  數(shù)據(jù)低位,... 校驗(yàn)碼低位, 校驗(yàn)碼高位}
//響應(yīng)數(shù)據(jù)包內(nèi)容為除去詢問數(shù)據(jù)包中的字節(jié)計數(shù)和數(shù)據(jù)高低位的其他內(nèi)容
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];//待設(shè)置寄存器值
  setRegisterVal(tempAddr,tempData); 
 }

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

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

   case 16://設(shè)置多個寄存器
   {
    tempData = (receBuf[4]<<8) + receBuf[5];
    tempData = tempData * 2; //數(shù)據(jù)個數(shù)
    tempData += 9;       //從詢問數(shù)據(jù)包格式可知,receCount應(yīng)該等于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)
/*******************************讀取寄存器內(nèi)容函數(shù) **************************/
////函數(shù)功能:根據(jù)寄存器地址讀取相應(yīng)寄存器內(nèi)容
/****************************************************************************/
//取寄存器值 返回0表示成功
uint16 getRegisterVal(uint16 addr,uint16 *tempData)
{
 uint16 result = 0;
 uint16 tempAddr;

 tempAddr = addr & 0xfff;

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

  case 0x78:{ *tempData = localAddr; break; }//讀取設(shè)備地址
  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)
/*******************************設(shè)置寄存器內(nèi)容函數(shù) **************************/
////函數(shù)功能:根據(jù)寄存器地址設(shè)置相應(yīng)寄存器內(nèi)容
/****************************************************************************/
//設(shè)置寄存器值 返回0表示成功
uint16 setRegisterVal(uint16 addr,uint16 tempData)
{
 uint16 result = 0;
 uint16 tempAddr;

 tempAddr = addr & 0xfff;

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

 return result;
}

/* CRC 高位字節(jié)值表 */
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低位字節(jié)值表*/
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:單片機(jī)C語言,modbus,協(xié)議程序  
責(zé)任編輯:admin
相關(guān)文章列表
西門子PLC S7-200 smart如何使用Modbus 485通訊傳輸接收數(shù)據(jù)_200
S7-200和組態(tài)王的連接,cpu226 PLC 與組態(tài)王如何連接
基于S7-200SMART實(shí)現(xiàn)Modbus TCP通信_200smart modbus tcp
三菱plc FX3U與三菱E800變頻器專用指令通信應(yīng)用,IVDR指令和 IVCK
三菱PLC的modbus-rtu通訊實(shí)例_三菱小型PLC FX3U系列Modbus 通訊教
西門子200SMART與眾辰變頻器的MODBUS通信實(shí)例40001和十六進(jìn)制的轉(zhuǎn)
西門子S7-200 smart通過modbus rtu 協(xié)議采集K37A數(shù)據(jù)項(xiàng)目案例
昆侖通態(tài)MCGS觸摸屏和西門子V20變頻器之間的MODBUS通訊
Modbus通信協(xié)議介紹以及Modbus Poll、Slave軟件使用介紹_modbus 
【工具教程】Modbus Slave使用教程
干貨 | Modscan32  Modsim32 Modbus協(xié)議調(diào)試分享_modbus調(diào)試
Modscan32軟件的使用 Modsim32
西門子plc控制英威騰變頻器實(shí)例,西門子200SMART的MODBUS通訊!
施耐德PM500電量表通過MODBUS協(xié)議與組態(tài)王通訊
組態(tài)軟件的無線485通訊實(shí)例,組態(tài)王modbus通訊實(shí)例
組態(tài)王和三菱plc 基于數(shù)傳電臺的組態(tài)王控制實(shí)現(xiàn)遠(yuǎn)程采集控制器PL
KingView組態(tài)王與信捷PLC通訊解決方案 MODBUS通訊設(shè)置
KingView組態(tài)王通過modbus與第三方設(shè)備通訊,如何實(shí)現(xiàn)字節(jié)或字的
組態(tài)王modbus通信用法教程modbus-rtu、modbus-tcp莫迪康通信配置
KingView組態(tài)王如何獲取modbus TCP數(shù)據(jù)?_組態(tài)王數(shù)據(jù)轉(zhuǎn)發(fā)modbust
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網(wǎng)友評論
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
主站蜘蛛池模板: 一本一道精品欧美中文字幕 | 一级aaaa毛片 | 亚洲小说区图片区都市 | 毛片天堂 | 久久99色| 免费在线观看黄色片 | 性做久久久久久久久 | 樱花草av | 一级片一级片一级片一级片 | av天天操| 99精品一区 | 亚洲综合在线色 | 欧美成人精品二区三区99精品 | 337p亚洲精品色噜噜噜 | 成年人免费看 | 日韩精品在线不卡 | 日韩高清久久 | 日本精品入口免费视频 | 麻豆成人在线 | 成人美女视频在线观看18 | 午夜av片 | 五月天在线播放 | 成人在线中文字幕 | 久久久综合久久久 | 天天插天天操 | 在线播放亚洲视频 | 特级做a爱片免费69 日韩在线免费播放 | 拍国产真实乱人偷精品 | 日本欧美一区二区三区 | 九九热精品视频在线观看 | 一级做a爰片久久毛片 | 中文文字幕一区二区三三 | 亚洲大色网 | 99re6热在线精品视频播放 | 久久免费精彩视频 | 99国产精品久久不卡毛片 | 久久国产乱 | 在线中文字幕网站 | 九一成人网 | 日韩av毛片 | 欧美特黄一级大片 | 国产一级片久久 | 禁网站在线观看免费视频 | 色姑娘综合网 | 黄色专区 | 国产情侣小视频 | 稀缺小u女呦精品呦 | 欧美一区二区在线 | 日韩免费一级片 | 亚洲第一视频在线 | 国产丰满农村老妇女乱 | 欧美日韩国产专区 | 黄色片hd| 欧美射射射 | 欧美麻豆视频 | 成人一级片在线观看 | 女人洗澡一级特黄毛片 | 亚洲欧美日韩在线一区二区三区 | 国产伦精品一区二区三区在线观看 | a最新天堂网资源 | 婷婷色五| 久久精品不卡 | 亚洲精品视频免费看 | 久久综合社区 | 亚洲精品日日夜夜 | 亚洲男同视频网站 | 中文字幕久久综合 | 一级在线| 视频在线观看一区 | 久久在线免费视频 | 欧美乱淫视频 | 亚洲国产日韩在线观看 | 国产伦精品视频一区二区三区 | 一起草视频在线播放 | 欧美在线你懂的 | 欧洲自拍偷拍 | 国产精品涩涩屋www在线观看 | 国产日韩在线观看视频 | 一级片黄色一级片 | 久久精品资源 | 成人网在线播放 | 毛片久久久 | 荷兰av| 午夜在线免费视频 | 国产91沙发系列 | 激情视频在线观看网址 | 一级黄色片一级黄色片 | 毛片a片免费看 | 狠狠干狠狠爱 | 亚洲人高潮女人毛茸茸 | 精品一区二区三区自拍图片区 | 欧美一级视频在线观看 | 亚洲成a人片在线 | 日批在线播放 | 宅男噜噜噜一区二区三区 | 一级成人欧美一区在线观看 | 激情av在线播放 | 黄色操人视频 | a级黄色网址 | 欧美男人天堂网 | 91免费短视频 | 日本特黄特黄刺激大片 | 超碰在线一区 | 免费一级特黄特色大片 | 欧美日韩va| 色婷婷婷 | 亚洲女优在线 | 性色av一区二区三区红粉影视 | 精品国产精品 | 一区二区三区三区在线 | 五月综合激情日本mⅴ | 极品少妇露脸一区二区 | 黄色一级在线观看 | 亚洲不卡视频在线观看 | 久久精品久久久久久久久久久久久 | 欧美在线一 | 久久精品国产99国产 | 超碰狠狠干 | 国产日韩在线播放 | 精品三级在线观看 | 久久久国产精 | 依依成人在线 | 亚洲精品美女视频 | 麻豆视频在线观看免费网站黄 | 国产精品久久久久久影院8一贰佰 | 午夜av在线| 天堂中文视频 | 国产精品成人在线观看 | 国产毛片一区 | 国产免费一区二区三区免费视频 | 国产伦精品一区二区三区网站 | 日本少妇喷水 | 亚洲午夜黄色 | 天天爽天天爽夜夜爽毛片 | 乐播av一区二区三区在线观 | 免费黄色观看 | 日本午夜在线 | 欧美福利片在线观看 | 欧美裸体女人 | 337p亚洲精品色噜噜狠狠 | 一区二区三区在线观看av | 欧美另类在线观看 | 欧美黑人xxx| 性欧美高清 | 五月综合激情网 | 国产情侣自拍小视频 | 加勒比在线观看视频 | 亚洲人体在线 | 日本肉体xxxx裸体137大胆图 | 色婷婷在线视频 | 亚洲成人一区二区 | 中日精品一色哟哟 | 亚洲欧美日韩精品久久 | 亚洲成人av免费 | 天天色视频| 二区在线播放 | 天天草天天干 | 久久久久久国产精品免费播放 | 亚洲一区二区精品视频 | 国产乱码精品一区二区三 | 国产精品特级毛片一区二区三区 | 欧美黄在线观看 | 亚洲永久免费精品 | 最新四季av在线 | 免费在线中文字幕 | 久久精品二区 | 欧美看片 | 91精品国产成人观看 | 亚洲aaaaaa特级| 伊人精品影院 | 黄色特一级 | 国产精品久久网站 | 久久在线视频 | 淫具馆(重口调教sm)小说 | 91chinese在线| 99国产精品久久不卡毛片 | 国产a线 | 91成人小视频 | 影音先锋婷婷 | 久草视频在线免费播放 | 色哟哟国产精品色哟哟 | 极品在线视频 | 人人草人人 | 久久久久久免费毛片 | 香蕉大人久久国产成人av | 国产娇小性色xxxxx视频 | 加勒比一区二区三区 | 精品乱子伦一区二区 | 免费黄色av | 亚洲一区二区激情 | 男女高h视频 | 亚洲性猛交富婆 | 国偷自产视频一区二区久 | 日本不卡二区 | 中文字幕在线观看视频一区 | av最新天| 午夜动态图 | 一本大道香蕉大a√在线 | 久久久久久一区二区三区 | 少妇av一区 | 91成人亚洲 | 二级毛片视频 | 国内精品国产成人国产三级 | 操女人的逼逼 | 在线中文天堂 | se婷婷 | 五月婷婷免费视频 | 成人在线国产 | 午夜啪啪网站 | 亚洲视频你懂的 | 日本色一区 | 欧美另类专区 | 日韩精品资源 | www网站在线观看 | 在线免费看黄色 | av成人毛片| 那里可以看毛片 | 国产性色av| 成人欧美在线视频 | 在线看黄网站 | 国产免费黄色 | 老司机在线观看视频 | 国产精品久久久久久久9999 | 丁香午夜 | 日本性视频网站 | 欧美视频网址 | 国产99久久久国产精品免费看 | 麻豆91茄子在线观看 | 久久精品噜噜噜成人88aⅴ | 国产成人精品123区免费视频 | 欧美视频在线一区 | 欧美888 | 午夜精品福利在线观看 | 操干网 | 天天干天天狠 | 大伊人久久 | 在线看片你懂的 | 国产视频第二页 | 高潮毛片又色又爽免费 | 国产五区 | 在线免费看91 | 国产一级18片视频 | 日本一区二区三区在线播放 | 人人干av| 超碰v| 91中文字幕在线 | 国产女同百合91刺激 | 夜夜爽8888 | 亚洲精品aa | 亚洲美女性生活 | 亚洲影院一区二区三区 | 色久综合网 | 日韩中文字幕网站 | 伊人久久久久久久久久久久 | 公肉吊粗大爽色翁浪妇视频 | 日本在线播放 | 国产精品永久免费视频 | 在线观看视频一区 | 久久免费播放 | 熊出没之冬日乐翻天免费高清观看 | 激情av中文字幕 | 在线一区播放 | 99免费看 | 国产a∨精品一区二区三区仙踪林 | 毛片3| 看一级大片 | 亚洲天堂社区 | 五月婷婷俺也去 | 九九热色 | 亚洲第一成网站 | 欧美一区二区三区成人精品 | 精产国品一二三产区区别在线观看 | 99久久综合国产精品二区 | 色综合久久天天综合网 | 色妻av| 91九色精品 | 在线视频免费观看一区 | 国产精品一区二区性色av | 一区二区三区在线播放 | 韩国午夜影院 | 午夜一本 | 中文字幕一区二区三区四区视频 | 久久伊人操 | 成年人精品视频 | 欧美 日韩 精品 | 亚洲视频一二区 | 国产区视频在线观看 | a最新天堂网资源 | 国产精品午夜影院 | 超碰av在线播放 | 亚洲欧美精品在线 | 成人h动漫精品一区二区器材 | 亚洲高清视频一区 | 日韩有色| 91手机在线 | 中文字幕成人网 | 奇米7777| 亚洲国产福利视频 | 亚洲一区二区三区婷婷 | 国产中文字幕一级片 | 成年人黄色片 | 在线观看一区 | 国内自拍第23页 | 国产大片91 | 国产亚洲小视频 | 欧美日韩a级片 | 日本一区二区三区网站 | 爱情岛av永久入口 | 午夜影院入口 | 一区二区不卡 | 久久在线看 | 偷拍欧美亚洲 | 亚洲五码av | 性xxxxbbbb | 欧美精品不卡 | 啪啪福利社 | 午夜免费av| 打开免费观看视频在线播放 | av在线黄 | 天天干天天操天天干 | 国产亚洲精品久久久久5区 中国女人啪啪69xxⅹ偷拍 | 色偷偷网 | 成人在线免费视频播放 | 成人精品喷水视频www | 一区二区三区免费在线观看视频 | 成av人片在线观看www | 91麻豆视频在线观看 | 成人小视频在线 | 午夜小视频免费 | 日韩爱爱网 | 性色综合 | 免费成人在线观看视频 | 国产大片中文字幕 | 在线观看免费 | 波多野结衣免费观看视频 | 亚洲网友自拍 | 人人射人人干 | 日韩中文网 | 日韩精品xxx | 免费观看毛片网站 | 永久免费看片在线播放 | 风间由美av在线 | 亚洲美女免费视频 | 亚洲小说区图片区 | 国产精品毛片一区二区在线看 | 小香蕉影院 | 久草手机在线视频 | 91sex国产| av网站国产 | 国产福利91精品一区二区三区 | 国产三级在线免费 | 成人黄页网站 | 国产高清视频免费观看 | 夜夜撸| 久久亚洲欧美 | 麻豆成人91精品二区三区 | 亚洲人成7777 | 欧美成人精品一区二区三区 | 丁香婷婷综合激情五月色 | 碰碰97| 在线视频久草 | 国产精品国产三级国产aⅴ入口 | 国产成人精品白浆久久69 | 精品一区视频 | 国产精品对白 | 国产精品久久片 | 超碰在线网 | 视频在线观看一区二区三区 | 婷婷深爱 | 悟空影视大全免费高清观看在线 | 国产另类在线 | 久久久久国产精 | 国产精品第十页 | 亚洲欧美日韩精品在线 | 夜夜操夜夜干 | 午夜视频网址 | 日韩精品――中文字幕 | 欧美激情啪啪 | 国产精品调教 | 久久99操| 亚洲综合涩 | 国产黄色片视频 | 国产小视频在线 | 国产亚洲久久 | 香蕉久久久久久av成人 | 国产在线导航 | 中文字幕欧美在线观看 | 99热99精品 | 亚洲欧美偷拍另类a∨色屁股 | 国产成人精品毛片 | www.亚洲一区 | 成人自拍网 | www.男女 | 春宵av| 日本久久网站 | 一级片在线免费播放 | 亚洲精品少妇 | 亚洲天堂首页 | 中文在线字幕免费观 | 天天成人 | 善良的女朋友在线观看 | 日韩三区在线观看 | 东京热毛片 | 日韩视频成人 | 色婷av | 国产精品人人做人人爽人人添 | 亚洲一区 国产 | 中文字幕 自拍 | 国产精品毛片一区二区三区 | 九九人人 | 视频在线播 | 欧美性天天影院 | 亚洲黄色一区二区 | 久久久久久久久久一区二区三区 | a级片黄色 | 国产传媒视频在线观看 | 国产视频1| 天天操 夜夜操 | 综合五月网 | 男女午夜视频 | 一区二区激情 | 亚洲精品乱码久久久久久麻豆不卡 | 欧洲成人精品 | 爽爽影院在线免费观看 | 91丝袜国产在线观看 | 依人在线观看 | 女同性做爰全过程 | 成人午夜影视 | 一级免费视频 | 欧美亚韩一区二区三区 | 亚洲黄色片在线 | 欧美成人三级 | www国产亚洲精品 | 宅男噜噜噜 | 亚洲图片欧美激情 | av香蕉网 | 男女视频久久 | 中文字幕不卡在线 | 黄色片网站免费观看 | 夜色在线影院 | 亚洲女同志亚洲女同女播放 | 久久亚洲网 | 国产香蕉尹人视频在线 | 天天干夜夜想 | 中文在线免费看视频 | 黄色三级带| 日本不卡二区 | 九九视频网 | 人人做人人爱人人爽 | 99久久久久久久 | 久久精品久久久久久 | 日本日韩欧美 | 69视频在线观看 | 亚洲成人久久精品 | 中文字幕乱码中文字幕 | 欧美精品成人 | 爱的天堂| 亚洲三级免费观看 | 在线观看成人av | 国产精品国产三级国产专区51区 | 亚洲 国产 欧美 日韩 | 欧美色拍 | 夜夜操狠狠干 | 国产激情综合五月久久 | 91伊人网| 日韩一级欧美一级 | 奇米影视网| 毛片综合| 国产大片一区二区 | 91在线播放视频 | 亚洲高清视频在线观看 | 黄色一级在线观看 | 中文字幕一区二区三区四区五区 | 午夜剧场成人 | 一本久道久久综合 | 色网站在线观看 | 国产亚洲精品成人av久久影院 | 激情视频一区二区 | 免费在线播放av | 在线中文视频 | 欧美成人精品一区二区三区在线看 | 一区二区三区不卡视频 | 亚洲三级理论 | 精品一区中文字幕 | 99精品视频在线观看免费 | 免费av网站在线看 | 激情婷 | 久色婷婷| 夜夜躁日日躁狠狠久久av | 天堂中文在线视频 | 欧美日韩小视频 | 日本中文字幕网 | 国产精品久久久久毛片 | 你懂的在线播放 | 久久影视中文字幕 | 爱操成人网 | 亚洲伦片免费看 | 91成人在线免费视频 | 男人的天堂毛片 | 中文字幕在线观看第二页 | 国产欧美日韩综合一区 | 超黄网站在线观看 | 中文字幕在线免费视频 | www.xxx日韩 | 欧美a大片| 在线免费观看视频网站 | 日韩精品五区 | 一级黄色激情片 | 日日天天干 | 激情五月婷婷小说 | 少妇精品高潮欲妇又嫩中文字幕 | 噜噜噜天天躁狠狠躁夜夜精品 | 热久久国产 | 最新国产拍偷乱偷精品 | h肉动漫无修一区二区无遮av | 日韩v在线| av老司机在线观看 | 亚洲成av人片一区二区梦乃 | 亚洲砖区区免费 | 国产精品久久久久久久久免费相片 | 鲁一鲁av | 亚洲国产一区二区三区a毛片 | 欧美成人hd | 久久久久国产精品午夜一区 | 在线观看污污视频 | 天天干天天草天天射 | 国产福利视频在线观看 | 在线观看成人黄色 | 四虎影视免费在线观看 | 亚洲超碰在线 | 在线国产网站 | 一区二区三区美女 | www.天天操.com | 91麻豆精品国产91久久 | 色老头免费视频 | 亚洲黄色小说图片 | 成人免费福利视频 | 亚洲爽,爽网 | 国产又黄又骚 | 日韩欧美不卡视频 | 国产精品久久一区 | 超碰1997| 手机看片福利一区 | 亚洲国产精品免费 | 天天操夜操 | 日日夜夜狠狠爱 | 91情侣视频 | 精品久久久网站 | 亚洲a∨视频 | 福利精品在线 | 天天干干干 | 色图视频 | 国内精品久久久久久久久久久 | 嫩草网站在线观看 | 亚洲国产成人aⅴ毛片大全密桃 | 国产113页| 综合网婷婷 | 久久久久国产免费 | 男人天堂2019 | 人人爽人人爽人人片av | 99色在线观看 | 男女草逼 | 欧美日韩成人一区二区三区 | 日韩在线91 | 超碰av在线播放 | 中文字幕在线日亚洲9 | 影音先锋久久资源 | 黄色激情在线观看 | 久久久久久久久久久免费 | 久久欲 | www视频在线免费观看 | 色婷婷久久久 | 97se亚洲国产一区二区三区 | 日韩av在线中文字幕 | 久久精品爱 | 久久午夜鲁丝片 | 性做久久久久久免费观看欧美 | 神马午夜一区二区 | 在线观看中文 | 色婷婷av一区二区 | 四虎国产精品成人免费入口 | 亚洲一区 视频 | 成年人性生活视频 | 日韩欧美在线观看免费 | 一级国产视频 | 亚洲三级免费 | 日本成人免费视频 | fc2成人免费视频 | 三级免费网址 | 欧美日韩精品一二三区 | xxxxxx国产| 久久sp| 激情久久av| av成人| 两性囗交做爰视频 | 午夜日韩在线 | 久久国产精品亚洲 | 欧美一级性视频 | 韩国三级三级三级a三级 | 激情五月婷婷综合网 | 国产传媒在线视频 | 国产91精品入口福利 | 成年人视频网 | 国产精一区 | 亚洲色无码播放 | 婷婷激情五月网 | www.黄在线| 久久久久一 | 日韩一级片在线播放 | 亚洲精品欧美精品日韩精品 | 亚洲v成人天堂影视 | 欧美精品三区 | 国产三级黄色 | 亚洲精品免费播放 | 色久天堂 | 中文字幕国产综合 | aav在线 | 午夜久久久久久久久久影院 | 天天操夜夜拍 | 欧美视频免费在线观看 | 亚洲精品国产一区 | 成人深夜福利视频 | 久久精品韩国 | 亚洲一级免费视频 | 在线激情网站 | 91福利视频免费观看 | 国产盗摄精品一区二区酒店 | 武林美妇肉伦娇喘呻吟 | 黄色免费在线视频 | 99re视频在线 | 国产91看片 | 国内免费精品视频 | 欧美自拍亚洲 | 国产馆一区二区 | 中文视频在线 | 中文字幕一区二区三区精华液 | 国产第一页在线 | 久久久久久免费观看 | 亚洲a在线播放 | 欧美成人黑人xx视频免费观看 | 奇米影视一区二区 | 久色视频在线 | 欧美日韩国产成人精品 | av秋霞| 8x8ⅹ国产精品一区二区 | 久久99久久精品久久久久久 | 亚洲成人av一区二区 | 一级不卡毛片 | 黄色污污视频软件 | 日韩精品一区二区三区中文在线 | 一级高清黄色片 | 毛片手机在线 | 日韩精品免费一区二区 | 久操资源网 | 欧美日韩影院 | 青青草自拍视频 | 国产在线观看h | 不卡成人| av中文字幕亚洲 | 毛片a片免费观看 | 久久免费视频网站 | 亚洲成人性视频 | 午夜天堂网 | 国产精品呻吟久久 | 神马午夜av| 亚洲午码| 午夜精品视频一区二区三区在线看 | 国产免费一区二区三区四区五区 | 午夜精品一二三区 | 日本一二三区视频 | 天天看片天天射 | www.香蕉视频在线观看 | 好吊色欧美一区二区三区视频 | 40岁丰满东北少妇毛片 | 91久久精| 国产高清视频免费 | 国产黄色视屏 | 国产麻豆精品在线观看 | 天天插日日干 | www国产91| 久久成年视频 | www.97av.com| av永久免费网站 | 91网址在线| 国产一区二区三区精品视频 | 亚洲第一综合 | 国产免费网址 | 亚洲欧洲中文 | 网友自拍一区 | 美女黄页在线观看 | 男女精品视频 | 无毛av| 日韩激情| 中国三级黄色 | 六月婷婷久久 | 黄色激情在线 | 婷婷综合av| 日本在线视频不卡 | 国产精品黄网站 | 亚洲成av| 人与动物毛片 | 亚洲国产精品免费 | 果冻传媒av | 国产精品18p | 亚洲三级视频 | av福利影院 | 久久国产柳州莫菁门 | 欧美大片一区 | 日韩爆操| 欧美激情动态图 | 日韩黄色在线 | 亚洲第一黄色网址 | 天天干天天草天天射 | 欧美三级网站在线观看 | 成人亚洲| 久久久久久久久久亚洲精品 | 亚洲天堂第一 | 亚洲网址在线 | 91日本精品 | 国产精品久久久久久久久久免费 | 国产精品ww | 九九九九热 | av高清在线| av网站免费在线播放 | 久久久久99精品成人片三人毛片 | 伊人久久艹| 青娱乐毛片 | 麻豆久久久久久久 | 国产不卡a | 亚洲精品一区二区三区区别 | 午夜刺激视频 | 精品一区在线视频 | 一区二区三区免费在线观看视频 | 国产精品中文在线 | www.av麻豆 | 最近最好的2019中文 | 澳门永久av免费网站 | 青草草在线观看 | 午夜精品久久久久久 | 日本狠狠操 | jizz中国女人高潮 | 亚洲专区久久 | 午夜久久久久久久久久 | 精品一区二区三区免费毛片爱 | 伊人久久久久久久久久 | 国产精品999999 | 国产黑人| 日韩色网站 | 玖玖在线播放 | 午夜视频网站在线观看 | 永久免费视频网站直接看 | 欧美黄色片视频 | 男人和女人日b视频 | 插插插插综合 | 福利色导航 | 久久亚洲欧美 | 免费观看一区二区 | 陪读偷伦初尝小说 | 国产一级片免费播放 | 在线观看视频区 | 国产精品久久久久久久久久久久久久不卡 | 乱h伦h女h在线视频 午夜视频福利 | 伊人在线| 男女爽爽爽 | 少妇av一区二区 | 亚洲免费激情 | 337p粉嫩大胆噜噜噜噜一区二区 | 欧美日韩综合视频 | 国产欧美一区二区精品老汉影院 | 在线观看国产精品入口男同 | 午夜私人福利 | 久久精品动漫 | 91玉足脚交嫩脚丫在线播放 | 欧美图片自拍偷拍 | 欧美国产日韩综合 | 亚洲看片| 91福利小视频 | 高潮毛片7777777毛片 | 午夜av免费看 | 欧美日韩黄色 | 亚洲欧美黄 | 91在线视频免费观看 | 国产欧精精久久久久久久 | 天堂av资源网 | 最新黄网 | 在线黄色免费 | 欧美影音| 久久综合一区二区三区 | 高清欧美性猛交xxxx黑人猛交 | 色又色 | 亚洲免费公开视频 | 中文字幕在线看片 | 打开免费观看视频在线 | 成人av国产 | av在线天堂网 | 亚洲天堂欧美日韩 | 亚洲欧美a| 亚洲免费视频一区 | 伊人影院在线免费观看 | 久久久精品在线观看 | 一区二区三区四区国产精品 | 顶级毛片| 精品久久久久成人码免费动漫 | 爱情岛黄色 | 波多野结衣 一区 | 亚洲v国产v欧美v久久久久久 | 黄色av在 | 在线h网| 永久免费的网站入口 | 综合久久亚洲 | 国产网站免费观看 | 久久视频精品在线 | 日本免费黄色网址 | 男人添女人荫蒂国产 | 青青操视频在线观看 | 91av视频播放 | 亚洲精品一区二区在线观看 | 91视频免费视频 | chinese少妇啪啪高潮 | 欧美图片一区二区三区 | 日韩黄色a级片 | 成人a在线观看 | 琪琪色av | 国产精品久久久久久久蜜臀 | 91综合在线 | 老司机av网站 | 国产毛片久久久久 | 中文字幕免费在线观看 | 在线午夜视频 | 九九精品99久久久香蕉 | 在线成年人视频 | 在线观看日韩精品视频 | 伊人久久大香线 | 奇米狠狠操 | 国产精品成人一区二区三区 | 国产精品456 | 91麻豆精品视频 | 欧洲色av | 性,国产三级在线观看 | 一区二区精品区 | 国产不卡一区在线 | 午夜精品偷拍 | 日韩av综合 | 久久久久这里只有精品 | 国产97视频 | 米奇7777狠狠狠狠视频 | 91精品美女 | 欧美美女喷水 | 奇米网狠狠干 | 色香蕉网站 | 蜜臀av性久久久久蜜臀aⅴ四虎 | wwwwyoujizzcom | 91成年人视频 | 亚洲综合小说区 | 麻豆网站在线播放 | 天天宗合网 | 性久久久久久久久久久 | 成人av中文字幕 | 色视频在线免费观看 | 亚洲激情网站 | 国产一区二区在线不卡 | 98av视频| 色多多污 | 激情偷拍av | 999插插插 | 一区二区中文 | 久久神马| 永久免费看成人av的动态图 | 免费成人在线观看视频 | 欧美精品在线一区二区 | av最新在线 | 欧美一级淫片007 | 人人av在线 | 91在线日韩| 横恋母在线观看 | 人人舔| 又色又爽又高潮久久精品 | 成人写真福利网 | 91手机视频| 超碰操 | 超碰啪啪| 99精品视频在线观看 | 综合久久影院 | a在线| 中文字幕视频在线 | 亚洲一品道 | 91国产在线播放 | 销魂美女一区二区 | 天天综合网天天综合 | 99色在线视频 | 免费av看 | 国产综合第一页 | 午夜激情视频 | 性视频一级 | 国产精品一区二区免费看 | 黑人黄色录像 | 超碰在线亚洲 | 波多野结衣二区三区 | 欧美激情一区 | 国内精品久久久久久久久久 | 亚洲伦乱| 色婷婷国产精品 | 中国黄色一级视频 | 天天综合天天做天天综合 | 成人午夜免费福利 | 亚洲男人网站 | 好吊色欧美一区二区三区视频 | 国产一区二区三区91 | 久久久久久久久久影院 | 久久亚洲精精品中文字幕早川悠里 | 高清av一区二区 | 91成人在线视频 | 40一50一60老女人毛片 | 国产偷亚洲偷欧美偷精品 | 亚洲色欲色欲综合网站 | 亚洲欧美bt | 欧美整片在线观看 | 国产精品黄页 | 国产日韩视频 | 在线免费污视频 | 国产小视频一区 | 国产亚洲精品久久久久久无几年桃 | 亚洲高清日本 | 国产精品suv一区二区三区 | 人人射 | 日韩在线视频精品 | 国产一区二区不卡在线 | 国产一级二级三级视频 | 欧美激情一区二区三区四区 | av无线看| av资源首页| 久久影视精品 | 福利一区二区视频 | 久久91精品国产 | 亚洲97色 | 成人福利网站在线观看 | 日韩欧美在线视频观看 | 伊人久久免费 | 91视频啪啪 | 国产黄色一区 | 成人无高清96免费 | 日韩在线免费观看视频 | 欧美日韩综合网 | 国产污在线观看 | 亚洲久久久久久久 | 性欧美a| 中文字幕第18页 | 国产片网站 | 亚洲天堂影院 | 一区二区三区手机在线观看 | 日本中文字幕不卡 | 操出白浆视频 | 亚洲精美视频 | 日韩视频在线观看免费 | av福利在线| 亚洲自拍偷拍精品视频 | 久久精品99北条麻妃 | 成人狠狠干 | 1024精品一区二区三区日韩 | 91视频在线视频 | 日本黄色网络 | 日韩有色| 在线观看69 | 国产婷婷色 | 欧美在线视频一区二区 | 久久精品123 | 免费久久视频 | 精品国偷自产在线视频 | 亚洲欧洲视频在线 | 欧美性猛交xxxx乱 | 欧美一区二区在线观看视频 | 国产精品久久久久久久久久久久午夜 | 精品毛片一区二区三区 | avtt国产| 国产三级精品在线 | 精品国产污污免费网站入口爱酱 | 精品午夜一区二区三区在线观看 | 日日夜夜撸啊撸 | 久久精品免费 | 曰女同女同中文字幕 | 日日夜夜骑 | 乱h高h3p男女三人行 | 中文字幕日韩高清 | 韩日黄色片 | 成人欧美一区二区三区白人 | 免费看欧美大片 | 欧美在线一级片 | 国产77777 | 久久免费视频6 | 一级aaa毛片 | ,亚洲人成毛片在线播放 | h视频亚洲| 99久久综合 | 91黄色片| www激情网 | 国模av在线 | 欧美成人图区 | 香蕉污视频在线观看 | www.日韩在线观看 |