📄 main.lst
字号:
C51 COMPILER V7.50 MAIN 10/30/2006 16:14:41 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\Obj\MAIN.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Source\MAIN.c LARGE OPTIMIZE(6,SPEED) BROWSE INCDIR(.\Include\;.\Source\;.\
-Include\Panel\;.\Include\GammaTable\;.\Include\tuner\) DEFINE(T103) DEBUG OBJECTEXTEND PRINT(.\MAIN.lst) OBJECT(.\Obj\MA
-IN.obj)
line level source
1 /****************************************************************************
2 * File: MAIN.c *
3 * Description: main routine *
4 * History: 2005/08/12 *
5 * *
6 * Copyright 2005 (c) Terawins Inc. *
7 ****************************************************************************/
8
9 /****************************************************************************
10 * Include File *
11 ****************************************************************************/
12
13 #include "reg51.h"
14 #include "math.h"
15 #include "common.h"
16 #include "struct.h"
17 #include "system.h"
18 #include "SRC_ctrl.h"
19 #include "twowire.h"
20 //#include "gamma.h"
21 #include "filter.h"
22 #include "keypad.h"
23 #include "Nvram.h"
24 //#include "Video.h"
25 #include "T803_Util.h"
26 #include "TW803Reg.h"
27 #include "remote.h"
28 //#include "osddraw.h"
29 #include "tuner.h"
30 #include "timer0.h"
31 #include "T515.h"
32 #include "ModeCtrl.h"
33 #include "Global.h"
34 #include "INIT.h"
35 #include "T803OSD.h" // add by Sherman
36 #include "VBI_Parser.h" // kenny 20060403
37 #include "serial.h"
38
39 /*****************************************************************************
40 * Public Function Prototypes *
41 *****************************************************************************/
42 void Initial (void);
43 void SysInit (void);
44 void SysInterruptEnable (void);
45
46 extern uCHAR NoSignal;
47 uCHAR m_c;
48
49 /****************************************************************************
50 * Public Function *
51 ****************************************************************************/
52
53 void main(void)
C51 COMPILER V7.50 MAIN 10/30/2006 16:14:41 PAGE 2
54 {uCHAR x;
55 1 Initial();
56 1 twdDelay(NVRDELAY);
57 1 m_cSource = I2CReadByte(EEPVIDEOBLOCK, idVIDEO_SOURCE_INDEX)&0x0f;
58 1
59 1 if((m_cSource==0)||(m_cSource>=isrc_end))
60 1 m_cSource=1;
61 1 m_c=0xff;
62 1 m_cSource = 2;
63 1 SourceSelect();
64 1
65 1
66 1
67 1 SetSignalStd();
68 1 SetOPTiming();
69 1 twdDelay1(50);
70 1 DetectSignalStd();
71 1 OpenPanel();
72 1 serialIni();
73 1 while(1)
74 1 { // m_cSource=3;
75 2
76 2 serCommand();
77 2 #ifdef AUTO_DETECT
78 2 // if(m_wBuff[2]>=0x4ff){
79 2 if ((uiaSrcMux[(m_cSource&0x0F)*2+1]==itypeRGB)||(uiaSrcMux[(m_cSource&0x0F)*2+1]==itypeRGB565))
80 2 {
81 3
82 3
83 3
84 3 I2CWriteByte(TW803_P0, 0x31,0x40);
85 3
86 3 if((I2CReadByte(TW803_P0, 0x32)&0x03)==0x03)
87 3 { //SysInit();
88 4
89 4 m_cSource=2;
90 4 SourceSelect();
91 4 twdDelay1(50);
92 4 if(x==1){ x=0;
93 5 Initial();
94 5 m_cSource=2;
95 5 SourceSelect();
96 5 SetSignalStd();
97 5 SetOPTiming();
98 5 twdDelay1(50);
99 5 DetectSignalStd();
100 5 OpenPanel();
101 5 }
102 4
103 4
104 4 }
105 3 else{Detect_Sig(1);x=1;}
106 3 }
107 2 else
108 2 { //I2CWriteByte(TW803_P0, 0x31,0x40);
109 3
110 3 Detect_Sig(0);//NoSignal
111 3 if(NoSignal){
112 4 if(m_c<=0){m_cSource=1;}
113 4 if(m_c==1){m_cSource=2;}
114 4 if(m_c==2){m_cSource=1;}
115 4 if(m_c==3){m_cSource=2;}
C51 COMPILER V7.50 MAIN 10/30/2006 16:14:41 PAGE 3
116 4 if(m_c==4){m_cSource=1;}
117 4 if(m_c==5){m_cSource=3;}
118 4 if(m_c>=6){m_c=0xff;}
119 4 m_c=m_c+1;
120 4 SourceSelect();
121 4 }
122 3 DetectSignalStd();
123 3 }
124 2
125 2
126 2 #endif
127 2 }
128 1 }
129
130
131 void Initial(void)
132 {
133 1 SysInit();
134 1 #ifdef TCON
135 1 TconInit();
136 1 #endif
137 1 //Ruby modify 2005-06-07
138 1 ClosePanel(0x00,0x40,0x8a);
139 1
140 1 LoadGammaTable(0);
141 1 }
142
143 void SysInit(void)
144 {
145 1 P0=0xff;
146 1 P1=0xff;
147 1 P2=0xff;
148 1 P3=0xff;
149 1
150 1 //Chip Reset
151 1 CHIP_RESET = 0;
152 1 VIDEO_RESET=0;
153 1 twdDelay(100);
154 1 CHIP_RESET = 1;
155 1 VIDEO_RESET=1;
156 1 twdDelay(50);
157 1 //8051Register Set
158 1 IE = 0; // disable all interrupt
159 1 TMOD = 0x11; // Timer1 Mode 1, Timer0 Mode 1;
160 1 //TMOD = 0x01; // Timer0 Mode 1;
161 1 EX0 = 0; // disable external interrupt 0, IE[0]
162 1 EX1 = 0;
163 1 //ET0 = 1; // enable bTimer 0
164 1 //IT0 = 1; // falling endge generate interrupt, TCON[0]
165 1 INT0 = 1;
166 1 IT1 = 1; // falling endge generate interrupt, TCON[0]
167 1 INT1 = 1;
168 1 // ADCTL=0x98;
169 1 // cAdc=0;
170 1 twdDelay(10);
171 1 //ClosePanel(0x00,0x40,0x60);
172 1 #ifdef LOADFILTER
LoadFilter(3);//3
#endif
175 1
176 1 InitT803();
177 1 #ifdef NVRAM
C51 COMPILER V7.50 MAIN 10/30/2006 16:14:41 PAGE 4
178 1 #ifdef RESET_EEPROM
InitEEPRom();
#else
181 1 EEPLoadPubData();
182 1 #endif
183 1 #endif
184 1
185 1
186 1 m_bPanelClose = 0;
187 1 m_bBKPowerOn=0;
188 1 m_bKyPowerOn=1;
189 1 m_bChipPowerOn=1;
190 1 LED_GREEN=0;
191 1 m_cStandard=S_NTSC;
192 1 m_cChroma=S_NTSC;
193 1 m_cScaleratio=ScaleFULL;
194 1 }
195
196 void SysInterruptEnable(void)
197 {
198 1 #ifdef TIMER1
199 1 // Timer1Reset();
200 1 // ET1 = 1; // Enable Timer1 interrupt
201 1 TR1=1;
202 1 #endif
203 1 #ifdef TIMER0
204 1 Timer0Reset();
205 1 ET0 = 1; // Enable Timer0 interrupt
206 1 TR0 = 0;
207 1 #endif
208 1 #ifdef INTERRUPT1
209 1 EX1 = 1; // Enable INT1 (IR)
210 1 #endif
211 1 EA = 1; // Enable Interrupt
212 1 }
213
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 411 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 1 1
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -