📄 t101_util.lst
字号:
I2CWriteByte(TW101+2,0x27, 0x00);
I2CWriteByte(TW101+2,0x28, 0x03);
I2CWriteByte(TW101+2,0x29, 0x20);
I2CWriteByte(TW101+2,0x2A, 0x00);
I2CWriteByte(TW101+2,0x2B, 0x03);
I2CWriteByte(TW101+2,0x2C, 0x18);
I2CWriteByte(TW101+2,0x2D, 0x02);
I2CWriteByte(TW101+2,0x2E, 0x00);
I2CWriteByte(TW101+2,0x2F, 0x00);
I2CWriteByte(TW101+2,0x30, 0x00);
I2CWriteByte(TW101+2,0x31, 0x0F);
I2CWriteByte(TW101+2,0x32, 0x00);
I2CWriteByte(TW101+2,0x33, 0x0F);
I2CWriteByte(TW101+2,0x34, 0x00);
I2CWriteByte(TW101+2,0x35, 0x01);
I2CWriteByte(TW101+2,0x37, 0x80);
I2CWriteByte(TW101+2,0x38, 0x02);
#endif
302 1 }
C51 COMPILER V7.06 T101_UTIL 06/16/2005 10:05:39 PAGE 6
303 #endif
304
305 #ifdef RSDS
void RsdsInit(void)
{
I2CWriteByte(TW101+2,0x20,0x02);
I2CWriteByte(TW101+2,0x21,0x3F);
I2CWriteByte(TW101+2,0x22,0x10);
I2CWriteByte(TW101+2,0x23,0x05);
I2CWriteByte(TW101+2,0x24,0x10);
I2CWriteByte(TW101+2,0x25,0x04);
I2CWriteByte(TW101+2,0x26,0x05);
I2CWriteByte(TW101+2,0x27,0x00);
I2CWriteByte(TW101+2,0x28,0x03);
I2CWriteByte(TW101+2,0x29,0xFF);
I2CWriteByte(TW101+2,0x2A,0x00);
I2CWriteByte(TW101+2,0x2B,0x03);
I2CWriteByte(TW101+2,0x2C,0x18);
I2CWriteByte(TW101+2,0x2D,0x02);
I2CWriteByte(TW101+2,0x2E,0x00);
I2CWriteByte(TW101+2,0x2F,0x00);
I2CWriteByte(TW101+2,0x30,0x00);
I2CWriteByte(TW101+2,0x31,0x0F);
I2CWriteByte(TW101+2,0x32,0x00);
I2CWriteByte(TW101+2,0x33,0x0F);
I2CWriteByte(TW101+2,0x34,0x00);
I2CWriteByte(TW101+2,0x35,0x01);
I2CWriteByte(TW101+2,0x37,0x80);
I2CWriteByte(TW101+2,0x38,0x02);
I2CWriteByte(TW101,0xD0, 0x01);
I2CWriteByte(TW101,0xD1, 0x11);
I2CWriteByte(TW101,0xD3, 0xAA);
I2CWriteByte(TW101,0xD4, 0xAA);
I2CWriteByte(TW101,0xD5, 0xAA);
I2CWriteByte(TW101,0xD6, 0xAA);
I2CWriteByte(TW101,0xD7, 0xAA);
I2CWriteByte(TW101,0xD8, 0xAA);
}
#endif //RSDS
343
344
345
346 /////////////////////////
347 //This function setup the display direction
348 ///////////////////////////
349 extern uCHAR cSTV1_ON;
350 #ifdef KVGA
351 void SET_Dismod(void)
352 {
353 1 uCHAR UD_LR,UD_RL,DU_LR,DU_RL;
354 1 switch(cSTV1_ON)
355 1 {
356 2 case 0:
357 2 UD_LR= 0xAc;
358 2 UD_RL= 0xB8;
359 2 DU_LR= 0xA0;
360 2 DU_RL= 0xB4;
361 2 /* UD_LR= 0xB4;
362 2 UD_RL= 0xA0;
363 2 DU_LR= 0xFC;
364 2 DU_RL= 0xE8;*/
C51 COMPILER V7.06 T101_UTIL 06/16/2005 10:05:39 PAGE 7
365 2
366 2 break;
367 2 case 1:
368 2 UD_LR= 0xF4;
369 2 UD_RL= 0xE0;
370 2 DU_LR= 0xBC;
371 2 DU_RL= 0xA8;
372 2 break;
373 2 case 2:
374 2 UD_LR= 0xAC;
375 2 UD_RL= 0xB8;
376 2 DU_LR= 0xE4;
377 2 DU_RL= 0xF0;
378 2 break;
379 2 case 3:
380 2 UD_LR= 0xA4;
381 2 UD_RL= 0xB0;
382 2 DU_LR= 0xEC;
383 2 DU_RL= 0xF8;
384 2 break;
385 2 default:
386 2 UD_LR= 0xb4;
387 2 UD_RL= 0xAc;
388 2 DU_LR= 0xE0;
389 2 DU_RL= 0xF8;
390 2 }
391 1
392 1 switch (Dis_Mode)
393 1 {
394 2 case TOP_LEFT: //Start from top-left
395 2 LEFT_RIGHT = RIGHT;
396 2 UP_DOWN =DOWN;
397 2 I2CWriteByte(TW101,0xE1,UD_LR );// 0xe4 0xf4
398 2 break;
399 2 case TOP_RIGHT: //Start from top-right
400 2 LEFT_RIGHT = LEFT;
401 2 UP_DOWN =DOWN;
402 2 I2CWriteByte(TW101,0xE1,UD_RL );//0xf0 0xe0
403 2 break;
404 2 case BOTTOM_LEFT: //Start from bottom-left
405 2 LEFT_RIGHT = RIGHT;
406 2 UP_DOWN =UP;
407 2 I2CWriteByte(TW101,0xE1,DU_LR );//0xbc0x2c
408 2 break;
409 2 case BOTTOM_RIGHT: //Start from bottom-right
410 2 LEFT_RIGHT = LEFT;
411 2 UP_DOWN =UP;
412 2 I2CWriteByte(TW101,0xE1,DU_RL );//0x880x38
413 2 break;
414 2 }
415 1 return;
416 1 }
417
418 #endif
419
420 #ifdef WVGA
void SET_Dismod(void)
{
switch (Dis_Mode)
{
case TOP_LEFT: //Start from top-left
C51 COMPILER V7.06 T101_UTIL 06/16/2005 10:05:39 PAGE 8
LEFT_RIGHT = RIGHT;
UP_DOWN =DOWN;
I2CWriteByte(TW101,0xE1, (STV1|STH1)&0xFF);
break;
case TOP_RIGHT: //Start from top-right
LEFT_RIGHT = LEFT;
UP_DOWN =DOWN;
I2CWriteByte(TW101,0xE1, (STV1|STH2)&0xFF);
break;
case BOTTOM_LEFT: //Start from bottom-left
LEFT_RIGHT = RIGHT;
UP_DOWN =UP;
I2CWriteByte(TW101,0xE1, (STV2|STH1)&0xFF);
break;
case BOTTOM_RIGHT: //Start from bottom-right
LEFT_RIGHT = LEFT;
UP_DOWN =UP;
I2CWriteByte(TW101,0xE1, (STV2|STH2)&0xFF);
break;
}
return;
}
#endif
452
453 bit IRScaleratioCtrl(void)
454 {
455 1 uCHAR Hcut=10;
456 1 switch(m_cScaleratio)
457 1 {
458 2 case ScaleFULL:
459 2 #ifdef KVGA
460 2 if(m_cStandard)
461 2 I2CWriteByte(TW101+4,0x2E,0x8A); //0x82); //setup video decoder h start == 130
462 2 else
463 2 I2CWriteByte(TW101+4,0x2E,0x8a); //0x82); //setup video decoder h start == 130
464 2
465 2 #endif
466 2 #ifdef WVGA
I2CWriteByte(TW101+4,0x2E,0x88); //0x82); //setup video decoder h start == 130
#endif
469 2 #ifdef WXGA
#ifdef AU_12
I2CWriteByte(TW101+4,0x2E,0x94);//Kuo 0x88 0x94
#else
I2CWriteByte(TW101+4,0x2E,0x76);
#endif
#endif
476 2 #ifdef AU_12
I2CWriteByte(TW101+4,0x2F,0x3a); //0x50); //Setup video decoder h active 720
#else
479 2
480 2 I2CWriteByte(TW101+4,0x2F,0x4a); //0x50); //Setup video decoder h active 720 玡狠
481 2 #endif
482 2 I2CWriteByte(TW101,0xDC, (H_Size&0xFF));//Kuo
483 2 I2CWriteByte(TW101,0xDD, (H_Size>>8));
484 2
485 2 // if(!m_cStandard)
486 2 I2CWriteByte(TW101,0xDE, ((V_Size)&0xFF));
487 2 // else
488 2 // I2CWriteByte(TW101,0xDE, ((MV_Size)&0xFF));
C51 COMPILER V7.06 T101_UTIL 06/16/2005 10:05:39 PAGE 9
489 2 I2CWriteByte(TW101,0xDF, (V_Size>>8));
490 2
491 2
492 2 if(!m_cStandard)
493 2 {
494 3 m_wVRes=236; //230 //ruby 2004-08-18
495 3 Hcut=20;
496 3 m_wHRes=720-2*Hcut;
497 3
498 3 #ifdef AU_12
m_wHRes=698;
#endif
501 3
502 3 }
503 2 else
504 2 {
505 3 m_wVRes=280; //ruby 2004-08-18
506 3 Hcut=16;
507 3 m_wHRes=720-2*Hcut;
508 3 #ifdef AU_12
m_wHRes=698;
#endif
511 3
512 3
513 3 }
514 2 I2CWriteByte(TW101,0x40,Hcut); //Hcut put picture position in center 2004-10-16 //For Foxconn
515 2 I2CWriteByte(TW101,0xD8,0x00);//Kuo Horizontal Main Display Start
516 2
517 2 break;
518 2
519 2 case Scale4_3:
520 2
521 2 #ifdef KVGA
522 2 I2CWriteByte(TW101+4,0x2E,0x82);
523 2 I2CWriteByte(TW101+4,0x2F,0x50); //0x50); //Setup video decoder h active 720
524 2 #else
I2CWriteByte(TW101+4,0x2E,0x82); //0x82); //setup video decoder h start == 130
I2CWriteByte(TW101+4,0x2F,0x50); //0x50); //Setup video decoder h active 720
#endif
528 2
529 2
530 2 //Black Diaplay
531 2
532 2 I2CWriteByte(TW101, 0x9d, 0x10);
533 2 I2CWriteByte(TW101, 0x9e, 0x80);
534 2 I2CWriteByte(TW101, 0x9f, 0x80);
535 2 //Kuo
536 2 I2CWriteByte(TW101,0xDC, (H_Size43));
537 2 I2CWriteByte(TW101,0xDD, (H_Size43>>8));
538 2
539 2 // if(!m_cStandard)
540 2 I2CWriteByte(TW101,0xDE, ((V_Size)&0xFF));
541 2 // else
542 2 // I2CWriteByte(TW101,0xDE, ((MV_Size)&0xFF));
543 2 I2CWriteByte(TW101,0xDF, (V_Size>>8));
544 2
545 2 if(!m_cStandard)
546 2 {
547 3 #ifdef KVGA
548 3 Hcut=10;
549 3 #else
Hcut=10;
C51 COMPILER V7.06 T101_UTIL 06/16/2005 10:05:39 PAGE 10
#endif
552 3 m_wVRes=230; //ruby 2004-08-18
553 3 m_wHRes=720-2*Hcut-6;
554 3 #ifdef AU_12
m_wHRes=698;
#endif
557 3 }
558 2 else
559 2 {
560 3 #ifdef KVGA
561 3 Hcut=10;
562 3 #else
Hcut=10;
#endif
565 3
566 3 m_wVRes=280; //ruby 2004-08-18
567 3 m_wHRes=720-2*Hcut;
568 3 #ifdef AU_12
m_wHRes=698;
#endif
571 3 }
572 2
573 2 I2CWriteByte(TW101,0x40,Hcut); //Ruby 2004-08-23 0x00);
574 2 I2CWriteByte(TW101,0xD8,((H_Size-H_Size43)/2)); // 0x53);//Kuo Horizontal Main Display Start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -