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

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

?? usbuart0.lst

?? 基于MODBUS協議的串口通信下位機軟件的設計
?? LST
字號:
C51 COMPILER V8.08   USBUART0                                                              05/11/2008 16:41:24 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE USBUART0
OBJECT MODULE PLACED IN USBUART0.OBJ
COMPILER INVOKED BY: E:\軟件\Keil\C51\BIN\C51.EXE USBUART0.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2           
   3          
   4          
   5          
   6          //使用F330,串口為P0.4,P0.5;操作方法:插上短路環J11,拔掉J12,連上USB線。
   7          //-----------------------------------------------------------------------------
   8          // UART.c
   9          //-----------------------------------------------------------------------------
  10          
  11          
  12          //-----------------------------------------------------------------------------
  13          // 所包含的頭文件
  14          //------------------------------------------------------------------------
  15          
  16          #include <c8051f330.h>                 
  17          #include <stdio.h>
  18          #include <lcddriver.h>
  19          #define ADDR 0X01
  20          //-----------------------------------------------------------------------------
  21          // 常量定義
  22          //-----------------------------------------------------------------------------
  23          
  24          #define SYSCLK          24500000             // 系統工作頻率
  25          #define BAUDRATE        9600               // 串口工作波特率
  26          #define TIMER2_RATE     1000                 // 定時器2溢出標志位頻率
  27          #define uchar unsigned char
  28          #define uint unsigned int
  29           
  30          //-----------------------------------------------------------------------------
  31          // F33x’定時器2的16位SFR
  32          //-----------------------------------------------------------------------------
  33          
  34          sfr16 TMR2RL   = 0xca;                 
  35          sfr16 TMR2     = 0xcc;                 
  36          
  37          //-----------------------------------------------------------------------------
  38          
  39          // 功能函數
  40          //-----------------------------------------------------------------------------
  41          
  42          void SYSCLK_Init (void);
  43          void PORT_Init (void);
  44          void UART0_Init (void);
  45          void Timer2_Init (int);
  46          bit ReceiveBit;
  47          bit recieve_flag=0;
  48          unsigned char temp;
  49          unsigned char xdata  table[18] ={"welcome 231"}; 
  50          uchar i,point,aba;
  51          uint ctr1,crc;
  52          uchar data sbufda,tx_count,sent,kcc1,kcc2,aaa,bbb;
  53          uchar data rbuf[8];
  54          uchar data tbuf[18];
  55          /*void delay(unsigned int m)
C51 COMPILER V8.08   USBUART0                                                              05/11/2008 16:41:24 PAGE 2   

  56          {
  57          unsigned int n;
  58          n=0;
  59          while(n<m)
  60          {n++;}
  61          return;
  62          }*/
  63          uint crc16(uchar *str,uint num);
  64          //-----------------------------------------------------------------------------
  65          // 主程序
  66          //-----------------------------------------------------------------------------
  67          
  68           void main (void) {
  69   1      
  70   1         char i=0;
  71   1         PCA0MD &= ~0x40;                    // 禁止看門狗
  72   1                                             
  73   1         PORT_Init();                        // 初始化端口I/O
  74   1         
  75   1         SYSCLK_Init ();                     //  初始化系統時鐘
  76   1         
  77   1         Timer2_Init(SYSCLK/TIMER2_RATE);    //  初始化 Timer 2 
  78   1         
  79   1         UART0_Init();                       //  串口初始化
  80   1         Initialize_LCD();
  81   1        EA=1;
  82   1        ES0=1;
  83   1        while(1)      
  84   1        {
  85   2      
  86   2        if(recieve_flag)
  87   2        {
  88   3          WriteCommand(0x80,1);   //寫地址
  89   3         for( i=0;i<16 ; i++)
  90   3         {
  91   4                
  92   4               
  93   4                          WriteData(tbuf[i]);
  94   4      
  95   4      
  96   4         }
  97   3               WriteCommand(0xc0,1);   //寫地址
  98   3               WriteData(tbuf[16]);
  99   3               WriteData(tbuf[17]);
 100   3              recieve_flag=0;
 101   3         }      
 102   2        }                     
 103   1        
 104   1        /*
 105   1        while(ReceiveBit==1)
 106   1        {
 107   1        ES0=0;
 108   1        EA=0;
 109   1        ReceiveBit=0;
 110   1        //delay(60000);
 111   1       //delay(60000);
 112   1       //delay(60000);
 113   1       SBUF0=temp;
 114   1       while(TI0==0);
 115   1       TI0=0;
 116   1      //delay(60000);
 117   1      // delay(60000);
C51 COMPILER V8.08   USBUART0                                                              05/11/2008 16:41:24 PAGE 3   

 118   1       //delay(60000);
 119   1       ES0=1;
 120   1       EA=1;
 121   1        }
 122   1        }
 123   1        //printf (" KEN :) Happy new year!  \n ");                //  輸出字符                         */
 124   1       
 125   1      }
 126          
 127            
 128          
 129          //-----------------------------------------------------------------------------
 130          // 端口初始化
 131          //-----------------------------------------------------------------------------
 132          //
 133          // Configure the Crossbar and GPIO ports.
 134          //
 135          // P0.4 - UART TX
 136          // P0.5 - UART RX
 137          // P3.3 - LED
 138          
 139          void PORT_Init (void)
 140          {
 141   1         //P0SKIP  |= 0x01;                    
 142   1        // P0MDIN  |= 0x01;                    // 配置P0.0為模擬出入
 143   1         P0MDOUT |= 0x10;                    // 使能 UTX 為推挽輸出
 144   1       //  P1MDOUT |= 0x08;                    // 使能 LED 為推挽輸出
 145   1         XBR0    = 0x01;                     // 使能 UART on P0.4(TX) and P0.5
 146   1                           
 147   1         XBR1    = 0x40;                  
 148   1      }
 149          //-----------------------------------------------------------------------------
 150          // 系統時鐘初始化
 151          //-----------------------------------------------------------------------------
 152          
 153          
 154          void SYSCLK_Init (void)
 155          {
 156   1         OSCICN |= 0x03;                     // 配置內部振蕩器的的最大頻率
 157   1                                              
 158   1         RSTSRC  = 0x04;                     // 使能始終丟失檢測寄存器
 159   1      
 160   1      }
 161          
 162          //-----------------------------------------------------------------------------
 163          // 串口初始化
 164          //-----------------------------------------------------------------------------
 165          
 166          
 167          void UART0_Init (void)
 168          {
 169   1         SCON0 = 0x10;                       
 170   1         if (SYSCLK/BAUDRATE/2/256 < 1) {
 171   2      
 172   2            TH1 = -(SYSCLK/BAUDRATE/2);
 173   2            CKCON &= ~0x0B;                  
 174   2            CKCON |=  0x08;
 175   2         } else if (SYSCLK/BAUDRATE/2/256 < 4) {
 176   2            TH1 = -(SYSCLK/BAUDRATE/2/4);
 177   2            CKCON &= ~0x0B;                                    
 178   2            CKCON |=  0x09;
 179   2         } else if (SYSCLK/BAUDRATE/2/256 < 12) {
C51 COMPILER V8.08   USBUART0                                                              05/11/2008 16:41:24 PAGE 4   

 180   2            TH1 = -(SYSCLK/BAUDRATE/2/12);
 181   2            CKCON &= ~0x0B;                  
 182   2         } else {
 183   2            TH1 = -(SYSCLK/BAUDRATE/2/48);
 184   2            CKCON &= ~0x0B;                   
 185   2            CKCON |=  0x02;
 186   2         }
 187   1      
 188   1         TL1 = TH1;                          
 189   1         TMOD &= ~0xf0;                      
 190   1         TMOD |=  0x20;                       
 191   1         TR1 = 1;                            
 192   1        // TI0 = 1;                            
 193   1      }
 194          //-----------------------------------------------------------------------------
 195          // 時鐘2中斷
 196          //-----------------------------------------------------------------------------
 197          
 198          void Timer2_Init (int counts)
 199          {
 200   1         TMR2CN = 0x00;                      // 停止時鐘2;清除 TF2H 和TF2L;
 201   1                                             
 202   1         CKCON |= 0x10;                      
 203   1         TMR2RL  = -counts;                  
 204   1         TMR2    = TMR2RL;                   
 205   1         ET2 = 0;                            
 206   1         TR2 = 1;                            
 207   1      }
 208          void UATR0_ISR(void)  interrupt 4
 209          {
 210   1      if(TI0)
 211   1      {
 212   2        
 213   2      TI0=0;
 214   2       sbufda++;
 215   2       if(sbufda<=tx_count)
 216   2       {
 217   3        ctr1=0;         //發送
 218   3        SBUF0=tbuf[sbufda];
 219   3        }
 220   2        else
 221   2        {
 222   3         ctr1=1;              //接收
 223   3         sbufda=0;
 224   3         recieve_flag=1;
 225   3         }
 226   2      }
 227   1      //temp=SBUF0;
 228   1      //ReceiveBit=1;
 229   1      
 230   1      
 231   1      else
 232   1      { 
 233   2      RI0=0;
 234   2      rbuf[0]=rbuf[1];
 235   2      rbuf[1]=rbuf[2];
 236   2      rbuf[2]=rbuf[3];
 237   2      rbuf[3]=rbuf[4];
 238   2      rbuf[4]=rbuf[5];
 239   2      rbuf[5]=rbuf[6];
 240   2      rbuf[6]=rbuf[7];
 241   2      rbuf[7]=SBUF0;
C51 COMPILER V8.08   USBUART0                                                              05/11/2008 16:41:24 PAGE 5   

 242   2      if(rbuf[0]==ADDR)
 243   2      {
 244   3       crc=crc16(rbuf,8);
 245   3       if(crc==0)
 246   3       {
 247   4        switch(rbuf[1])
 248   4        {
 249   5        case 0x03       :
 250   5              tbuf[0]=rbuf[0];
 251   5                      tbuf[1]=rbuf[1];
 252   5                      tbuf[2]=(rbuf[5])<<1;
 253   5                      point=tbuf[2];
 254   5                      sent=3;
 255   5                      aba=rbuf[3];
 256   5                      for(i=0;i<point;i++)
 257   5                      {
 258   6                       tbuf[sent]=table[aba];
 259   6                       aba++;
 260   6                       sent++;
 261   6                       }
 262   5                       crc=crc16(tbuf,sent);
 263   5                       sent++;
 264   5                       tbuf[sent]=crc/256;
 265   5                       sent--;
 266   5                       tbuf[sent]=crc%256;
 267   5                       ctr1=0;
 268   5                       SBUF0=tbuf[0];
 269   5                       ES0=1;
 270   5                       sent++;
 271   5                       tx_count=sent;
 272   5                       sbufda=0;
 273   5                      
 274   5                       break;
 275   5         case 0x04 :
 276   5              tbuf[0]=rbuf[0];
 277   5                      tbuf[1]=rbuf[1];
 278   5                      tbuf[2]=2;
 279   5                      tbuf[3]=kcc1;
 280   5                      tbuf[4]=kcc2;
 281   5                      sent=5;
 282   5                      crc=crc16(tbuf,sent);
 283   5                      sent++;
 284   5                      tbuf[sent]=crc/256;
 285   5                      sent--;
 286   5                      tbuf[sent]=crc%256;
 287   5                      ctr1=0;
 288   5                      SBUF0=tbuf[0];
 289   5                      ES0=1;
 290   5                      sent++;
 291   5                      tx_count=sent;
 292   5                      sbufda=0;
 293   5                      break;
 294   5          case 0x06 :
 295   5              tbuf[0]=rbuf[0];
 296   5                      tbuf[1]=rbuf[1];
 297   5                      tbuf[2]=rbuf[2];
 298   5                      tbuf[3]=rbuf[3];
 299   5                      tbuf[4]=rbuf[4];
 300   5                      tbuf[5]=rbuf[5];
 301   5                      tbuf[6]=rbuf[6];
 302   5                      tbuf[7]=rbuf[7];
 303   5                      aaa=rbuf[4];
C51 COMPILER V8.08   USBUART0                                                              05/11/2008 16:41:24 PAGE 6   

 304   5                      bbb=rbuf[5];
 305   5                      ctr1=0;
 306   5                      SBUF0=tbuf[0];
 307   5                      ES0=1;
 308   5                      sent++;
 309   5                      tx_count=sent;
 310   5                      sbufda=0;
 311   5                      break;
 312   5              default:
 313   5                  break;
 314   5                      }
 315   4                            }
 316   3                      }
 317   2                      }
 318   1      }
 319          
 320          
 321          uint crc16(uchar *str,uint num)
 322          { 
 323   1       uint i1,j1,c1,crc1;
 324   1       crc1=0xffff;
 325   1       for(i1=0;i1<num;i1++)
 326   1       {
 327   2        c1=str[i1]&0x00ff;
 328   2        crc1^=c1;
 329   2        for(j1=0;j1<8;j1++)
 330   2        {
 331   3         if(crc1&0x0001)
 332   3         {
 333   4          crc1>>=1;
 334   4              crc1^=0xa001;
 335   4          }
 336   3              else
 337   3              crc1>>=1;
 338   3         }
 339   2        }
 340   1        return(crc1);
 341   1        }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    595    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =     18    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     41       8
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区在线观看视频| 国产精品久久久久久一区二区三区| 欧美大片顶级少妇| 中文字幕的久久| 婷婷久久综合九色国产成人| 国产成人精品午夜视频免费| 欧美日本一区二区三区四区| 欧美国产精品中文字幕| 美女国产一区二区| 91久久精品网| 国产精品久久久一区麻豆最新章节| 日本午夜精品视频在线观看| 欧美性色黄大片| 成人欧美一区二区三区视频网页| 久草在线在线精品观看| 欧美中文字幕一区二区三区 | 亚洲国产精品ⅴa在线观看| 亚洲专区一二三| 91在线porny国产在线看| 国产精品久久精品日日| 国产一区激情在线| 精品国产一区二区在线观看| 婷婷久久综合九色综合绿巨人| 日本乱人伦一区| 国产精品久久久久久久岛一牛影视| 激情亚洲综合在线| 精品日韩在线观看| 久久99国产精品免费网站| 在线播放日韩导航| 亚洲va国产天堂va久久en| 色婷婷av一区二区三区之一色屋| 亚洲欧洲日本在线| 99精品视频在线观看免费| 国产精品婷婷午夜在线观看| 国产不卡在线一区| 久久精品一区二区| 懂色av一区二区三区蜜臀| 久久综合九色综合97婷婷| 久久99精品一区二区三区| 精品国产成人在线影院| 免费高清视频精品| 久久婷婷色综合| 国产精品一二一区| 欧美国产欧美亚州国产日韩mv天天看完整| 国产福利一区二区三区视频在线 | 开心九九激情九九欧美日韩精美视频电影 | 麻豆成人久久精品二区三区小说| eeuss国产一区二区三区| 国产精品美女久久福利网站| 色综合天天综合色综合av| 一级做a爱片久久| 欧美久久一二三四区| 日韩精品三区四区| 久久久久久毛片| 成人免费视频视频在线观看免费 | 日韩中文欧美在线| 欧美一区二区精品| 国产成人精品三级| 亚洲精品国久久99热| 91精品国产色综合久久久蜜香臀| 久久电影网电视剧免费观看| 国产欧美综合色| 在线观看视频一区| 精品一区二区在线播放| 中文字幕日韩精品一区| 欧美浪妇xxxx高跟鞋交| 国产一区二区在线观看免费| 亚洲欧美日韩中文播放| 欧美一级日韩不卡播放免费| 国产老肥熟一区二区三区| 亚洲综合一二三区| 精品日韩成人av| 色综合中文字幕国产| 亚洲午夜成aⅴ人片| 欧美成人精品二区三区99精品| 成人性色生活片免费看爆迷你毛片| 亚洲一区二区三区四区中文字幕| 欧美mv和日韩mv的网站| 在线观看国产日韩| 国产精品系列在线观看| 亚洲成人先锋电影| 中文在线一区二区| 日韩午夜激情视频| 色8久久精品久久久久久蜜| 久久精品久久精品| 亚洲成av人在线观看| 国产欧美一区二区精品性色| 91麻豆精品国产无毒不卡在线观看| 国产91清纯白嫩初高中在线观看| 日韩—二三区免费观看av| 亚洲精品写真福利| 日本一区二区三区在线观看| 欧美一区二区三区免费视频| 日本精品免费观看高清观看| 国产夫妻精品视频| 美国三级日本三级久久99| 亚洲综合成人在线视频| 国产精品看片你懂得| 久久久夜色精品亚洲| 欧美一卡二卡三卡| 91精品国产一区二区人妖| 欧美日韩国产在线观看| 日本精品视频一区二区三区| aaa国产一区| 成人av免费在线观看| 国产成人精品1024| 国内成人免费视频| 精品一二三四区| 国产一区二区三区精品视频| 日韩二区在线观看| 日韩国产在线一| 日韩av高清在线观看| 亚洲18影院在线观看| 一区二区三区四区五区视频在线观看| 国产日产欧产精品推荐色 | 欧美一区二区三区思思人| 欧美午夜一区二区| 欧美性猛片aaaaaaa做受| 欧美亚一区二区| 欧美日本在线观看| 欧美一卡2卡三卡4卡5免费| 日韩视频一区二区| 欧美成人激情免费网| 2017欧美狠狠色| 国产色一区二区| 中文字幕一区二区日韩精品绯色| 综合久久国产九一剧情麻豆| 亚洲精品国产a| 亚洲成在线观看| 日本vs亚洲vs韩国一区三区二区 | 欧美一区二区三区不卡| 欧美一区二区三区视频在线观看| 日韩女优av电影在线观看| 久久免费精品国产久精品久久久久 | 久久嫩草精品久久久久| 欧美日韩在线播放一区| 欧美日韩国产色站一区二区三区| 欧美人牲a欧美精品| 日韩一区和二区| 久久久久久久久久久久电影| 中文字幕av一区二区三区免费看| 亚洲欧美色图小说| 日韩电影在线看| 国产精品一区二区久久不卡| 成人91在线观看| 欧美日本一道本在线视频| 久久久久亚洲蜜桃| 樱花影视一区二区| 麻豆一区二区三| 99久久精品国产麻豆演员表| 欧美日韩黄色一区二区| 久久免费美女视频| 亚洲电影第三页| 国产老女人精品毛片久久| 精彩视频一区二区| 欧美精品一卡二卡| 久久精品一区二区三区不卡牛牛| 欧美在线视频全部完| 91成人国产精品| 日韩女优制服丝袜电影| 国产精品欧美综合在线| 偷偷要91色婷婷| 不卡视频在线看| 91精品午夜视频| 亚洲欧美在线aaa| 另类小说综合欧美亚洲| 99精品视频一区二区| 日韩欧美亚洲一区二区| 一区二区三国产精华液| 国产盗摄精品一区二区三区在线| 欧美午夜电影在线播放| 国产欧美日韩视频在线观看| 日韩制服丝袜先锋影音| 91蝌蚪porny| 国产三级三级三级精品8ⅰ区| 午夜久久电影网| 97久久超碰精品国产| 久久综合av免费| 日韩黄色一级片| 91搞黄在线观看| 中文av字幕一区| 国产在线播放一区三区四| 欧美久久久久久蜜桃| 亚洲精品美腿丝袜| 懂色av一区二区三区免费观看| 日韩久久久精品| 五月天亚洲精品| 欧洲生活片亚洲生活在线观看| 国产片一区二区三区| 久久成人免费网| 91精品国产乱码久久蜜臀| 一区二区三区精品在线| 99精品热视频| 国产精品九色蝌蚪自拍| 国产成人精品亚洲午夜麻豆| 久久一夜天堂av一区二区三区| 丝袜脚交一区二区| 欧美三级电影在线看| 亚洲已满18点击进入久久| 色视频成人在线观看免|