📄 main.lst
字号:
C51 COMPILER V8.08 MAIN 07/28/2007 11:42:15 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c OMF2 OPTIMIZE(6,SPEED) BROWSE VARBANKING DEBUG
line level source
1 #include "dp8051.h"
2 #include "config.h"
3 #include "absacc.h"
4 #include "constant.h"
5 #include "variable.h"
6 #include "function.h"
7 #include "sdhost.h"
8 #include "sssmp3_regs.h"
9 #include "fat.h"
10 #include "mp3_appl.h"
11 //***********************************************
12 //***********************************************
13 /************************************************
14 函 数 名: InitTimer0()
15 功 能:初始化Timer0
16 说 明:
17 调 用:
18 全局变量:
19 入口参数:无
20 出口参数:无
21 返 回 值:无
22 ************************************************/
23 void InitTimer0(void)
24 {
25 1 TMOD = ((TMOD & 0xF0) | 0x01);
26 1 TH0 = 0xD8;//0x3C;//CPU_CLK=12MHz, 12/12=1us,Mason@1019
27 1 TL0 = 0xF0;//0xB0;//count-up to 0xffff and then Interrupt in every 50 ms
28 1 ET0 = 1;
29 1 TR0 = 1;
30 1 }
31 /************************************************
32 函 数 名: InitPort()
33 功 能:初始化port
34 说 明:
35 调 用:
36 全局变量:
37 入口参数:无
38 出口参数:无
39 返 回 值:无
40 ************************************************/
41 void InitPort(void)
42 {
43 1 SDSPITIMER = SD_MODE;// enable SD Card reader mode
44 1 P3DIR = 0xE0;
45 1
46 1 #if TX_DEBUG
47 1 P1DIR = BIT5;
48 1 #else
P1DIR = 0x00;
#endif
51 1 IO_PORT1_0 = 0x10;
52 1 IO_PORT1_1 = 0x10;
53 1 IO_PORT1_2 = 0x10;
54 1 IO_PORT1_3 = 0x10;
55 1 IO_PORT1_4 = 0x10;
C51 COMPILER V8.08 MAIN 07/28/2007 11:42:15 PAGE 2
56 1 #if !TX_DEBUG
IO_PORT1_5 = 0x10;
#endif
59 1 IO_PORT1_6 = 0x10;
60 1 IO_PORT1_7 = 0x10;
61 1 }
62 /************************************************
63 函 数 名: LedFlash()
64 功 能:LED闪烁
65 说 明:
66 调 用:
67 全局变量:
68 入口参数:闪烁间隔时间
69 出口参数:无
70 返 回 值:无
71 ************************************************/
72 void LedFlash(U8 Led_time)
73 {
74 1 U8 xdata i = 0;
75 1 P1_1 = 0;
76 1 P1DIR |= BIT1;
77 1 Timer0_Flag = 0;
78 1 InitTimer0();
79 1 EA = 1;
80 1 while(1)
81 1 {
82 2 if(Timer0_Flag)
83 2 {
84 3 Timer0_Flag = 0;
85 3 if(++i >= Led_time)
86 3 {
87 4 i = 0;
88 4 P1_1 ^= 1;
89 4 }
90 3 }
91 2 }
92 1 }
93 /************************************************
94 函 数 名: CharToLong()
95 功 能:
96 说 明:
97 调 用:
98 全局变量:
99 入口参数:
100 出口参数:无
101 返 回 值:无
102 ************************************************/
103 U32 CharToLong(U8 xdata *p)
104 {
105 1 U32 i = 0;
106 1 i = (U32)*p++;
107 1 i += (U32)*p++ << 8;
108 1 i += (U32)*p++ << 16;
109 1 i += (U32)*p << 24;
110 1 return i;
111 1 }
112 /************************************************
113 函 数 名: LongToChar()
114 功 能:
115 说 明:
116 调 用:
117 全局变量:
C51 COMPILER V8.08 MAIN 07/28/2007 11:42:15 PAGE 3
118 入口参数:
119 出口参数:无
120 返 回 值:无
121 ************************************************/
122 #if TX_DEBUG
123 void LongToChar(U8 xdata *p, U32 shuju)
124 {
125 1 *p++ = (U8)shuju;
126 1 *p++ = (U8)(shuju >> 8);
127 1 *p++ = (U8)(shuju >> 16);
128 1 *p = (U8)(shuju >> 24);
129 1 }
130 #endif
131 /************************************************
132 函 数 名: IntToChar()
133 功 能:
134 说 明:
135 调 用:
136 全局变量:
137 入口参数:
138 出口参数:无
139 返 回 值:无
140 ************************************************/
141 #if TX_DEBUG
142 void IntToChar(U8 xdata *p, U16 shuju)
143 {
144 1 *p++ = (U8)shuju;
145 1 *p = (U8)(shuju >> 8);
146 1 }
147 #endif
148 /************************************************
149 函 数 名: main()
150 功 能:主函数
151 说 明:
152 调 用:
153 全局变量:
154 入口参数:无
155 出口参数:无
156 返 回 值:无
157 ************************************************/
158 void main(void)
159 {
160 1 //U32 idata address = 0x100000L,j;
161 1 //far U8 *p;
162 1 U8 data i;
163 1 WTST = 0;// Program Wait States ,for testing Ex_ROM
164 1 CKCON = 3;// XDATA Wait States
165 1
166 1 InitPort();
167 1
168 1 #if TX_DEBUG
169 1 I2STXRX = TXD_PIN_EN;//enable TX
170 1 InitUart();
171 1 #endif
172 1 MP3_PrevInit();
173 1 CLASS_D_VOL_CTL = 0x22;
174 1 MP3_VOLUME = 0;
175 1 //InitTimer0();
176 1
177 1 i = 0;
178 1 if(i)
179 1 {
C51 COMPILER V8.08 MAIN 07/28/2007 11:42:15 PAGE 4
180 2 if(!check_nor_flash())
181 2 {
182 3 #if TX_DEBUG
183 3 SendChar(0x90);
184 3 #endif
185 3 LedFlash(5);
186 3 }
187 2
188 2 if(!check_sram())
189 2 {
190 3 #if TX_DEBUG
191 3 SendChar(0x91);
192 3 #endif
193 3 LedFlash(5);
194 3 }
195 2 //***********************************************
196 2
197 2 //***********************************************
198 2
199 2 //*p = 0;
200 2 //if(*p)
201 2 {
202 3 DMA_write_sector(0, 0x06);
203 3 }
204 2 }
205 1
206 1 // SD_CD = 1;
207 1 // P1DIR &= ~BIT7;
208 1 // if(!SD_CD)
209 1 {
210 2 SD_SysInit();
211 2 if(InitFat())
212 2 {
213 3 //非FAT格式
214 3 LedFlash(50);
215 3 }
216 2 else
217 2 {
218 3 #if TX_DEBUG
219 3 CreateFile();
220 3 SendChar(0xD5);
221 3 #endif
222 3
223 3 if(CFatData.fFAT32)
224 3 FileData.dwCurCluNo = 0;
225 3 FileData.wCurFDBNo = 0;
226 3 if(!Forward())
227 3 {
228 4 //无MP3文件
229 4 LedFlash(50);
230 4 }
231 3 }
232 2 }
233 1 /* else
234 1 {
235 1 #if TX_DEBUG
236 1 SendChar(0x95);
237 1 #endif
238 1 //未插SD卡
239 1 LedFlash(50);
240 1 }*/
241 1
C51 COMPILER V8.08 MAIN 07/28/2007 11:42:15 PAGE 5
242 1 varAl.CardDetected = 1;
243 1 varAl.SystemFlag = 0;
244 1 mp3_play_status = MP3_IDEL;
245 1 Timer0_Flag = 0;
246 1 InitTimer0();
247 1 EA = 1;
248 1 allow_mp3_play = 1;
249 1 while(1)
250 1 {
251 2 if(MP3_ISR_Flag)
252 2 {
253 3 MP3_ISR_Flag = 0;
254 3 MP3_deal();
255 3 }
256 2 if(Timer0_Flag)
257 2 {
258 3 Timer0_Flag = 0;
259 3 #if KEY
260 3 GetKey();
261 3 #endif
262 3 }
263 2 #if KEY
264 2 if(varAl.SysKey != NO_VALUE)
265 2 {
266 3 KeyDeal();
267 3 varAl.SysKey = NO_VALUE;
268 3 }
269 2 #endif
270 2 MP3_Play_Task();
271 2 }
272 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 574 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 1
PDATA SIZE = ---- ----
DATA SIZE = ---- 12
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
EDATA SIZE = ---- ----
HDATA SIZE = ---- ----
XDATA CONST SIZE = ---- ----
FAR CONST SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -