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

📄 t102osd.lst

📁 t112 参考文件
💻 LST
字号:
C51 COMPILER V7.50   T102OSD                                                               01/12/2006 13:31:13 PAGE 1   


C51 COMPILER V7.50, 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(T106) DEBUG OBJECTEXTEND PRINT(.\T102OSD.lst) OBJECT(.\Obj\T102OSD.obj)

line 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.50   T102OSD                                                               01/12/2006 13:31:13 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              twdDelay(2000);
  70   1      #endif
  71   1      }
  72          
  73          void OSDInit(void)
  74          {
  75   1              unsigned int i,j;
  76   1              
  77   1              OSDCfgWr(OSD_CTRL,0x18);                                   //disable osd and width*1
  78   1              OSDSetRamAddr(FONT_DATA_START_ADDRESS);
  79   1              OSDCfgWr(CHAR_FONT_SIZE,FONT_SIZE);
  80   1              OSDCfgWr(CHAR_RAM_BASE_A,CHAR_MAIN_MENU_START);    //To setup character index start address.
  81   1                                                             //If start address is 0x9c0,
  82   1                                                             //You have get ((0x9c0 >> 5) & 0x7f) to store it
  83   1              OSDCfgWr(CHAR_RAM_END_A,CHAR_RAM_END);             //This is to set index end address.
  84   1              OSDCfgWr(BLINK_CTRL,0x09);
  85   1          OSDCfgWr(ALPHA_BLD_CTRL,0x86);       
  86   1              OSDLoadColor();  //For test
  87   1              OSDSetRamAddr(FONT_DATA_START_ADDRESS);
  88   1              twdWr_Burst_A(OSD_RAM_DL);
  89   1              
  90   1              //Below is re-writted
  91   1              for(j=0;j<TOTAL_FONT_NUM;j++)   
  92   1              for(i=0; i<FONT_HEIGHT; i++){
  93   2                      twdWr_Burst_D(AllFonts[j][2*i]);
  94   2                      twdWr_Burst_D(AllFonts[j][2*i+1]);
  95   2              }
  96   1      
  97   1          //0x400==1024;
  98   1              for(i=(TOTAL_FONT_NUM+1)*FONT_HEIGHT; i<0x400; i++){
  99   2                      twdWr_Burst_D(0x00);
 100   2                      twdWr_Burst_D(0x00);    
 101   2              }
 102   1              twdWr_Burst_P();
 103   1              
 104   1              for(i=0;i<OSD_LINE_NUM;i++){
 105   2                      OSDCleanLine(0,i,0,31);
 106   2                      OSDSetLineAttribute(i,0x80);
 107   2              }
 108   1      }
 109          
 110          void OSDShowLine(uCHAR *string,uCHAR x,uCHAR y,uCHAR cColor,uCHAR cLength)
 111          {
 112   1              uCHAR c;
 113   1              if((x < 30) && ( y < OSD_LINE_NUM)){
 114   2                      OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)y << 5)+x);
 115   2                      twdWr_Burst_A(OSD_RAM_DL);      // Write OSD index
C51 COMPILER V7.50   T102OSD                                                               01/12/2006 13:31:13 PAGE 3   

 116   2              while((*string) != EOL && (x < cLength)){
 117   3                          c=*string++;
 118   3                          if(c>0x40)                  // Character
 119   3                              twdWr_Burst_D(c-IndexCharacterOffset);
 120   3                              else if(c>=0x30)        // number
 121   3                                      twdWr_Burst_D(c-IndexNumOffset);  
 122   3                              else                            
 123   3                                      twdWr_Burst_D(c);
 124   3                              
 125   3                      twdWr_Burst_D(cColor );
 126   3                      x++;
 127   3                      }
 128   2              }
 129   1              twdWr_Burst_P();
 130   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    512    ----
   CONSTANT SIZE    =   2949    ----
   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 + -