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

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

?? 16f877_modbus.c

?? ModBus通訊
?? C
?? 第 1 頁 / 共 5 頁
字號:
/******************** (C) COPYRIGHT 2008 yuanlin ************************
* File Name          : main_slave_uart.c
* Author             : 袁林
* Version            : V1.0
* Date               : 27/10/2008
* Description        : This file provides all the main and slave uart functions.
********************************************************************************/
#include "pic18.h"
#include "pic18fxx8.h" 
#include "stdio.h"
#include "string.h"

__CONFIG(1,HSPLL&OSCSDIS);
__CONFIG(2,PWRTEN&BORV42&BOREN&WDTPS128&WDTEN);
__CONFIG(4,DEBUGDIS&LVPDIS&STVREN);
__CONFIG(5,UNPROTECT);
__CONFIG(6,WPU);
__CONFIG(7,PTBRU);
#define CLRWDT  asm("CLRWDT")
#define _40M
#define SD 	RC5
#define SCK 	RC3

#define KEYMASK   0x07
#define KEYUP     0x01
#define KEYENTER  0x02
#define KEYDOWN   0x04

#define E2RAM ee_toram()
#define E2CRC eecrc()

#define line1 0x80 //80 81 82 83 84 85 86 87
#define line2 0x90 //90 91 92 93 94 95 96 97
#define line3 0x88 //88 89 8a 8b 8c 8d 8e 8f
#define line4 0x98 //98 99 9a 9b 9c 9d 9e 9f

/* 200ms,if Focs is 20MHz,the value is 85ee,if Focs is 40MHz,the value is 0x0bdc */
//#define T0LValue 0xee
//#define T0HValue 0x85
#define T0LValue 0xdc
#define T0HValue 0x0b

/* 100us,if Focs is 20MHz,the value is fe0b,if Focs is 40MHz,the value is  fc18*/
//#define T1LValue 0x0b
//#define T1HValue 0xfe
#define T1LValue 0x18
#define T1HValue 0xfc

/* 5ms,if Focs is 20MHz,the value is 9e58,if Focs is 40MHz,the value is 0x3cb0 */
//#define T3LValue 0x58
//#define T3HValue 0x9e
#define T3LValue 0xb0
#define T3HValue 0x3c

#define CURRENT  0x1c
#define VOLTAGE  0x1b

#define uchar unsigned char
#define uint  unsigned int

uchar bank1 data_buf[11];
uchar bank1 *DataPoint;
uchar data_buf0[11];
uchar bank1 Buffer[160];

uchar bank1 *BufferPointIn;
uchar bank1 *BufferPointOut;
uchar bank1 address;
uchar bank1 rece_timer=0;
uchar bank1 wait_redo=0;
uchar bank1 rece_counter=0;
uchar bank1 send_number=0;
uchar bank1 send_counter=1;
uchar Flag10ms=0;
uchar Buffer0[160];
uchar* Buffer0PointIn;
uchar* Buffer0PointOut;
uchar DorrFlag=0;
uint  DorrCounter=0;

 uchar Tree=0;
 uchar Menu=0; 
 uchar XValue=0;
 uint * point; 
 uchar SendFlag=0;
 uchar Delay200=0;

/* a=0x1234,b[0]=0x34 is low,b[1]=0x12 is high */
 union data
     {
       uint a;
       uchar b[2];     
     }buffer;
uint x_number[130];
uint x_number1[33];
uint x_number2[33];
uint x_number3[33];

uchar KeyValue=0xff;
uchar KeyValueBuf=0xff;
uchar  KeyScanTime=0;
uchar KeyScanCnt=0;
uchar LcdScanTime=0; 
uchar State=0;
uchar MainSlave=0;
uchar NumberBuffer[16]={0xa2,0xa0,0xa2,0xa0,0xa2,0xa0,0xa2,0xa0,0xa2,0xa0,0xa2,0xa0,0xa2,0xa0,0xa2,0xa0};
uchar num_xi[8];
bit   rece_start=0;
bit  MainSendNoack=0;
bit  rece_ok=0;
bit  send_ok=0;

bit  KeySetFlag=0; 
uchar  PidStartFlag=0;

bit  KeyScanFlag=0;
bit  KeyPress=0;
uchar  LcdFlag=0;

bit  MenuIn=0;
bit  ChangeFlag=0;
uchar  LcdErro=0;

void GlobalInit(void);
void UsartInit(void);
void UsartSendSlave(uchar n);
void UsartSendMain(uchar n);
void UsartReceveSlave(void);
void Function_slave(void);
uint get_crc(uchar n);
uchar Function_03(uchar addr_8);
uchar Function_06(uchar addr_8);
void LcdInit(void);
void WriteCommand(uchar value);
void WriteData(uchar value);

void writeee2b(uint eevalue,uchar eeaddr);
void eecrc(void);
void ee_toram(void);
uchar readee(uchar eeaddr);
void writee(uchar eevalue,uchar eeaddr);
void ram_toee(uchar u);
void rom_toram(uchar u);
void delay(uint t);
void WriteByte(uchar value);
void WriteCommand(uchar value);
void WriteData(uchar value);
void KeyScan(void);
void KeyFunction(void);
void ChangeF(void);
void Init(void);
uint readee2b(uchar eeaddr);
void NumberDivide(uint n);
void NumberNoPointMain(uint number);
void LcdSelectBrush(uchar line,uchar num);
void LcdMain(void);
void LcdSlave(void);

#define pid_t    x_number[0x00]             //10.0軟起動時間
#define pid_pu   x_number[0x01]             //50%起始電壓百分比
#define pid_1i   x_number[0x02]             //300額定電流
#define pid_cuti x_number[0x03]             //7限流倍數
#define pid_gb   x_number[0x04]             //刮板機選擇:0---不選擇,5---點動5次  
//#define pid_485  x_number[0x05]             //0通訊方式選擇:0---modbus_ main,0x11---modbus_slave,2---485
#define pid_yt   x_number[0x06]             //1.0延時啟動時間
#define pid_wd   x_number[0x07]             //10溫度保護動作時間
#define pid_ch4  x_number[0x08]             //10甲烷保護動作時間
#define pidi_k   x_number[0x09]             //30強制旁路切換時間
#define pid_lt   x_number[0x0a]             //0軟停止時間

#define pid_save x_number[0x0b]             //退出
#define pid_nosa x_number[0x0c]             //退出
#define pid_mode x_number[0x0d]             //2啟動模式:0---雙環,1---電流環,2---電壓斜坡
#define pidv_k   x_number[0x0e]             //1.0速度系數
#define pid1_p   x_number[0x0f]             //1.00速度環比例
#define pid1_i   x_number[0x10]             //3.0速度環積分
#define pid0_ia  x_number[0x11]             //0電流環選擇
#define pid0_p   x_number[0x12]             //1.0電流環比例
#define pid0_i   x_number[0x13]             //0.05電流環積分
#define pid_pb   x_number[0x14]             //1保護屏蔽
#define pid_za   x_number[0x15]             //500互感器匝比[800:0.1],[500:0.1]
#define pid_bycd2  x_number[0x16]           //主從模式 0 主  / 1 從 上電默認值0

#define pid_bycd3  x_number[0x17]           //站號
#define pid_gya  x_number[0x18]             //130過壓保護
#define pid_qya  x_number[0x19]             //60欠壓保護
#define pid_plc  x_number[0x1a]             //恢復出廠值

#define pid_u    x_number[0x1b]             //電壓采樣
#define pid_i    x_number[0x1c]             //電流采樣
#define pid_flag x_number[0x1d]             //保護變量
#define pid_key  x_number[0x1e]             //鍵盤變量
#define pid_bld  x_number[0x1f]             //備用變量

#define p_de RB0                 //485通訊口方向控制,0輸入,1輸出

const uint pre_number[26]={  100,  40, 300,  70,   0,   0,  10,   10,  10,  30,   0,   1,   0,   2,   10,   100,  10,   0,  100,   20,   2,  800,    0,    0,     130,  60};
//出廠設置
const uint    max_dat[27]={  1800, 90,1000,  80,  20,  13, 600,   60,  60, 600,  20,   1,   1,   2,   99,   999, 999,   3,  999, 9999,  10, 1000,  999,   999,    500, 500,1};
const uchar     dot_x[27]={   1,   0,   0,   1,   0,    0,   1,    0,   0,   0,    0,  0,   0,   0,    1,     2,   1,   0,    2,    2,   0,    0,    0,    0,       0,   0,0};
                                     //   Pt-,su--,ie--,cut-,gb-,485-,yt--,wdu-,ch4, aux_,soft,save,nosa,mode-,v_k , v_p, v_i, ia,  i_p, i_i,  pb, iza,aux,dis,u_over,u_self
                       //     s,   %,   A,  no, no,  no,   s,    s, s,   no,  s,no,  no,   no,  no,  no,   s,  no,  no,   s,  no,   no,   x     
const uchar  dat_tale[26]={0x73,0x25,0x41,0x20,0x20,0x20,0x73,0x73,0x73,0x20,0x73,0x20,0x20,0x20,0x20,0x20,0x73,0x20,0x20,0x73,0x20,0x20,0x73,0x20,0x20,0x20};

const uchar  PointTable[27]={1,   0,   0,   1,   0,    0,   1,    0,   0,   0,    0,  0,   0,   0,    1,     2,   1,   0,    2,    2,   0,    0,    0,    0,       0,   0,0};
/*                       s    %  A  bei ci    s   s  s  s  s                           */
const uint NumberH[27]={1800,90,1000,80,20,0,600,60,60,600,20,55,55,2,99,999,999,3,999,9999,10,1000,1,3,500,500,1};
const uint NumberL[27]={   1, 0,   0, 1, 0, 0,0,  0, 0, 0,  0,55,55,0, 1, 0, 1,   0,0,  0,   0, 0,   0,0,0,   0,0};
/*                           0    1     2    3   4     5    6    7   8     9    a    b   c    d    e    f   10    11   12   13   14   15   16   17   18   19*/
const uchar SigneTable[27]={0xd3,0xa5,0xc1,0xa0,0xa0,0xa0,0xd3,0xd3,0xd3,0xd3,0xd3,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xd6,0xd6,0xa0};
const uchar ValueTable[27][16]={
 /*         啟   */ 
 {0x30,0x31,0x29,0x20,0xC6,0xF4,0xB6,0xAF,0xCA,0xB1,0xBC,0xE4,0x20,0x20,0x20,0x20}, //1啟動時間      00    pid_t
 {0x30,0x32,0x29,0x20,0xC6,0xF4,0xB6,0xAF,0xB3,0xF5,0xCA,0xBC,0xB5,0xE7,0xD1,0xB9}, //2啟動初始電壓  01    pid_pu
 {0x30,0x33,0x29,0x20,0xB6,0xEE,0xB6,0xA8,0xB5,0xE7,0xC1,0xF7,0x20,0x20,0x20,0x20}, //3額定電流      02    pid_1i
 {0x30,0x34,0x29,0x20,0xC6,0xF4,0xB6,0xAF,0xcf,0xde,0xC1,0xF7,0xB1,0xB6,0xCA,0xFD}, //4電流限流倍數  03    pid_cuti
 {0x30,0x35,0x29,0x20,0xb9,0xce,0xb0,0xe5,0xbb,0xfa,0xD1,0xA1,0xD4,0xF1,0x20,0x20}, // 5刮板機選擇   04    pid_gb

 {0x30,0x36,0x29,0x20,0xCD,0xA8,0xD1,0xB6,0xB7,0xBD,0xCA,0xBD,0x20,0x20,0x20,0x20}, //6通訊方式      05    pid_485
 {0x30,0x37,0x29,0x20,0xD1,0xD3,0xCA,0xB1,0xC6,0xF4,0xB6,0xAF,0xCA,0xB1,0xBC,0xE4}, //7延時啟動時間  06    pid_yt
 {0x30,0x38,0x29,0x20,0xCE,0xC2,0xB6,0xC8,0xB1,0xA3,0xBB,0xA4,0xD1,0xD3,0xCA,0xB1}, //8溫度保護延時  07    pid_wd  
 {0x30,0x39,0x29,0x20,0xbc,0xd7,0xcd,0xe9,0xB1,0xA3,0xBB,0xA4,0x20,0x20,0x20,0x20}, //9甲烷保護      08    pid_ch4       
 {0x31,0x30,0x29,0x20,0xcf,0xb5,0xcd,0xb3,0xd7,0xd4,0xbc,0xec,0x20,0x20,0x20,0x20}, //a強制切換時間  09    pidi_k
 {0x31,0x31,0x29,0x20,0xc8,0xed,0xcd,0xa3,0xca,0xb1,0xbc,0xe4,0x20,0x20,0x20,0x20}, //a 軟停止時間   0a
 /* b返回到上一層 3*/
 {0x31,0x32,0x29,0x20,0xb7,0xb5,0xbb,0xd8,0xb5,0xbd,0xc9,0xcf,0xd2,0xbb,0xb2,0xe3},
/* c返回到上一層 3*/
 {0x31,0x35,0xa1,0xb5,0xb7,0xb5,0xbb,0xd8,0xb5,0xbd,0xc9,0xcf,0xd2,0xbb,0xb2,0xe3},

 {0x30,0x31,0xa1,0xb5,0xC6,0xF4,0xB6,0xAF,0xc4,0xa3,0xCA,0xBD,0x20,0x20,0x20,0x20},//1啟動模式d      0d    pid_mode
 {0x30,0x32,0xa1,0xb5,0xCB,0xD9,0xB6,0xC8,0xBB,0xB7,0xB1,0xB6,0xCA,0xFD,0x20,0x20},//2速度環倍數e    0e     pidv_k
 {0x30,0x33,0xa1,0xb5,0xCB,0xD9,0xB6,0xC8,0xBB,0xB7,0xB1,0xC8,0xC0,0xFd,0x50,0x20},//3速度環比例pf   0f     pid1_p
 {0x30,0x34,0xa1,0xb5,0xCB,0xD9,0xB6,0xC8,0xBB,0xB7,0xBB,0xFD,0xB7,0xD6,0x49,0x20},//4速度環積分i10   010     pid1_i
 {0x30,0x35,0xa1,0xb5,0xB5,0xE7,0xC1,0xF7,0xBB,0xB7,0xD1,0xA1,0xD4,0xF1,0x20,0x20},//5電流環選擇    0x11 

 {0x30,0x36,0xa1,0xb5,0xB5,0xE7,0xC1,0xF7,0xBB,0xB7,0xB1,0xC8,0xC0,0xFd,0x50,0x20},//6電流環比例p   0x12   pid0_p
 {0x30,0x37,0xa1,0xb5,0xB5,0xE7,0xC1,0xF7,0xBB,0xB7,0xBB,0xFD,0xB7,0xD6,0x49,0x20},//7電流環積分i   0x13   pid0_i
 {0x30,0x38,0xa1,0xb5,0xB1,0xA3,0xBB,0xA4,0xc6,0xc1,0xb1,0xce,0x20,0x20,0x20,0x20},//8保護屏蔽      0x14   pid_pb
 {0x30,0x39,0xa1,0xb5,0xBB,0xA5,0xB8,0xD0,0xC6,0xF7,0xD4,0xD1,0xCA,0xFD,0xB1,0xC8},//9互感器匝數比  0x15   pid_za
 {0x31,0x30,0xa1,0xb5,0xc4,0xa3,0x3a,0x30,0xd6,0xf7,0xbb,0xfa,0x2f,0x31,0xb4,0xd3}, //工作模式      0x16   pid_ont

 {0x31,0x31,0xa1,0xb5,0xca,0xdc,0xbf,0xd8,0xd5,0xbe,0xba,0xc5,0xd1,0xa1,0xd4,0xf1},//受控站選擇               0x17
 {0x31,0x32,0xa1,0xb5,0xB9,0xFD,0xD1,0xb9,0xc9,0xe8,0xb6,0xA8,0x20,0x20,0x20,0x20},//過壓保護       0x18
 {0x31,0x33,0xa1,0xb5,0xc7,0xb7,0xD1,0xb9,0xc9,0xe8,0xb6,0xA8,0x20,0x20,0x20,0x20}, //欠壓保護      0x19
 {0x31,0x34,0xa1,0xb5,0xbb,0xd6,0xb8,0xb4,0xb3,0xf6,0xb3,0xa7,0xd6,0xb5,0x20,0x20}//恢復出廠值0x1a
 };                                                                                                    
                                                                                                                                                                                                                                                                                      
const uchar SelectTable[25][16]={
  /*《空空用戶設定》 0*/
  {0x20,0x11,0x20,0x20,0x20,0x20,0xCF,0xB5,0xCD,0xB3,0xC9,0xE8,0xB6,0xA8,0x10,0x20},
  /*《空空技術界面》 1 */
  {0x20,0x11,0x20,0x20,0x20,0x20,0xBC,0xBC,0xCA,0xF5,0xBD,0xE7,0xC3,0xE6,0x10,0x20},
 /* 返回到上一層 3*/
  {0x20,0x11,0xb7,0xb5,0xbb,0xd8,0xb5,0xbd,0xc9,0xcf,0xd2,0xbb,0xb2,0xe3,0x10,0x20},
  /* 主/從機功能設置 2*/
  {0xd6,0xf7,0xa3,0xaf,0xb4,0xd3,0xbb,0xfa,0xb9,0xa6,0xc4,0xdc,0xc9,0xe8,0xd6,0xc3},
 
/*****************************************************************************
  *                     DRK 軟啟動控制器 0
  *                         #中文版
  *                       tel:64397382
  *                     *上海久輝電氣*
  *****************************************************************************/
  {0x44,0x52,0x4b,0x20,0xC8,0xED,0xC6,0xF4,0xB6,0xAF,0xBF,0xD8,0xD6,0xC6,0xC6,0xF7},
  {0x20,0x20,0x20,0x20,0x20,0x04,0xD6,0xD0,0xCE,0xC4,0xB0,0xE6,0x20,0x20,0x20,0x20},	      
  {0x20,0x20,0x54,0x65,0x6c,0x3a,0x36,0x34,0x33,0x39,0x37,0x33,0x38,0x32,0x20,0x20},                                                                                                                                                 
  {0xa1,0xee,0xC9,0xCF,0xBA,0xA3,0xBE,0xC3,0xBB,0xD4,0xB5,0xE7,0xC6,0xF8,0xa1,0xee},

  /*  空空系統菜單 8*/
  {0x20,0x2a,0xcf,0xb5,0xcd,0xb3,0xb2,0xcb,0xb5,0xa5,0xd1,0xa1,0xd4,0xf1,0x2a,0x20},
  /* 空空空 9 */
  {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},
  /* #上翻  #下翻 10*/
  {0x20,0x1e,0xc9,0xcf,0xb7,0xad,0x20,0x20,0x20,0x1f,0xcf,0xc2,0xb7,0xad,0x20,0x20},
  /* #減少   #增加  11 */
  {0x20,0x1e,0xbc,0xf5,0xc9,0xd9,0x20,0x20,0x20,0x1f,0xd4,0xf6,0xbc,0xd3,0x20,0x20},
  /*電流     0 A   0a 12 */
  {0xB5,0xE7,0xC1,0xF7,0xa3,0xba,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa3,0xc1},
  /* 電壓     0 V   0b 13 */
  {0xB5,0xE7,0xD1,0xB9,0xa3,0xba,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xa3,0xd6},
  /* 《啟動延時 15s》 0c 14 */
  {0x11,0x20,0xC6,0xF4,0xB6,0xAF,0xd1,0xd3,0xCA,0xB1,0x20,0x3e,0x3e,0x3e,0x20,0x10},
  /* 《軟啟動正運行》 0d 15 */
  {0x11,0x20,0xC8,0xED,0xC6,0xF4,0xB6,0xAF,0xd5,0xfd,0xD4,0xCB,0xD0,0xD0,0x20,0x10},
  /* 《磁力器正運行》 0e 16 */
  {0x11,0x20,0xb4,0xc5,0xC1,0xa6,0xc6,0xf7,0xd5,0xfd,0xD4,0xCB,0xD0,0xD0,0x20,0x10},
  /* 單機運行         17  */
  {0x20,0x20,0x20,0x20,0xb5,0xa5,0xbb,0xfa,0xd4,0xcb,0xd0,0xd0,0x20,0x20,0x20,0x20},                  
  /* 主機模式 18*/
  {0x20,0x20,0x20,0x20,0xd6,0xf7,0xbb,0xfa,0xc4,0xa3,0xca,0xbd,0x20,0x20,0x20,0x20},
  /* 從機模式 19*/
  {0x20,0x20,0x20,0x20,0xb4,0xd3,0xbb,0xfa,0xc4,0xa3,0xca,0xbd,0x20,0x20,0x20,0x20},
  /* 通訊無應答! 20*/
  {0x20,0x20,0xcd,0xa8,0xd1,0xb6,0xce,0xde,0xd3,0xa6,0xb4,0xf0,0xa3,0xa1,0x20,0x20},
  /* 站號選擇 21*/
  {0x31,0x31,0xa1,0xb5,0xd5,0xbe,0xba,0xc5,0xc9,0xe8,0xd6,0xc3,0x20,0x20,0x20,0x20},  
  /*《 系統故障 》22*/
  {0x20,0x11,0x20,0x20,0xcf,0xB5,0xCD,0xB3,0xB9,0xCA,0xD5,0xcf,0x20,0x20,0x10,0x20},
  /*23*/
  {0x20,0x20,0xcd,0xa8,0xd1,0xb6,0xb9,0xca,0xd5,0xcf,0xa3,0xa1,0x20,0x20,0x20,0x20},
};
     

/*******************************************************************************
* Function Name  : UsartInit
* Description    : UsartInit
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void UsartInit(void)
{
    rece_start=0;
    rece_timer=0;
    rece_counter=0;
    send_number=0;
    send_counter=1;
    rece_start=0;
    MainSendNoack=0;
    rece_ok=0;
    send_ok=0;  
    
    BufferPointIn=Buffer;
    BufferPointOut=Buffer;
    DataPoint=data_buf;
    
    rece_counter=0;
    send_counter=1;
    buffer.a=x_number[0x17];
    address=buffer.b[0];
    /* RC7 is RX,RC6 is TX */
    TRISC7=1;          
    TRISC6=0;
    RC6=1;
    /* low speed */
    BRGH=0;            
    /* Asynchronous mode */
    SYNC=0;            
    SPEN=1; 
    /* 32,-1.36,9.47,20M..64,+0.16,9.62,40M..9600 */
    //SPBRG=32;
    SPBRG=64;
    PEIE=1;
    TXIE=0;
    RCIE=0;
    CREN=0;
    TXEN=0;
    
    /* 200ms timer */
    TMR0L=0;
    TMR0H=0;
    T0CON=0x08;
    TMR0IF=0;
    TMR0IE=1; 
    
    /* 5mS timer */
    TMR3L=T3LValue;
    TMR3H=T3HValue;
    T3CON=0x80;
    TMR3IE=1;
    TMR3IF=0;
    
    GIE=1;
    TRISB0=0;
    RB0=0;
    RCIE=1;
    TXIE=0;
    CREN=1;
}

/*******************************************************************************
* Function Name  : UsartSendSlave
* Description    : UsartSendSlave
* Input          : the bytes number of want to send
* Output         : None
* Return         : None
*******************************************************************************/
void UsartSendSlave(uchar n)
{
   uchar i;  
   /* reset the equipment's NO. */
   if(n==0x01){  
      n=0x06;
      RB0=1;
      send_number=n+2;              
      send_ok=0;
      buffer.a=get_crc(n);
      data_buf[n+1]=buffer.b[1];
      data_buf[n]=buffer.b[0];
      TXREG=data_buf[0];
      TXIE=1;
      TXEN=1;
      while(send_ok!=0);
      while(TRMT==0);
      for(i=20;i>0;i--);
      TXEN=0;
      send_counter=1;
      UsartInit();
      return;
    }  
   /* the equipment has erro,must be reset */
   if(n==0){
       n=0x06;
       RB0=1;
       send_number=n+2;              
       send_ok=0;
       buffer.a=get_crc(n);
       data_buf[n+1]=buffer.b[1];
       data_buf[n]=buffer.b[0];
       TXREG=data_buf[0];
       TXIE=1;
       TXEN=1;
       while(send_ok!=0);
       while(TRMT==0);
       TXEN=0;
       send_counter=1;
       RB0=0;
       asm("RESET");
    } 
    /* the normal work and send */
    RB0=1;
    send_number=n+2;  
    send_ok=0;
    buffer.a=get_crc(n);
    data_buf[n+1]=buffer.b[1];
    data_buf[n]=buffer.b[0];
    TXREG=data_buf[0];
    TXIE=1;
    TXEN=1;
    while(send_ok!=0);
    while(TRMT==0);
    for(i=20;i>0;i--);
    TXEN=0;
    send_counter=1;
    RB0=0;
    data_buf[0]=0;
    data_buf[1]=0;
    RCIE=1;
    CREN=1;
}
/*******************************************************************************
* Function Name  : UsartSendMain
* Description    : UsartSendMain
* Input          : None
* Output         : None
* Return         : None
*******************************************************************************/
void UsartSendMain(uchar n)
{
    /* send the n bytes command */
    RB0=1;
    send_number=n+2;
    send_ok=0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
男女男精品网站| 亚洲午夜私人影院| 国产精品美女久久久久久久网站| 欧美xxxxxxxx| 中文字幕佐山爱一区二区免费| 国产精品美日韩| 丝袜诱惑亚洲看片| 暴力调教一区二区三区| 在线看不卡av| 久久色在线观看| 国产精品乱码一区二区三区软件| 精品一区二区免费看| 日本亚洲欧美天堂免费| 亚洲三级在线播放| 欧美视频一区二区三区四区| 日韩精品一区在线观看| 亚洲视频在线一区| 国内精品国产成人| 欧美人妇做爰xxxⅹ性高电影| 欧美一级日韩免费不卡| 亚洲精品一卡二卡| 国产成人av自拍| 精品久久国产老人久久综合| 国产精品乱人伦中文| 国产精品不卡一区| 国产精品一区二区视频| 久久综合色婷婷| 亚洲一区二区三区四区五区黄 | 国产精品免费网站在线观看| 日本不卡不码高清免费观看| 欧美色中文字幕| 一区二区三区欧美亚洲| 99久久久无码国产精品| 亚洲视频一区二区在线观看| 国产乱子伦一区二区三区国色天香| 91麻豆精品国产| 激情文学综合插| 国产色产综合色产在线视频| 国产黄色成人av| 中日韩免费视频中文字幕| 国产高清一区日本| 国产精品色婷婷| 99精品一区二区| 亚洲国产wwwccc36天堂| 日韩一区二区三区免费观看| 麻豆成人免费电影| 国产欧美精品日韩区二区麻豆天美| 韩国女主播一区| 亚洲欧美日韩在线播放| 欧美年轻男男videosbes| 韩国毛片一区二区三区| 亚洲免费观看高清完整| 日韩欧美的一区| 波多野结衣中文字幕一区二区三区| 亚洲免费av高清| 欧美v日韩v国产v| 91在线国产观看| 日本成人在线一区| 亚洲同性同志一二三专区| 4438亚洲最大| 91黄色免费看| 风间由美中文字幕在线看视频国产欧美| 日本一区二区成人| 欧美日韩电影在线| 91黄色免费看| 国产suv精品一区二区6| 麻豆91在线观看| 午夜精品久久久久久久蜜桃app| 精品av综合导航| 51久久夜色精品国产麻豆| 欧美午夜电影一区| 99re在线视频这里只有精品| 国产一区二区不卡| 激情深爱一区二区| 精品一区二区三区免费观看| 亚洲欧美激情插| 亚洲观看高清完整版在线观看| 国产精品视频你懂的| 久久久噜噜噜久久人人看| 日韩精品一区二区三区四区 | 蜜臀精品一区二区三区在线观看| 亚洲自拍偷拍综合| 亚洲在线免费播放| 亚洲va欧美va人人爽| 亚洲一区二区精品久久av| 亚洲综合色视频| 日韩激情视频网站| 国产一区在线观看麻豆| 国产69精品久久久久毛片| 成人免费视频app| 99久久久久久| 91精品国产综合久久福利软件| 91精品国产aⅴ一区二区| 欧美v国产在线一区二区三区| 久久久久99精品一区| 国产精品九色蝌蚪自拍| 亚洲国产日韩综合久久精品| 日本欧美一区二区在线观看| 国产精品一色哟哟哟| 欧美日韩精品三区| 久久精品夜夜夜夜久久| 亚洲一区欧美一区| 94色蜜桃网一区二区三区| 欧美性色aⅴ视频一区日韩精品| 日韩欧美国产不卡| 玉足女爽爽91| 成人avav在线| 精品成人一区二区三区| 欧美亚洲另类激情小说| 日韩一级片网站| 成人免费在线观看入口| 久久精品国产99国产| 欧美少妇一区二区| 中文字幕五月欧美| 国产一区二区三区精品欧美日韩一区二区三区| 不卡av在线网| 国产精品初高中害羞小美女文| 精品在线免费视频| 日韩一区和二区| 日韩精品1区2区3区| 欧美日本精品一区二区三区| 亚洲免费观看高清完整版在线| 成人免费观看男女羞羞视频| 久久综合九色综合欧美就去吻 | 92国产精品观看| 国产精品久久久久影院亚瑟| 成人永久看片免费视频天堂| 日本一区二区三区在线观看| 国产精品一区久久久久| 2023国产精品自拍| 成人性色生活片免费看爆迷你毛片| 久久综合久久久久88| 国产成人免费在线视频| 一区在线观看免费| 色域天天综合网| 青青草成人在线观看| 久久综合给合久久狠狠狠97色69| 精品一区二区精品| 国产精品久久久久久久久晋中 | 艳妇臀荡乳欲伦亚洲一区| 欧美性一区二区| 美国一区二区三区在线播放| 国产精品麻豆视频| 91麻豆精品国产91久久久使用方法| 一区二区三区日本| 久久久噜噜噜久久人人看| 91免费国产在线观看| 爽好多水快深点欧美视频| 久久久久久**毛片大全| 欧美专区在线观看一区| 国产福利一区二区三区在线视频| 亚洲精品ww久久久久久p站| 欧美精品久久99久久在免费线 | xf在线a精品一区二区视频网站| 国产成人综合亚洲网站| 热久久国产精品| 亚洲精品国产视频| 亚洲国产精品黑人久久久| 欧美一级午夜免费电影| 在线精品视频一区二区三四| 粗大黑人巨茎大战欧美成人| 麻豆精品一区二区三区| 亚洲另类中文字| 亚洲人xxxx| 毛片不卡一区二区| 亚洲午夜在线电影| 一区二区三区蜜桃| 中文字幕佐山爱一区二区免费| 一区二区三区免费观看| 亚洲日本电影在线| 亚洲激情在线播放| 亚洲精品视频在线看| 日韩毛片视频在线看| 亚洲六月丁香色婷婷综合久久 | 欧美一区二区三区视频免费 | 经典一区二区三区| 国产福利91精品一区二区三区| 国产一区二区三区在线观看免费| 国模冰冰炮一区二区| 国产激情一区二区三区| 99久久精品国产观看| 在线免费观看成人短视频| 精品视频一区 二区 三区| 精品国产免费人成电影在线观看四季| 日韩精品影音先锋| 国产精品久久久久一区| 玉米视频成人免费看| 美国十次了思思久久精品导航| 高清成人免费视频| 欧美日产在线观看| 国产情人综合久久777777| 亚洲精品国产精品乱码不99 | 日韩一区二区三区在线观看| 日本一区二区高清| 日韩精品视频网| 成人国产视频在线观看| 欧美日韩精品专区| 亚洲色图欧美偷拍| 国产成人综合网站| 欧美大度的电影原声|