📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 06/16/2005 10:05:38 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN F:\T100_C~1\HUI_CH~1\铁将军\SIMULA~2\MAIN.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE F:\T100_C~1\HUI_CH~1\铁将军\SIMULA~2\MAIN.C DB SB OE
stmt level source
1 //---------------------------------------------------------------------------
2 // Terawins Inc. Company Confidential Strictly Private
3 //
4 // $Archive: Main.c $
5 // $Revision: 1.01 $
6 // $Author: JasonGuo $
7 // $Date: 2004/05/06 $
8 //
9 // --------------------------------------------------------------------------
10 // >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
11 // --------------------------------------------------------------------------
12 // Copyright 2004 (c) Terawins Inc.
13 //
14 // This is an unpublished work.
15 // --------------------------------------------------------------------------
16
17 #include "reg51.h"
18 #include "math.h"
19 #include "common.h"
20 #include "system.h"
21 #include "struct.h"
22 #include "TW101Reg.h"
23 #include "twowire.h"
24 #include "gamma.h"
25 #include "filter.h"
26 #include "keypad.h"
27 #include "Nvram.h"
28 #include "Video.h"
29 #include "T101_Util.h"
30 #include "remote.h"
31 #include "osddraw.h"
32
33
34 //****************************************************************************
35 // Private Function Prototypes
36 //****************************************************************************
37 void Initial (void);
38 void SysInit (void);
39 void InitFactry (void);
40
41 void SysInterruptEnable (void);
42 void ClosePanel (void);
43 void OpenPanel (void);
44 void BKPower (void);
45 void PowerManage (void);
46 void InitPt2313 (void);
47 //void Exchange_PAL_NTSC (void); //Kuo
48 void RegisterSetting(void);
49
50
51 #ifdef TIMER0
52 void Timer0Reset (void);
53 void Timer0Start (void);
54 void Timer0Stop (void);
55 #endif
C51 COMPILER V7.06 MAIN 06/16/2005 10:05:38 PAGE 2
56
57 uCHAR bdata Flag1;
58 uCHAR bdata Flag2;
59 uCHAR bdata Flag3;
60
61 uCHAR idata m_cOSDEvent;
62 uCHAR idata m_cOSDFunc;
63 uCHAR idata m_cSource;
64 uCHAR ir_data;
65 uCHAR m_cFactryCnt;
66 //uCHAR idata m_cStandard=4;//PAL
67 uCHAR idata m_cStandard=0;//NTSC
68 uCHAR idata m_cScaleratio=ScaleFULL;
69 uWORD m_wHRes;
70 uWORD m_wVRes;
71 uWORD XCLK_MCU;
72
73 uWORD idata m_wVTotal;
74 uCHAR cPAL_Dot=5,cNTSC_Dot=4;
75 uCHAR cSTV1_ON;
76 uCHAR cSTV_OFFSET;
77 uCHAR cPAL_OFFSET,cNTSC_OFFSET,cGATE_PREDRIVE;
78 uCHAR cFactry_Addr=0x00,cFactry_Data;
79 bit bFactry_Menu,bFactry_Func;
80 #ifdef TV
uCHAR idata m_cTV_Num;
uCHAR m_cSoundSystem=PAL_I;
#endif
84
85 sbit m_bPanelClose = Flag1 ^ 0;
86 sbit m_bBKPowerOn = Flag1 ^ 1;
87 sbit m_bKyPowerOn = Flag1 ^ 2;
88 sbit m_bChipPowerOn = Flag1 ^ 3;
89 sbit m_bTimer0Overflow = Flag1 ^ 4;
90 sbit m_bOSDEnable = Flag1 ^ 5;
91 sbit ir_enable = Flag1 ^ 6;
92 sbit m_bKyblocked = Flag1 ^ 7;
93 sbit m_bFactryMode = Flag2 ^ 0;
94 sbit m_bFactryReady = Flag2 ^ 1;
95 sbit m_bRelease = Flag2 ^ 2;
96 sbit m_bAir_Cable = Flag2 ^ 3;
97 sbit m_bTV_Num_Bits = Flag2 ^ 4;
98 sbit m_bTV_Skip = Flag2 ^ 5;
99 uWORD idata m_wBuff[3];
100 uCHAR idata m_cBuff[5];
101 uDWORD m_dwBuff[2];
102 //----------------------------------------------------------------------------
103 //Main Function
104 //----------------------------------------------------------------------------
105 extern unsigned char Win_Flag;
106
107 unsigned int D_Count;
108
109 #define DEBUG_C 0
110
111
112 void main(void)
113 {
114 1 m_wBuff[2]=DETECT_TIMER-1;
115 1 // I2CWriteByte(0xa0, 0xd9, 0x00);
116 1 InitFactry();
117 1 //System Initial
C51 COMPILER V7.06 MAIN 06/16/2005 10:05:38 PAGE 3
118 1 Initial();
119 1 SysInterruptEnable();
120 1 #ifdef TVP5150
I2CWriteByte(0xba,0x00, 0x02);
I2CWriteByte(0xba,0x03, 0x09);
#endif
124 1 //上电开机流程
125 1 m_cSource = I2CReadByte(EEPVIDEOBLOCK, idVIDEO_SOURCE_INDEX)&0x0f;
126 1 if(m_cSource==0) m_cSource=1;
127 1 SourceSelect();
128 1 //OSD Font Initial
129 1 OSDInit();
130 1 Detect_NTSCPAL();
131 1 OSDShowSource();
132 1 OpenPanel();
133 1 if(!m_bBKPowerOn)
134 1 BKPower();
135 1 //Main loop
136 1 while(1)
137 1 {
138 2 kyKeypad();
139 2 if(ir_enable)
140 2 {
141 3 RemoteEvent();
142 3 ir_enable=0;
143 3 }
144 2 else if(!EX1)
145 2 {
146 3 EX1=1;
147 3 }//*/
148 2 if(m_bTimer0Overflow)
149 2 {
150 3 if(m_bOSDEnable) OSDExit();
151 3 }//*/
152 2 Detect_NTSCPAL();
153 2 #if DEBUG_C
D_Count ++;
if(D_Count >= 100)
{
D_Count = 0;
if(Win_Flag == 0) Win_Flag = 1;
else Win_Flag = 0;
if(Win_Flag == 1) Osd_Window_Enable();
else Osd_Window_Disable();
}
#endif
164 2 }
165 1 }
166 //**************************************************************************
167 //Power ON/OFF BackLight ON/OFF Panel ON/OFF
168 //**************************************************************************
169
170
171
172 void ClosePanel(void)
173 {
174 1 m_bPanelClose = 1;
175 1 I2CWriteByte(TW101, 0xC2, I2CReadByte(TW101, 0xC2)|(PSYNC_STR|IGNORE_VSYNC));
176 1 I2CWriteByte(TW101, PATTERN_CTRL, 0x87);//I2CReadByte(TW101, PATTERN_CTRL)|0x80); //Enable Frame Backgro
-und Color
177 1 }
178
C51 COMPILER V7.06 MAIN 06/16/2005 10:05:38 PAGE 4
179 void OpenPanel(void)
180 {
181 1 m_bPanelClose = 0;
182 1 /* if(!m_cStandard)I2CWriteByte(TW101, 0xB8, (I2CReadByte(TW101, 0xb8)-cNTSC_Dot));
183 1 else
184 1 I2CWriteByte(TW101, 0xB8, (I2CReadByte(TW101, 0xb8)-cPAL_Dot));*/
185 1 I2CWriteByte(TW101, 0xC2, I2CReadByte(TW101, 0xC2)&~(PSYNC_STR|IGNORE_VSYNC));
186 1 I2CWriteByte(TW101, PATTERN_CTRL, I2CReadByte(TW101, PATTERN_CTRL)&~0x80); //Enable Frame Background Colo
-r
187 1 // twdDelay(100);
188 1 }
189 void BKPower(void)
190 {
191 1 if(m_bBKPowerOn)
192 1 {
193 2 BKLIGHT_EN = 1; // BKLIGHT shut down
194 2 twdDelay(100);
195 2 m_bBKPowerOn = 0;
196 2 }
197 1 else
198 1 {
199 2 twdDelay(100);
200 2 BKLIGHT_EN = 0; // BKLIGHT power on
201 2 m_bBKPowerOn = 1;
202 2 }
203 1 }
204
205 void PowerManage(void)
206 {
207 1 if(m_bKyPowerOn) //Power on
208 1 {
209 2 LED_RED = 1; //Turn Off
210 2 LED_GREEN = 0; //Turn On
211 2 I2CWriteByte(TW101, 0xE0, I2CReadByte(TW101, 0xE0)|TPDB);
212 2 m_cOSDEvent=0;
213 2 m_cOSDFunc=0;
214 2 //When power on chip, force to reset chip
215 2 m_bChipPowerOn=1;
216 2 twdDelay(100);
217 2 OpenPanel();
218 2 if(!m_bBKPowerOn)
219 2 BKPower();
220 2 }
221 1 else //Forced Power Off
222 1 {
223 2 if(m_bChipPowerOn)
224 2 {
225 3 LED_RED =0; //Turn On
226 3 LED_GREEN = 1; //Turn Off
227 3 twdDelay(100);
228 3 OSDExit();
229 3 if(m_bBKPowerOn)
230 3 BKPower();
231 3 ClosePanel();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -