📄 t100.lst
字号:
C51 COMPILER V7.06 T100 10/30/2005 21:46:44 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE T100
OBJECT MODULE PLACED IN C:\WAVE6000\T100_S~1\T100.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE C:\WAVE6000\T100_S~1\T100.C DB SB OE OT(6)
stmt level source
1 #include "REG51.H"
2 #include <intrins.h>
3 #include "Common.h"
4 #include "Remote.h"
5
6
7 #define OSD_EN
8 //typedef unsigned char uCHAR;
9
10 //#include "T100Data_A.h"
11 //#include "T100Data_PA.h"
12 //#include "T100Data_AU.h"
13 //#include "T100Data_CPT.h"
14 //#include "T100Data_PANASONIC.h"
15 //#include "T100Data_PVI7.h"
16 #include "T100Data_LG.h"
17 //#include "T100Data_FOX.h"
18
19
20 #ifdef OSD_EN
21 #include "OSDFont1218_new.h"
22 #include "OSD1218_new.h"
*** WARNING C317 IN LINE 1 OF OSD1218_new.h: attempt to redefine macro 'EOL'
23 #endif
24
25 sbit T100_RESET = P1^4;
26 sbit SCL = P1^6;
27 sbit SDA = P1^7;
28 sbit BL_EN = P0^7;
29 #if 1
30 #define kyKEY_MSK 0x81
31 #define KEYPORT P0
32
33 #define kyMENU 0x08
34 #define kyDEC 0x04
35 #define kyINC 0x02
36 #define kySOURCE 0x10
37 #define kyUD_LR 0x20
38 #define kyFULL_43 0x40
39 #else
#define kyKEY_MSK 0xc0
#define KEYPORT P2
#define kyMENU 0x02
#define kyDEC 0x08
#define kyINC 0x04
#define kySOURCE 0x10
#define kyUD_LR 0x20
#define kyFULL_43 0x01//0x40
#endif
50 /*sbit kyMENU = P0^1;
51 sbit kyDEC = P0^2;
52 sbit kyINC = P0^3;
53 sbit kySOURCE = P0^4;
54 sbit kyUD_LR = P0^5;
C51 COMPILER V7.06 T100 10/30/2005 21:46:44 PAGE 2
55 sbit kyFULL_43 = P0^6;//*/
56 bit ir_enable =0;
57 bit bNTSC_PAL = 0; //0:PAL 1:NTSC
58 bit bFULL_43 = 1; //0:4:3 1:FULL
59 bit bUP_DOWN = 1; //0:Down to Up 1:Up to Down
60 bit bLEFT_RIGHT = 1; //0:Right to Left 1:Left to Right
61 uCHAR cSource = 2; //2-4:CVBS2-4 5:S-Video 6:ITU656
62 uCHAR cStandard = 0xff; //0:PAL 4:NTSC
63 uCHAR c60HZ_Mode=0;
64 uCHAR c50HZ_Mode=0;
65 uCHAR cKey_Curr,cKey_Pre;
66 uCHAR ir_data;
67 uCHAR Repeat_Times;
68 void Initial(void);
69 void Delay_ms(uCHAR);
70 void InitT100(void);
71 void ClosePanel(void);
72 void OpenPanel(void);
73 void DetectNTSC_PAL(void);
74 void SetSource(void);
75 void SetMode(void);
76 void SetUD_LR(void);
77 void I2CWriteTbl(char*);
78 uCHAR I2CReadByte(uCHAR, uCHAR);
79 uCHAR I2CWriteByte(uCHAR,uCHAR,uCHAR);
80 void kyKeypad(void);
81 void IRSourceSelCtrl(void);
82 void IRSCALEREvent(void);
83 void IRDismodeEvent(void);
84 #ifdef OSD_EN
85 void InitOSD(void);
86 void OSDDisable(void);
87 void OSDEnable(void);
88 void OSDCtrl(char cDir);
89 uCHAR cLanguage=0; //0:English 1:French 2:German 3:Spanish 4:Japenese 5:Russian
90 uCHAR cOSDFunc=1; //0:OSD Off 1:Bright 2:Color 3:Screen
91 uCHAR cBright,cColor=COLOR;
92
93 #endif
94 void main(void)
95 {
96 1 Initial();
97 1 while(1)
98 1 {
99 2 //kyKeypad();
100 2 if(ir_enable)
101 2 {ir_enable=0;
102 3 RemoteEvent();
103 3 }
104 2 else if(!EX1)
105 2 {
106 3 EX1=1;
107 3 ir_data=0;
108 3 }
109 2 DetectNTSC_PAL();
110 2 #ifdef OSD_EN
111 2 // OSDEnable();
112 2 #endif
113 2
114 2 // OSDEnable();
115 2 }//while
116 1 }//main
C51 COMPILER V7.06 T100 10/30/2005 21:46:44 PAGE 3
117
118 void Initial(void)
119 {
120 1 //Initial 8051
121 1 P0=0xff;
122 1 P1=0xff;
123 1 P2=0xff;
124 1 P3=0xff;
125 1 //8051Register Set
126 1 IE = 0; // disable all interrupt
127 1 TMOD = 0x11; // Timer1 Mode 1, Timer0 Mode 1;
128 1 //TMOD = 0x01; // Timer0 Mode 1;
129 1 EX0 = 0; // disable external interrupt 0, IE[0]
130 1 EX1 = 0;
131 1 //ET0 = 1; // enable bTimer 0
132 1 //IT0 = 1; // falling endge generate interrupt, TCON[0]
133 1 INT0 = 1;
134 1 IT1 = 1; // falling endge generate interrupt, TCON[0]
135 1 INT1 = 1;
136 1
137 1 //Initial T100
138 1 T100_RESET = 0 ;
139 1 Delay_ms(50); //50
140 1 T100_RESET = 1 ;
141 1 Delay_ms(20);
142 1 InitT100();
143 1 // SetUD_LR();
144 1 #ifdef OSD_EN
145 1 InitOSD();
146 1 #endif
147 1 }//Initial
148
149 void Delay_ms(uCHAR cTime)
150 {
151 1 uCHAR i,j;
152 1 for(i=0;i<cTime;i++)
153 1 {
154 2 for(j=0;j<250;j++)_nop_();
155 2 for(j=0;j<250;j++)_nop_();
156 2 for(j=0;j<250;j++)_nop_();
157 2 for(j=0;j<250;j++)_nop_();
158 2 }//For
159 1 }//Delay
160
161 void InitT100(void)
162 {
163 1 I2CWriteTbl(TCONData);
164 1 ClosePanel();
165 1 I2CWriteTbl(T100Init);
166 1 I2CWriteTbl(GAMMAData);
167 1 I2CWriteTbl(FilterData);
168 1 SetMode();
169 1 SetSource();
170 1 SetUD_LR();
171 1 // OpenPanel();
172 1 }//InitT100
173 void ClosePanel(void)
174 {
175 1 BL_EN=1;
176 1 I2CWriteByte(TW100, 0xC2, I2CReadByte(TW100, 0xC2)|0x12);
177 1 I2CWriteByte(TW100, 0x91, 0x87);//I2CReadByte(TW101, PATTERN_CTRL)|0x80); //Enable Frame Background Colo
-r
C51 COMPILER V7.06 T100 10/30/2005 21:46:44 PAGE 4
178 1 }
179 void OpenPanel(void)
180 {
181 1 I2CWriteByte(TW100, 0xC2, I2CReadByte(TW100, 0xC2)&0xED);
182 1 I2CWriteByte(TW100, 0x91, I2CReadByte(TW100, 0x91)&~0x80); //Enable Frame Background Color
183 1 Delay_ms(10);
184 1 BL_EN=0;
185 1 }
186 void DetectNTSC_PAL(void)
187 {
188 1 static int wBuff=0x000;
189 1 uCHAR cBuff[2];
190 1 wBuff+=1;
191 1 if(wBuff==0x01)
192 1 {
193 2 wBuff=0x00;
194 2 for(cBuff[1]=0;cBuff[1]<1;cBuff[1]++)
195 2 {
196 3 cBuff[0] = I2CReadByte(TW100, 0x5A)&0xe0;
197 3 if(cBuff[0]==cStandard)break;
198 3 // Delay_ms(10);
199 3 if(cBuff[0]>=0x40)
200 3 {
201 4 ClosePanel();
202 4 return;
203 4 } //*/
204 3 }
205 2 #ifdef ESS
206 2 if((bNTSC_PAL)&&(cSource==6))
207 2 {
208 3 cBuff[1] = I2CReadByte(TW100, 0x82);
209 3 if(cBuff[1]>0x90)I2CWriteByte(TW100+2, 0xd3,0x06);
210 3 else if(cBuff[1]<0x78)I2CWriteByte(TW100+2, 0xd3,0x04);
211 3 }
212 2 if((!bNTSC_PAL)&&(cSource==6))
213 2 {
214 3 cBuff[1] = I2CReadByte(TW100, 0x82);
215 3 if(cBuff[1]>0xb0)I2CWriteByte(TW100+2, 0xd3,0x0b);
216 3 else if(cBuff[1]<0x78)I2CWriteByte(TW100+2, 0xd3,0x04);
217 3 }
218 2 #endif
219 2 if(cBuff[0]!=cStandard)
220 2 {
221 3 ClosePanel();
222 3 cStandard=cBuff[0];
223 3 if(cStandard)
224 3 {
225 4 bNTSC_PAL = 0;
226 4 }
227 3 else bNTSC_PAL = 1;
228 3 SetMode();
229 3 Delay_ms(25);
230 3 OpenPanel();
231 3 Delay_ms(10);
232 3 }
233 2 else OpenPanel();
234 2 }
235 1
236 1 }
237 void SetSource(void)
238 {
239 1 switch(cSource)
C51 COMPILER V7.06 T100 10/30/2005 21:46:44 PAGE 5
240 1 {
241 2 case 2: I2CWriteTbl(CVBS2Data);
242 2 break;
243 2 case 3: I2CWriteTbl(CVBS3Data);
244 2 break;
245 2 case 4: I2CWriteTbl(CVBS4Data);
246 2 break;
247 2 case 5: I2CWriteTbl(SVIDEOData);
248 2 break;
249 2 case 6: I2CWriteTbl(ITU656Data);
250 2 }
251 1 }
252 void SetMode(void)//N/P,Full/4:3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -