亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
色婷婷综合久久| 亚洲第一二三四区| 欧美美女bb生活片| 91精品国产欧美日韩| 国产三级一区二区| 成人激情免费视频| 国产精品2024| 日韩成人免费看| 亚洲成av人片一区二区| 亚洲欧美另类小说| 国产精品久久国产精麻豆99网站| 欧美肥妇毛茸茸| 欧美大片顶级少妇| 91精品久久久久久久91蜜桃| 欧美精品久久99| 欧美一区二区成人6969| 日韩免费视频一区| 日韩一区二区三区观看| 日韩一级大片在线观看| 欧美一级久久久| 精品国产91久久久久久久妲己| 制服丝袜亚洲网站| 精品噜噜噜噜久久久久久久久试看| 欧美成人官网二区| 中文av一区特黄| 亚洲精品亚洲人成人网| 午夜精品久久久久| 国产综合色在线视频区| 成人免费av在线| 欧美日韩亚洲综合在线| 欧美tickle裸体挠脚心vk| 亚洲精品一区二区三区四区高清| 国产精品女主播在线观看| 亚洲一区二区三区四区五区黄| 久久机这里只有精品| www.日韩精品| 精品国产第一区二区三区观看体验| 国产欧美一区二区精品婷婷| 亚洲成人av在线电影| 国产剧情一区在线| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲午夜精品17c| 国产精品综合二区| 日本一区二区动态图| 亚洲精品高清视频在线观看| 狠狠色综合日日| 欧美美女一区二区| 亚洲欧美日韩中文播放| 粉嫩av亚洲一区二区图片| 91麻豆精品国产91| 亚洲综合激情另类小说区| 色欲综合视频天天天| 久久久国产精品不卡| 中文字幕视频一区| 99久久精品一区| 中文字幕一区二区三区不卡| 精品无码三级在线观看视频| 日韩色在线观看| 久久99精品久久久久久动态图| 色综合视频一区二区三区高清| 国产精品久久影院| 国产成人亚洲综合a∨婷婷 | 国产乱人伦偷精品视频免下载| 亚洲青青青在线视频| 日韩片之四级片| 欧美性受xxxx黑人xyx| aaa欧美日韩| 国产成人在线看| 国产精品一区二区在线观看不卡 | 欧美a级一区二区| 亚洲综合久久久| 一区二区三区精品视频| 综合色中文字幕| 亚洲国产精品ⅴa在线观看| 久久久青草青青国产亚洲免观| 日韩欧美一区二区视频| 欧美日韩一卡二卡| 欧美日韩在线播放三区四区| 91国产精品成人| 6080yy午夜一二三区久久| 欧美日韩情趣电影| 日韩视频不卡中文| 精品久久人人做人人爰| 久久久久久电影| 中国色在线观看另类| 国产精品精品国产色婷婷| 精品欧美乱码久久久久久1区2区 | 日韩欧美一级片| 粉嫩一区二区三区在线看| 亚洲午夜精品在线| 久久色在线视频| 国产人成一区二区三区影院| 国产suv精品一区二区6| 一区二区三区在线高清| 久久亚区不卡日本| 欧美一级在线观看| 欧美国产精品中文字幕| 欧美亚日韩国产aⅴ精品中极品| 欧美麻豆精品久久久久久| 欧洲人成人精品| 717成人午夜免费福利电影| 精品99999| 91精品在线观看入口| 久久人人97超碰com| 99在线热播精品免费| 久久久久久久电影| 欧美丰满一区二区免费视频| 91色porny| 成人免费高清在线| 久久综合九色综合97婷婷女人| 欧日韩精品视频| 欧美高清视频一二三区 | 欧美综合视频在线观看| 男男gaygay亚洲| 欧美色网一区二区| 免费精品视频在线| 3d动漫精品啪啪1区2区免费| 国产91精品免费| 亚洲欧美中日韩| 91视频91自| 精品噜噜噜噜久久久久久久久试看| 51午夜精品国产| 91麻豆精品国产91久久久| 欧美一卡在线观看| 中文字幕欧美激情| 色哟哟一区二区在线观看| 日本一区二区三区在线不卡| 国模少妇一区二区三区| 国产精品久久久久久久久搜平片| 一区二区三区在线视频播放| 福利视频网站一区二区三区| 91成人看片片| 69堂亚洲精品首页| 国产精品久久久久毛片软件| 亚洲第一激情av| 亚洲第一主播视频| 色婷婷av一区二区三区软件| 国产一区二区中文字幕| 国产黄色成人av| 精品国产伦理网| 精品视频1区2区3区| 国内外精品视频| 欧美日韩一级片在线观看| 99久久精品费精品国产一区二区| 亚洲高清三级视频| 丰满少妇在线播放bd日韩电影| 久久婷婷一区二区三区| 国产精品18久久久久久vr| 亚洲免费视频成人| 亚洲一区二区视频| ...xxx性欧美| 亚洲va欧美va人人爽| 色av一区二区| 黄色成人免费在线| 成人免费一区二区三区在线观看| 国产亚洲福利社区一区| 蜜桃免费网站一区二区三区| 欧美精选一区二区| 9色porny自拍视频一区二区| 性做久久久久久免费观看欧美| 日韩激情在线观看| 欧美久久久久免费| 欧美色精品天天在线观看视频| 亚洲成av人片www| 五月综合激情婷婷六月色窝| 色婷婷av一区二区三区大白胸| 午夜精品久久久久久久久久久 | 亚洲欧美在线另类| 久久久久久97三级| 天天操天天干天天综合网| 18成人在线视频| 亚洲欧美偷拍卡通变态| 亚洲中国最大av网站| 亚洲欧美日韩电影| 日本一不卡视频| 欧美性猛交一区二区三区精品| 国产日本一区二区| 奇米精品一区二区三区四区| 久久久www成人免费毛片麻豆| 国产不卡高清在线观看视频| 91影视在线播放| 国产精品久久久久毛片软件| 亚洲欧美电影院| 91原创在线视频| 国产成人在线免费观看| 一区二区高清在线| 欧美日韩一二三| 欧美探花视频资源| 成人欧美一区二区三区| 欧美午夜宅男影院| 亚洲欧美激情插| 亚洲欧美偷拍三级| 国产乱码精品一区二区三区忘忧草| 亚洲精品在线观看视频| 欧美日产国产精品| 在线看国产一区二区| 国产精品看片你懂得| 国产经典欧美精品| 欧美日韩综合在线| 亚洲久草在线视频|