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

📄 main.lst

📁 F020单片机各模块代码实例
💻 LST
字号:
C51 COMPILER V7.07   MAIN                                                                  07/31/2007 21:23:57 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE main.c LARGE BROWSE DEBUG OBJECTEXTEND CODE SYMBOLS

stmt level    source

   1          #include <reg52.h>
   2          #include <stdio.h>
   3          
   4          /*------------------------------------------------
   5          Timer 0 Interrupt Service Routine.
   6          
   7          Set a breakpoint on 'overflow_count++' and run the
   8          program in the debugger.  You will see this line
   9          executes every 65536 clock cycles.
  10          ------------------------------------------------*/
  11          static unsigned long overflow_count = 0;
  12          
  13          void timer0_ISR (void) interrupt 1
  14          {
  15   1      overflow_count++;   /* Increment the overflow count */
  16   1      }
  17          
  18          /*------------------------------------------------
  19          MAIN C function
  20          ------------------------------------------------*/
  21          void main (void)
  22          {
  23   1      /*--------------------------------------
  24   1      Set Timer0 for 16-bit timer mode.  The
  25   1      timer counts to 65535, overflows, and
  26   1      generates an interrupt.
  27   1      
  28   1      Set the Timer0 Run control bit.
  29   1      --------------------------------------*/
  30   1      TMOD = (TMOD & 0xF0) | 0x01;  /* Set T/C0 Mode */
  31   1      ET0 = 1;                      /* Enable Timer 0 Interrupts */
  32   1      TR0 = 1;                      /* Start Timer 0 Running */
  33   1      EA = 1;                       /* Global Interrupt Enable */
  34   1      
  35   1      /*--------------------------------------
  36   1      Do Nothing.  Actually, the timer 0
  37   1      interrupt will occur every 65536 clocks.
  38   1      --------------------------------------*/
  39   1      while (1)
  40   1        {
  41   2        }
  42   1      }
  43          
C51 COMPILER V7.07   MAIN                                                                  07/31/2007 21:23:57 PAGE 2   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION timer0_ISR (BEGIN)
0000 C0E0              PUSH    ACC
0002 C0F0              PUSH    B
0004 C083              PUSH    DPH
0006 C082              PUSH    DPL
0008 C0D0              PUSH    PSW
000A 75D000            MOV     PSW,#00H
000D C000              PUSH    AR0
000F C004              PUSH    AR4
0011 C005              PUSH    AR5
0013 C006              PUSH    AR6
0015 C007              PUSH    AR7
                                           ; SOURCE LINE # 13
                                           ; SOURCE LINE # 15
0017 900000      R     MOV     DPTR,#overflow_count
001A E0                MOVX    A,@DPTR
001B FC                MOV     R4,A
001C A3                INC     DPTR
001D E0                MOVX    A,@DPTR
001E FD                MOV     R5,A
001F A3                INC     DPTR
0020 E0                MOVX    A,@DPTR
0021 FE                MOV     R6,A
0022 A3                INC     DPTR
0023 E0                MOVX    A,@DPTR
0024 2401              ADD     A,#01H
0026 FF                MOV     R7,A
0027 E4                CLR     A
0028 3E                ADDC    A,R6
0029 FE                MOV     R6,A
002A E4                CLR     A
002B 3D                ADDC    A,R5
002C FD                MOV     R5,A
002D E4                CLR     A
002E 3C                ADDC    A,R4
002F FC                MOV     R4,A
0030 900000      R     MOV     DPTR,#overflow_count
0033 120000      E     LCALL   ?C?LSTXDATA
                                           ; SOURCE LINE # 16
0036 D007              POP     AR7
0038 D006              POP     AR6
003A D005              POP     AR5
003C D004              POP     AR4
003E D000              POP     AR0
0040 D0D0              POP     PSW
0042 D082              POP     DPL
0044 D083              POP     DPH
0046 D0F0              POP     B
0048 D0E0              POP     ACC
004A 32                RETI    
             ; FUNCTION timer0_ISR (END)

             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 21
                                           ; SOURCE LINE # 22
                                           ; SOURCE LINE # 30
0000 E589              MOV     A,TMOD
0002 54F0              ANL     A,#0F0H
0004 4401              ORL     A,#01H
C51 COMPILER V7.07   MAIN                                                                  07/31/2007 21:23:57 PAGE 3   

0006 F589              MOV     TMOD,A
                                           ; SOURCE LINE # 31
0008 D2A9              SETB    ET0
                                           ; SOURCE LINE # 32
000A D28C              SETB    TR0
                                           ; SOURCE LINE # 33
000C D2AF              SETB    EA
000E         ?C0002:
                                           ; SOURCE LINE # 39
                                           ; SOURCE LINE # 40
                                           ; SOURCE LINE # 41
000E 80FE              SJMP    ?C0002
             ; FUNCTION main (END)

C51 COMPILER V7.07   MAIN                                                                  07/31/2007 21:23:57 PAGE 4   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
overflow_count . . . . . . . . . . . .  STATIC   XDATA  U_LONG   0000H  4
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
timer0_ISR . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


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