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

📄 uart.lst

📁 用89C51SND1C实现MP3播放器的源代码.用KEIL c51编写.
💻 LST
字号:
C51 COMPILER V6.23a  UART                                                                  07/30/2003 16:37:56 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE UART
OBJECT MODULE PLACED IN uart.OBJ
COMPILER INVOKED BY: E:\Program Files\keil\C51\BIN\C51.EXE uart.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*--------------------------------------------------------------------------
   2          uart.c
   3          
   4          c source file for uart Atmel  Atmel AT89C51SND1
   5          --------------------------------------------------------------------------*/
   6          
   7          #include "REGSND1.H"
   8          #include "uart.h"
   9          
  10          #define AT89C51SND1 1   //如果使用的是AT89C51SND1
  11          
  12          
  13          /*------------------------------------------------------------------------------
  14          ------------------------------------------------------------------------------*/
  15          char hex[16]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
  16          
  17          /*------------------------------------------------------------------------------
  18          初使化串口
  19          ------------------------------------------------------------------------------*/
  20          void init_uart(int fre)
  21          {
  22   1      #if AT89C51SND1 
  23   1              if(fre==1200)
  24   1              {
  25   2                      TMOD=0x20;
  26   2                      TH1=0xbe;
  27   2                      TL1=0xbe;
  28   2                      SCON=0x50;
  29   2                      PCON=PCON|0x80;
  30   2                      TR1=1;
  31   2              }
  32   1      #else
              
              #endif
  35   1      }
  36          
  37          /*--------------------------------------------------------------------
  38          当输出仅为字符串时可使用
  39          ---------------------------------------------------------------------*/
  40          void printu(char * c)   
  41          {
  42   1      
  43   1          int i=0,j=0;
  44   1              char ct=*c;
  45   1          init_uart(1200);
  46   1              while(ct!='\0')
  47   1              {
  48   2      #if AT89C51SND1
  49   2                      SBUF=ct;
  50   2                      while(!TI);
  51   2                      
  52   2                      j++;
  53   2                      TI=0;
  54   2                      ct=*(c+j);
  55   2                      
C51 COMPILER V6.23a  UART                                                                  07/30/2003 16:37:56 PAGE 2   

  56   2      #endif
  57   2              }
  58   1      
  59   1      }
  60          
  61          /*-----------------------------------------------------------------------
  62          当输出为字符串时可使用或含有一控制符时使用,格式符仅用于16进制输出
  63          格式控制符为%x,回车控制符为/n
  64          -----------------------------------------------------------------------*/
  65          void printuf(char * c,unsigned char cb) 
  66          {
  67   1              int i=0;
  68   1              char ct=*c;
  69   1              char cx1;
  70   1              char cx2;
  71   1          
  72   1              init_uart(1200);
  73   1      
  74   1      #if AT89C51SND1
  75   1              while (ct!='\0')
  76   1              {
  77   2                      if(ct=='%')
  78   2                      {       
  79   3                              if(*(c+i+1)=='x')              
  80   3                              {
  81   4                                      i+=2;
  82   4                                      cx1=cb/16;
  83   4                                      cx2=cb%16;
  84   4      
  85   4                                      SBUF=hex[cx1];
  86   4                                      while(!TI);
  87   4                                      TI=0;
  88   4                                      SBUF=hex[cx2];
  89   4                                      while(!TI);
  90   4                                      TI=0;
  91   4                                      ct=*(c+i);
  92   4                                      continue;
  93   4                              }
  94   3                              
  95   3                      }
  96   2                      if(ct=='/')
  97   2                      {
  98   3                              if(*(c+i+1)=='n')
  99   3                              {
 100   4                                      i+=2;
 101   4                                      SBUF=13;
 102   4                                      while(!TI);
 103   4                                      TI=0;
 104   4                                      SBUF=10;
 105   4                                      while(!TI);
 106   4                                      TI=0;
 107   4                                      ct=*(c+i);
 108   4                                      continue;
 109   4                              }
 110   3                      }
 111   2                      SBUF=ct;
 112   2                      while(!TI);
 113   2                      TI=0;
 114   2                      i++;
 115   2                      ct=*(c+i);
 116   2              }
 117   1      #endif
C51 COMPILER V6.23a  UART                                                                  07/30/2003 16:37:56 PAGE 3   

 118   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    265    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     16      12
   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 + -