?? mcu.lst
字號:
C51 COMPILER V6.12 MCU 03/05/2008 14:34:52 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE MCU
OBJECT MODULE PLACED IN .\BIN\MCU.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE .\SRC\MCU.C OPTIMIZE(9,SIZE) DEFINE(X17,TW2600XW02) DEBUG OBJECTEXTEND PRIN
-T(.\LST\MCU.lst) OBJECT(.\BIN\MCU.obj)
stmt level source
1 #include "8051.H"
2 #include "STDIO.H"
3 #include "RAM.H"
4 #include "MCU.H"
5 #include "MyDef.H"
6 #include "IIC.H"
7 #include "F63XREG.H"
8 #include "F63XDEF.H"
9 #include "UserAdj.H"
10 #include "Scaler.H"
11 #include "rom_map.h"
12 #include "AutoAdj.H"
13 #include "OSD.H"
14 #include "OSD_TAB.H"
15 #include "MODEHANDLE.H"
16 //#include "dvKeypad.h"
17 #include "PANEL.H"
18
19 extern WarmUp();
20
21 void InitMCU(void)
22 {
23 1 Byte xdata *Addr;
24 1 Byte i;
25 1 Addr = 0xf000;
26 1 for(i=0; i<0x23; i++){
27 2 *Addr++ = McuRegTab[i];
28 2 }
29 1 // set timer 0
30 1 SCON = 0x52;
31 1 TMOD = 0x22; //timer0 /timer1 8 bits auto reload
32 1 // TMOD = 0x21; //timer0 16 bits/timer1 8 bits auto reload
33 1 PCON = 0x80;
34 1 // timer0 8 bits auto reload
35 1 TL0 = -200;
36 1 TH0 =-200;
37 1 // TL0 = 256-(CPU_CLK/1000*100/12000); //time base 100us
38 1 // TH0 = 256-(CPU_CLK/1000*100/12000);
39 1
40 1 // timer0 16 bits
41 1 // TL0 = (65536-CPU_CLK/1200)%256; //time base 10ms
42 1 // TH0 = (65536-CPU_CLK/1200)/256;
43 1
44 1 // For 12.000 MHz
45 1 TL1 = 256-(2*CPU_CLK/384/9600);
46 1 TH1 = 256-(2*CPU_CLK/384/9600);
47 1 // For 14.318 MHz
48 1 //TL1 = 256-(2*CPU_CLK/384/4800);
49 1 //TH1 = 256-(2*CPU_CLK/384/4800);
50 1 TR0 = 1; //start timer0
51 1 TR1 = 1; //start timer1
52 1 // set interrupt
53 1 EX1 = 1; //enable External interrupt1
54 1 ET0 = 1; //enable timer0 interrupt
C51 COMPILER V6.12 MCU 03/05/2008 14:34:52 PAGE 2
55 1 EA = 1; //enable all interrupt
56 1 T0_INT_CNT = 0;
57 1 T0_10ms_Cnt = 0;
58 1 Sleep(50);
59 1 }
60
61 void Timer0(void) interrupt 1 using 2
62 {
63 1 #if 1 //Used mode2--auto reload
64 1 if(++T0_INT_CNT >= 10){
65 2 T0_INT_CNT = 0;
66 2 if(Timer_1ms != 0) // 1ms
67 2 Timer_1ms--;
68 2 if(++T0_1ms_Cnt >= 10){ // 10ms
69 3 CLRWDT = 0x55;
70 3 T0_1ms_Cnt = 0;
71 3 if(++T0_10ms_Cnt >= 100){//--1s
72 4 T0_10ms_Cnt = 0;
73 4 if(BackLightTimerEn){
74 5 if(BackLightTimer < 360000000)
75 5 BackLightTimer += 1;
76 5 else
77 5 BackLightTimer = 0;
78 5 }
79 4 }
80 3 if(OsdTimer > 0)
81 3 OsdTimer--;
82 3 if(LocalTimer > 0)
83 3 LocalTimer--;
84 3 if(PowerTimer > 0)
85 3 PowerTimer--;
86 3 if(RepeatTimer > 0)
87 3 RepeatTimer--;
88 3 if(DDCTimer > 0)
89 3 DDCTimer--;
90 3 if(SaveTimer > 0)
91 3 SaveTimer--;
92 3 if(VideoTimer > 0)
93 3 VideoTimer--;
94 3 if(BurnInTimer > 0)
95 3 BurnInTimer--;
96 3 if(MuteTimer > 0)
97 3 MuteTimer--;
98 3 }
99 2 }
100 1
101 1 #else //Used mode1--16 bits counter
TL0 = (65536-CPU_CLK/1200)%256; //time base 10ms
TH0 = (65536-CPU_CLK/1200)/256;
CLRWDT = 0x55;
if(++T0_10ms_Cnt >= 100){
T0_10ms_Cnt = 0;
if(BackLightTimerEn){
if(BackLightTimer < 360000000)
BackLightTimer += 1;
else
BackLightTimer = 0;
}
}
if(OsdTimer > 0)
OsdTimer--;
if(LocalTimer > 0)
C51 COMPILER V6.12 MCU 03/05/2008 14:34:52 PAGE 3
LocalTimer--;
if(RepeatTimer > 0)
RepeatTimer--;
if(PowerTimer > 0)
PowerTimer--;
if(DDCTimer > 0)
DDCTimer--;
if(SaveTimer > 0)
SaveTimer--;
if(VideoTimer > 0)
VideoTimer--;
if(BurnInTimer > 0)
BurnInTimer--;
if(MuteTimer > 0)
MuteTimer--;
#endif
133 1
134 1 }
135
136 void Sleep(Word T)
137 {
138 1 Timer_1ms = T; /* timeout n ms */
139 1 while(Timer_1ms != 0){
140 2 }
141 1 // Word i,j;
142 1 // for(j=0;j<T;j++)
143 1 // for(i=0;i<23*(CPU_CLK/20000000);i++)
144 1 // CLRWDT=0x55;
145 1 }
146
147 void WaitSetup(unsigned short time)
148 {
149 1 LocalTimer = time; /* timeout n 10ms */
150 1 while(LocalTimer != 0){
151 2 if(FuncBuf[pVIDEOSOURCE] <= 1) //jacky20040324
152 2 CheckModeChange();
153 2 }
154 1 }
155
156 Byte GetKey()
157 {
158 1 Byte i,KeyTemp,KeyTemp2;
159 1 i = 0;
160 1 while(i < 10)
161 1 {
162 2 KeyTemp = 0;
163 2 if(!(PTA_REG & PA0))
164 2 KeyTemp = vkSOURCE;
165 2 if(!(PTD_REG & PD2))
166 2 KeyTemp |= vkMENU;
167 2 if(!(PTD_REG & PD0))
168 2 KeyTemp |= vkAUTO;
169 2 if(!(PTC_REG & PC6))
170 2 KeyTemp |= vkPOWER;
171 2 if(!(PTB_REG & PB1))
172 2 KeyTemp |= vkVALUP;
173 2 if(!(PTB_REG & PB0))
174 2 KeyTemp |= vkVADOWN;
175 2 if(!(PTC_REG & PC6))
176 2 KeyTemp |= vkPOWER;
177 2 if(KeyTemp != KeyTemp2)
178 2 {
C51 COMPILER V6.12 MCU 03/05/2008 14:34:52 PAGE 4
179 3 KeyTemp2 = KeyTemp;
180 3 i = 0;
181 3 }
182 2 i++;
183 2 }
184 1 return KeyTemp;
185 1 }
186
187
188 void ScanKeyPad(void) //2003/5/19 alvin
189 {
190 1 Byte KeyTemp;
191 1 KeyTemp = GetKey();
192 1 if(PrevKey!=KeyTemp)
193 1 {
194 2 KeyLock = 0;
195 2 ChangeKey = 1; //change key
196 2 if(PrevKey == vkSOURCE && KeyTemp == 0 && KeyRepeatCnt < 10){
197 3 PrevKey = KeyTemp;
198 3 KeyBuffer = vkSOURCE;
199 3 KeyRepeatCnt = 0;
200 3 OsdTimer = FuncBuf[pOSDTIMER] * 100;
201 3 //OsdTimer = 3 * 100;
202 3 }
203 2 else if(KeyTemp == vkSOURCE){
204 3 PrevKey = KeyTemp;
205 3 KeyBuffer = 0;
206 3 //OsdTimer = 3 * 100;
207 3 }
208 2 else{
209 3 PrevKey = KeyTemp;
210 3 KeyBuffer = KeyTemp;
211 3 KeyRepeatCnt = 0;
212 3 OsdTimer = FuncBuf[pOSDTIMER] * 100;
213 3 }
214 2 RepeatTimer = KeyHoldTime;
215 2 }
216 1 else
217 1 {
218 2 KeyBuffer = 0; //the other key
219 2 if((RepeatTimer == 0))//&& MenuPtr.Menu > 0)
220 2 {
221 3 switch(KeyTemp)
222 3 {
223 4 case vkSOURCE:
224 4 if(KeyRepeatCnt < 10){
225 5 KeyBuffer = KeyTemp;
226 5 RepeatTimer = 30;//KeyMenuTime;
227 5 if(!KeyLock)
228 5 KeyRepeatCnt = 10;
229 5 else
230 5 KeyRepeatCnt += 1;
231 5 }
232 4 OsdTimer = FuncBuf[pOSDTIMER] * 100;
233 4 break;
234 4 // case vkLEFT:
235 4 case vkMENU:
236 4 if(!KeyLock)
237 4 KeyBuffer = KeyTemp;
238 4 RepeatTimer = KeyMenuTime;
239 4 OsdTimer = FuncBuf[pOSDTIMER] * 100;
240 4 break;
C51 COMPILER V6.12 MCU 03/05/2008 14:34:52 PAGE 5
241 4 case vkVADOWN:
242 4 case vkVALUP:
243 4 if(!KeyLock)
244 4 KeyBuffer = KeyTemp;
245 4 RepeatTimer = KeyRepeatTime;
246 4 OsdTimer = FuncBuf[pOSDTIMER] * 100;
247 4 break;
248 4 // case (vkMENU|vkLEFT|vkVALUP):
249 4 // if(!KeyLock)
250 4 // KeyBuffer = KeyTemp;
251 4 // break;
252 4 };
253 3 }
254 2 }
255 1 }
256
257
258 void KeyProcess(void)
259 {
260 1 Byte code MaxItemsTab[]={7,2,4,9,6,5,7,MAX_FACT_ITEM};
261 1 Byte temp;
262 1 ScanKeyPad();
263 1 if(OsdLock && KeyBuffer != (vkMENU|vkLEFT|vkVALUP))
264 1 KeyBuffer = 0;
265 1 // if((KeyRepeatCnt == 1) && KeyBuffer == vkSOURCE))
266 1 // KeyBuffer == 0;
267 1 // if(PowerDown && KeyBuffer != 0) //power down press any key
268 1 // if(KeyBuffer != vkPOWER)
269 1 // WarmUp();
270 1 if((VideoMute && FuncBuf[pVIDEOSOURCE]<3) || (FuncBuf[pVIDEOSOURCE]>2 && !VideoOK))
271 1 {
272 2 switch(KeyBuffer)
273 2 {
274 3 case vkPOWER:
275 3 case vkMENU|vkLEFT|vkPOWER: //burn in
276 3 break;
277 3 default:
278 3 KeyBuffer = 0;
279 3 break;
280 3 };
281 2 }
282 1 if(OutOfRange != 0 && KeyBuffer != vkPOWER)
283 1 KeyBuffer = 0;
284 1 temp = MenuPtr.Page;
285 1 if(MenuPtr.Menu == 2)
286 1 temp = 7;
287 1 MaxItem = MaxItemsTab[temp];
288 1 if(FuncBuf[pVIDEOSOURCE]==1 && temp == 0)//for DVI MenuPtr.Page = 0
289 1 MaxItem = 3;
290 1 else if(FuncBuf[pVIDEOSOURCE]>1 && temp == 0)//for CAVS and S-Video MenuPtr.Page = 0
291 1 MaxItem = 5;
292 1 if(!Saa7114En && temp == 5)
293 1 MaxItem = 2;
294 1
295 1 if(MenuPtr.Level == 1) //for level1 menu
296 1 BackPtr = MenuPtr.Ptr;
297 1 else if(MenuPtr.Level == 2)
298 1 BackPtr = 0;
299 1 if(MenuPtr.Menu == 0)
300 1 {
301 2 switch(KeyBuffer) //open main menu
302 2 {
C51 COMPILER V6.12 MCU 03/05/2008 14:34:52 PAGE 6
303 3 case vkSOURCE:
304 3 if(!FactMode){
305 4 if(KeyRepeatCnt == 0){
306 5 MenuPtr.Menu = 5;
307 5 MenuPtr.Page = 5;
308 5 MenuPtr.Ptr = FuncBuf[pVIDEOSOURCE];
309 5 MenuPtr.Level = 1;
310 5 MenuPtr.Op = oUPDATEALL;
311 5 KeyLock = 1;
312 5 }
313 4 else if(KeyRepeatCnt == 10){
314 5 MenuPtr.Menu = 4;
315 5 MenuPtr.Level = 0;
316 5 MenuPtr.Op = oUPDATEALL;
317 5 KeyLock = 1;
318 5 OsdTimer = 3 * 100;
319 5 }
320 4 }
321 3 return;
322 3 break;
323 3 case vkMENU:
324 3 if(!FactMode){
325 4 MenuPtr.Menu = 1;
326 4 MenuPtr.Ptr = 0;
327 4 }
328 3 else{
329 4 MenuPtr.Menu = 2;
330 4 MenuPtr.Ptr = 3;
331 4 FuncBuf[pCOLORTEMP] = 2;
332 4 LoadColor(FuncBuf[pCOLORTEMP]);
333 4 SetContrast();
334 4 }
335 3 MenuPtr.Page = 0;
336 3 MenuPtr.Level = 0;
337 3 MenuPtr.Op = oUPDATEALL;
338 3 KeyLock = 1;
339 3 return;
340 3 break;
341 3 case vkVALUP:
342 3 if(!FactMode){
343 4 MenuPtr.Menu = 3;
344 4 MenuPtr.Page = 0;
345 4 MenuPtr.Ptr = 0;
346 4 MenuPtr.Level = 1;
347 4 MenuPtr.Op = oUPDATEALL;
348 4 KeyLock = 1;
349 4 }
350 3 return;
351 3 break;
352 3 case vkVADOWN:
353 3 if(!FactMode){
354 4 MenuPtr.Menu = 3;
355 4 MenuPtr.Page = 0;
356 4 MenuPtr.Ptr = 1;
357 4 MenuPtr.Level = 1;
358 4 MenuPtr.Op = oUPDATEALL;
359 4 KeyLock = 1;
360 4 }
361 3 return;
362 3 break;
363 3 };
364 2 }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -