⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t102osd.lst

📁 宏芯T118B 配 MTV512, 驱动PVI 9"TFT屏的源程序
💻 LST
字号:
C51 COMPILER V7.06   T102OSD                                                               06/19/2006 11:59:54 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE T102OSD
OBJECT MODULE PLACED IN .\Obj\T102OSD.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Source\OSD\T102OSD.c BROWSE INCDIR(.\Include\;.\Source\;.\Include\Panel\;.\
                    -Include\GammaTable\) DEFINE(T112) DEBUG OBJECTEXTEND PRINT(.\T102OSD.lst) OBJECT(.\Obj\T102OSD.obj)

stmt level    source

   1          #include <reg51.h>
   2          #include "common.h"
   3          #include "System.h"
   4          #include "OSDDraw.h"
   5          #include "TwoWire.h"
   6          #include "TW10xReg.h"
   7          #include "T102OSD.h"
   8          
   9          #ifdef NEW_OSD
              #include "font1216.c"
              #else
  12          #include "T102_Font12W18H.c"            // 12W18H
  13          //#include "T102_Font8W16H.c"           //  8W16H // It's better for Au 3.5".
  14          //#include "T102_Font6W16H.c"   //  6W16H // It's too small for Au 3.5".
  15          #endif
  16          
  17          #define LOGO_ON
  18          #ifdef LOGO_ON
  19          #define OSDBMP_2BIT_PIXEL       0xf8
  20          #define OSDBMP_4BIT_PIXEL       0xb8
  21          #define OSDBMP_TYPE OSDBMP_2BIT_PIXEL
  22          #define BMP_HPOS (1024-320)/2
  23          #define BMP_VPOS (768-76)/2
  24          
  25          
  26          #include "T102_Logo.c"
  27          
  28          bit OSD_PowerOnLogo_On = 1;
  29          
  30          // define OSD Logo BMP LUT color data
  31          code unsigned char OSDLutLogoData[32]={
  32                  0x33,0x03,  //Black             f=0 ,   b=0  0x12, 03
  33                  0xaa,0x02,  //Light Blue        f=2 ,   b=1
  34                  0x18,0x01,  //Dark  Blue        f=8 ,   b=4
  35                  0x1f,0x01,  //Dark  Blue        f=8 ,   b=4
  36                  0xff,0x0f,  //White                     f=3
  37                  0xf6,0x0f,  //Dark Brown        f=4 ,   b=2
  38                  0x08,0x08,  //Purple            f=5
  39                  0xa8,0x07,  //Light Green       f=6 ,   b=3
  40                  0x86,0x0f,  //Dark  Red         f=7
  41                  0x54,0x0f,  //Dark  Red         f=7
  42                  0x54,0x0f,  //Dark  Red         f=7
  43                  0x0f,0x0f,
  44                  0xb9,0x00,  //purple                                                                                   
             -                                                       6
  45                  0x44,0x04,
  46                  0x88,0x08,  //grey
  47                  0xff,0x0f   //white
  48          };
  49          #endif //LOGO_ON
  50          
  51          
  52          void OSDLogo(void)
  53          {
C51 COMPILER V7.06   T102OSD                                                               06/19/2006 11:59:54 PAGE 2   

  54   1              unsigned int i;
  55   1      #ifdef LOGO_ON
  56   1              OSDSetRamAddr(FONT_DATA_START_ADDRESS);
  57   1              I2CWriteByte(TW101,OSD_CFG_INDEX,OSD_LUT_RAM_DATA);
  58   1      
  59   1      
  60   1              OSDCfgWr(BW_W,20);              
  61   1              OSDCfgWr(BW_H,29);           
  62   1      
  63   1              twdWr_Burst_A(OSD_RAM_DL);
  64   1              for(i=0;i<40*32;i++)
  65   1              twdWr_Burst_D(logodata[i]);
  66   1              twdWr_Burst_P();
  67   1      
  68   1              OSDCfgWr(OSD_CTRL,0xf8);           //2 bits pixel BitMap
  69   1              //kenny 20060301 ==================
  70   1              //#ifdef T116
  71   1              I2CWriteByte(TW101,0xE2,0x11);
  72   1              //#endif
  73   1              //kenny 20060301 ==================
  74   1              twdDelay(2000);
  75   1      #endif
  76   1      }
  77          
  78          void OSDInit(void)
  79          {
  80   1              unsigned int i,j;
  81   1              
  82   1              OSDCfgWr(OSD_CTRL,0x18);                                   //disable osd and width*1
  83   1              OSDSetRamAddr(FONT_DATA_START_ADDRESS);
  84   1              OSDCfgWr(CHAR_FONT_SIZE,FONT_SIZE);
  85   1              // add by Sherman 06'02'06
  86   1              #if (defined T102)|(defined T112)
  87   1              if((FONT_SIZE==FONT_SIZE8W16H)|(FONT_SIZE==FONT_SIZE6W16H))
  88   1                      OSDCfgWr(0x0f,0x40);
  89   1              #endif
  90   1              //
  91   1              OSDCfgWr(CHAR_RAM_BASE_A,CHAR_MAIN_MENU_START);    //To setup character index start address.
  92   1                                                             //If start address is 0x9c0,
  93   1                                                             //You have get ((0x9c0 >> 5) & 0x7f) to store it
  94   1              OSDCfgWr(CHAR_RAM_END_A,CHAR_RAM_END);             //This is to set index end address.
  95   1              OSDCfgWr(BLINK_CTRL,0x09);
  96   1          OSDCfgWr(ALPHA_BLD_CTRL,0x84);       
  97   1              OSDLoadColor();  
  98   1              OSDSetRamAddr(FONT_DATA_START_ADDRESS);
  99   1              twdWr_Burst_A(OSD_RAM_DL);
 100   1              
 101   1              //Below is re-writted   // chagne by Sherman 06'02'06
 102   1      
 103   1              if((FONT_SIZE==FONT_SIZE8W16H)|(FONT_SIZE==FONT_SIZE6W16H)){
 104   2                      for(j=0;j<(TOTAL_FONT_NUM/2)+1;j++)     
 105   2                      for(i=0; i<FONT_HEIGHT; i++){
 106   3                              twdWr_Burst_D(AllFonts[2*j+1][2*i+1]);
 107   3                              twdWr_Burst_D(AllFonts[2*j][2*i+1]);
 108   3                      }
 109   2              }else{
 110   2                      for(j=0;j<TOTAL_FONT_NUM;j++)   
 111   2                      for(i=0; i<FONT_HEIGHT; i++){
 112   3                              twdWr_Burst_D(AllFonts[j][2*i]);
 113   3                              twdWr_Burst_D(AllFonts[j][2*i+1]);
 114   3                      }
 115   2              }
C51 COMPILER V7.06   T102OSD                                                               06/19/2006 11:59:54 PAGE 3   

 116   1      
 117   1          //0x400==1024;
 118   1              for(i=(TOTAL_FONT_NUM)*FONT_HEIGHT; i<0xc00; i++){
 119   2                      twdWr_Burst_D(0x00);
 120   2                      twdWr_Burst_D(0x00);    
 121   2              }
 122   1              twdWr_Burst_P();
 123   1              
 124   1              for(i=0;i<OSD_LINE_NUM;i++){
 125   2                      OSDCleanLine(0,i,0,31);
 126   2                      OSDSetLineAttribute(i,0x80);
 127   2              }
 128   1      
 129   1      }
 130          
 131          void OSDShowLine(uCHAR *string,uCHAR x,uCHAR y,uCHAR cColor,uCHAR cLength)
 132          {
 133   1              uCHAR c;
 134   1              if((x < 30) && ( y < OSD_LINE_NUM)){
 135   2                      OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)y << 5)+x);
 136   2                      twdWr_Burst_A(OSD_RAM_DL);      // Write OSD index
 137   2              while((*string) != EOL && (x < cLength)){
 138   3                          c=*string++;
 139   3                          if(c>0x40)                  // Character
 140   3                              twdWr_Burst_D(c-IndexCharacterOffset);
 141   3                              else if(c>=0x30)        // number
 142   3                                      twdWr_Burst_D(c-IndexNumOffset);  
 143   3                              else                            
 144   3                                      twdWr_Burst_D(c);
 145   3                              
 146   3                      twdWr_Burst_D(cColor );
 147   3                      x++;
 148   3                      }
 149   2              }
 150   1              twdWr_Burst_P();
 151   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    523    ----
   CONSTANT SIZE    =   2952    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      14
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -