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

📄 osddraw.lst

📁 在51单片机上用C写的T100,T101TFT屏的控制程序,有OSD
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   OSDDRAW                                                               09/22/2005 16:15:34 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE OSDDRAW
OBJECT MODULE PLACED IN F:\SOURCE~1\CAR_DVD\KSP7200\21_09_05\OSDDRAW.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE F:\SOURCE~1\CAR_DVD\KSP7200\21_09_05\OSDDRAW.C DB SB OE OT(6)

stmt level    source

   1          #include <reg51.h>
   2          #include <intrins.h>
   3          #include "common.h"
   4          #include "System.h"
   5          //#include "Struct.h"
   6          #include "OSDDraw.h"
   7          //#include "OSDCtrl.h"
   8          //#include "Video.h"
   9          #include "TwoWire.h"
  10          #include "TW100Reg.h"
  11          
  12          #include "OSD1218.h"
  13          #include "font1218.c"
  14          //#include "OSDTbl.h"
  15          //#include "OSDMenu.h"
  16          
  17          #define TURE 1
  18          //extern bit bGAMMA_ADJ;
  19          //bit m_bOSDEnable=0;
  20          //bit m_bKyPowerOn=0;
  21          //bit m_bChipPowerOn=0;
  22          //extern uCHAR idata m_cBuff[5];
  23          //extern uWORD idata m_wBuff[3];
  24          //extern uCHAR idata m_cOSDEvent;
  25          //extern uCHAR idata m_cCurreKey;
  26          //extern uCHAR idata m_cPreKey;
  27          //extern uCHAR idata m_cItem;
  28          //extern uCHAR idata m_cOSDFunc;
  29          extern uCHAR idata cSource;
  30          //extern uCHAR idata AddPoint;
  31          //extern uCHAR idata GammaBuffer;
  32          //extern void AdjustGammmaDate(void);
  33          
  34          //void BKPower(void);
  35          //void PowerManage(void);
  36          #define GAUGE_Y  6
  37          
  38          //extern EEPVIDEO idata EepVideo;
  39          
  40          //#ifdef TIMER0
  41          //extern void Timer0Start(void);
  42          //extern void Timer0Stop(void);
  43          //#endif
  44          
  45          //#ifdef NVRAM
  46          //#include "NVRam.h"
  47          //extern uWORD idata m_wEepRom;
  48          //#endif
  49          
  50          /////////////////////////////////////////////
  51          //sary/////////////
  52          #include "OSD_main.h"
  53          #include "OSD_source.h"
  54          #include "OSD_audio.h"
  55          #include "OSD_video.h"
C51 COMPILER V7.06   OSDDRAW                                                               09/22/2005 16:15:34 PAGE 2   

  56          #include "OSD_screen.h"
  57          #include "OSD_system.h"
  58          
  59          
  60          extern bit OSD_enable;
  61          extern uCHAR window;
  62          extern uCHAR cursor1, cursor2;
  63          extern bit enter;
  64          
  65          extern unsigned char CurMode; //source_val; //source chosen
  66          
  67          //Audio
  68          extern unsigned char Aud_BassLevel; //0(-7)->15(+7)
  69          extern unsigned char Aud_TrebleLevel; //0(-7)->15(+7)
  70          extern unsigned char Aud_BalanceLevel; //0(L7)->15(R7)
  71          extern unsigned char Aud_FaderLevel; //0(F7)->15(R7)
  72          
  73          extern unsigned int AudioStatus;
  74          extern unsigned char Aud_IniVol;
  75          
  76          /*extern bit subwoofer; //0 off, 1 on
  77          extern bit beep; //0 off, 1 on
  78          extern unsigned char start_vol; //0->50*/
  79          
  80          
  81          //video
  82          extern unsigned char bright;
  83          extern unsigned char contrast;
  84          extern unsigned char color;
  85          extern unsigned char sharp;
  86          
  87          //screen
  88          extern  unsigned int    VideoStatus;
  89          /*extern bit direction; //0 normal, 1 inv
  90          extern bit full;    //0 4:3, 1 16:9
  91          */
  92          
  93          //System
  94          extern unsigned char MinoutState; //in_out; //0 none, 1 level-1,
  95                                    //2 level-2, 3 level-3
  96          extern unsigned char TiltLimit; //tilt_range; //2 auto, 3 1-3,
  97                                        //4 1-4, 5 1-5
  98          extern unsigned char ChannelType; //tv_sys; //0 NTSC, 1 PAL, 2 CHINESE
  99          extern unsigned char PalType; //tv_sound; //0 sound-3, 1 sound-1
 100                                      //2 sound-2
 101          extern unsigned int TiltFlag0; //bit tilt; //0 auto, 1 manual
 102          //extern bit backlight; //0 normal, 1 bright
 103          
 104          //reset
 105          extern bit reset_valid; //0: no   1:ok
 106          
 107          //////////////////////////////////////////////
 108          
 109           /*
 110          code OSDMENU *OSDMenu_E[]={
 111                  MainMenu_E,
 112          };
 113          
 114          code OSDMENU *OSDMenu_C[]={
 115                  MainMenu_C,
 116          };
 117          
C51 COMPILER V7.06   OSDDRAW                                                               09/22/2005 16:15:34 PAGE 3   

 118          typedef struct tagMULTILANGUAGEOSD{
 119                  uCHAR cLangID;
 120                  OSDMENU **osdMenuPtr;
 121          }MULTILANGUAGEOSD;
 122          
 123          MULTILANGUAGEOSD code MultiLangOSD[]={
 124                  {eENGLISH, OSDMenu_E},
 125                  {eCHINESE, OSDMenu_C},
 126          };
 127          
 128          code uCHAR *MessageData[] = {
 129                          iNoSignal,
 130                          iNoSupport,
 131                          iFailSafeMode,
 132                          iAutoAdjust,
 133                          iPowerOff,
 134                          iADCCalib,
 135               iAdcSubsample,
 136               iSyncError
 137          };
 138           */
 139          uCHAR code cOSDMenuLutData[32]={
 140                  //0xGB, 0x0R
 141                  0x00,0x00, //0
 142                  0x0f,0x00, //1 blue
 143                  0x00,0x00, //2 black
 144                  0x0f,0x0a, //3 purple
 145                  0x0e,0x00, //4 dark blue
 146                  0xf8,0x00,  //5 green
 147                  0x22,0x0A, //6  red
 148                  0xc4,0x0c, //7 olive
 149                  0x88,0x05, //8 light grey
 150                  0xb9,0x0b,  //9 purple
 151                  0xBD,0x05, //A  purple
 152                  0x0f,0x0f,  //B
 153                  0xA3,0x0A,      //C Yellow
 154                  0xcc,0x0c, //D light grey
 155                  0x68,0x03,  //E Light Blue Main Menu Background or 0x79, 0x04 which is a litter light
 156                  0xff,0x0f,  //F white
 157          };
 158          
 159          
 160          void OSDInit(void)
 161          {
 162   1              unsigned int i;
 163   1              OSDCfgWr(OSD_CTRL,0x18);           //disable osd and width*1
 164   1      
 165   1      //      OSDCfgWr(OSD_CTRL,0x18);
 166   1              OSDSetRamAddr(FONT_DATA_START_ADDRESS);
 167   1              OSDCfgWr(CHAR_FONT_SIZE,FONT_SIZE);
 168   1              OSDCfgWr(CHAR_RAM_BASE_A,CHAR_MAIN_MENU_START);    //To setup character index start address.
 169   1                                                          //If start address is 0x9c0,
 170   1                                                          //You have get ((0x9c0 >> 5) & 0x7f) to store it
 171   1              OSDCfgWr(CHAR_RAM_END_A,CHAR_RAM_END);           //This is to set index end address.
 172   1      
 173   1              OSDCfgWr(CHAR_BS_CTRL,0x40);
 174   1              OSDCfgWr(CHAR_BS_COLOR,0x00);
 175   1              OSDCfgWr(CHAR_HEIGHT_CTRL,0x20);
 176   1              //OSDCfgWr(CHAR_HEIGHT_CTRL,0x40);  //For malata only
 177   1              OSDCfgWr(BLINK_CTRL,0x01);
 178   1             //OSDCfgWr(ALPHA_BLD_CTRL,0x80);          /* Alpha blending is disable */
 179   1              OSDCfgWr(ALPHA_BLD_CTRL,0x02);       //0x86   // Alpha blending is disable; for malata only
C51 COMPILER V7.06   OSDDRAW                                                               09/22/2005 16:15:34 PAGE 4   

 180   1      
 181   1              OSDLoadColor();
 182   1              //OSDSetRamAddr(FONT_DATA_START_ADDRESS);
 183   1              twdWr_Burst_A(OSD_RAM_DL);
 184   1              //Below is re-writted
 185   1              for(i=0; i<128*FONT_HEIGHT; i++){
 186   2                      twdWr_Burst_D(font_00[2*i]);
 187   2              twdWr_Burst_D(font_00[2*i+1]);
 188   2              }
 189   1      
 190   1        //0xc00==1024*3;
 191   1              for(; i<0xc00; i++){
 192   2              twdWr_Burst_D(0x00);
 193   2              twdWr_Burst_D(0x00);
 194   2              }
 195   1              twdWr_Burst_P();
 196   1      
 197   1              for(i=0;i<15;i++)
 198   1              {
 199   2                      OSDCleanLine(0,i,0,31);
 200   2              OSDSetLineAttribute(i,0x80);
 201   2              }
 202   1      }
 203          
 204          void OSDLoadColor(void)
 205          {
 206   1              uCHAR i;
 207   1              I2CWriteByte(TW101,OSD_CFG_INDEX,OSD_LUT_RAM_DATA);
 208   1              for(i=0;i<32;i++)
 209   1                      I2CWriteByte(TW101,OSD_CFG_DATA,cOSDMenuLutData[i]);
 210   1      
 211   1      }
 212          

⌨️ 快捷键说明

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