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

📄 mcu_uart.lst

📁 基于at89c51单片机的mp3 mp3播放实验资料及代码
💻 LST
字号:
C51 COMPILER V7.50   MCU_UART                                                              01/15/2006 18:49:01 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MCU_UART
OBJECT MODULE PLACED IN MCU_UART.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE MCU_UART.C LARGE ROM(COMPACT) BROWSE

line level    source

   1          /*  Copyright (C) 1996-2005 Brilliant Ideal Electronics. All rights reserved.
   2                  MP3_Player+USB_Disk V3.0 Edit by JMBIE STUDIO 2005.03
   3          */
   4          
   5          
   6          #include "AT89C51SND1_REG.H"
   7          #include "MCU_UART.H"
   8          
   9          char hex[16]  = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
  10          
  11          void init_uart()  //   Baud rate 9600
  12          {  
  13   1      //Using the T1 as Baud Rate Generater.
  14   1          CKCON |=0x04;
  15   1              TMOD = 0x20;
  16   1              TH1  = 0xf5;
  17   1              TL1  = 0xf5;
  18   1              SCON = 0x50;
  19   1              PCON = PCON|0x80;
  20   1              TR1  = 1;
  21   1      
  22   1      //Using Internal Baud Rate Generater.
  23   1      /*
  24   1          CKCON |=0x10;
  25   1              SCON = 0x50;
  26   1              PCON = PCON|0x80;
  27   1              BRL  = 0xbf;
  28   1              BDRCON |=0x0c; //TBCK=1,RBCK=1
  29   1              BDRCON |=0x02; //SPD=1
  30   1              BDRCON |=0x10; //BRR=1,enable BRG 
  31   1      */
  32   1      } 
  33          
  34          
  35          char uart_getch()
  36          {
  37   1               while (!RI);
  38   1               RI = 0;
  39   1               return SBUF;
  40   1      }
  41          /*
  42          void uart_putch(char ch)
  43          {
  44                   SBUF = ch;
  45                   while (!TI);
  46                   TI = 0;        
  47          }
  48          
  49          */
  50          
  51          void printu(char * str) 
  52          {       
  53   1          char *ct = str;
  54   1              while (*ct != '\0')
  55   1              {
C51 COMPILER V7.50   MCU_UART                                                              01/15/2006 18:49:01 PAGE 2   

  56   2                      if (*ct == '\n')
  57   2                      {
  58   3                              SBUF = 13;
  59   3                              while (!TI);
  60   3                              TI = 0;
  61   3                      }
  62   2                      SBUF=*ct;
  63   2                      while (!TI);
  64   2                      TI = 0;
  65   2                      ct++;
  66   2              }
  67   1      }
  68          
  69          
  70          void printuf(char *str, unsigned char cb) 
  71          {
  72   1              char *ct = str;
  73   1              while (*ct != '\0')
  74   1              {
  75   2                      if (*ct == '%')
  76   2                      {       
  77   3                              if (*(ct + 1) == 'x')              
  78   3                                {
  79   4                                      ct += 2;
  80   4                                      SBUF = hex[cb/16];
  81   4                                      while (!TI);
  82   4                                      TI = 0;
  83   4                                      SBUF = hex[cb%16];
  84   4                                      while (!TI);
  85   4                                      TI = 0;
  86   4                                      continue;
  87   4                                }
  88   3                              if (*(ct + 1) == 'd')              
  89   3                                {
  90   4                                      ct += 2;
  91   4                                      if(cb/100)
  92   4                                         {SBUF = cb/100+0x30;
  93   5                                              while (!TI);
  94   5                                          TI = 0;}
  95   4                                      if(cb/10)
  96   4                                         {SBUF = (cb%100)/10+0x30;
  97   5                                              while (!TI);
  98   5                                          TI = 0;}
  99   4                                      SBUF = cb%10+0x30;
 100   4                                      while (!TI);
 101   4                                      TI = 0;                         
 102   4                                      continue;
 103   4                            }
 104   3                              if (*(ct + 1) == 'c')              
 105   3                                {
 106   4                                      ct += 2;
 107   4                                      SBUF = cb;
 108   4                                      while (!TI);
 109   4                                      TI = 0;
 110   4                                      continue;
 111   4                                }
 112   3                              
 113   3                      }
 114   2                      if (*ct == '\n')
 115   2                      {
 116   3                              SBUF = 13;
 117   3                              while (!TI);
C51 COMPILER V7.50   MCU_UART                                                              01/15/2006 18:49:01 PAGE 3   

 118   3                              TI = 0;
 119   3                      }
 120   2                      SBUF = *ct;
 121   2                      while (!TI);
 122   2                      TI = 0;
 123   2                      ct++;
 124   2              }
 125   1      }
 126          
 127          void printuf16x(char *str, unsigned int cb) 
 128          {
 129   1              char *ct = str;
 130   1              while (*ct != '\0')
 131   1              {
 132   2                      if (*ct == '%')
 133   2                      {       
 134   3                              if (*(ct + 1) == 'x')              
 135   3                                {
 136   4                                      ct += 2;
 137   4                                      SBUF = hex[cb>>12];
 138   4                                      while (!TI);
 139   4                                      TI = 0;
 140   4                                      SBUF = hex[(cb&0x0f00)>>8];
 141   4                                      while (!TI);
 142   4                                      TI = 0;
 143   4                                      SBUF = hex[(cb&0x00f0)>>4];
 144   4                                      while (!TI);
 145   4                                      TI = 0;
 146   4                                      SBUF = hex[cb&0x000f];
 147   4                                      while (!TI);
 148   4                                      TI = 0;
 149   4                                      continue;
 150   4                                }
 151   3                      }
 152   2                      if (*ct == '\n')
 153   2                      {
 154   3                              SBUF = 13;
 155   3                              while (!TI);
 156   3                              TI = 0;
 157   3                      }
 158   2                      SBUF = *ct;
 159   2                      while (!TI);
 160   2                      TI = 0;
 161   2                      ct++;
 162   2              }
 163   1      }


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