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

📄 020_initialize.lst

📁 基于C8051F020单片机的
💻 LST
📖 第 1 页 / 共 3 页
字号:
 184      =1  sbit SI       =   SMB0CN ^ 3;       /* SMBUS 0 INTERRUPT PENDING FLAG  */
 185      =1  sbit AA       =   SMB0CN ^ 2;       /* SMBUS 0 ASSERT/ACKNOWLEDGE FLAG */
 186      =1  sbit SMBFTE   =   SMB0CN ^ 1;       /* SMBUS 0 FREE TIMER ENABLE       */
 187      =1  sbit SMBTOE   =   SMB0CN ^ 0;       /* SMBUS 0 TIMEOUT ENABLE          */
 188      =1  
 189      =1  /*  T2CON  0xC8 */
 190      =1  sbit TF2   = T2CON ^ 7;             /* TIMER 2 OVERFLOW FLAG        */
 191      =1  sbit EXF2  = T2CON ^ 6;             /* EXTERNAL FLAG                */
 192      =1  sbit RCLK0 = T2CON ^ 5;             /* UART0 RX CLOCK SOURCE        */
 193      =1  sbit TCLK0 = T2CON ^ 4;             /* UART0 TX CLOCK SOURCE        */
 194      =1  sbit EXEN2 = T2CON ^ 3;             /* TIMER 2 EXTERNAL ENABLE FLAG */  
 195      =1  sbit TR2   = T2CON ^ 2;             /* TIMER 2 ON/OFF CONTROL       */
 196      =1  sbit CT2   = T2CON ^ 1;             /* TIMER OR COUNTER SELECT      */
 197      =1  sbit CPRL2 = T2CON ^ 0;             /* CAPTURE OR RELOAD SELECT     */
 198      =1  
 199      =1  /*  PSW  */
 200      =1  sbit CY    = PSW ^ 7;               /* CARRY FLAG              */       
 201      =1  sbit AC    = PSW ^ 6;               /* AUXILIARY CARRY FLAG    */
 202      =1  sbit F0    = PSW ^ 5;               /* USER FLAG 0             */
 203      =1  sbit RS1   = PSW ^ 4;               /* REGISTER BANK SELECT 1  */
 204      =1  sbit RS0   = PSW ^ 3;               /* REGISTER BANK SELECT 0  */
 205      =1  sbit OV    = PSW ^ 2;               /* OVERFLOW FLAG           */
 206      =1  sbit F1    = PSW ^ 1;               /* USER FLAG 1             */
 207      =1  sbit P     = PSW ^ 0;               /* ACCUMULATOR PARITY FLAG */
 208      =1  
 209      =1  /* PCA0CN D8H */
 210      =1  sbit CF    =   PCA0CN ^ 7;          /* PCA 0 COUNTER OVERFLOW FLAG   */
 211      =1  sbit CR    =   PCA0CN ^ 6;          /* PCA 0 COUNTER RUN CONTROL BIT */
 212      =1  sbit CCF4  =   PCA0CN ^ 4;          /* PCA 0 MODULE 4 INTERRUPT FLAG */
 213      =1  sbit CCF3  =   PCA0CN ^ 3;          /* PCA 0 MODULE 3 INTERRUPT FLAG */
 214      =1  sbit CCF2  =   PCA0CN ^ 2;          /* PCA 0 MODULE 2 INTERRUPT FLAG */
 215      =1  sbit CCF1  =   PCA0CN ^ 1;          /* PCA 0 MODULE 1 INTERRUPT FLAG */
 216      =1  sbit CCF0  =   PCA0CN ^ 0;          /* PCA 0 MODULE 0 INTERRUPT FLAG */
 217      =1  
 218      =1  /* ADC0CN E8H */
 219      =1  sbit AD0EN     =   ADC0CN ^ 7;      /* ADC 0 ENABLE                              */
 220      =1  sbit AD0TM     =   ADC0CN ^ 6;      /* ADC 0 TRACK MODE                          */
 221      =1  sbit AD0INT    =   ADC0CN ^ 5;      /* ADC 0 CONVERISION COMPLETE INTERRUPT FLAG */
 222      =1  sbit AD0BUSY   =   ADC0CN ^ 4;      /* ADC 0 BUSY FLAG                           */
 223      =1  sbit AD0CM1    =   ADC0CN ^ 3;      /* ADC 0 START OF CONVERSION MODE BIT 1      */
 224      =1  sbit AD0CM0    =   ADC0CN ^ 2;      /* ADC 0 START OF CONVERSION MODE BIT 0      */
 225      =1  sbit AD0WINT   =   ADC0CN ^ 1;      /* ADC 0 WINDOW COMPARE INTERRUPT FLAG       */
 226      =1  sbit AD0LJST   =   ADC0CN ^ 0;      /* ADC 0 RIGHT JUSTIFY DATA BIT              */
 227      =1  
 228      =1  /* SPI0CN F8H */
 229      =1  sbit SPIF     =   SPI0CN ^ 7;       /* SPI 0 INTERRUPT FLAG                     */
 230      =1  sbit WCOL     =   SPI0CN ^ 6;       /* SPI 0 WRITE COLLISION FLAG       */
 231      =1  sbit MODF     =   SPI0CN ^ 5;       /* SPI 0 MODE FAULT FLAG            */
 232      =1  sbit RXOVRN   =   SPI0CN ^ 4;       /* SPI 0 RX OVERRUN FLAG            */
 233      =1  sbit TXBSY    =   SPI0CN ^ 3;       /* SPI 0 TX BUSY FLAG                       */
 234      =1  sbit SLVSEL   =   SPI0CN ^ 2;       /* SPI 0 SLAVE SELECT                       */
 235      =1  sbit MSTEN    =   SPI0CN ^ 1;       /* SPI 0 MASTER ENABLE                      */
 236      =1  sbit SPIEN    =   SPI0CN ^ 0;       /* SPI 0 SPI ENABLE                         */
C51 COMPILER V7.50   020_INITIALIZE                                                        05/07/2007 10:34:34 PAGE 5   

 237      =1  #endif  //_C8051F020_H_
   6          //#include "ram_manage.h"
   7          
   8          // Peripheral specific initialization functions,
   9          // Called from the Init_Device() function
  10          #define   CRYSTAL_FREQUENCY  22118400
  11          #define   T0_INT_TIMES_PER_SEC    10
  12          #define   T3_INT_TIMES_PER_SEC     30
  13          void Reset_Sources_Init()
  14          {
  15   1          WDTCN     = 0xDE;
  16   1          WDTCN     = 0xAD;
  17   1      }
  18          
  19          void Timer_Init()
  20          {
  21   1          CKCON     = 0x20;
  22   1          TCON      = 0x50;
  23   1          TMOD      = 0x21;
  24   1          TH0       = 0x38;
  25   1          TH1       = 0xFB;
  26   1          TMR3CN    = 0x04;
  27   1          TMR3RLH   = 0x10;
  28   1          TMR3H     = 0x10;
  29   1              //中断次数设定
  30   1              TH0       = ( 65536 - (CRYSTAL_FREQUENCY/12/T0_INT_TIMES_PER_SEC) ) / 256;
  31   1              TL0       = ( 65536 - (CRYSTAL_FREQUENCY/12/T0_INT_TIMES_PER_SEC) ) % 256;
  32   1      
  33   1              TMR3RLL   = ( 65536 - (CRYSTAL_FREQUENCY/12/T3_INT_TIMES_PER_SEC) ) % 256;
  34   1          TMR3RLH   = ( 65536 - (CRYSTAL_FREQUENCY/12/T3_INT_TIMES_PER_SEC) ) / 256;
  35   1          TMR3L     = ( 65536 - (CRYSTAL_FREQUENCY/12/T3_INT_TIMES_PER_SEC) ) % 256;
  36   1          TMR3H     = ( 65536 - (CRYSTAL_FREQUENCY/12/T3_INT_TIMES_PER_SEC) ) / 256;
  37   1      }
  38          
  39          void UART_Init()
  40          {
  41   1          SCON0     = 0x50;
  42   1          SCON1     = 0x50;
  43   1      }
  44          
  45          void SPI_Init()
  46          {
  47   1          SPI0CFG   = 0xC0;
  48   1          SPI0CN    = 0x03;
  49   1          SPI0CKR   = 0x4F;
  50   1      }
  51          
  52          void Port_IO_Init()
  53          {
  54   1          // P0.0  -  TX0 (UART0), Push-Pull,  Digital
  55   1          // P0.1  -  RX0 (UART0), Push-Pull,  Digital
  56   1          // P0.2  -  SCK  (SPI0), Push-Pull,  Digital
  57   1          // P0.3  -  MISO (SPI0), Push-Pull,  Digital
  58   1          // P0.4  -  MOSI (SPI0), Push-Pull,  Digital
  59   1          // P0.5  -  NSS  (SPI0), Push-Pull,  Digital
  60   1          // P0.6  -  SDA (SMBus), Push-Pull,  Digital
  61   1          // P0.7  -  SCL (SMBus), Push-Pull,  Digital
  62   1      
  63   1          // P1.0  -  TX1 (UART1), Push-Pull,  Digital
  64   1          // P1.1  -  RX1 (UART1), Push-Pull,  Digital
  65   1          // P1.2  -  INT0 (Tmr0), Push-Pull,  Digital
  66   1          // P1.3  -  Unassigned,  Push-Pull,  Digital
C51 COMPILER V7.50   020_INITIALIZE                                                        05/07/2007 10:34:34 PAGE 6   

  67   1          // P1.4  -  Unassigned,  Push-Pull,  Digital
  68   1          // P1.5  -  Unassigned,  Push-Pull,  Digital
  69   1          // P1.6  -  Unassigned,  Push-Pull,  Digital
  70   1          // P1.7  -  Unassigned,  Push-Pull,  Digital
  71   1      
  72   1          // P2.0  -  Unassigned,  Push-Pull,  Digital
  73   1          // P2.1  -  Unassigned,  Push-Pull,  Digital
  74   1          // P2.2  -  Unassigned,  Push-Pull,  Digital
  75   1          // P2.3  -  Unassigned,  Push-Pull,  Digital
  76   1          // P2.4  -  Unassigned,  Push-Pull,  Digital
  77   1          // P2.5  -  Unassigned,  Push-Pull,  Digital
  78   1          // P2.6  -  Unassigned,  Push-Pull,  Digital
  79   1          // P2.7  -  Unassigned,  Push-Pull,  Digital
  80   1      
  81   1          // P3.0  -  Unassigned,  Push-Pull,  Digital
  82   1          // P3.1  -  Unassigned,  Push-Pull,  Digital
  83   1          // P3.2  -  Unassigned,  Push-Pull,  Digital
  84   1          // P3.3  -  Unassigned,  Push-Pull,  Digital
  85   1          // P3.4  -  Unassigned,  Push-Pull,  Digital
  86   1          // P3.5  -  Unassigned,  Push-Pull,  Digital
  87   1          // P3.6  -  Unassigned,  Push-Pull,  Digital
  88   1          // P3.7  -  Unassigned,  Push-Pull,  Digital
  89   1      
  90   1          P0MDOUT   = 0xFF;
  91   1          P1MDOUT   = 0xFF;
  92   1          P2MDOUT   = 0xFF;
  93   1          P3MDOUT   = 0xFF;
  94   1          P74OUT    = 0xE0;
  95   1          XBR0      = 0x07;
  96   1          XBR1      = 0x04;
  97   1          XBR2      = 0x44;
  98   1      }
  99          
 100          void Oscillator_Init()
 101          {
 102   1          int i = 0;
 103   1          OSCXCN    = 0x67;
 104   1          for (i = 0; i < 3000; i++);  // Wait 1ms for initialization
 105   1          while ((OSCXCN & 0x80) == 0);
 106   1          OSCICN    = 0x0F;
 107   1      }
 108          
 109          void Interrupts_Init()
 110          {
 111   1          IE        = 0x92;
 112   1          EIE2      = 0x01;
 113   1      }
 114          
 115          // Initialization function for device,
 116          // Call Init_Device() from your main program
 117          void Init_Device(void)
 118          {
 119   1          Reset_Sources_Init();
 120   1          Timer_Init();
 121   1          UART_Init();
 122   1          SPI_Init();
 123   1          Port_IO_Init();
 124   1          Oscillator_Init();
 125   1          Interrupts_Init();
 126   1      }
C51 COMPILER V7.50   020_INITIALIZE                                                        05/07/2007 10:34:34 PAGE 7   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION Reset_Sources_Init (BEGIN)
                                           ; SOURCE LINE # 13
                                           ; SOURCE LINE # 14
                                           ; SOURCE LINE # 15
0000 75FFDE            MOV     WDTCN,#0DEH
                                           ; SOURCE LINE # 16
0003 75FFAD            MOV     WDTCN,#0ADH
                                           ; SOURCE LINE # 17
0006 22                RET     
             ; FUNCTION Reset_Sources_Init (END)

             ; FUNCTION Timer_Init (BEGIN)
                                           ; SOURCE LINE # 19
                                           ; SOURCE LINE # 20
                                           ; SOURCE LINE # 21
0000 758E20            MOV     CKCON,#020H
                                           ; SOURCE LINE # 22
0003 758850            MOV     TCON,#050H
                                           ; SOURCE LINE # 23

⌨️ 快捷键说明

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