📄 cpu.lst
字号:
C51 COMPILER V7.50 CPU 04/01/2008 15:02:02 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE CPU
OBJECT MODULE PLACED IN .\Output\CPU.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE CPU.c COMPACT OPTIMIZE(9,SIZE) BROWSE MODDP2 INCDIR(.\Include\) DEFINE(INTE
-RNAL_MCU) DEBUG OBJECTEXTEND PRINT(.\Source\CPU.lst) OBJECT(.\Output\CPU.obj)
line level source
1 /* CPU.c */
2
3 #include "config.h"
4
5 #include "typedefs.h"
6 #include "reg.h"
7 #include "regmap.h"
8 #include "cpu.h"
9 #include "main.h"
10 #include "I2C.h"
11 #include "TW88.h"
12 #include "Printf.h"
13 #include "KeyRemo.h"
14 #include "etc_eep.h"
15 #include "pc_eep.h"
16 #include "Audio.h"
17 #include "Measure.h"
18 #include "OSDBasic.h"
19 #include "OSDMenu.h"
20 #include "DispInfo.h"
21 #include "Monitor.h"
22 #ifdef SUPPORT_TV
23 #include "Tuner.h"
24 #endif
25
26 #define ClearRemoTimer() TR2 = 0
27
28
29 extern BYTE DebugLevel;
30 extern IDATA BYTE RemoDataReady,RemoSystemCode, RemoDataCode;
31 extern IDATA BYTE InputSelection;
32 extern BYTE VInputStdDetectMode;
33 extern IDATA BYTE PcMode;
34 extern bit AutoDetect;
35 extern bit NoInitAccess;
36
37 //===================== Timer =================================================
38 DATA BYTE keytic=0;
39 DATA BYTE Key=0;
40 bit KeyReady=0, RepeatKey = 0;
41
42 DATA BYTE tm001;
43 DATA WORD tm01=0;
44 DATA BYTE tic01=0; //, tic_pc;
45 DATA WORD tic_pc=0;
46
47 static DATA DWORD SystemClock; //00:00
48 static DATA DWORD LastBlockedTime; //00:00
49 //static DATA WORD WakeupTime;
50 //static DATA BYTE WakeupPR;
51 static DATA WORD OffTime;
52 static DATA BYTE SleepTimer;
53 static DATA WORD SleepTime;
54 static DATA BYTE cDelayCounter; // Hans
C51 COMPILER V7.50 CPU 04/01/2008 15:02:02 PAGE 2
55
56
57 #ifdef SERIAL //=======================================================================
58
59 #define BUF_MAX 4//6
60 static DATA BYTE RS_buf[BUF_MAX];
61 static DATA BYTE RS_in, RS_out;
62 bit RS_Xbusy=0; // bit RS_Xbusy=0;
63
64 #endif // SERIAL ======================================================================
65 //================== Remocon ==================================================
66 #ifdef REMO_RC5
67
68 static bit RemoPhase1, RemoPhase2;
69 IDATA BYTE RemoDataReady=0;
70 IDATA BYTE RemoSystemCode, RemoDataCode;
71
72 #elif defined REMO_NEC
static bit RemoPhase=0;
static DATA BYTE RemoStep=0;
static DATA BYTE RemoHcnt, RemoLcnt;
DATA BYTE RemoData[4];
IDATA BYTE RemoDataReady=0;
static IDATA BYTE RemoNum, RemoBit;
IDATA BYTE RemoDataCode=0xff;
#endif //================== Remocon ======================
83
84 CODE BYTE PanelInfoStr[]={
85 #if (defined UXGA) // 1600 x 1200
"---> Panel: UXGA-1600*1200"
#elif (defined SXGA) // 1280 x 1024
"---> Panel: SXGA-1280*1024"
#elif (defined XGA) // 1024 x 768
"---> Panel: XGA-1024*768"
#elif (defined SVGA) // 800 x 600
"---> Panel: SVGA-800*600"
#elif (defined VGA) // 640 x 480
"---> Panel: VGA-640*480"
#elif (defined WXGA) // 1280 x 768 (15:9) // 1366 x 768 (16:9)
"---> Panel: WXGA-1280*768(15:9) or 1366*768(16:9)"
#elif (defined WSVGA) // 1024 x 600 *** only video mode
"---> Panel: WSVGA-1024*600"
#elif (defined WVGA) // 800 x 480
#ifdef AU_10INCH
"---> Panel: WVGA-800*480 -- TTL AU 10inch"
#elif (defined SAMSUNG_10INCH)
"---> Panel: WVGA-800*480 -- TTL SAMSUNG 10inch"
#elif (defined SAMSUNG_TICONLESS_10INCH)
"---> Panel: WVGA-800*480 -- TICONLESS SAMSUNG 10inch"
#elif (defined SHARP_TICONLESS_7INCH)
"---> Panel: WVGA-800*480 -- TICONLESS SHARP 7inch"
#elif (defined AU_TICONLESS_7INCH)
"---> Panel: WVGA-800*480 -- TICONLESS AU 7inch"
#elif (defined AU_TICONLESS_10INCH)
"---> Panel: WVGA-800*480 -- TICONLESS AU 10inch"
#elif defined HITACHI_T01
"---> Panel: WVGA-800*480 -- TICONLESS Hitachi TX18D24VM2BAA"
#elif defined HITACHI_TX23D12
"---> Panel: WVGA-800*480 -- TICONLESS Hitachi TX23D12"
#elif defined HITACHI_TX18D24
C51 COMPILER V7.50 CPU 04/01/2008 15:02:02 PAGE 3
"---> Panel: WVGA-800*480 -- TICONLESS Hitachi TX18D24"
#else
"---> Panel: WVGA-800*480"
#endif
#elif (defined HVGA) // 480 x 320
"---> Panel: HVGA-480*320"
#elif (defined QVGA) // 320 x 240 *** only video mode
"---> Panel: QVGA-320*240"
#elif (defined WQVGA) // 480 x 234 *** only video mode
126 #ifdef ANALOG_7INCH
127 "---> Panel: WQVGA-480*234 -- ANALOG TICONLESS AU 7inch"
128 #elif (defined SHARP_LQ043T3DX02)
"---> Panel: WQVGA-480*234 -- TTL SHARP LED 4.3inch panel"
#else
"---> Panel: WQVGA-480*234 "
#endif
133 #endif
134 };
135
136 #ifdef ADD_ANALOGPANEL // Added Analog panel(AU7") from default set panel(expect WQVGA) with DIP #1 switc
-h.(DIP#1=L:ANALOG, H:DEFAULT)
CODE BYTE AddedAnalogPanelStr[]={
#ifdef ADD_ANALOG_7INCH
"---> Added Analog Panel(AU 7inch) with DIP SW1=Enabled"
#elif defined ADD_TMD_LTA05B352A
"---> Added Analog Panel(TMD 4inch) with DIP SW1=Enabled"
#endif
};
#endif
145
146
147
148
149 //=============================================================================
150 // CheckSpecialMode
151 //=============================================================================
152 void CheckSpecialMode(void)
153 {
154 1 BYTE i;
155 1
156 1 i = GetKey(0);
157 1
158 1 switch( i ) {
159 2 case MENUKEY:
160 2 Puts("\r\n---- Menu Key is pressed -> Enter Special Mode( To Composite )");
161 2 SaveInputSelectionEE(COMPOSITE);
162 2 DebugLevel = 0;
163 2 /// PcDetectFlag = 0;
164 2 break;
165 2 }
166 1 }
167
168 //=============================================================================
169 // Main Initialize Routine
170 //=============================================================================
171 void main_init (void)
172 {
173 1 extern CODE BYTE *OutOfRangeStr[] ;
174 1
175 1 #ifdef SUPPORT_MSP_AUDIO
BYTE ikey;
#endif
C51 COMPILER V7.50 CPU 04/01/2008 15:02:02 PAGE 4
178 1 WORD rev;
179 1 #ifdef SUPPORT_PC
180 1 BYTE i;
181 1 #endif
182 1
183 1 // WriteTW88(0xff, 0x10); // Disable I2C auto increase mode
184 1 WriteTW88(0xe0, 0x10); // Disable I2C auto increase mode
185 1
186 1 PowerLED(ON);
187 1
188 1 EnableRemoconInt();
189 1
190 1 #ifdef SUPPORT_MSP_AUDIO
ikey = ResetMSP();
if( ikey ) {
#ifdef DEBUG
dPrintf("\r\nError on resetting MSP:0x%02x", (WORD)ikey);
#endif
}
#else
198 1 ResetMSP();
199 1 #endif
200 1
201 1 rev = GetFWRevEE();
202 1 Printf("\r\n New Firmware Base On:%04x", rev);
203 1
204 1 if( GetFWRevEE()!=FWVER ) { // exist EEPROM
205 2 SaveFWRevEE(FWVER);
206 2 Printf("\r\nCurr.FW:%04x", GetFWRevEE());
207 2 }
208 1
209 1 //---------- if FW version is not matched, initialize EEPROM data -----------
210 1
211 1 if( GetFWRevEE()==FWVER ) { // exist EEPROM
212 2 if( rev != FWVER ) { //
213 3 SaveDebugLevelEE(DebugLevel);
214 3 Printf("\r\nNew DebugLevel:%02x", (WORD)DebugLevel);
215 3
216 3 SaveInputSelectionEE(COMPOSITE);
217 3 ClearBasicEE();
218 3
219 3 #ifdef SUPPORT_PC
220 3 ResetPanelAttributeValue();
221 3 SaveDefaultPCDataAllEE();
222 3 #endif
223 3
224 3 #ifdef SUPPORT_TV
225 3 ResetTVValue();
226 3 #endif
227 3 }
228 2 else {
229 3 DebugLevel = GetDebugLevelEE();
230 3 Printf("\r\nSaved DebugLevel:%02x", (WORD)DebugLevel);
231 3 }
232 2
233 2 #ifdef SUPPORT_PC
234 2 if( DebugLevel > 0 ) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -