📄 main.lst
字号:
C51 COMPILER V6.03b MAIN 11/26/2000 19:41:56 PAGE 1
C51 COMPILER V6.03b, 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
stmt level source
1 #include <reg52.h>
2 #include <stdio.h>
3
4 /*------------------------------------------------
5 Timer 1 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 100 clock cycles (or 10,000 Hz).
10
11 So, overflow_count is actually a 1/10,000 sec
12 timer.
13 ------------------------------------------------*/
14 static unsigned long overflow_count = 0;
15
16 void timer1_ISR (void) interrupt 3
17 {
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 Timer1 for 8-bit timer with reload
28 1 (mode 2). The timer counts to 255,
29 1 overflows, is reloaded with 156, and
30 1 generates an interrupt.
31 1
32 1 Set the Timer1 Run control bit.
33 1 --------------------------------------*/
34 1 TMOD = (TMOD & 0x0F) | 0x20; /* Set Mode (8-bit timer with reload) */
35 1 TH1 = 256 - 100; /* Reload TL1 to count 100 clocks */
36 1 TL1 = TH1;
37 1 ET1 = 1; /* Enable Timer 1 Interrupts */
38 1 TR1 = 1; /* Start Timer 1 Running */
39 1 EA = 1; /* Global Interrupt Enable */
40 1
41 1 /*--------------------------------------
42 1 Do Nothing. Actually, the timer 1
43 1 interrupt will occur every 100 clocks.
44 1 Since the oscillator runs at 12 MHz,
45 1 the interrupt will happen every 10 KHz.
46 1 --------------------------------------*/
47 1 while (1)
48 1 {
49 2 }
50 1 }
51
C51 COMPILER V6.03b MAIN 11/26/2000 19:41:56 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION timer1_ISR (BEGIN)
0000 C0E0 PUSH ACC
0002 C0D0 PUSH PSW
; SOURCE LINE # 16
; SOURCE LINE # 18
0004 E500 R MOV A,overflow_count+03H
0006 2401 ADD A,#01H
0008 F500 R MOV overflow_count+03H,A
000A E4 CLR A
000B 3500 R ADDC A,overflow_count+02H
000D F500 R MOV overflow_count+02H,A
000F E4 CLR A
0010 3500 R ADDC A,overflow_count+01H
0012 F500 R MOV overflow_count+01H,A
0014 E4 CLR A
0015 3500 R ADDC A,overflow_count
0017 F500 R MOV overflow_count,A
; SOURCE LINE # 19
0019 D0D0 POP PSW
001B D0E0 POP ACC
001D 32 RETI
; FUNCTION timer1_ISR (END)
; FUNCTION main (BEGIN)
; SOURCE LINE # 24
; SOURCE LINE # 25
; SOURCE LINE # 34
0000 E589 MOV A,TMOD
0002 540F ANL A,#0FH
0004 4420 ORL A,#020H
0006 F589 MOV TMOD,A
; SOURCE LINE # 35
0008 758D9C MOV TH1,#09CH
; SOURCE LINE # 36
000B 858D8B MOV TL1,TH1
; SOURCE LINE # 37
000E D2AB SETB ET1
; SOURCE LINE # 38
0010 D28E SETB TR1
; SOURCE LINE # 39
0012 D2AF SETB EA
0014 ?C0002:
; SOURCE LINE # 47
; SOURCE LINE # 48
; SOURCE LINE # 49
0014 80FE SJMP ?C0002
; FUNCTION main (END)
C51 COMPILER V6.03b MAIN 11/26/2000 19:41:56 PAGE 3
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
T2 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
overflow_count . . . . . . . . . . . . STATIC DATA U_LONG 0000H 4
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
size_t . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
EXF2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CEH 1
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
CY . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D7H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
INT1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
PS . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
T2EX . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0091H 1
timer1_ISR . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
C_T2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C9H 1
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
RCLK . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CDH 1
TCLK . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CCH 1
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TMOD . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0089H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1
IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1
CP_RL2 . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C8H 1
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1
TF0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008DH 1
ET2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ADH 1
TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1
TF2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CFH 1
RB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009AH 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1
TH1. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008DH 1
TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1
SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
TL1. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008BH 1
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
PT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1
PT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1
RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1
PT2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BDH 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
C51 COMPILER V6.03b MAIN 11/26/2000 19:41:56 PAGE 4
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
RS1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D4H 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
TR2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CAH 1
PX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
PX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1
EXEN2. . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CBH 1
REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 52 ----
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 + -