📄 main.lst
字号:
164 =1 sbit rb8 = 0x9A;
165 =1 sbit ti = 0x99;
166 =1 sbit ri = 0x98;
167 =1 sbit SM0 = SCON^7;
168 =1 sbit FE = SCON^7;
169 =1 sbit SM1 = SCON^6;
170 =1 sbit SM2 = SCON^5;
171 =1 sbit REN = SCON^4;
172 =1 sbit TB8 = SCON^3;
173 =1 sbit RB8 = SCON^2;
174 =1 sbit TI = SCON^1;
175 =1 sbit RI = SCON^0;
176 =1
177 =1
178 =1 /* s1con */
179 =1 sfr S1CON = 0xD8;
180 =1
181 =1
182 =1
183 =1 sbit CR2 = S1CON^7;
184 =1 sbit ENS1 = S1CON^6;
185 =1 sbit STA = S1CON^5;
C51 COMPILER V7.01 MAIN 03/21/2003 09:31:06 PAGE 9
186 =1 sbit STO = S1CON^4;
187 =1 sbit SI = S1CON^3;
188 =1 sbit AA = S1CON^2;
189 =1 sbit CR1 = S1CON^1;
190 =1 sbit CR0 = S1CON^0;
191 =1
192 =1
193 =1
194 =1 sfr SBUF = 0x99;
195 =1
196 =1
197 =1
198 =1 /* IEN0 */
199 =1 sfr IE = 0xA8;
200 =1 sbit EA = IE^7;
201 =1 sbit EC = IE^6;
202 =1 sbit ES1 = IE^5;
203 =1 sbit ES0 = IE^4;
204 =1 sbit ET1 = IE^3;
205 =1 sbit EX1 = IE^2;
206 =1 sbit ET0 = IE^1;
207 =1 sbit EX0 = IE^0;
208 =1
209 =1 sbit ea = 0xAF;
210 =1 sbit ec = 0xae;
211 =1 sbit es1 = 0xad;
212 =1 sbit es0 = 0xAC;
213 =1 sbit et1 = 0xAB;
214 =1 sbit ex1 = 0xAA;
215 =1 sbit et0 = 0xA9;
216 =1 sbit ex0 = 0xA8;
217 =1
218 =1 sfr IEN1 = 0xE8;
219 =1
220 =1 sbit ET2 = IEN1^0;
221 =1 sbit et2 = IEN1^0;
222 =1 sfr SADDR = 0xA9;
223 =1
224 =1 sfr IPH = 0xB7;
225 =1
226 =1 sfr SADEN = 0xB9;
227 =1
228 =1 /* IP */
229 =1 sfr IP = 0xB8;
230 =1
231 =1
232 =1 sbit ppc = 0xBE;
233 =1 sbit pt2h = 0xBD;
234 =1 sbit psh = 0xBC;
235 =1 sbit pt1h = 0xBB;
236 =1 sbit px1h = 0xBA;
237 =1 sbit pt0h = 0xB9;
238 =1 sbit px0h = 0xB8;
239 =1
240 =1 sbit PT2 = IP^7;
241 =1 sbit PPC = IP^6;
242 =1 sbit PS1 = IP^5;
243 =1 sbit PS0 = IP^4;
244 =1 sbit PT1 = IP^3;
245 =1 sbit PX1 = IP^2;
246 =1 sbit PT0 = IP^1;
247 =1 sbit PX0 = IP^0;
C51 COMPILER V7.01 MAIN 03/21/2003 09:31:06 PAGE 10
248 =1 sbit pt2 = IP^7;
249 =1 //sbit ppc = IP^6;
250 =1 sbit ps1 = IP^5;
251 =1 sbit ps0 = IP^4;
252 =1 sbit pt1 = IP^3;
253 =1 sbit px1 = IP^2;
254 =1 sbit pt0 = IP^1;
255 =1 sbit px0 = IP^0;
256 =1
257 =1 /* T2CON */
258 =1 sfr T2CON = 0xC8;
259 =1 sbit TF2 = T2CON^7;
260 =1 sbit EXF2 = T2CON^6;
261 =1 sbit RCLK = T2CON^5;
262 =1 sbit TCLK = T2CON^4;
263 =1 sbit EXEN2 = T2CON^3;
264 =1 sbit TR2 = T2CON^2;
265 =1 sbit CT2 = T2CON^1;
266 =1 sbit CP = T2CON^0;
267 =1 sbit tf2 = T2CON^7;
268 =1 sbit exf2 = T2CON^6;
269 =1 sbit rclk = T2CON^5;
270 =1 sbit tclk = T2CON^4;
271 =1 sbit exen2 = T2CON^3;
272 =1 sbit tr2 = T2CON^2;
273 =1 sbit ct2 = T2CON^1;
274 =1 sbit cp = T2CON^0;
275 =1
276 =1 sbit T2IP = 0xCE;
277 =1 sbit T2IE = 0xCD;
278 =1 sbit T2RSE = 0xCC;
279 =1 sbit BGEN = 0xCB;
280 =1
281 =1 sbit C_T2 = 0xC9;
282 =1 sbit CP_RL2= 0xC8;
283 =1
284 =1 //sbit tf2 = 0xCF;
285 =1 sbit t2ip = 0xCE;
286 =1 sbit t2ie = 0xCD;
287 =1 sbit t2rse = 0xCC;
288 =1 sbit bgen = 0xCB;
289 =1 //sbit tr2 = 0xCA;
290 =1 sbit c_t2 = 0xC9;
291 =1 sbit cp_rl2= 0xC8;
292 =1
293 =1 sfr T2MOD = 0xC9;
294 =1
295 =1 sfr RCAP2L = 0xCA;
296 =1 sfr RCAP2H = 0xCB;
297 =1 sfr TL2 = 0xCC;
298 =1 sfr TH2 = 0xCD;
299 =1
300 =1
301 =1 sfr ACC = 0xE0;
302 =1 sfr B = 0xF0;
303 =1
304 =1 sfr CCON = 0xC0;
305 =1 sbit CF = CCON^7;
306 =1 sbit CR = CCON^6;
307 =1 sbit CCF4 = CCON^4;
308 =1 sbit CCF3 = CCON^3;
309 =1 sbit CCF2 = CCON^2;
C51 COMPILER V7.01 MAIN 03/21/2003 09:31:06 PAGE 11
310 =1 sbit CCF1 = CCON^1;
311 =1 sbit CCF0 = CCON^0;
312 =1
313 =1 sfr CMOD = 0xC1;
314 =1 sfr CCAPM0 = 0xC2;
315 =1 sfr CCAPM1 = 0xC3;
316 =1 sfr CCAPM2 = 0xC4;
317 =1 sfr CCAPM3 = 0xC5;
318 =1 sfr CCAPM4 = 0xC6;
319 =1
320 =1 sfr CL = 0xE9;
321 =1 sfr CCAP0L = 0xEA;
322 =1 sfr CCAP1L = 0xEB;
323 =1 sfr CCAP2L = 0xEC;
324 =1 sfr CCAP3L = 0xED;
325 =1 sfr CCAP4L = 0xEE;
326 =1
327 =1 sfr CH = 0xF9;
328 =1 sfr CCAP0H = 0xFA;
329 =1 sfr CCAP1H = 0xFB;
330 =1 sfr CCAP2H = 0xFC;
331 =1 sfr CCAP3H = 0xFD;
332 =1 sfr CCAP4H = 0xFE;
333 =1
334 =1
335 =1
336 =1 sfr AUXR = 0x8E;
337 =1 sfr AUXR1 = 0xA2;
338 =1
339 =1 sfr S1DAT = 0xDA;
340 =1 sfr S1IST = 0xDC;
341 =1 sfr S1ADR = 0xDB;
342 =1 sfr S1STA = 0xD9;
343 =1
344 =1 sfr WDTRST = 0xA6;
345 =1
346 =1 sfr psw = 0xD0;
347 =1 sfr acc = 0xE0;
348 =1 sfr a = 0xE0;
349 =1 sfr A = 0xE0;
350 =1 sfr b = 0xF0;
351 =1 sfr sp = 0x81;
352 =1 sfr dpl = 0x82;
353 =1 sfr dph = 0x83;
354 =1 sfr pcon = 0x87;
355 =1 sfr tcon = 0x88;
356 =1 sfr tmod = 0x89;
357 =1 sfr tl0 = 0x8A;
358 =1 sfr tl1 = 0x8B;
359 =1 sfr th0 = 0x8C;
360 =1 sfr th1 = 0x8D;
361 =1 sfr ie = 0xA8;
362 =1 sfr ip = 0xB8;
363 =1 sfr scon = 0x98;
364 =1 sfr sbuf = 0x99;
365 =1
366 =1
17 #include "ne2000.h" //网络相关的数据结构定义
1 =1 #define uint unsigned int
2 =1 #define uchar unsigned char
3 =1 #define ulong unsigned long
4 =1 union u { unsigned int word;
C51 COMPILER V7.01 MAIN 03/21/2003 09:31:06 PAGE 12
5 =1 struct{unsigned char high;unsigned char low;}bytes;//字节顺序为高位在前的2byte结构
6 =1 };
7 =1
8 =1 union w { ulong dwords;
9 =1 struct {uint high ;uint low;}words;
10 =1 struct {uchar byte3;uchar byte2;uchar byte1;uchar byte0;}bytes;
11 =1 };
12 =1 union Ethernet_Address_Type{
13 =1 uint words[3];
14 =1 uchar bytes[6];
15 =1 };
16 =1 union Ip_Address_Type{
17 =1 ulong dwords;
18 =1 uint words[2];
19 =1 uchar bytes[4];
20 =1 };
21 =1
22 =1 /******************以太网帧**********************/
23 =1 struct ethernet { uchar RecStatus; /*接收状态*/
24 =1 uchar NextPage; /*下一个页*/
25 =1 uint length; /*以太网长度,以字节为单位,*/
26 =1 uint DestMacId[3]; /*目的网卡地址*/
27 =1 uint SourceMacId[3]; /*源网卡地址*/
28 =1 uint NextProtocal; /*下一层协议*/
29 =1 uchar packet[1518]; /*包的内容*/
30 =1 } ;
31 =1 struct retransmit {uchar RtStatus; /*重发缓冲区状态*/
32 =1 uchar timeout; /*超时时间值,单位为10毫秒,最大2.55秒*/
33 =1 uint length; /*以太网长度,以字节为单位,*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -