📄 common.lst
字号:
159 =1 #define SCON_RXINT 0x1
160 =1 #define SCON_TXINT 0x2
161 =1 // SPI control 0
162 =1 #define SPI_LSB 0x1
163 =1 #define SPI_CPOL 0x2
164 =1 #define SPI_CPHA 0x4
165 =1 #define SPI_MST 0x8
166 =1 #define SPI_TIE 0x10
167 =1 #define SPI_RIE 0x20
168 =1 #define SPI_EN 0x40
169 =1 #define SPI_SSOEN 0x80
170 =1 // SPI control 1
171 =1 #define SPI_3M 0x0
172 =1 #define SPI_1P5M 0x1
173 =1 #define SPI_750K 0x2
174 =1 #define SPI_375K 0x3
C51 COMPILER V8.02 COMMON 09/19/2006 15:01:23 PAGE 6
175 =1 #define SPI_188K 0x4
176 =1 #define SPI_94K 0x5
177 =1 #define SPI_47K 0x6
178 =1 #define SPI_23K 0x7
179 =1 // SPI status
180 =1 #define SPI_SPTEF 0x1
181 =1 #define SPI_RRDY 0x2
182 =1 #define SPI_WERR 0x4
183 =1 #define SPI_RERR 0x8
184 =1 // SD control
185 =1 #define SD_64B 0x0
186 =1 #define SD_128B 0x1
187 =1 #define SD_256B 0x2
188 =1 #define SD_512B 0x3
189 =1 #define SD_WR 0x40
190 =1 #define SD_EN 0x80
191 =1 // SD status 0
192 =1
193 =1 // SD status 1
194 =1 #define SD_SDERR 0x1
195 =1 #define SD_SDINT 0x2
196 =1 #define SD_CMDEND 0x4
197 =1
198 =1 #define SD_DETECT 0x4
199 =1
200 =1 // Buffer Control
201 =1 #ifdef OLD_CHIP
202 =1 #define MCU2MP3 0x03
203 =1 #define USB2MP3 0x13
204 =1 #else
=1 #define MCU2MP3 0x02
=1 #define USB2MP3 0x12
=1 #endif
208 =1 #define USB2MCU 0x10
209 =1 #define MCU2USB 0x01
210 =1 #define USBFLSH 0x14
211 =1
212 =1 // function prototypes
213 =1 unsigned short WordSwap(unsigned short input);
214 =1 void DelayMs(unsigned int nFactor);
215 =1 void DelayUs(unsigned char nFactor);
216 =1 unsigned long SwapINT32(unsigned long dData);
217 =1 unsigned char SendUart(unsigned char *pUsrBuf, unsigned int num);
218 =1
219 =1
220 =1
3
4 #ifndef COMPILE_LIGHT
5 #ifdef DEBUG_LIGHT
void light ( char partten1, char partten2, UINT16 trans, UINT16 time)
{
UINT16 i;
for ( i=0; i<time; i++ )
{
DelayMs(trans);
P0 = partten1;
DelayMs(trans);
P0 = partten2;
}
}
#endif
C51 COMPILER V8.02 COMMON 09/19/2006 15:01:23 PAGE 7
19
20 #ifndef DEBUG_LIGHT
21 #ifdef FAT32OR16_LIGHT
void light ( char partten1, char partten2, UINT16 trans, UINT16 time)
{
UINT16 i;
for ( i=0; i<time; i++ )
{
DelayMs(trans);
P0 = partten1;
DelayMs(trans);
P0 = partten2;
}
}
#endif
35 #endif
36 #endif //COMPILE_LIGHT
37
38 #ifdef COMPILE_LIGHT
void light ( char partten1, char partten2, UINT16 trans, UINT16 time)
{
UINT16 i;
for ( i=0; i<time; i++ )
{
DelayMs(trans);
P0 = partten1;
DelayMs(trans);
P0 = partten2;
}
}
#endif
52
53 unsigned short WordSwap(unsigned short input)
54 {
55 1 return(((input&0x00FF)<<8)|((input&0xFF00)>>8));
56 1 }
57
58 void DelayMs(unsigned int nFactor)
59 {
60 1 unsigned int data i;
61 1 unsigned int data j;
62 1
63 1 for(i=0; i<nFactor; i++)
64 1 {
65 2 for(j=0;j<140;j++)
66 2 j=j;
67 2 }
68 1 }
69
70 void DelayUs(unsigned char nFactor)
71 {
72 1 unsigned char data i;
73 1 unsigned char data j;
74 1
75 1 j = nFactor >> 2; // divide by 4
76 1 for(i=0; i<j; i++)
77 1 j=j;
78 1 }
79
80 unsigned long SwapINT32(unsigned long dData)
C51 COMPILER V8.02 COMMON 09/19/2006 15:01:23 PAGE 8
81 {
82 1 dData = (dData&0xff)<<24|(dData&0xff00)<<8|(dData&0xff000000)>>24|(dData&0xff0000)>>8;
83 1 return dData;
84 1 }
85
86 unsigned char SendUart(unsigned char *pUsrBuf, unsigned int num)
87 {
88 1 unsigned int i;
89 1 unsigned char *ptr;
90 1
91 1 ptr = pUsrBuf;
92 1
93 1 for (i=0;i<num;i++)
94 1 {
95 2 SBUF = *ptr;
96 2 while(!(SCON & SCON_TXINT)); // wait till tx done
97 2
98 2 // SCON = SCON_FAST;
99 2 ptr++;
100 2 }
101 1
102 1 return(1);
103 1 }
104
105 /*void mp3_dreq(void) interrupt 0 using 2
106 {
107 // get data only if storage device attached
108 if (bXXGFlags.bits.SLAVE_IS_ATTACHED)
109 {
110 // set IN_ISR flag
111 bXXGFlags.bits.bIN_ISR=0;
112
113 // call sector transfer
114 bXXGFlags.bits.bUartInDone=SectorXfer();
115 bXXGFlags.bits.bIN_ISR=0;
116 }
117 }
118 */
119 /*
120 void xint(void) interrupt 0 using 2
121 {
122 //set or clear usb device flag
123
124 }*/
125
C51 COMPILER V8.02 COMMON 09/19/2006 15:01:23 PAGE 9
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _WordSwap (BEGIN)
; SOURCE LINE # 53
;---- Variable 'input' assigned to Register 'R4/R5' ----
; SOURCE LINE # 54
; SOURCE LINE # 55
0000 EF MOV A,R7
0001 FA MOV R2,A
0002 EE MOV A,R6
0003 FF MOV R7,A
0004 EA MOV A,R2
0005 FE MOV R6,A
; SOURCE LINE # 56
0006 ?C0001:
0006 22 RET
; FUNCTION _WordSwap (END)
; FUNCTION _DelayMs (BEGIN)
; SOURCE LINE # 58
;---- Variable 'nFactor' assigned to Register 'R6/R7' ----
; SOURCE LINE # 59
; SOURCE LINE # 63
0000 E4 CLR A
0001 F500 R MOV i,A
0003 F500 R MOV i+01H,A
0005 ?C0002:
0005 C3 CLR C
0006 E500 R MOV A,i+01H
0008 9F SUBB A,R7
0009 E500 R MOV A,i
000B 9E SUBB A,R6
000C 5026 JNC ?C0008
; SOURCE LINE # 64
; SOURCE LINE # 65
000E E4 CLR A
000F F500 R MOV j,A
0011 F500 R MOV j+01H,A
0013 ?C0005:
; SOURCE LINE # 66
0013 850000 R MOV j,j
0016 850000 R MOV j+01H,j+01H
0019 0500 R INC j+01H
001B E500 R MOV A,j+01H
001D 7002 JNZ ?C0020
001F 0500 R INC j
0021 ?C0020:
0021 C3 CLR C
0022 948C SUBB A,#08CH
0024 E500 R MOV A,j
0026 9400 SUBB A,#00H
0028 40E9 JC ?C0005
; SOURCE LINE # 67
002A ?C0004:
002A 0500 R INC i+01H
002C E500 R MOV A,i+01H
002E 70D5 JNZ ?C0002
0030 0500 R INC i
0032 ?C0021:
0032 80D1 SJMP ?C0002
; SOURCE LINE # 68
C51 COMPILER V8.02 COMMON 09/19/2006 15:01:23 PAGE 10
0034 ?C0008:
0034 22 RET
; FUNCTION _DelayMs (END)
; FUNCTION _DelayUs (BEGIN)
; SOURCE LINE # 70
;---- Variable 'nFactor' assigned to Register 'R7' ----
; SOURCE LINE # 71
; SOURCE LINE # 75
0000 EF MOV A,R7
0001 13 RRC A
0002 13 RRC A
0003 543F ANL A,#03FH
0005 F500 R MOV j,A
; SOURCE LINE # 76
0007 E4 CLR A
0008 F500 R MOV i,A
000A ?C0009:
000A E500 R MOV A,i
000C C3 CLR C
000D 9500 R SUBB A,j
000F 5007 JNC ?C0012
; SOURCE LINE # 77
0011 850000 R MOV j,j
0014 0500 R INC i
0016 80F2 SJMP ?C0009
; SOURCE LINE # 78
0018 ?C0012:
0018 22 RET
; FUNCTION _DelayUs (END)
; FUNCTION _SwapINT32 (BEGIN)
; SOURCE LINE # 80
0000 900000 R MOV DPTR,#dData
0003 120000 E LCALL ?C?LSTXDATA
; SOURCE LINE # 81
; SOURCE LINE # 82
0006 900000 R MOV DPTR,#dData
0009 A3 INC DPTR
000A A3 INC DPTR
000B E0 MOVX A,@DPTR
000C FE MOV R6,A
000D A3 INC DPTR
000E E4 CLR A
000F FF MOV R7,A
0010 E4 CLR A
0011 FD MOV R5,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -