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

📄 uart0_f340.lst

📁 f340的MP3程序,通过SD卡读入解码器
💻 LST
字号:
C51 COMPILER V8.09   UART0_F340                                                            05/19/2011 23:29:41 PAGE 1   


C51 COMPILER V8.09, COMPILATION OF MODULE UART0_F340
OBJECT MODULE PLACED IN uart0_f340.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE uart0_f340.c LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <c8051f340.h>
   2          #include <string.h>
   3          #include "uart0_f340.h"
   4          /*--------------------------------------------------------------*/
   5          
   6          /*--------------------------------------------------------------*/
   7          //??????
   8          //P0.4棗 MCU TXD; 
   9          //P0.5棗MCU RXD;
  10          /*--------------------------------------------------------------*/
  11          
  12          /*--------------------------------------------------------------*/
  13          //????
  14          static char Byte;       //???????(1??)
  15          bit read_flag= 0 ;      //??????? 
  16          HexTable[]={'0','1','2','3','4','5','6','7','8','9',
  17          'A','B','C','D','E','F'};//??????
  18          /*--------------------------------------------------------------*/
  19          /*********************************************************** 
  20          ????:Oscillator_Init
  21          ????:???????24M????????
  22          ????:?       
  23          ????:? 
  24          ? ?:
  25                          ??:Oscillator_Init();
  26          ***********************************************************/
  27          void Oscillator_Init()//???????24M????????
  28          {
  29   1          int i = 0;
  30   1          CLKMUL    = 0x80;
  31   1          for (i = 0; i < 20; i++);    // Wait 5us for initialization
  32   1          CLKMUL    |= 0xC0;
  33   1          while ((CLKMUL & 0x20) == 0);
  34   1          CLKSEL    = 0x02;
  35   1          OSCICN    = 0x83;
  36   1      }
  37          /*********************************************************** 
  38          ????:UART_Init
  39          ????:UART0????8?UART?
  40          ????:? 
  41          ????:? 
  42          ? ?:??: UART_Init(); 
  43          ***********************************************************/ 
  44          void UART_Init()       
  45          {
  46   1          SCON0     = 0x10;     //(SCON0?8?)S0MODE=0 ???????8?UART
  47   1                                    //(SCON0?5?)MCE0  =0 ???????????
  48   1                                                        //(SCON0?4?)REN0  =1 UART0 ????
  49   1      }
  50          /*********************************************************** 
  51          ????:Interrupts_Init
  52          ????:???????UART0??,????,??UART0??????
  53          ????:? 
  54          ????:? 
  55          ? ?: 
C51 COMPILER V8.09   UART0_F340                                                            05/19/2011 23:29:41 PAGE 2   

  56          ***********************************************************/
  57          void Interrupts_Init()
  58          {
  59   1          IP |= 0x10;    // Make UART high priority
  60   1                             //(IP?4?)PS0=1 
  61   1              IE  = 0x90;    //(IE?7?)EA =1 ???????????????????????
  62   1                             //(IE?4?)ES0=1 ??UART0??
  63   1      }
  64          /*********************************************************** 
  65          ????:Timer_Init
  66          ????:???1????????1???8????,?????
  67          ????:? 
  68          ????:? 
  69          ? ?: ??:Timer_Init();
  70          ***********************************************************/ 
  71          void Timer_Init()
  72          {
  73   1          TMOD      = 0x20;                   //???1?????????8???? T1M1-T1M0
  74   1          //CKCON     = 0x01;                 //12MHZ?,SYSCLK/4
  75   1          TCON      = 0x40;                   // ?????  TCON= 0x40 , START Timer1  ????1
  76   1          TH1       = 0x98;                                   //24MHZ?,???1??????   ??????9600bps
  77   1              //TH1       = 0x64;                 //12MHZ?,???1??????   ??????9600bps
  78   1                                                  
  79   1      }
  80          /*********************************************************** 
  81          ????:Port_IO_Init
  82          ????:??IO??????????
  83          ????:?       
  84          ????:? 
  85          ? ?:
  86                          ??:Port_IO_Init();
  87          ***********************************************************/
  88          void Port_IO_Init()      //??IO??????????
  89          {
  90   1              PCA0MD &= ~0x40;     //????????,???????????
  91   1          XBR0      = 0x01;    //??uart0?IO?
  92   1          XBR1      = 0x40;
  93   1              P1MDOUT         = 0xFF; //P1???????
  94   1              P1MDIN          = 0XFF;
  95   1              P2MDOUT         = 0xFF; //P2???????
  96   1              P3MDOUT   = 0xff;//P3口推挽输出
  97   1              P3MDIN    = 0Xff;//P3数字输入
  98   1      } 
  99          /*********************************************************** 
 100          ????:Init_Device
 101          ????:C8051???
 102          ????:? 
 103          ????:? 
 104          ? ?: ??:Init_Device();
 105          ***********************************************************/
 106          
 107          void Init_Device(void)
 108          {       
 109   1              Oscillator_Init();     //???????24M????????
 110   1          Timer_Init();        //??????
 111   1          UART_Init();         //UART0???
 112   1          Interrupts_Init();   //?????
 113   1              Port_IO_Init();     //IO????
 114   1      }
 115          /*********************************************************** 
 116          ????:UART0_Interrupt
 117          ????:?????????????????,???????RI0,?????????read_flag
C51 COMPILER V8.09   UART0_F340                                                            05/19/2011 23:29:41 PAGE 3   

 118          ????:?
 119          ????:Byte
 120                    read_flag = 1
 121          ? ?: ??:
 122          ***********************************************************/
 123          void UART0_Interrupt (void) interrupt 4
 124          {
 125   1          if (RI0 == 1)
 126   1             {
 127   2                    RI0 = 0;                           // ???????RI0
 128   2                Byte = SBUF0;                      // ?????????
 129   2                read_flag= 1 ; //???????
 130   2             }
 131   1      }
 132          /*********************************************************** 
 133          ????:UART_Send_Char
 134          ????:??????????
 135          ????:uchar sendByte ??????(8 bit)
 136          ????:? 
 137          ? ?:??:UART_Send_Char('0');
 138          ***********************************************************/
 139          void UART_Send_Char(uchar sendByte) 
 140          { 
 141   1              SBUF0=sendByte;     
 142   1              while (TI0== 0);        //??????
 143   1                          TI0= 0;     //???????TI0
 144   1      } 
 145          
 146          /*********************************************************** 
 147          ????:UART_Send_Str
 148          ????:??????????
 149          ????:char *str   ????????
 150          ????:? 
 151          ? ?: ??:UART_Send_Str("START:");
 152          ***********************************************************/
 153          void UART_Send_Str(char *s)
 154          {
 155   1       int len=strlen(s);
 156   1       int i;
 157   1       for(i=0;i<len;i++)
 158   1       UART_Send_Char(s[i]);
 159   1      }
 160          /********************************************************************
 161          ????:UART_Send_10Int
 162          ????:??????????????
 163          ????:x:???????
 164          ?    ?:??
 165          ?    ?: ??: UART_Send_10Int(13252);
 166          ********************************************************************/
 167          void  UART_Put_Num(unsigned long int x)
 168          {
 169   1       int i;
 170   1       uchar display_buffer[10];
 171   1      
 172   1       for(i=9;i>=0;i--)
 173   1        {
 174   2         display_buffer[i]='0'+x%10;
 175   2         x/=10;
 176   2        }
 177   1       for(i=0;i<9;i++)
 178   1        {
 179   2         if(display_buffer[i]!='0')break;
C51 COMPILER V8.09   UART0_F340                                                            05/19/2011 23:29:41 PAGE 4   

 180   2        }
 181   1       for(;i<10;i++) UART_Send_Char(display_buffer[i]);
 182   1      }
 183          /********************************************************************
 184          ????:UART_Send_4Hex
 185          ????:????????????
 186          ????:?????? uint x?
 187          ?    ?:??
 188          ?    ?:??:UART_Send_4Hex(65535);
 189          ********************************************************************/
 190          void UART_Send_4Hex(uint x)
 191          {
 192   1       uchar i;
 193   1       uchar display_buffer[7];
 194   1       display_buffer[6]=0;
 195   1       display_buffer[0]='0';
 196   1       display_buffer[1]='x';
 197   1       for(i=5;i>=2;i--) //??????4????HEX?
 198   1        {
 199   2         display_buffer[i]=HexTable[(x&0xf)];
 200   2         x>>=4;
 201   2        }
 202   1       UART_Send_Str(display_buffer);
 203   1      }
 204          /********************************************************************
 205          ????:UART_Send_8Hex
 206          ????:????????????
 207          ????:?????? unsigned long x?
 208          ?    ?:??
 209          ?    ?:??:UART_Send_8Hex(655351);
 210          ********************************************************************/
 211          void UART_Send_8Hex(unsigned long x)
 212          {
 213   1       uchar i;
 214   1       uchar display_buffer[11];
 215   1       display_buffer[10]=0;
 216   1       display_buffer[0]='0';
 217   1       display_buffer[1]='x';
 218   1       for(i=9;i>=2;i--)
 219   1        {
 220   2         display_buffer[i]=HexTable[(x&0xf)];
 221   2         x>>=4;
 222   2        }
 223   1       UART_Send_Str(display_buffer);
 224   1      }
 225          /**************************************************************************
 226           - ????:51????????????
 227           - ????:STC51????
 228           - ????:??,?????
 229           - ????:inf:????????????
 230                       dat:????,???????????????????
 231           - ????:?
 232           - ?:???????????????,???????
 233           **************************************************************************/
 234          
 235          void UART_Put_Inf(char *inf,unsigned long int dat)
 236          {
 237   1       UART_Send_Str(inf);
 238   1       UART_Put_Num(dat);
 239   1       UART_Send_Str("\r\n");  
 240   1      }
 241          
C51 COMPILER V8.09   UART0_F340                                                            05/19/2011 23:29:41 PAGE 5   

 242          void UART_Send_Enter()
 243          {
 244   1      UART_Send_Str("\r\n"); 
 245   1      }
 246          /****************************end****************************/
 247          /****************************end****************************/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    649    ----
   CONSTANT SIZE    =      3    ----
   XDATA SIZE       =     33      47
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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