?? t100.lst
字號:
C51 COMPILER V7.06 T100 06/10/2005 16:07:14 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE T100
OBJECT MODULE PLACED IN F:\T100_S~3\T100_S~1\T100.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE F:\T100_S~3\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 = P2^7;//P1^6;
27 sbit SDA = P2^6;//P1^7;
28 sbit BL_EN = P2^3;
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 06/10/2005 16:07:14 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 #ifdef OSD_EN
82 void InitOSD(void);
83 void OSDDisable(void);
84 void OSDEnable(void);
85 void OSDCtrl(char cDir);
86 uCHAR cLanguage=0; //0:English 1:French 2:German 3:Spanish 4:Japenese 5:Russian
87 uCHAR cOSDFunc=1; //0:OSD Off 1:Bright 2:Color 3:Screen
88 uCHAR cBright,cColor=COLOR;
89
90 #endif
91 void main(void)
92 {
93 1 Initial();
94 1 while(1)
95 1 {
96 2 //kyKeypad();
97 2 DetectNTSC_PAL();
98 2 // #ifdef OSD_EN
99 2 OSDEnable();
100 2 // #endif
101 2
102 2 // OSDEnable();
103 2 }//while
104 1 }//main
105
106 void Initial(void)
107 {
108 1 //Initial 8051
109 1 P0=0xff;
110 1 P1=0xff;
111 1 P2=0xff;
112 1 P3=0xff;
113 1 //8051Register Set
114 1 IE = 0; // disable all interrupt
115 1 TMOD = 0x11; // Timer1 Mode 1, Timer0 Mode 1;
116 1 //TMOD = 0x01; // Timer0 Mode 1;
C51 COMPILER V7.06 T100 06/10/2005 16:07:14 PAGE 3
117 1 EX0 = 0; // disable external interrupt 0, IE[0]
118 1 EX1 = 0;
119 1 //ET0 = 1; // enable bTimer 0
120 1 //IT0 = 1; // falling endge generate interrupt, TCON[0]
121 1 INT0 = 1;
122 1 IT1 = 1; // falling endge generate interrupt, TCON[0]
123 1 INT1 = 1;
124 1
125 1 //Initial T100
126 1 T100_RESET = 0 ;
127 1 Delay_ms(50); //50
128 1 T100_RESET = 1 ;
129 1 Delay_ms(20);
130 1 InitT100();
131 1 // SetUD_LR();
132 1 #ifdef OSD_EN
133 1 InitOSD();
134 1 #endif
135 1 }//Initial
136
137 void Delay_ms(uCHAR cTime)
138 {
139 1 uCHAR i,j;
140 1 for(i=0;i<cTime;i++)
141 1 {
142 2 for(j=0;j<250;j++)_nop_();
143 2 for(j=0;j<250;j++)_nop_();
144 2 for(j=0;j<250;j++)_nop_();
145 2 for(j=0;j<250;j++)_nop_();
146 2 }//For
147 1 }//Delay
148
149 void InitT100(void)
150 {
151 1 I2CWriteTbl(TCONData);
152 1 ClosePanel();
153 1 I2CWriteTbl(T100Init);
154 1 I2CWriteTbl(GAMMAData);
155 1 I2CWriteTbl(FilterData);
156 1 SetMode();
157 1 SetSource();
158 1 SetUD_LR();
159 1 // OpenPanel();
160 1 }//InitT100
161 void ClosePanel(void)
162 {
163 1 BL_EN=1;
164 1 I2CWriteByte(TW100, 0xC2, I2CReadByte(TW100, 0xC2)|0x12);
165 1 I2CWriteByte(TW100, 0x91, 0x87);//I2CReadByte(TW101, PATTERN_CTRL)|0x80); //Enable Frame Background Colo
-r
166 1 }
167 void OpenPanel(void)
168 {
169 1 I2CWriteByte(TW100, 0xC2, I2CReadByte(TW100, 0xC2)&0xED);
170 1 I2CWriteByte(TW100, 0x91, I2CReadByte(TW100, 0x91)&~0x80); //Enable Frame Background Color
171 1 Delay_ms(10);
172 1 BL_EN=0;
173 1 }
174 void DetectNTSC_PAL(void)
175 {
176 1 static int wBuff=0x000;
177 1 uCHAR cBuff[2];
C51 COMPILER V7.06 T100 06/10/2005 16:07:14 PAGE 4
178 1 wBuff+=1;
179 1 if(wBuff==0x01)
180 1 {
181 2 wBuff=0x00;
182 2 for(cBuff[1]=0;cBuff[1]<1;cBuff[1]++)
183 2 {
184 3 cBuff[0] = I2CReadByte(TW100, 0x5A)&0xe0;
185 3 if(cBuff[0]==cStandard)break;
186 3 // Delay_ms(10);
187 3 if(cBuff[0]>=0x40)
188 3 {
189 4 ClosePanel();
190 4 return;
191 4 } //*/
192 3 }
193 2 #ifdef ESS
194 2 if((bNTSC_PAL)&&(cSource==6))
195 2 {
196 3 cBuff[1] = I2CReadByte(TW100, 0x82);
197 3 if(cBuff[1]>0x90)I2CWriteByte(TW100+2, 0xd3,0x06);
198 3 else if(cBuff[1]<0x78)I2CWriteByte(TW100+2, 0xd3,0x04);
199 3 }
200 2 if((!bNTSC_PAL)&&(cSource==6))
201 2 {
202 3 cBuff[1] = I2CReadByte(TW100, 0x82);
203 3 if(cBuff[1]>0xb0)I2CWriteByte(TW100+2, 0xd3,0x0b);
204 3 else if(cBuff[1]<0x78)I2CWriteByte(TW100+2, 0xd3,0x04);
205 3 }
206 2 #endif
207 2 if(cBuff[0]!=cStandard)
208 2 {
209 3 ClosePanel();
210 3 cStandard=cBuff[0];
211 3 if(cStandard)
212 3 {
213 4 bNTSC_PAL = 0;
214 4 }
215 3 else bNTSC_PAL = 1;
216 3 I2CWriteByte(TW100,0x0F,0x70);
217 3 I2CWriteByte(TW100+4,0x3f,0x01);
218 3 SetMode();
219 3 SetSource();
220 3 Delay_ms(25);
221 3 I2CWriteByte(TW100+4,0x3f,0x00);
222 3 OpenPanel();
223 3 // I2CWriteByte(TW100,0x0F,0x00);
224 3 Delay_ms(10);
225 3 }
226 2 else OpenPanel();
227 2 }
228 1
229 1 }
230 void SetSource(void)
231 {
232 1 switch(cSource)
233 1 {
234 2 case 2: I2CWriteTbl(CVBS2Data);
235 2 break;
236 2 case 3: I2CWriteTbl(CVBS3Data);
237 2 break;
238 2 case 4: I2CWriteTbl(CVBS4Data);
239 2 break;
C51 COMPILER V7.06 T100 06/10/2005 16:07:14 PAGE 5
240 2 case 5: I2CWriteTbl(SVIDEOData);
241 2 break;
242 2 case 6: I2CWriteTbl(ITU656Data);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -