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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? serial1.lst

?? c8051f020單片機(jī)以太網(wǎng)串口通信
?? LST
字號(hào):
C51 COMPILER V6.23a  SERIAL1                                                               04/15/2002 18:18:04 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE SERIAL1
OBJECT MODULE PLACED IN Serial1.OBJ
COMPILER INVOKED BY: C:\keil\C51\BIN\c51.exe Serial1.c DB OE

stmt level    source

   1          //串口中斷服務(wù)程序,僅需做簡(jiǎn)單調(diào)用即可完成串口輸入輸出的處理
   2          //出入均設(shè)有緩沖區(qū),大小可任意設(shè)置。
   3          //*************************************************************************
   4          #include "TestSerial.h" 
   5          #define BAUDRATE1               115200          // 用戶(hù)定義的UART1 波特率
   6          
   7          #define DB_SENDMAXSIZE1 0xf0
   8          #define DB_RECMAXSIZE1 0xf0
   9          
  10          
  11          extern unsigned char Count1ms;
  12          bit FlagRecComm1,SendItComm1;
  13          unsigned char   CommSendBufferHead1, CommSendBufferTail1;
  14          unsigned char   xdata CommSendBuffer1[DB_SENDMAXSIZE1]; 
  15          unsigned char   CommRecBufferHead1, CommRecBufferTail1;
  16          unsigned char   xdata CommRecBuffer1[DB_RECMAXSIZE1]; 
  17          
  18          /*****************************************************************
  19          Function: OpenComm
  20          Description: Sets the serial port up for debug use and resets
  21          the ring buffer pointers to 0.
  22          Parameters: None.
  23          Returns: Nothing.
  24          *****************************************************************/
  25          //                0xfd=19200,0xfa=9600,0xf4=4800,0xe8=2400,0xd0=1200
  26          
  27          void OpenComm1(void) 
  28          {
  29   1      //      SCON1=0xf0;             /*設(shè)置串行口1工作于方式3,主從式*/
  30   1                                      /*SM0_1  SM1_1 SM2_1 REN_1  TB8_1 RB8_1 TI_1 RI_1*/
  31   1                                      /* 1       1     1     1      0     0     0    0 */
  32   1                                      /*when SM2_1=1 receice addr    */       
  33   1              TMOD |= 0x20;   /* timer 1 mode 2: 8-Bit reload          */
  34   1              PCON|=0x10;//-->SMOD_1=1;       /*bps double*/                                  
  35   1              CKCON |= 0x10;          // Timer 1 derived from SYSCLK
  36   1              TH1 = -(SYSCLK/BAUDRATE1/16);  //11.0592  ->4800-115200
  37   1              TR1 = 1;                        // Start Timer 1
  38   1              SCON1 = 0x50;                   // Configure UART1 for mode 1, receiver enabled.
  39   1              CommSendBufferHead1=CommSendBufferTail1=0; // set the head and tail to the base of the ring buffer
  40   1              CommRecBufferHead1=CommRecBufferTail1=0; // set the head and tail to the base of the ring buffer
  41   1              SCON1|=0x10;//-->   REN1=1; 
  42   1              EIE2|=0x40; //-->       ES1=1;                  // allow the serial interrupt
  43   1              SendItComm1=1;
  44   1      }
  45          /*
  46          void SendCommAddress1(char ch)
  47          {
  48                  while (CommSendBufferTail1!=CommSendBufferHead1);
  49                  CommSendBufferTail1++;
  50                  if (CommSendBufferTail1==DB_SENDMAXSIZE1)
  51                  {       
  52                          CommSendBufferTail1=0;
  53                  }
  54                  SCON1|=0x08;//-->TB8_1=1;
  55                  SBUF1=ch;
C51 COMPILER V6.23a  SERIAL1                                                               04/15/2002 18:18:04 PAGE 2   

  56          }
  57          */
  58          void SendCommChar1(char ch)
  59          {
  60   1              CommSendBuffer1[CommSendBufferTail1]=ch; // copy the current byte
  61   1              CommSendBufferTail1++;  // move the pointer
  62   1              if (CommSendBufferTail1==DB_SENDMAXSIZE1)
  63   1              {                                               // check for pointer rollover
  64   2                      CommSendBufferTail1=0;
  65   2              }
  66   1              if (SendItComm1)
  67   1              {                                               // if a byte needs to be sent,
  68   2                      SCON1&=0xf7;//-->TB8_1=0;
  69   2                      SBUF1=CommSendBuffer1[CommSendBufferHead1]; // do it
  70   2              }
  71   1              return ;
  72   1      }
  73          /*
  74          bit CommSendBufferIsEmpty1(void)
  75          {
  76                  if (CommSendBufferTail1==CommSendBufferHead1) return true;
  77                  else return false;     
  78          }
  79          
  80          
  81          bit CommRecBufferIsEmpty1(void)
  82          {
  83                  if (CommRecBufferTail1==CommRecBufferHead1) return TRUE;
  84                  else return FALSE;     
  85          }
  86          void ClearCommSendBuffer1(void)
  87          {
  88                  CommSendBufferHead1=CommSendBufferTail1;
  89          }
  90          void ClearCommRecBuffer1(void)
  91          {
  92                  CommRecBufferHead1=CommRecBufferTail1;
  93                  RecDataFlag1=0;
  94          }
  95          */
  96          void SendCommBuffer1(unsigned char *base, unsigned char size) 
  97          {
  98   1      unsigned char i=0;
  99   1              if (size==0) return;
 100   1              while (i<size) 
 101   1              {                                       // copy bytes while the buffer has space and the block has data
 102   2                      CommSendBuffer1[CommSendBufferTail1]=base[i]; // copy the current byte
 103   2                      i++;
 104   2                      CommSendBufferTail1++; // move the pointer
 105   2                      if (CommSendBufferTail1==DB_SENDMAXSIZE1)
 106   2                      {                               // check for pointer rollover
 107   3                              CommSendBufferTail1=0;
 108   3                      }
 109   2              }
 110   1              if (SendItComm1)
 111   1              {                                       // if a byte needs to be sent,
 112   2                      SCON1&=0xf7;//-->TB8_1=0;
 113   2                      SBUF1=CommSendBuffer1[CommSendBufferHead1]; // do it
 114   2              }
 115   1      }
 116          
 117          void SendCommString1(unsigned char *base) 
C51 COMPILER V6.23a  SERIAL1                                                               04/15/2002 18:18:04 PAGE 3   

 118          {
 119   1      unsigned char i=0;
 120   1              if (base[0]==0) return;
 121   1              for (;;)
 122   1              {       
 123   2                      if (base[i]==0) break;
 124   2                      CommSendBuffer1[CommSendBufferTail1]=base[i]; // copy the current byte
 125   2                      CommSendBufferTail1++; // move the pointer
 126   2                      if (CommSendBufferTail1==DB_SENDMAXSIZE1)
 127   2                      {                                               // check for pointer rollover
 128   3                              CommSendBufferTail1=0;
 129   3                      }
 130   2                      i++;
 131   2              }
 132   1              if (SendItComm1)
 133   1              {                                                       // if a byte needs to be sent,
 134   2                      SCON1&=0xf7;//-->TB8_1=0;
 135   2                      SBUF1=CommSendBuffer1[CommSendBufferHead1]; // do it
 136   2              }
 137   1      }
 138          
 139          /*****************************************************************
 140          Function: CommISR
 141          Description: ISR for the serial port. Increments the ring
 142          buffer head pointer and sends out the next byte if
 143          the pointer has not caught the tail pointer.
 144          Parameters: None.
 145          Returns: Nothing.
 146          *****************************************************************/
 147          void CommISR1(void) interrupt 20 
 148          {
 149   1              if (SCON1&0x02);//-->_testbit_(TI_1))
 150   1              {                                                       // check and clear TI
 151   2                      CommSendBufferHead1++;  // advance the head pointer
 152   2                      if (CommSendBufferHead1==DB_SENDMAXSIZE1)
 153   2                      {                                               // watch out for rollover
 154   3                              CommSendBufferHead1=0;
 155   3                      }
 156   2                      if (CommSendBufferHead1!=CommSendBufferTail1)
 157   2                      {                                               // check for more data in the buffer
 158   3                              SBUF1=CommSendBuffer1[CommSendBufferHead1]; // send the next byte
 159   3                              SendItComm1=0;
 160   3                      }
 161   2                      else
 162   2                      {
 163   3                              SendItComm1=1;
 164   3                      }
 165   2              }
 166   1              if (SCON1&0x01) //if (_testbit_(RI_1))  
 167   1              {       
 168   2                      CommRecBuffer1[CommRecBufferTail1]=SBUF1;     //receive data           
 169   2                  CommRecBufferTail1++;
 170   2                  if (CommRecBufferTail1==DB_RECMAXSIZE1)
 171   2                  {
 172   3                      CommRecBufferTail1=0;
 173   3                  }
 174   2                      FlagRecComm1=1;
 175   2              }
 176   1              SCON1&=0xfc;
 177   1      }
 178          
 179          //*************************************
C51 COMPILER V6.23a  SERIAL1                                                               04/15/2002 18:18:04 PAGE 4   

 180          //read one byte from receive buffer
 181          
 182          bit GetCommChar1(unsigned char idata *ch)      
 183          { 
 184   1              if (CommRecBufferTail1==CommRecBufferHead1) return 0;     
 185   1              *ch=CommRecBuffer1[CommRecBufferHead1];
 186   1              CommRecBufferHead1++;
 187   1              if (CommRecBufferHead1==DB_RECMAXSIZE1)
 188   1              {
 189   2                      CommRecBufferHead1=0;
 190   2              }
 191   1              if (CommRecBufferTail1==CommRecBufferHead1) FlagRecComm1=0;
 192   1              return 1;
 193   1      }
 194          
 195          /*
 196          bit SendBufferIsEmpty1(void)
 197          {
 198                  if (CommSendBufferTail1==CommSendBufferHead1) return TRUE;
 199                  else return FALSE;     
 200          }
 201          bit RecBufferIsEmpty1(void)
 202          {
 203                  if (CommRecBufferTail1==CommRecBufferHead1) return TRUE;
 204                  else return FALSE;     
 205          }
 206          */
 207          bit GetCommCharWait1(unsigned char idata *ch,unsigned char T)  //T ms    
 208          { 
 209   1              Count1ms=T;*ch=0;
 210   1              while (Count1ms)
 211   1              {
 212   2                      if (CommRecBufferTail1!=CommRecBufferHead1) break;
 213   2              }
 214   1              if (Count1ms==0) return 0;
 215   1              *ch=CommRecBuffer1[CommRecBufferHead1];
 216   1              CommRecBufferHead1++;
 217   1              if (CommRecBufferHead1==DB_RECMAXSIZE1)
 218   1              {
 219   2                      CommRecBufferHead1=0;
 220   2              }
 221   1              if (CommRecBufferTail1==CommRecBufferHead1) FlagRecComm1=0;
 222   1              return 1;
 223   1      }
 224          
 225          void ClearCommRecBuffer1(void)
 226          {
 227   1              CommRecBufferHead1=CommRecBufferTail1;
 228   1      }
 229          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    420    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =    480    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产三级精品在线| 伊人性伊人情综合网| 日韩视频一区二区在线观看| 色播五月激情综合网| 色综合色综合色综合色综合色综合| 国产成人午夜99999| 亚洲视频一区在线| 欧洲亚洲国产日韩| 久久精品国产99国产| 日韩激情视频网站| 日韩影视精彩在线| 欧美aⅴ一区二区三区视频| 日韩精品一级中文字幕精品视频免费观看| 亚洲午夜激情av| 日韩一区精品视频| 韩国一区二区视频| 成人在线视频一区| 一本色道a无线码一区v| 在线观看欧美日本| 欧美一区二区免费| 亚洲精品一区二区三区影院| 久久精品人人爽人人爽| 国产精品毛片a∨一区二区三区 | 欧美绝品在线观看成人午夜影视| 欧美色男人天堂| 欧美一区二区三区视频免费播放| 精品少妇一区二区三区视频免付费 | 26uuu亚洲综合色欧美| 久久婷婷久久一区二区三区| 国产午夜亚洲精品午夜鲁丝片| 亚洲国产成人自拍| 亚洲亚洲精品在线观看| 免费观看一级特黄欧美大片| 国产精品一区二区三区99| gogo大胆日本视频一区| 在线观看av不卡| 日韩欧美国产精品一区| 国产日韩欧美精品一区| 亚洲综合丁香婷婷六月香| 日韩成人精品在线| 成人99免费视频| 欧美久久婷婷综合色| 久久久久久免费| 亚洲综合自拍偷拍| 国产一区二区在线影院| 色天天综合色天天久久| 日韩视频在线观看一区二区| 国产精品日韩成人| 日韩成人精品在线观看| www.欧美色图| 欧美一卡在线观看| 国产精品不卡一区二区三区| 天堂成人国产精品一区| 从欧美一区二区三区| 欧美日韩五月天| 亚洲国产岛国毛片在线| 日韩和的一区二区| av动漫一区二区| 亚洲精品一区二区三区99| 一区二区三区在线播放| 国产精品资源在线观看| 欧美日韩一区在线| 中文字幕成人av| 麻豆精品在线播放| 一本到三区不卡视频| 久久久精品人体av艺术| 爽好多水快深点欧美视频| 成人激情午夜影院| 欧美成人vps| 性欧美大战久久久久久久久| 99精品热视频| 久久久欧美精品sm网站| 五月婷婷综合在线| 91麻豆国产香蕉久久精品| 久久日一线二线三线suv| 亚洲成va人在线观看| 91在线国产福利| 国产欧美中文在线| 国产麻豆视频一区| 欧美一区二区网站| 亚洲一区电影777| 色综合天天综合狠狠| 欧美国产日本韩| 九九国产精品视频| 欧美一级欧美三级在线观看| 亚洲一区在线观看免费 | 久久久久久夜精品精品免费| 亚洲成av人片在www色猫咪| 色综合天天综合色综合av| 国产精品乱码人人做人人爱| 国产在线视视频有精品| 日韩视频在线永久播放| 日韩高清不卡一区二区| 欧美精品第一页| 亚洲成人激情综合网| 在线精品视频一区二区三四| 亚洲精品国久久99热| 99国产精品国产精品毛片| 中文一区二区在线观看| 国产99久久精品| 国产三级久久久| 国产不卡在线视频| 亚洲国产精品精华液2区45| 国产成人自拍高清视频在线免费播放| 精品国精品自拍自在线| 开心九九激情九九欧美日韩精美视频电影| 91麻豆精品国产91久久久使用方法| 亚洲成人中文在线| 91精品在线观看入口| 天堂成人国产精品一区| 91精品国产入口| 久久se这里有精品| 久久女同互慰一区二区三区| 国产一区二区视频在线播放| 国产亚洲欧美日韩在线一区| 国产成人aaa| 亚洲人成网站精品片在线观看| 色综合欧美在线| 午夜日韩在线电影| 日韩欧美在线网站| 国产一区二区电影| 国产精品乱人伦中文| 色狠狠一区二区三区香蕉| 亚洲国产美国国产综合一区二区| 欧美日韩中字一区| 人人精品人人爱| 欧美精品一区二区三区高清aⅴ| 国产电影精品久久禁18| 国产精品国产三级国产普通话99 | 欧美在线观看一区二区| 午夜视频在线观看一区二区| 日韩一区二区三区在线观看| 国产精品一区二区免费不卡| 国产精品久线观看视频| 欧洲精品在线观看| 久久成人久久爱| 一区在线中文字幕| 欧美日韩久久久久久| 国产精品影视在线| 亚洲一区二区三区国产| 欧美精品一区二区三区视频| 99国产精品99久久久久久| 午夜激情一区二区三区| 久久久久久久免费视频了| 91麻豆免费观看| 激情综合网av| 一区二区在线观看av| 日韩午夜激情av| 91免费视频大全| 久久66热偷产精品| 亚洲欧美二区三区| 欧美成人vps| 在线视频欧美精品| 国产精品一区二区三区99| 亚洲成人一二三| 国产精品网站在线播放| 欧美高清www午色夜在线视频| 成人一区二区三区| 免费在线一区观看| 亚洲精品国产a| 久久一区二区视频| 欧美三级日韩在线| 成人免费av网站| 蜜臀av性久久久久av蜜臀妖精| 国产精品美女久久久久久| 91精品国产aⅴ一区二区| 国产69精品一区二区亚洲孕妇| 亚洲综合在线第一页| 中文子幕无线码一区tr| 欧美一区二区三区色| 91视频免费看| 国产高清在线观看免费不卡| 亚洲v日本v欧美v久久精品| 中文字幕 久热精品 视频在线| 日韩视频永久免费| 欧美日韩一级二级| 91免费版在线| 国产精品一区二区免费不卡| 蜜桃一区二区三区在线| 亚洲综合激情网| ●精品国产综合乱码久久久久 | 亚洲一区二区3| 亚洲三级视频在线观看| 国产日韩欧美综合一区| 精品国产sm最大网站免费看 | 亚洲韩国一区二区三区| 国产精品久久久久久久久晋中| 欧美v日韩v国产v| 欧美一级xxx| 欧美美女bb生活片| 欧美日韩一区二区三区在线看| 成人国产视频在线观看| 国产在线视视频有精品| 激情五月婷婷综合网| 美腿丝袜亚洲色图| 日本亚洲欧美天堂免费| 天天色综合成人网| 日韩影院在线观看| 青青草成人在线观看| 免费观看成人鲁鲁鲁鲁鲁视频|