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

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

?? serial.lst

?? 使用c語言編寫的單片機的應用程序
?? LST
字號:
C51 COMPILER V7.06   SERIAL                                                                09/12/2005 12:55:40 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE SERIAL
OBJECT MODULE PLACED IN serial.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE serial.c BROWSE DEBUG OBJECTEXTEND TABS(2)

stmt level    source

   1          //本函數集來自51單片機世界,作者斑竹丁丁(聶小猛)。
   2          //主頁地址http://www.mcu51.com
   3          //串口中斷服務程序,僅需做簡單調用即可完成串口輸入輸出的處理
   4          //出入均設有緩沖區,大小可任意設置。
   5          //可供使用的函數名:
   6          /*
   7          extern char getbyte(void);//從接收緩沖區取一個byte,如不想等待則在調用前檢測inbufsign是否為1。
   8          extern putbyte(char c);//放入一個字節到發送緩沖區
   9          extern putstring(uchar  *puts);//發送一個定義在程序存儲區的字符串到串口
  10          extern puthex(uchar c);//發送一個字節的hex碼,分成兩個字節發。
  11          extern  bit   inbufsign;
  12          #define CR putstring("\r\n")//發送一個回車換行
  13          extern void serial_init (void);
  14          */
  15          
  16          //*************************************************************************
  17          #pragma small
  18          
  19          #include <AT89X52.H>
  20          #define  uchar  unsigned char
  21          #define  uint   unsigned int
  22          
  23          #define  OLEN  8                    /* size of serial transmission buffer   */
  24          idata uchar  outbuf[OLEN];          /* storage for transmission buffer      */
  25          uchar idata * data outlast=outbuf;    //最后由中斷傳輸出去的字節位置
  26          data uchar idata *putlast=outbuf;    //最后放入發送緩沖區的字節位置
  27          #define  ILEN   32//32            /* size of serial receiving buffer      */
  28          idata uchar  inbuf[ILEN];
  29          data uchar idata *inlast=inbuf;  //最后由中斷進入接收緩沖區的字節位置
  30          data uchar idata *getlast=inbuf;  //最后取走的字節位置
  31          bit   outbufsign0;     //最后一個數據覵BUF發完標志  發完=0
  32          bit   outbufsign;     //輸出緩沖區非空標志   有=1
  33          bit   inbufsign;      //接收緩沖區非空標志   有=1
  34          bit   inbufful;       //輸入緩沖區滿標志  滿=1
  35          #define CR putstring("\r\n")   //CR=回車換行
  36          
  37          
  38          //*****************************
  39          //放入一個字節到發送緩沖區
  40          putbyte(unsigned char c)
  41          {
  42   1        ES=0;            /*暫停串行中斷,以免數據比較時出錯    */
  43   1        while((((outlast-putlast)==2) && (outlast > putlast )) || ((outlast < putlast) && (OLEN-(putlast-outlast)
             -==2)))
  44   1        {
  45   2          ES=1;
  46   2          c++;c--;
  47   2          ES=0;
  48   2        }
  49   1        *putlast=c;            //放字節進入緩沖區
  50   1        putlast++;          //發送緩沖區指針加一
  51   1        if (putlast==outbuf+OLEN) putlast=outbuf;  //指針到了頂部換到底部
  52   1          outbufsign=1;
  53   1        if (!outbufsign0)
  54   1        {
C51 COMPILER V7.06   SERIAL                                                                09/12/2005 12:55:40 PAGE 2   

  55   2          outbufsign0=1;
  56   2          TI=1;
  57   2        }   //緩沖區開始為空置為有,啟動發送
  58   1        ES=1;
  59   1      }
  60          
  61          //***************************************
  62          //發送字符串到串口
  63          putstring(uchar  *puts)
  64          {
  65   1        for(;*puts!=0;puts++)   //遇到停止符0結束
  66   1          putbyte(*puts);
  67   1      }
  68          //******************************
  69          /*放一串數據到發送緩沖區,需要定義發送的字節數
  70          putbytes(uchar *outplace,uint j) 
  71          {   int i;
  72            for(i=0;i<j;i++)
  73            {
  74              putbyte(*outplace);
  75              outplace++;
  76            }
  77          }*/
  78          //*************************************
  79          //發送一個字節的hex碼,分成兩個字節發。
  80          /*uchar code hex_[]={"0123456789ABCDEF"};
  81          puthex(unsigned char c)
  82          {
  83            int ch;
  84            ch=(c>>4)&0x0f;
  85            putbyte(hex_[ch]);
  86            ch=c&0x0f;
  87            putbyte(hex_[ch]);
  88          }*/
  89          //*************************************
  90          //從接收緩沖區取一個byte,如不想等待則在調用前檢測inbufsign是否為1。
  91          uchar getbyte (void)
  92          {
  93   1        char idata c ;
  94   1        while (!inbufsign);     //緩沖區空等待
  95   1        ES=0;
  96   1        c= *getlast;            //取數據
  97   1        getlast++;              //最后取走的數據位置加一
  98   1        inbufful=0;            //輸入緩沖區的滿標志清零
  99   1        if (getlast==inbuf+ILEN) getlast=inbuf; //地址到頂部回到底部
 100   1        if (getlast==inlast) inbufsign=0;       //地址相等置接收緩沖區空空標志,再取數前要檢該標志
 101   1        ES=1;
 102   1        return (c);        //取回數據
 103   1      }
 104          //*****************************************
 105          //串口中斷處理
 106          
 107          serial () interrupt 4
 108          {
 109   1        if (TI)
 110   1        {
 111   2          TI = 0;
 112   2          if (outbufsign)
 113   2          {
 114   3            SBUF=*outlast; //未發送完繼續發送
 115   3            outlast++;            //最后傳出去的字節位置加一
 116   3            if (outlast==outbuf+OLEN) outlast=outbuf;//地址到頂部回到底部
C51 COMPILER V7.06   SERIAL                                                                09/12/2005 12:55:40 PAGE 3   

 117   3            if (putlast==outlast) outbufsign=0;   //數據發送完置發送緩沖區空標志
 118   3          }
 119   2          else
 120   2          {
 121   3            outbufsign0=0;
 122   3          }
 123   2        }
 124   1        if (RI)
 125   1        {
 126   2          RI = 0;
 127   2          if(!inbufful)
 128   2          {
 129   3            *inlast= SBUF;            //放入數據
 130   3            inlast++;                    //最后放入的位置加一
 131   3            inbufsign=1;
 132   3            if (inlast==inbuf+ILEN) inlast=inbuf;//地址到頂部回到底部
 133   3            if (inlast==getlast)  inbufful=1;  //接收緩沖區滿置滿標志
 134   3          }
 135   2        }
 136   1      }
 137          
 138          //*****************************
 139          //串口初始化                
 140          void serial_init (void)
 141          {
 142   1        SCON  = 0x50;
 143   1        T2CON = 0x34;                    // mode 1: 8-bit UART, enable receiver                      // timer 1 m
             -ode 2: 8-Bit reload
 144   1        TH2=0xff;TL2 = 0xb8;          //baud*2    /* reload value 9600 baud -22118400HZ
 145   1        RCAP2H =0xff;
 146   1        RCAP2L=0xb8;
 147   1        TR2   = 1;                         // timer 1 run
 148   1      
 149   1        ES = 1;
 150   1        REN=1;
 151   1        EA=1;
 152   1      
 153   1      }
 154          
 155          
 156          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    262    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4    ----
   IDATA SIZE       =     40       1
   BIT SIZE         =      4    ----
END OF MODULE INFORMATION.


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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av电影在线观看一区| 欧美高清视频在线高清观看mv色露露十八| 在线观看日韩精品| 久久一二三国产| 亚洲高清免费视频| 99久久国产免费看| 久久综合网色—综合色88| 亚洲国产欧美在线人成| av电影天堂一区二区在线观看| 精品国产网站在线观看| 天天免费综合色| 欧洲另类一二三四区| 国产精品不卡视频| 成人国产视频在线观看| 精品日韩99亚洲| 青青国产91久久久久久 | 亚洲欧洲制服丝袜| 麻豆成人免费电影| 91麻豆精品国产91久久久久久久久 | 久久九九久久九九| 男女男精品视频| 91精品免费观看| 亚洲gay无套男同| 欧美日韩精品欧美日韩精品一| 亚洲人成人一区二区在线观看 | 成人精品一区二区三区中文字幕| 日韩欧美国产不卡| 日韩中文字幕不卡| 欧美久久一二区| 欧美aaaaaa午夜精品| 欧美福利一区二区| 久久精品国产精品亚洲精品| 欧美一区二区免费视频| 久久精品72免费观看| 欧美mv日韩mv国产网站| 国产一区二区在线免费观看| 国产丝袜在线精品| 成人激情校园春色| 国产精品高潮呻吟| 91搞黄在线观看| 午夜精品福利久久久| 日韩欧美高清一区| 国产黑丝在线一区二区三区| 国产欧美一区二区精品仙草咪 | 一区二区三区精品久久久| 色av成人天堂桃色av| 亚洲一区在线看| 8v天堂国产在线一区二区| 日韩av中文在线观看| 久久综合久色欧美综合狠狠| 成人黄色av电影| 一区二区三区在线视频免费观看| 欧美性生活影院| 麻豆精品久久久| 国产视频一区二区在线| 色婷婷综合久久久久中文| 天天爽夜夜爽夜夜爽精品视频| 精品国产青草久久久久福利| 成人综合在线网站| 午夜精品一区在线观看| 精品国产乱码久久| 91免费在线看| 精品亚洲欧美一区| 自拍偷拍亚洲欧美日韩| 欧美一区二区三区免费| 成人aaaa免费全部观看| 亚洲成av人片| 日本一二三不卡| 在线不卡的av| 成人av在线看| 免费成人在线网站| 亚洲欧美日韩中文播放| 欧美一级艳片视频免费观看| 福利91精品一区二区三区| 亚洲国产精品久久不卡毛片 | 亚洲综合清纯丝袜自拍| 精品区一区二区| 91成人网在线| 国产精品一区专区| 日韩国产精品久久| 综合久久综合久久| 久久亚区不卡日本| 91精品黄色片免费大全| 色综合天天综合在线视频| 亚洲自拍欧美精品| 精品三级在线观看| 欧美日本视频在线| 99精品在线免费| 国产老妇另类xxxxx| 丝袜国产日韩另类美女| 亚洲精品高清在线观看| 国产精品少妇自拍| 久久亚洲精精品中文字幕早川悠里| 欧美三级电影网| 色综合久久中文字幕综合网| 懂色av一区二区三区免费看| 久久国产日韩欧美精品| 日本不卡一二三| 天天综合天天做天天综合| 一区二区三区在线视频观看| 日韩一区日韩二区| 中文字幕不卡在线| 国产欧美日韩不卡免费| 国产免费观看久久| 久久精品亚洲精品国产欧美kt∨| 日韩欧美一级二级| 欧美一区二区三区视频免费播放| 欧美日韩国产首页| 欧美日韩国产影片| 538在线一区二区精品国产| 欧美日韩三级一区二区| 欧美色视频在线观看| 欧美系列在线观看| 欧美日韩在线综合| 日韩一区二区中文字幕| 日韩欧美成人一区| 日韩女优制服丝袜电影| 精品少妇一区二区三区在线视频| 欧美电视剧在线看免费| 久久亚洲综合av| 国产精品三级视频| 亚洲视频中文字幕| 一区二区三区中文字幕电影 | 亚洲码国产岛国毛片在线| 中文字幕日本乱码精品影院| 亚洲人吸女人奶水| 亚洲大片在线观看| 日本午夜精品视频在线观看| 免播放器亚洲一区| 国产精品正在播放| 91原创在线视频| 欧美日韩国产美| 久久在线免费观看| 国产精品久久久99| 一区二区三区自拍| 六月丁香综合在线视频| 国产a精品视频| 91丨porny丨最新| 欧美顶级少妇做爰| 久久久久国产免费免费 | 色猫猫国产区一区二在线视频| 欧美探花视频资源| 欧美α欧美αv大片| 国产精品女主播av| 午夜激情一区二区| 国产一区二区精品久久99| 成人91在线观看| 日韩视频不卡中文| 中文字幕在线一区二区三区| 午夜国产不卡在线观看视频| 国产91精品在线观看| 欧美三级三级三级爽爽爽| 久久蜜臀中文字幕| 性做久久久久久免费观看欧美| 精品午夜久久福利影院| 色综合久久中文字幕| 久久综合国产精品| 一区二区三区在线免费| 六月丁香婷婷久久| 欧美日精品一区视频| 久久久噜噜噜久噜久久综合| 亚洲免费视频成人| 国产一区二区精品久久91| 欧美日韩一区三区四区| 国产精品三级在线观看| 蜜臀av性久久久久av蜜臀妖精| 97久久超碰精品国产| 久久久久久日产精品| 亚洲福利国产精品| av成人老司机| 亚洲国产精品精华液ab| 久久99精品一区二区三区三区| 色8久久人人97超碰香蕉987| 久久久久99精品一区| 六月婷婷色综合| 欧美精品日日鲁夜夜添| 一区二区三区资源| eeuss国产一区二区三区| 久久亚洲精精品中文字幕早川悠里| 天天综合天天综合色| 精品婷婷伊人一区三区三| 亚洲精品国产品国语在线app| 国产麻豆精品theporn| 欧美大黄免费观看| 午夜精品福利一区二区三区蜜桃| 91黄色免费看| 一区二区在线免费| 日本大香伊一区二区三区| 成人欧美一区二区三区白人| 成人黄色a**站在线观看| 日本一区二区综合亚洲| 高清国产午夜精品久久久久久| 欧美精品一区二区三区四区| 麻豆91免费观看| 日韩欧美国产高清| 老司机免费视频一区二区| 日韩欧美国产三级电影视频| 蜜桃一区二区三区在线观看| 精品蜜桃在线看| 激情综合网天天干|