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

📄 mcu_uart.lst

📁 基于at89c51单片机的mp3文件系统读文件实验代码
💻 LST
字号:
C51 COMPILER V7.50   MCU_UART                                                              01/15/2006 18:44:47 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          CKCON |=0x10;
  24   1              SCON = 0x50;
  25   1              PCON = PCON|0x80;
  26   1              BRL  = 0xbf;
  27   1              BDRCON |=0x0c; //TBCK=1,RBCK=1
  28   1              BDRCON |=0x02; //SPD=1
  29   1              BDRCON |=0x10; //BRR=1,enable BRG 
  30   1      */
  31   1      } 
  32          
  33          
  34          char uart_getch()
  35          {
  36   1               while (!RI);
  37   1               RI = 0;
  38   1               return SBUF;
  39   1      }
  40          /*
  41          void uart_putch(char ch)
  42          {
  43                   SBUF = ch;
  44                   while (!TI);
  45                   TI = 0;        
  46          }
  47          
  48          */
  49          
  50          void printu(char * str) 
  51          {       
  52   1          char *ct = str;
  53   1              while (*ct != '\0')
  54   1              {
  55   2                      if (*ct == '\n')
C51 COMPILER V7.50   MCU_UART                                                              01/15/2006 18:44:47 PAGE 2   

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

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