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

📄 config.lst

📁 在C8051F060上实现嵌入式系统ucos
💻 LST
字号:
C51 COMPILER V8.08   CONFIG                                                                03/02/2009 08:07:58 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE CONFIG
OBJECT MODULE PLACED IN .\Output-files\config.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Config\config.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\List-files\config.l
                    -st) OBJECT(.\Output-files\config.obj)

line level    source

   1          #include "..\ucos-ii\includes.h"
   2          
   3          #define SYSCLK 22118400
   4          
   5          
   6          
   7          
   8          
   9          extern void SYSCLK_Init(void);
  10          extern void Port_Init(void);
  11          extern void Time2_Init(void);
  12          extern void UART1_Init(void);
  13          
  14          void config(void)
  15          {       
  16   1               WDTCN = 0xde;                          
  17   1               WDTCN = 0xad;  
  18   1      
  19   1               SYSCLK_Init();
  20   1               Port_Init (); 
  21   1               Time2_Init();  
  22   1               UART1_Init();
  23   1      
  24   1      }
  25          
  26          
  27          
  28          void Time2_Init (void)
  29          {
  30   1         char SFRPAGE_SAVE;
  31   1      
  32   1         SFRPAGE_SAVE = SFRPAGE;             // Preserve SFRPAGE
  33   1      
  34   1         SFRPAGE = TMR2_PAGE;
  35   1      
  36   1         TMR2CN = 0x00;                      // Timer in 16-bit auto-reload up timer
  37   1                                             // mode
  38   1         TMR2CF = 0x08;                      // SYSCLK is time base; no output;
  39   1                                             // up count only
  40   1         RCAP2 = - ((long) SYSCLK/1000);
  41   1         //次数为SYSTEMCLOCK/1000 系统每次时间为1/SYSTEMCLOCK 所以就得出进行一次益处计数为1/1000秒
  42   1         TMR2 = RCAP2;
  43   1         TR2= 1; 
  44   1         ET2 = 1;                            // Timer2 interrupt enabled
  45   1      }
  46          
  47          void SYSCLK_Init (void)
  48          {
  49   1         char old_SFRPAGE = SFRPAGE; 
  50   1               
  51   1         unsigned int i;                                 
  52   1      
  53   1         SFRPAGE = CONFIG_PAGE;              // Switch to Configuration Page
  54   1      
C51 COMPILER V8.08   CONFIG                                                                03/02/2009 08:07:58 PAGE 2   

  55   1         OSCXCN = 0x67;                      // start external oscillator with
  56   1                                             // 22.1184MHz crystal on TB
  57   1      
  58   1         for (i=0; i <5000; i++) ;           // XTLVLD blanking interval (>1ms)
  59   1      
  60   1         while (!(OSCXCN & 0x80)) ;          // Wait for crystal osc. to settle
  61   1      
  62   1         //RSTSRC = 0x04;                      // enable missing clock detector reset
  63   1                      
  64   1         CLKSEL = 0x01;                      // change to external crystal
  65   1      
  66   1         OSCICN = 0x83;                      // Enable internal oscillator    
  67   1      
  68   1         SFRPAGE = old_SFRPAGE;              // restore SFRPAGE
  69   1      }
  70          
  71          
  72          void PORT_Init (void)
  73          {
  74   1                char SFRPAGE_SAVE = SFRPAGE;  // Save Current SFR page     
  75   1      
  76   1          SFRPAGE   = CONFIG_PAGE;
  77   1         //下面这段是恢复到UART1的配置。
  78   1              P0MDOUT   = 0x01;
  79   1          P2MDOUT   = 0x03;
  80   1          XBR2      = 0x44;
  81   1         
  82   1          
  83   1              
  84   1              /*P2MDOUT   = 0x03;
  85   1              P0MDOUT   = 0x01;
  86   1              XBR0      = 0x05;        //这是针对UART0和SMBus的端口配置的
  87   1          XBR2      = 0x40;
  88   1              */
  89   1          SFRPAGE = SFRPAGE_SAVE;    // Restore SFR page
  90   1      
  91   1      }
  92          
  93          
  94          
  95          //-----------------------------------------------------------------------------
  96          // UART0_Init
  97          //-----------------------------------------------------------------------------
  98          //
  99          // Return Value : None
 100          // Parameters   : None
 101          //
 102          // Configure the UART1 using Timer1, for <baudrate> and 8-N-1.
 103          //
 104          //-----------------------------------------------------------------------------
 105          void UART1_Init (void)
 106          {
 107   1         char SFRPAGE_SAVE = SFRPAGE;        // Save Current SFR page
 108   1      
 109   1         SFRPAGE = UART1_PAGE; //////////////////////////////////////
 110   1         SCON1   = 0x10;                        // Timer 1 generates UART0 baud rate and
 111   1                                             // UART0 baud rate divide by two disabled
 112   1      
 113   1         SFRPAGE = TIMER01_PAGE;
 114   1         TMOD   &= ~0xF0;
 115   1         TMOD   |=  0x20;                    // TMOD: timer 1, mode 2, 8-bit reload
 116   1      
C51 COMPILER V8.08   CONFIG                                                                03/02/2009 08:07:58 PAGE 3   

 117   1      
 118   1         if (SYSCLK/BAUDRATE/2/256 < 1) {
 119   2            TH1 = -(SYSCLK/BAUDRATE/2);
 120   2            CKCON |= 0x10;                   // T1M = 1; SCA1:0 = xx
 121   2         } else if (SYSCLK/BAUDRATE/2/256 < 4) {
 122   2            TH1 = -(SYSCLK/BAUDRATE/2/4);
 123   2            CKCON &= ~0x13;                    // Clear all T1 related bits
 124   2            CKCON |=  0x01;                  // T1M = 0; SCA1:0 = 01
 125   2         } else if (SYSCLK/BAUDRATE/2/256 < 12) {
 126   2            TH1 = -(SYSCLK/BAUDRATE/2/12);
 127   2            CKCON &= ~0x13;                  // T1M = 0; SCA1:0 = 00
 128   2         } else {
 129   2            TH1 = -(SYSCLK/BAUDRATE/2/48);
 130   2            CKCON &= ~0x13;                  // Clear all T1 related bits
 131   2            CKCON |=  0x02;                  // T1M = 0; SCA1:0 = 10
 132   2         }
 133   1      
 134   1         TL1 = TH1;                          // Initialize Timer1
 135   1         TR1 = 1;                            // Start Timer1
 136   1      
 137   1         SFRPAGE = UART1_PAGE;
 138   1         TI1 = 1;                            // Indicate TX1 ready
 139   1      
 140   1         SFRPAGE = SFRPAGE_SAVE;             // Restore SFR page
 141   1      
 142   1      }


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