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

📄 main.lst

📁 这是单片机C51典型应用设计代码
💻 LST
字号:
C51 COMPILER V7.00  MAIN                                                                   04/24/2002 18:30:44 PAGE 1   


C51 COMPILER V7.00, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND CODE SYMBOLS TABS(8)

stmt level    source

   1          #include <REG517.H>
   2          
   3          /*------------------------------------------------
   4          Timer 2 Interrupt Service Routine.
   5          
   6          Set a breakpoint on 'overflow_count++' and run the
   7          program in the debugger.  You will see this line
   8          executes every 1000 clock cycles (or 1,000 Hz).
   9          
  10          So, overflow_count is actually a 1/1,000 sec
  11          timer.
  12          ------------------------------------------------*/
  13          static unsigned long overflow_count = 0;
  14          
  15          void timer1_ISR (void) interrupt 5
  16          {
  17   1      TF2 = 0;            /* Clear the interrupt request */
  18   1      overflow_count++;   /* Increment the overflow count */
  19   1      }
  20          
  21          /*------------------------------------------------
  22          MAIN C function
  23          ------------------------------------------------*/
  24          void main (void)
  25          {
  26   1      /*--------------------------------------
  27   1      Set the reload values to be 1000 clocks.
  28   1      --------------------------------------*/
  29   1      CRCL = (65536UL-1000UL);
  30   1      CRCH = (65536UL-1000UL) >> 8;
  31   1      
  32   1      TL2 = CRCL;
  33   1      TH2 = CRCH;
  34   1      
  35   1      /*--------------------------------------
  36   1      Set Timer2 for 16-bit auto-reload.
  37   1      The timer counts to 0xFFFF, overflows,
  38   1      is reloaded, and generates an interrupt.
  39   1      --------------------------------------*/
  40   1      T2CON = 0x11;                /* 0XX10001 */
  41   1      
  42   1      /*--------------------------------------
  43   1      --------------------------------------*/
  44   1      ET2 = 1;                      /* Enable Timer 2 Interrupts */
  45   1      EAL = 1;                      /* Global Interrupt Enable */
  46   1      
  47   1      /*--------------------------------------
  48   1      Do Nothing.  Actually, the timer 2
  49   1      interrupt will occur every 1000 clocks.
  50   1      Since the oscillator runs at 12 MHz,
  51   1      the interrupt will happen every 1 KHz.
  52   1      --------------------------------------*/
  53   1      while (1)
  54   1        {
  55   2        }
C51 COMPILER V7.00  MAIN                                                                   04/24/2002 18:30:44 PAGE 2   

  56   1      }
  57          
C51 COMPILER V7.00  MAIN                                                                   04/24/2002 18:30:44 PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION timer1_ISR (BEGIN)
0000 C0E0              PUSH    ACC
0002 C0D0              PUSH    PSW
                                           ; SOURCE LINE # 15
                                           ; SOURCE LINE # 17
0004 C2C6              CLR     TF2
                                           ; SOURCE LINE # 18
0006 E500        R     MOV     A,overflow_count+03H
0008 2401              ADD     A,#01H
000A F500        R     MOV     overflow_count+03H,A
000C E4                CLR     A
000D 3500        R     ADDC    A,overflow_count+02H
000F F500        R     MOV     overflow_count+02H,A
0011 E4                CLR     A
0012 3500        R     ADDC    A,overflow_count+01H
0014 F500        R     MOV     overflow_count+01H,A
0016 E4                CLR     A
0017 3500        R     ADDC    A,overflow_count
0019 F500        R     MOV     overflow_count,A
                                           ; SOURCE LINE # 19
001B D0D0              POP     PSW
001D D0E0              POP     ACC
001F 32                RETI    
             ; FUNCTION timer1_ISR (END)

             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 24
                                           ; SOURCE LINE # 25
                                           ; SOURCE LINE # 29
0000 75CA18            MOV     CRCL,#018H
                                           ; SOURCE LINE # 30
0003 75CBFC            MOV     CRCH,#0FCH
                                           ; SOURCE LINE # 32
0006 85CACC            MOV     TL2,CRCL
                                           ; SOURCE LINE # 33
0009 85CBCD            MOV     TH2,CRCH
                                           ; SOURCE LINE # 40
000C 75C811            MOV     T2CON,#011H
                                           ; SOURCE LINE # 44
000F D2AD              SETB    ET2
                                           ; SOURCE LINE # 45
0011 D2AF              SETB    EAL
0013         ?C0002:
                                           ; SOURCE LINE # 53
                                           ; SOURCE LINE # 54
                                           ; SOURCE LINE # 55
0013 80FE              SJMP    ?C0002
             ; FUNCTION main (END)

C51 COMPILER V7.00  MAIN                                                                   04/24/2002 18:30:44 PAGE 4   

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


TB80 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
T2I0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C8H  1
T2I1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C9H  1
SM20 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
BD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00DFH  1
overflow_count . . . . . . . . . . . .  STATIC   DATA   U_LONG   0000H  4
T2R0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CBH  1
T2R1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CCH  1
EADC . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
IADC . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C0H  1
I2FR . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CDH  1
I3FR . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CEH  1
EXF2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C7H  1
REN0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
T2CM . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CAH  1
IEX2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C1H  1
IEX3 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C2H  1
IEX4 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C3H  1
IEX5 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C4H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
IEX6 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C5H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
CRCH . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00CBH  1
ADEX . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00DDH  1
timer1_ISR . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
CRCL . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00CAH  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
T2PS . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CFH  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
SWDT . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BEH  1
ES0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
RI0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
ET2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ADH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
TF2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C6H  1
TI0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
TH2. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00CDH  1
EX2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
EX3. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
C51 COMPILER V7.00  MAIN                                                                   04/24/2002 18:30:44 PAGE 5   

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


EX4. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
ADM. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00DBH  1
EX5. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
EAL. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
TL2. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00CCH  1
EX6. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BDH  1
MX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D8H  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
MX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D9H  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
MX2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00DAH  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
CLK. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00DEH  1
EXEN2. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BFH  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
BSY. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00DCH  1
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
WDT. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AEH  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
F1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D1H  1
RB80 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1


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