📄 rs_usb.lst
字号:
320 =2 #define SPI_SPR1 0x02
321 =2 #define SPI_SPR0 0x01
322 =2
323 =2 /* I2CCON MASTER MODE*/
324 =2 #define I2C_MDO 0x80
325 =2 #define I2C_MDE 0x40
326 =2 #define I2C_MCO 0x20
327 =2 #define I2C_MDI 0x10
328 =2 #define I2C_I2CM 0x08
329 =2
330 =2 /* I2CCON SLAVE MODE*/
331 =2 #define I2C_I2CSI 0x80
332 =2 #define I2C_I2CGC 0x40
333 =2 #define I2C_I2CID1 0x20
334 =2 #define I2C_I2CID0 0x10
335 =2 #define I2C_I2CM 0x08
336 =2 #define I2C_I2CRS 0x04
337 =2 #define I2C_I2CTX 0x02
338 =2 #define I2C_I2CI 0x01
339 =2
340 =2 /* DPCON */
341 =2 #define DP_DPT 0x40
342 =2 #define DP_DP1m1 0x20
343 =2 #define DP_DP1m0 0x10
344 =2 #define DP_DP0m1 0x08
345 =2 #define DP_DP0m0 0x04
346 =2 #define DP_DPSEL 0x01
347 =2
348 =2 /* PSMCON */
349 =2 #define PSM_CMPD 0x40
350 =2 #define PSM_PSMI 0x20
351 =2 #define PSM_TPD1 0x10
352 =2 #define PSM_TPD0 0x08
353 =2 #define PSM_PSMEN 0x01
354 =2
355 =2 /* WDCON */
356 =2 #define WD_PRE3 0x80
357 =2 #define WD_PRE2 0x40
358 =2 #define WD_PRE1 0x20
359 =2 #define WD_PRE0 0x10
360 =2 #define WD_WDIR 0x08
361 =2 #define WD_WDS 0x04
362 =2 #define WD_WDE 0x02
C51 COMPILER V7.50 RS_USB 12/19/2005 19:21:27 PAGE 7
363 =2 #define WD_WDWR 0x01
364 =2
365 =2 /* TIMECON */
366 =2 #define TIC_TFH 0x40
367 =2 #define TIC_ITS1 0x20
368 =2 #define TIC_ITS0 0x10
369 =2 #define TIC_STI 0x08
370 =2 #define TIC_TII 0x04
371 =2 #define TIC_TIEN 0x02
372 =2 #define TIC_TCEN 0x01
373 =2
374 =2 /* TMOD */
375 =2 #define TMOD_GATE1 0x80
376 =2 #define TMOD_CT_T1 0x40
377 =2 #define TMOD_M1_T1 0x20
378 =2 #define TMOD_M0_T1 0x10
379 =2 #define TMOD_GATE0 0x08
380 =2 #define TMOD_CT_T0 0x04
381 =2 #define TMOD_M1_T0 0x02
382 =2 #define TMOD_M0_T0 0x01
383 =2
384 =2 /* TCON */
385 =2 #define TCON_TF1 0x80
386 =2 #define TCON_TR1 0x40
387 =2 #define TCON_TF0 0x20
388 =2 #define TCON_TR0 0x10
389 =2 #define TCON_IE1 0x08
390 =2 #define TCON_IT1 0x04
391 =2 #define TCON_IE0 0x02
392 =2 #define TCON_IT0 0x01
393 =2
394 =2 /* T2CON */
395 =2 #define TCON_TF2 0x80
396 =2 #define TCON_EXF2 0x40
397 =2 #define TCON_RCLK 0x20
398 =2 #define TCON_TCLK 0x10
399 =2 #define TCON_EXEN2 0x08
400 =2 #define TCON_TR2 0x04
401 =2 #define TCON_CNT2 0x02
402 =2 #define TCON_CAP2 0x01
403 =2
404 =2 /* T3CON */
405 =2 #define TCON_T3BAUDEN 0x80
406 =2 #define TCON_DIV2 0x04
407 =2 #define TCON_DIV1 0x02
408 =2 #define TCON_DIV0 0x01
409 =2
410 =2 /* SCON */
411 =2 #define UART_SM0 0x80
412 =2 #define UART_SM1 0x40
413 =2 #define UART_SM2 0x20
414 =2 #define UART_REN 0x10
415 =2 #define UART_TB8 0x08
416 =2 #define UART_RB8 0x04
417 =2 #define UART_TI 0x02
418 =2 #define UART_RI 0x01
419 =2
420 =2 /* IE */
421 =2 #define IE_EA 0x80
422 =2 #define IE_EADC 0x40
423 =2 #define IE_ET2 0x20
424 =2 #define IE_ES 0x10
C51 COMPILER V7.50 RS_USB 12/19/2005 19:21:27 PAGE 8
425 =2 #define IE_ET1 0x08
426 =2 #define IE_EX1 0x04
427 =2 #define IE_ET0 0x02
428 =2 #define IE_EX0 0x01
429 =2
430 =2 /* IP */
431 =2 #define IP_PADC 0x40
432 =2 #define IP_PT2 0x20
433 =2 #define IP_PS 0x10
434 =2 #define IP_PT1 0x08
435 =2 #define IP_PX1 0x04
436 =2 #define IP_PT0 0x02
437 =2 #define IP_PX0 0x01
438 =2
439 =2 /* IEIP2 */
440 =2 #define IP_PTI 0x40
441 =2 #define IP_PPSM 0x20
442 =2 #define IP_PSI 0x10
443 =2 #define IP_ETI 0x04
444 =2 #define IP_EPSMI 0x02
445 =2 #define IP_ESI 0x01
446 =2
447 =2
2 =1
3 =1 sbit LED = P3^7;
4 =1 sbit RxD_USB = P1^7;
5 =1 sbit TxD_USB = P3^4;
6 =1 sbit CTS_USB = P3^5;
7 =1 sbit DSR_USB = P3^6;
8 =1
9 =1 extern void DelayUs(unsigned char count);
10 =1 extern void DelayUs2(void);
11 =1 extern signed int ReadByte(void);
12 =1 extern void SendByte(unsigned char data_byte);
2
3 void DelayUs(unsigned char count) {
4 1 #pragma asm
5 1 MOV A,R7
6 1 Jump_DelayUs:
7 1 DEC A
8 1 JNZ Jump_DelayUs
9 1 #pragma endasm
10 1 }
*** WARNING C280 IN LINE 3 OF RS_USB.C: 'count': unreferenced local variable
11
12 void DelayUs2(void) {
13 1 #pragma asm
14 1 MOV A,#0x00 // START
15 1 RRC A
16 1 MOV (0xB0.4),C
17 1 NOP
18 1 NOP
19 1 NOP
20 1 NOP
21 1
22 1 MOV A,#0x01 //0
23 1 RRC A
24 1 MOV (0xB0.4),C
25 1 NOP
26 1 NOP
27 1 NOP
28 1 NOP
C51 COMPILER V7.50 RS_USB 12/19/2005 19:21:27 PAGE 9
29 1
30 1 MOV A,#0x00 //1
31 1 RRC A
32 1 MOV (0xB0.4),C
33 1 NOP
34 1 NOP
35 1 NOP
36 1 NOP
37 1
38 1 MOV A,#0x00 //2
39 1 RRC A
40 1 MOV (0xB0.4),C
41 1 NOP
42 1 NOP
43 1 NOP
44 1 NOP
45 1
46 1 MOV A,#0x00 //3
47 1 RRC A
48 1 MOV (0xB0.4),C
49 1 NOP
50 1 NOP
51 1 NOP
52 1 NOP
53 1
54 1 MOV A,#0x01 //4
55 1 RRC A
56 1 MOV (0xB0.4),C
57 1 NOP
58 1 NOP
59 1 NOP
60 1 NOP
61 1
62 1 MOV A,#0x01 //5
63 1 RRC A
64 1 MOV (0xB0.4),C
65 1 NOP
66 1 NOP
67 1 NOP
68 1 NOP
69 1
70 1 MOV A,#0x00 //6
71 1 RRC A
72 1 MOV (0xB0.4),C
73 1 NOP
74 1 NOP
75 1 NOP
76 1 NOP
77 1
78 1 MOV A,#0x00 //7
79 1 RRC A
80 1 MOV (0xB0.4),C
81 1 NOP
82 1 NOP
83 1 NOP
84 1 NOP
85 1
86 1 MOV A,#0x01 //STOP
87 1 RRC A
88 1 MOV (0xB0.4),C
89 1 NOP
90 1 NOP
C51 COMPILER V7.50 RS_USB 12/19/2005 19:21:27 PAGE 10
91 1 NOP
92 1 #pragma endasm
93 1 }
94
95
96 signed int ReadByte(void) {
97 1 #pragma asm
98 1 CLR DSR_USB
99 1 MOV R7,#0xFF
100 1 MOV R6,#0x08
101 1 Wait_Start:
102 1 MOV C,RxD_USB
103 1 JNC Read_0
104 1 DJNZ R7,Wait_Start
105 1 SETB DSR_USB
106 1 MOV R6,#0xFF
107 1 MOV R7,#0xFF
108 1 JMP Read_End
109 1 Read_0:
110 1 CLR A
111 1 Read_1:
112 1 NOP
113 1 NOP
114 1 NOP
115 1 MOV C,RxD_USB
116 1 RLC A
117 1 DJNZ R6,Read_1
118 1 MOV R6,#0x08
119 1 SETB DSR_USB
120 1 Read_2:
121 1 RRC A
122 1 XCH A,R7
123 1 RLC A
124 1 XCH A,R7
125 1 DJNZ R6,Read_2
126 1 MOV R6,#0x00
127 1 Read_End:
128 1 #pragma endasm
129 1 }
130
131
132
133 void SendByte(unsigned char data_byte) {
134 1 TxD_USB = 0;
135 1 EA = 0;
136 1 // data_byte++;
137 1 #pragma asm
138 1 MOV R6,#0x08
139 1 Jump:
140 1 MOV A,R7 //data_byte
141 1 RRC A
142 1 MOV R7,A
143 1 MOV (0xB0.4),C
144 1 NOP
145 1 DJNZ R6,Jump
146 1 NOP
147 1 NOP
148 1 NOP
149 1 #pragma endasm
150 1 TxD_USB = 1;
151 1 EA = 0; // Do odblokowania potem
152 1 }
C51 COMPILER V7.50 RS_USB 12/19/2005 19:21:27 PAGE 11
*** WARNING C280 IN LINE 133 OF RS_USB.C: 'data_byte': unreferenced local variable
153
154
155
156
157
C51 COMPILER V7.50 RS_USB 12/19/2005 19:21:27 PAGE 12
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P0 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0080H 1
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
_SendByte. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
data_byte?341. . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
ReadByte . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
_DelayUs . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
count?040. . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
TxD_USB. . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
DelayUs2 . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 385 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -