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

📄 main.lst

📁 MCS-51的一个小型操作系统,在KeilC中大模式下编译工作
💻 LST
字号:
C51 COMPILER V8.02   MAIN                                                                  11/05/2004 10:43:35 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN MAIN.OBJ
COMPILER INVOKED BY: D:\C51\BIN\C51.EXE MAIN.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //---------------------------------------------------------------------------
   2          /********************************************
   3                  嵌入式系统 小型操作系统
   4                           作者:汪普宏
   5                      制作日期:2006.9
   6          *********************************************/ 
   7          //---------------------------------------------------------------------------
   8          
   9          #include "os.h" 
  10          #include"intrins.h" 
  11           //--------------------------------------------------------------------------
  12          // Initialize the memory management routines
  13          // Initialize variables declared in main
  14          //--------------------------------------------------------------------------
  15          
  16          
  17          
  18          void PORT_Init (void)
  19          {
  20   1         XBR0    = 0x07;                     // Enable SMBus, SPI0, and UART0
  21   1         XBR1    = 0x00;
  22   1         XBR2    = 0x44;                     // Enable crossbar and weak pull-ups
  23   1         EMI0TC  = 0x21;
  24   1         P74OUT  = 0xFF;
  25   1         P0MDOUT = 0x15;
  26   1      }
  27          
  28          void SPI0_Init (void)
  29          {
  30   1         SPI0CFG = 0x07;                     // data sampled on 1st SCK rising edge
  31   1                                             // 8-bit data words
  32   1         SPI0CFG|=0xC0;       //CKPOL =1;
  33   1      
  34   1         SPI0CN = 0x03;                      // Master mode; SPI enabled; flags
  35   1                                             // cleared
  36   1         SPI0CKR = SYSCLK/2/8000000-1;       // SPI clock <= 8MHz (limited by 
  37   1                                             // EEPROM spec.)
  38   1      }
  39           
  40          void Timer0_Init (void)
  41          {
  42   1              CKCON|=0x0;
  43   1              TMOD|=0x11;     //16Bit
  44   1              TR0 =TR1= 0;                            // STOP Timer0
  45   1              TH1 = (-SYSCLK*SYTIMEISR/12000) >> 8;                   // set Timer0 to overflow in 1ms
  46   1              TL1 = -SYSCLK*SYTIMEISR/12000;
  47   1              //TR0 = 1;      // START Timer0
  48   1              IE|= 0x2; 
  49   1      }
  50          
  51          void SYSCLK_Init (void)
  52          {
  53   1         uchar i;                              // delay counter
  54   1         OSCXCN = 0x67;                      // start external oscillator with
  55   1                                             // 18.432MHz crystal
C51 COMPILER V8.02   MAIN                                                                  11/05/2004 10:43:35 PAGE 2   

  56   1         for (i=0; i < 255; i++) ;           // Wait for osc. to start up
  57   1        while (!(OSCXCN & 0x80)) ;          // Wait for crystal osc. to settle
  58   1         OSCICN = 0x88;                      // select external oscillator as SYSCLK
  59   1                                             // source and enable missing clock
  60   1                                             // detector
  61   1      //      OSCICN = 0x07;   //interal 16MHZ
  62   1      }
  63             
  64          /*通过SPI发送一字节*/
  65          #define CHIP595_SELECT          P5 &= ~(0x10);                  // P54 
  66          #define CHIP_NOSELECT           P5 |= 0xf8;                     // P53-57 
  67          extern void OSStart(void);
  68          void main (void)
  69          {   
  70   1          WDTCN = 0xDE;                       // Disable watchdog timer
  71   1              WDTCN = 0xAD;
  72   1          EMI0CF =0x24;                                               // share low 4K XRAM
  73   1              SYSCLK_Init ();                     // initialize oscillator
  74   1              Timer0_Init();
  75   1              PORT_Init ();                       // initialize crossbar and GPIO
  76   1              SPI0_Init ();                       // initialize SPI0
  77   1              EA=TR0=ET0=TR1=ET1=0;
  78   1          OSStart();
  79   1              _nop_();
  80   1      }


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