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