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

📄 mcu_init.lst

📁 C8051F340读写SD卡,带文件系统
💻 LST
字号:
C51 COMPILER V7.06   MCU_INIT                                                              03/06/2010 17:37:22 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MCU_INIT
OBJECT MODULE PLACED IN mcu_init.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe mcu_init.c DB OE BR LARGE

stmt level    source

   1          #include "c8051f340.h"
   2          #include "mcu_init.h"
   3          
   4          /*************************** c8051f340硬件初始化 *******************************/
   5          void Port_IO_Init(void)//端口配置
   6          {
   7   1         P0MDOUT = 0x1D;               // enable TX0,SCK,MOSI as a push-pull
   8   1         P2MDOUT = 0x02;                       //     enable P2.1 as a push-pull
   9   1         XBR0    = 0x03;               // UART0 TX and RX pins enabled, SPI enabled
  10   1         XBR1    = 0xC0;  // Enable crossbar, disable weak pull-up
  11   1      }
  12          
  13          /*------------------------------------------------------------------------------------*/
  14          void Oscillator_Init()//系统时钟配置
  15          {
  16   1              //48M
  17   1              int i = 0;
  18   1          FLSCL     = 0x90;
  19   1          CLKMUL    = 0x80;
  20   1          for (i = 0; i < 20; i++);    // Wait 5us for initialization
  21   1          CLKMUL    |= 0xC0;
  22   1          while ((CLKMUL & 0x20) == 0);
  23   1          CLKSEL    = 0x03;
  24   1      }
  25          
  26          /*------------------------------------------------------------------------------------*/
  27          void UART0_Init(void)//串口配置
  28          {
  29   1         int xdata sbrl ;
  30   1      
  31   1         sbrl =  (0xFFFF - (SYSCLK/BAUDRATE/2)) + 1;
  32   1         SCON0 = 0x10;                   
  33   1      
  34   1         if (SYSCLK/BAUDRATE/2/256 < 1) 
  35   1         {
  36   2            TH1 = -(SYSCLK/BAUDRATE/2);
  37   2            CKCON |=  0x08;                  // T1M = 1; SCA1:0 = xx
  38   2         } 
  39   1         else if (SYSCLK/BAUDRATE/2/256 < 4) 
  40   1         {
  41   2            TH1 = -(SYSCLK/BAUDRATE/2/4);
  42   2            CKCON &= ~0x0B;                  
  43   2            CKCON |=  0x01;                  // T1M = 0; SCA1:0 = 01
  44   2         } 
  45   1         else if (SYSCLK/BAUDRATE/2/256 < 12) 
  46   1         {
  47   2            TH1 = -(SYSCLK/BAUDRATE/2/12);
  48   2            CKCON &= ~0x0B;                  // T1M = 0; SCA1:0 = 00
  49   2         } 
  50   1         else 
  51   1         {
  52   2            TH1 = -(SYSCLK/BAUDRATE/2/48);
  53   2            CKCON &= ~0x0B;                  // T1M = 0; SCA1:0 = 10
  54   2            CKCON |=  0x02;
  55   2         }
C51 COMPILER V7.06   MCU_INIT                                                              03/06/2010 17:37:22 PAGE 2   

  56   1      
  57   1         TL1 = TH1;                          // init Timer1
  58   1         TMOD &= ~0xf0;                      // TMOD: timer 1 in 8-bit autoreload
  59   1         TMOD |=  0x20;
  60   1         TR1 = 1;                            // START Timer1
  61   1         TI0 = 1;                            // Indicate TX0 ready
  62   1      }
  63          
  64          /*------------------------------------------------------------------------------------*/
  65          void SPI_Init (void)//SPI总线配置
  66          {
  67   1              SPI0CFG = 0x70;              // data sampled on rising edge, clk
  68   1                                       // active low,
  69   1                                       // 8-bit data words, master mode;
  70   1      
  71   1              SPI0CN = 0x0F;               // 4-wire mode; SPI enabled; flags cleared
  72   1              SPI0CKR = 0xef;                          // 48m, SPI clk = 100k
  73   1      }
  74          
  75          /*------------------------------------------------------------------------------------*/
  76          //call this routine to initialize all peripherals
  77          void Init_Devices(void)
  78          {
  79   1          Port_IO_Init();
  80   1          Oscillator_Init();
  81   1              UART0_Init();
  82   1              SPI_Init();
  83   1      }


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