⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 putchar.lst

📁 新华龙c8051f020单片机 串口调试示例程序
💻 LST
字号:
C51 COMPILER V7.02b   PUTCHAR                                                              08/27/2008 10:59:05 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE PUTCHAR
OBJECT MODULE PLACED IN PUTCHAR.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe PUTCHAR.C DB OE

stmt level    source

   1          /*串口1通信底层函数*/
   2          #include <c8051f020.h>                 // SFR declarations
   3          
   4          #define XON  0x11
   5          #define XOFF 0x13
   6          
   7          
   8          /*
   9           * putchar (full version):  expands '\n' into CR LF and handles
  10           *                          XON/XOFF (Ctrl+S/Ctrl+Q) protocol
  11           */
  12          char putchar (char c)  {
  13   1      
  14   1        if (c == '\n')  {
  15   2          if ((SCON1&0X1)==0X1)  {
  16   3            if (SBUF1 == XOFF)  {
  17   4              do  {
  18   5                SCON1&=~0X1;
  19   5                while ((SCON1&0X1)!=0X1);
  20   5              }
  21   4              while (SBUF1 != XON);
  22   4              SCON1&=~0X1;
  23   4            }
  24   3          }
  25   2          while ((SCON1&0X2)!=0X2);
  26   2          SCON1&=~0X2;
  27   2          SBUF1 = 0x0d;                         /* output CR  */
  28   2        }
  29   1        if ((SCON1&0X1)==0X1)  {
  30   2          if (SBUF1 == XOFF)  {
  31   3            do  {
  32   4              SCON1&=~0X1;
  33   4              while ((SCON1&0X1)!=0X1);
  34   4            }
  35   3            while (SBUF1 != XON);
  36   3            SCON1&=~0X1; 
  37   3          }
  38   2        }
  39   1        while ((SCON1&0X2)!=0X2);
  40   1        SCON1&=~0X2;
  41   1        return (SBUF1 = c);
  42   1      }
  43          
  44          
  45          
  46          #if 0         // comment out versions below
              
              /*
               * putchar (basic version): expands '\n' into CR LF
               */
              char putchar (char c)  {
                if (c == '\n')  {
                  while ((SCON1&0X2)!=0X2);
                  SCON1&=~0X2;
                  SBUF1 = 0x0d;                         /* output CR  */
C51 COMPILER V7.02b   PUTCHAR                                                              08/27/2008 10:59:05 PAGE 2   

                }
                while ((SCON1&0X2)!=0X2);
                TI = 0;
                return (SBUF1 = c);
              }
              
              
              /*
               * putchar (mini version): outputs charcter only
               */
              char putchar (char c)  {
                while ((SCON1&0X2)!=0X2);
                SCON1&=~0X2;
                return (SBUF1 = c);
              }
              
              #endif


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     79    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -