📄 main.lst
字号:
A51 MACRO ASSEMBLER MAIN 14/08/06 08:50:17 PAGE 1
DOS MACRO ASSEMBLER A51 X4.86
OBJECT MODULE PLACED IN MAIN.OBJ
ASSEMBLER INVOKED BY: C:\C51\BIN\A51.EXE MAIN.SRC
LOC OBJ LINE SOURCE
1 ; MAIN.SRC generated from: MAIN.C
2
3 $NOMOD51
4
5 NAME MAIN
6
0080 7 P0 DATA 080H
0090 8 P1 DATA 090H
00A0 9 P2 DATA 0A0H
00B0 10 P3 DATA 0B0H
00B4 11 T0 BIT 0B0H.4
00D6 12 AC BIT 0D0H.6
00B5 13 T1 BIT 0B0H.5
00AF 14 EA BIT 0A8H.7
00A8 15 IE DATA 0A8H
00B7 16 RD BIT 0B0H.7
00AC 17 ES BIT 0A8H.4
00B8 18 IP DATA 0B8H
0098 19 RI BIT 098H.0
00B2 20 INT0 BIT 0B0H.2
00D7 21 CY BIT 0D0H.7
0099 22 TI BIT 098H.1
00B3 23 INT1 BIT 0B0H.3
00BC 24 PS BIT 0B8H.4
0081 25 SP DATA 081H
00D2 26 OV BIT 0D0H.2
00B6 27 WR BIT 0B0H.6
0099 28 SBUF DATA 099H
0087 29 PCON DATA 087H
0098 30 SCON DATA 098H
0089 31 TMOD DATA 089H
0088 32 TCON DATA 088H
0089 33 IE0 BIT 088H.1
008B 34 IE1 BIT 088H.3
00F0 35 B DATA 0F0H
0090 36 TurnLed BIT 090H.0
00E0 37 ACC DATA 0E0H
00A9 38 ET0 BIT 0A8H.1
00AB 39 ET1 BIT 0A8H.3
008D 40 TF0 BIT 088H.5
008F 41 TF1 BIT 088H.7
009A 42 RB8 BIT 098H.2
008C 43 TH0 DATA 08CH
0097 44 RunLed BIT 090H.7
00A8 45 EX0 BIT 0A8H.0
0088 46 IT0 BIT 088H.0
008D 47 TH1 DATA 08DH
009B 48 TB8 BIT 098H.3
00AA 49 EX1 BIT 0A8H.2
008A 50 IT1 BIT 088H.2
00D0 51 P BIT 0D0H.0
009F 52 SM0 BIT 098H.7
008A 53 TL0 DATA 08AH
009E 54 SM1 BIT 098H.6
008B 55 TL1 DATA 08BH
009D 56 SM2 BIT 098H.5
00B9 57 PT0 BIT 0B8H.1
00BB 58 PT1 BIT 0B8H.3
A51 MACRO ASSEMBLER MAIN 14/08/06 08:50:17 PAGE 2
00D3 59 RS0 BIT 0D0H.3
008C 60 TR0 BIT 088H.4
00D4 61 RS1 BIT 0D0H.4
008E 62 TR1 BIT 088H.6
00B8 63 PX0 BIT 0B8H.0
00BA 64 PX1 BIT 0B8H.2
0095 65 halfMinLed BIT 090H.5
0083 66 DPH DATA 083H
0082 67 DPL DATA 082H
009C 68 REN BIT 098H.4
00B0 69 RXD BIT 0B0H.0
00B1 70 TXD BIT 0B0H.1
00D5 71 F0 BIT 0D0H.5
00D0 72 PSW DATA 0D0H
73 ?PR?init?MAIN SEGMENT CODE
74 ?PR?initsys?MAIN SEGMENT CODE
75 ?PR?main?MAIN SEGMENT CODE
76 ?PR?intersvr1?MAIN SEGMENT CODE
77 ?PR?time1?MAIN SEGMENT CODE
78 ?PR?time0?MAIN SEGMENT CODE
79 ?PR?_Delay?MAIN SEGMENT CODE
80 ?DT?_Delay?MAIN SEGMENT DATA OVERLAYABLE
81 ?PR?dlyus?MAIN SEGMENT CODE
82 ?DT?MAIN SEGMENT DATA
83 EXTRN CODE (?C_STARTUP)
84 PUBLIC base
85 PUBLIC dlyus
86 PUBLIC _Delay
87 PUBLIC time0
88 PUBLIC time1
89 PUBLIC intersvr1
90 PUBLIC main
91 PUBLIC initsys
92 PUBLIC init
93
---- 94 RSEG ?DT?_Delay?MAIN
0000 95 ?_Delay?BYTE:
0000 96 dtime?60: DS 2
0002 97 ORG 2
0002 98 i?61: DS 1
0003 99 j?61: DS 1
100
---- 101 RSEG ?DT?MAIN
0000 102 base: DS 2
103 ; //说明:
104 ; //曲轴脉冲信号进入ECU之前接入延时装置
105 ; //中断TX1----曲轴脉冲信号 (输入)
106 ; //P1^2----延时输出曲轴脉冲信号 (输出)
107 ; //延时时间计算 360 X 角度(inputAngle)/256
108 ; //作者:邓天民
109 ; //时间:2005/07/26
110 ; //补充;程序中有很多可以删除
111 ;
112 ; #include <reg51.h>
113 ; #include <stdio.h>
114 ; #include <intrins.h>
115 ; #include <absacc.h>
116 ;
117 ; #define UINT unsigned int
118 ; #define UCHAR unsigned char
119 ;
120 ; sbit RunLed = P1^7; //程序正常标志
121 ; sbit halfMinLed = P1^5; //半秒信号
122 ; sbit TurnLed = P1^0; //曲轴转动输出信号
123 ;
124 ; volatile UINT base; // 基本定时单元
A51 MACRO ASSEMBLER MAIN 14/08/06 08:50:17 PAGE 3
125 ;
126 ; void Delay(int dtime); // 延时
127 ; void dlyus();
128 ; //--------------------------------------------------------------------------
129 ; // 变量初始化子程序
130 ; //--------------------------------------------------------------------------
131 ; void init()
132
---- 133 RSEG ?PR?init?MAIN
134 USING 0
0000 135 init:
136 ; SOURCE LINE # 29
137 ; {
138 ; SOURCE LINE # 30
139 ; RunLed = 1;
140 ; SOURCE LINE # 31
0000 D297 141 SETB RunLed
142 ; TurnLed = 1;
143 ; SOURCE LINE # 32
0002 D290 144 SETB TurnLed
145 ; }
146 ; SOURCE LINE # 33
0004 22 147 RET
148 ; END OF init
149
150 ; //--------------------------------------------------------------------------
151 ; // 系统初始化,初始化寄存器
152 ; //--------------------------------------------------------------------------
153 ; void initsys()
154
---- 155 RSEG ?PR?initsys?MAIN
156 USING 0
0000 157 initsys:
158 ; SOURCE LINE # 37
159 ; {
160 ; SOURCE LINE # 38
161 ; EA = 1; //全局中断允许
162 ; SOURCE LINE # 39
0000 D2AF 163 SETB EA
164 ; ET0 = 1; //定时器0中断允许
165 ; SOURCE LINE # 40
0002 D2A9 166 SETB ET0
167 ; ET1 = 1; //定时器1中断允许
168 ; SOURCE LINE # 41
0004 D2AB 169 SETB ET1
170 ; // PT1 = 1; //T1中断优先级最高
171 ; TMOD = 0x11; //T0工作方式1,计时1ms
172 ; SOURCE LINE # 43
0006 758911 173 MOV TMOD,#011H
174 ; TH0=0xFC;
175 ; SOURCE LINE # 44
0009 758CFC 176 MOV TH0,#0FCH
177 ; TL0=0x21;
178 ; SOURCE LINE # 45
000C 758A21 179 MOV TL0,#021H
180 ; TR0 = 1; //启动T0;
181 ; SOURCE LINE # 46
000F D28C 182 SETB TR0
183 ;
184 ; //外部中断1
185 ; IT1=1; //负跳变触发
186 ; SOURCE LINE # 49
0011 D28A 187 SETB IT1
188 ; EX1=1; //外中断1允许
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -