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

📄 cygnalcon.lst

📁 uCos-ii 2.86 在C8051F410单片机上移植成功!!! 其中包括:UART驱动
💻 LST
字号:
C51 COMPILER V8.17   CYGNALCON                                                             03/26/2009 14:31:59 PAGE 1   


C51 COMPILER V8.17, COMPILATION OF MODULE CYGNALCON
OBJECT MODULE PLACED IN .\out-files\cygnalcon.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE User Files\cygnalcon.c LARGE BROWSE INCDIR(.\smaRTC;.\SMBus) DEBUG OBJECTEX
                    -TEND PRINT(.\list-files\cygnalcon.lst) TABS(2) OBJECT(.\out-files\cygnalcon.obj)

line level    source

   1          
   2          #include <c8051f410.h>                 // SFR declarations
   3          #include <stdio.h>
   4          
   5          //-----------------------------------------------------------------------------
   6          // Global CONSTANTS
   7          //-----------------------------------------------------------------------------
   8          
   9          #define SYSCLK      24500000           // SYSCLK frequency in Hz
  10          #define BAUDRATE      115200           // Baud rate of UART in bps
  11          
  12          //-----------------------------------------------------------------------------
  13          // Function PROTOTYPES
  14          //-----------------------------------------------------------------------------
  15          
  16          void SYSCLK_Init (void);
  17          void UART0_Init (void);
  18          void PORT_Init (void);
  19          
  20          
  21          void Flash_Init()    //Flash :40ns
  22          {
  23   1          PFE0CN    &= ~0x20;
  24   1          ONESHOT   = 0x07;
  25   1          PFE0CN    |= 0x20;
  26   1      }
  27          
  28          
  29          void config (void)
  30          { 
  31   1         PCA0MD &= ~0x40; // WDTE = 0 (clear watchdog timer enable)                                       
  32   1                               
  33   1         SYSCLK_Init ();  // Initialize Oscillator
  34   1         PORT_Init();     // Initialize Port I/O
  35   1         Flash_Init();
  36   1         UART0_Init();
  37   1      
  38   1      }
  39          //-----------------------------------------------------------------------------
  40          // Initialization Subroutines
  41          //-----------------------------------------------------------------------------
  42          
  43          //-----------------------------------------------------------------------------
  44          // PORT_Init
  45          //-----------------------------------------------------------------------------
  46          
  47          void PORT_Init (void)
  48          {
  49   1          // P0.0  -  SDA (SMBus), Open-Drain, Digital
  50   1          // P0.1  -  SCL (SMBus), Open-Drain, Digital
  51   1          // P0.2  -  CEX0 (PCA),  Push-Pull,  Digital
  52   1          // P0.3  -  CEX1 (PCA),  Push-Pull,  Digital
  53   1          // P0.4  -  TX0 (UART0), Push-Pull,  Digital
  54   1          // P0.5  -  RX0 (UART0), Open-Drain, Digital
C51 COMPILER V8.17   CYGNALCON                                                             03/26/2009 14:31:59 PAGE 2   

  55   1          // P0.6  -  Unassigned,  Push-Pull,  Digital
  56   1          // P0.7  -  Unassigned,  Push-Pull,  Digital
  57   1      
  58   1          // P1.0  -  Unassigned,  Push-Pull,  Digital
  59   1          // P1.1  -  Unassigned,  Push-Pull,  Digital
  60   1          // P1.2  -  Unassigned,  Push-Pull,  Digital
  61   1          // P1.3  -  Unassigned,  Push-Pull,  Digital
  62   1          // P1.4  -  Unassigned,  Push-Pull,  Digital
  63   1          // P1.5  -  Unassigned,  Push-Pull,  Digital
  64   1          // P1.6  -  Unassigned,  Push-Pull,  Digital
  65   1          // P1.7  -  Unassigned,  Push-Pull,  Digital
  66   1      
  67   1          // P2.0  -  Unassigned,  Open-Drain, Digital
  68   1          // P2.1  -  Unassigned,  Open-Drain, Digital
  69   1          // P2.2  -  Unassigned,  Open-Drain, Digital
  70   1          // P2.3  -  Unassigned,  Open-Drain, Digital
  71   1          // P2.4  -  Unassigned,  Open-Drain, Digital
  72   1          // P2.5  -  Unassigned,  Open-Drain, Digital
  73   1          // P2.6  -  Unassigned,  Open-Drain, Digital
  74   1          // P2.7  -  Unassigned,  Open-Drain, Digital
  75   1      
  76   1          P0MDOUT   = 0xDC;
  77   1          P1MDOUT   = 0xFF;
  78   1          XBR0      = 0x05;
  79   1          XBR1      = 0x42;     
  80   1      
  81   1      }
  82          
  83          //-----------------------------------------------------------------------------
  84          // SYSCLK_Init
  85          //----------------------------------------------------------------------------- 
  86          
  87          void SYSCLK_Init (void)
  88          {
  89   1         OSCICN = 0x87;                      // configure internal oscillator for
  90   1                                             // 24.5MHz 
  91   1         //RSTSRC = 0x04;                      // enable missing clock detector
  92   1      }
  93          
  94          //-----------------------------------------------------------------------------
  95          // UART0_Init
  96          //-----------------------------------------------------------------------------
  97          // Configure the UART0 using Timer1, for <BAUDRATE> and 8-N-1.
  98          //-----------------------------------------------------------------------------
  99          
 100          void UART0_Init (void)
 101          {
 102   1         SCON0 = 0x10;                       // SCON0: 8-bit variable bit rate
 103   1                                             //        level of STOP bit is ignored
 104   1                                             //        RX enabled
 105   1                                             //        ninth bits are zeros
 106   1                                             //        clear RI0 and TI0 bits
 107   1         if (SYSCLK/BAUDRATE/2/256 < 1) {
 108   2            TH1 = -(SYSCLK/BAUDRATE/2);
 109   2            CKCON |=  0x08;                  // T1M = 1; SCA1:0 = xx
 110   2         } else if (SYSCLK/BAUDRATE/2/256 < 4) {
 111   2            TH1 = -(SYSCLK/BAUDRATE/2/4);
 112   2            CKCON &= ~0x0B;                  // T1M = 0; SCA1:0 = 01
 113   2            CKCON |=  0x01;
 114   2         } else if (SYSCLK/BAUDRATE/2/256 < 12) {
 115   2            TH1 = -(SYSCLK/BAUDRATE/2/12);
 116   2            CKCON &= ~0x0B;                  // T1M = 0; SCA1:0 = 00
C51 COMPILER V8.17   CYGNALCON                                                             03/26/2009 14:31:59 PAGE 3   

 117   2         } else if (SYSCLK/BAUDRATE/2/256 < 48) {
 118   2            TH1 = -(SYSCLK/BAUDRATE/2/48);
 119   2            CKCON &= ~0x0B;                  // T1M = 0; SCA1:0 = 10
 120   2            CKCON |=  0x02;
 121   2         } else {
 122   2            while (1);                       // Error.  Unsupported baud rate
 123   2         }
 124   1      
 125   1         TL1 = TH1;                          // init Timer1
 126   1         TMOD &= ~0xf0;                      // TMOD: timer 1 in 8-bit autoreload
 127   1         TMOD |=  0x20;
 128   1         TR1 = 1;                            // START Timer1
 129   1         TI0 = 1;                            // Indicate TX0 ready
 130   1      }
 131          
 132          
 133          
 134          
 135          
 136          


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