📄 ex.lst
字号:
C51 COMPILER V7.06 EX 03/23/2008 16:11:22 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE EX
OBJECT MODULE PLACED IN ex.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ex.c BROWSE INTVECTOR(0X8000) DEBUG OBJECTEXTEND CODE
stmt level source
1 #include "reg52.h"
2 #include "absacc.h"
3
4 #define AD0809 XBYTE[0X7000]
5
6 sbit P3_5=P3^5;
7
8 unsigned char dat=0xff;
9
10 main()
11 {
12 1 unsigned char i;
13 1 IT0=1; //;设置外部中断0为边沿触发
14 1 EX0=1; //中断INT0开放
15 1 EA=1; //总中断允许
16 1 AD0809=0x00; //启动AD0809
17 1
18 1 TMOD=1; //设置定时器1为16位定时器
19 1 TH0=0x00; //赋初值
20 1 TL0=0x00;
21 1 ET0 =1; //开定时器中断
22 1 TR0 =1;
23 1 while(1)
24 1 {
25 2 i=dat;
26 2 while(i--);
27 2 P3_5=1;
28 2 i=dat;
29 2 while(i--);
30 2 P3_5=0;
31 2 }
32 1 }
33 void EX0_ISR() interrupt 0
34 {
35 1 EX0=0;
36 1 dat=AD0809; //读取A/D转换的结果
37 1 EX0=1;
38 1 }
39 void T0_ISR() interrupt 1
40 {
41 1 TR0=0; //定时器0中断时间,为模数采样频率
42 1 TH0=0x00; //赋初值
43 1 TL0=0;
44 1 AD0809=0x00; //启动AD0809
45 1 TR0=1;
46 1 }
C51 COMPILER V7.06 EX 03/23/2008 16:11:22 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION main (BEGIN)
; SOURCE LINE # 10
; SOURCE LINE # 11
; SOURCE LINE # 13
0000 D288 SETB IT0
; SOURCE LINE # 14
0002 D2A8 SETB EX0
; SOURCE LINE # 15
0004 D2AF SETB EA
; SOURCE LINE # 16
0006 907000 MOV DPTR,#07000H
0009 E4 CLR A
000A F0 MOVX @DPTR,A
; SOURCE LINE # 18
000B 758901 MOV TMOD,#01H
; SOURCE LINE # 19
000E F58C MOV TH0,A
; SOURCE LINE # 20
0010 F58A MOV TL0,A
; SOURCE LINE # 21
0012 D2A9 SETB ET0
; SOURCE LINE # 22
0014 D28C SETB TR0
0016 ?C0001:
; SOURCE LINE # 23
; SOURCE LINE # 24
; SOURCE LINE # 25
;---- Variable 'i' assigned to Register 'R7' ----
0016 AF00 R MOV R7,dat
0018 ?C0003:
; SOURCE LINE # 26
0018 AE07 MOV R6,AR7
001A 1F DEC R7
001B EE MOV A,R6
001C 70FA JNZ ?C0003
001E ?C0004:
; SOURCE LINE # 27
001E D2B5 SETB P3_5
; SOURCE LINE # 28
0020 AF00 R MOV R7,dat
0022 ?C0005:
; SOURCE LINE # 29
0022 AE07 MOV R6,AR7
0024 1F DEC R7
0025 EE MOV A,R6
0026 70FA JNZ ?C0005
0028 ?C0006:
; SOURCE LINE # 30
0028 C2B5 CLR P3_5
; SOURCE LINE # 31
002A 80EA SJMP ?C0001
; FUNCTION main (END)
; FUNCTION EX0_ISR (BEGIN)
0000 C0E0 PUSH ACC
0002 C083 PUSH DPH
0004 C082 PUSH DPL
; SOURCE LINE # 33
; SOURCE LINE # 35
C51 COMPILER V7.06 EX 03/23/2008 16:11:22 PAGE 3
0006 C2A8 CLR EX0
; SOURCE LINE # 36
0008 907000 MOV DPTR,#07000H
000B E0 MOVX A,@DPTR
000C F500 R MOV dat,A
; SOURCE LINE # 37
000E D2A8 SETB EX0
; SOURCE LINE # 38
0010 D082 POP DPL
0012 D083 POP DPH
0014 D0E0 POP ACC
0016 32 RETI
; FUNCTION EX0_ISR (END)
; FUNCTION T0_ISR (BEGIN)
0000 C0E0 PUSH ACC
0002 C083 PUSH DPH
0004 C082 PUSH DPL
; SOURCE LINE # 39
; SOURCE LINE # 41
0006 C28C CLR TR0
; SOURCE LINE # 42
0008 758C00 MOV TH0,#00H
; SOURCE LINE # 43
000B 758A00 MOV TL0,#00H
; SOURCE LINE # 44
000E 907000 MOV DPTR,#07000H
0011 E4 CLR A
0012 F0 MOVX @DPTR,A
; SOURCE LINE # 45
0013 D28C SETB TR0
; SOURCE LINE # 46
0015 D082 POP DPL
0017 D083 POP DPH
0019 D0E0 POP ACC
001B 32 RETI
; FUNCTION T0_ISR (END)
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 95 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
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 + -