📄 main.lst
字号:
C51 COMPILER V7.00 MAIN 04/24/2002 18:05:57 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 <reg52.h>
2 #include <stdio.h>
3
4 /*------------------------------------------------
5 Timer 2 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 1000 clock cycles (or 1,000 Hz).
10
11 So, overflow_count is actually a 1/1,000 sec
12 timer.
13 ------------------------------------------------*/
14 static unsigned long overflow_count = 0;
15
16 void timer1_ISR (void) interrupt 5
17 {
18 1 TF2 = 0; /* Clear the interrupt request */
19 1 overflow_count++; /* Increment the overflow count */
20 1 }
21
22 /*------------------------------------------------
23 MAIN C function
24 ------------------------------------------------*/
25 void main (void)
26 {
27 1 /*--------------------------------------
28 1 Set Timer2 for 16-bit auto-reload.
29 1 The timer counts to 0xFFFF, overflows,
30 1 is reloaded, and generates an interrupt.
31 1 --------------------------------------*/
32 1 T2CON = 0x80; /* 10000000 */
33 1
34 1 /*--------------------------------------
35 1 Set the reload values to be 1000 clocks.
36 1 --------------------------------------*/
37 1 RCAP2L = (65536UL-1000UL);
38 1 RCAP2H = (65536UL-1000UL) >> 8;
39 1
40 1 TL2 = RCAP2L;
41 1 TH2 = RCAP2H;
42 1
43 1 /*--------------------------------------
44 1 --------------------------------------*/
45 1 ET2 = 1; /* Enable Timer 2 Interrupts */
46 1 TR2 = 1; /* Start Timer 2 Running */
47 1 EA = 1; /* Global Interrupt Enable */
48 1
49 1 /*--------------------------------------
50 1 Do Nothing. Actually, the timer 2
51 1 interrupt will occur every 1000 clocks.
52 1 Since the oscillator runs at 12 MHz,
53 1 the interrupt will happen every 1 KHz.
54 1 --------------------------------------*/
55 1 while (1)
C51 COMPILER V7.00 MAIN 04/24/2002 18:05:57 PAGE 2
56 1 {
57 2 }
58 1 }
59
C51 COMPILER V7.00 MAIN 04/24/2002 18:05:57 PAGE 3
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 C2CF CLR TF2
; SOURCE LINE # 19
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 # 20
001B D0D0 POP PSW
001D D0E0 POP ACC
001F 32 RETI
; FUNCTION timer1_ISR (END)
; FUNCTION main (BEGIN)
; SOURCE LINE # 25
; SOURCE LINE # 26
; SOURCE LINE # 32
0000 75C880 MOV T2CON,#080H
; SOURCE LINE # 37
0003 75CA18 MOV RCAP2L,#018H
; SOURCE LINE # 38
0006 75CBFC MOV RCAP2H,#0FCH
; SOURCE LINE # 40
0009 85CACC MOV TL2,RCAP2L
; SOURCE LINE # 41
000C 85CBCD MOV TH2,RCAP2H
; SOURCE LINE # 45
000F D2AD SETB ET2
; SOURCE LINE # 46
0011 D2CA SETB TR2
; SOURCE LINE # 47
0013 D2AF SETB EA
0015 ?C0002:
; SOURCE LINE # 55
; SOURCE LINE # 56
; SOURCE LINE # 57
0015 80FE SJMP ?C0002
; FUNCTION main (END)
C51 COMPILER V7.00 MAIN 04/24/2002 18:05:57 PAGE 4
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
RCAP2H . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00CBH 1
PS . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
T2EX . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0091H 1
timer1_ISR . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
RCAP2L . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00CAH 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
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
TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
TH2. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00CDH 1
P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1
SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
TL2. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00CCH 1
PT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1
PT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1
RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1
PT2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BDH 1
C51 COMPILER V7.00 MAIN 04/24/2002 18:05:57 PAGE 5
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
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 = 55 ----
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 + -