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

📄 osddraw.lst

📁 在51单片机上用C写的T100,T101TFT屏的控制程序,有OSD
💻 LST
📖 第 1 页 / 共 2 页
字号:
 213          void OSDSetRamAddr(uWORD address)
 214          {
 215   1              I2CWriteByte(TW101,OSD_RAM_AH,(uCHAR)(address>>8));
 216   1              I2CWriteByte(TW101,OSD_RAM_AL,(uCHAR)(address & 0xff));
 217   1      //EA=0;
 218   1      }
 219          
 220          void OSDEnable(void)
 221          {
 222   1      //      m_bOSDEnable = 1;
 223   1              OSDCfgWr(OSD_CTRL,0x98);
 224   1              //OSDCfgWr(OSD_CTRL,0x99); //For malata only
 225   1      
 226   1      //#ifndef TIMER0
 227   1      //      if(m_bFactryMode)       return;
 228   1      //      Timer0Start();
 229   1      //#endif
 230   1      
 231   1      }
 232          
 233          void OSDDisable(void)
 234          {
 235   1      /*
 236   1      #ifdef TIMER0
 237   1              if(!m_bFactryMode)
 238   1      
 239   1      #endif
 240   1      */              //Timer0Stop();
 241   1              OSDCfgWr(OSD_CTRL,0x18);
C51 COMPILER V7.06   OSDDRAW                                                               09/22/2005 16:15:34 PAGE 5   

 242   1      //      m_cOSDEvent=0;
 243   1      //      m_cOSDFunc=0;
 244   1      //      m_cItem=1;
 245   1      //      m_bAdjRGBColor=0;  //Init color
 246   1      //      m_bOSDEnable=0;
 247   1      //      m_cCurreKey=m_cPreKey=0xFF;
 248   1      }
 249          //extern bit bFactry_Func,bFactry_Menu;
 250          
 251          void OSDExit(void)
 252          {
 253   1              OSDCfgWr(OSD_CTRL,0x18);
 254   1              OSDCfgWr(0x10,0x00); //Disable window
 255   1              OSDDisable();
 256   1              OSDClearPage();
 257   1      //bFactry_Func=0;
 258   1      //bFactry_Menu=0;
 259   1      
 260   1      }
 261          
 262          /*void OSDEventMgr(void)
 263          {
 264          //      Timer0Stop();
 265                  switch(m_cOSDEvent){
 266                  case GammaAdjust:
 267                        bGAMMA_ADJ=TURE;
 268                        AddPoint=0;
 269                        GammaBuffer=I2CReadByte(EEPBLOCK1,AddPoint);
 270                        OSDPosition(CENTER);
 271                        OSDEnable();
 272                        OSDShowLine(iGAMMA,0,0,COL_TITLE,OSD_LENGTH);
 273                        OSDDisplayNum(AddPoint, 8,0, COL_TITLE);
 274                        OSDDisplayNum(GammaBuffer, 13,0, COL_TITLE);
 275                        break;
 276                  case CLOSEMENU:
 277                          OSDExit();
 278                          break;
 279                  case OPENMENU:
 280                          m_cItem=1;
 281                          OSDOpenMenu();
 282                          OSDMoveCursor(0x00,0x17);
 283                          break;
 284                  case FUNCSELCT_IN:
 285                          if(bGAMMA_ADJ==TURE){
 286                              AddPoint++;
 287                              if(AddPoint>=GAMMA_TABLE_DATA_SIZE)
 288                                  AddPoint=0;
 289                              GammaBuffer=I2CReadByte(EEPBLOCK1,AddPoint);
 290                              OSDDisplayNum(AddPoint, 8,0, COL_TITLE);
 291                              OSDDisplayNum( GammaBuffer, 13,0, COL_TITLE);
 292                          }
 293                           else
 294                               OSDFuncSelect(-1);
 295                          break;
 296                  case FUNCSELCT_DN:
 297                          if(bGAMMA_ADJ==TURE){
 298                              if(AddPoint==0)
 299                                 AddPoint=GAMMA_TABLE_DATA_SIZE;
 300                              AddPoint--;
 301                              GammaBuffer=I2CReadByte(EEPBLOCK1,AddPoint);
 302                              OSDDisplayNum(AddPoint, 8,0, COL_TITLE);
 303                              OSDDisplayNum( GammaBuffer, 13,0, COL_TITLE);
C51 COMPILER V7.06   OSDDRAW                                                               09/22/2005 16:15:34 PAGE 6   

 304                          }
 305                          else
 306                              OSDFuncSelect(1);
 307                          break;
 308                  case FUNCEXIT:
 309                                  OSDFuncExit();
 310                          break;
 311                  case FUNCADJ_IN:
 312                          if(bGAMMA_ADJ==TURE){
 313                               GammaBuffer++;
 314                               I2CWriteByte(EEPBLOCK1,AddPoint,GammaBuffer);
 315                               OSDDisplayNum(AddPoint, 8,0, COL_TITLE);
 316                               OSDDisplayNum(GammaBuffer, 13,0, COL_TITLE);
 317                               AdjustGammmaDate();
 318                              }
 319                          else
 320                               OSDItemAdj(INCREASE);
 321                          break;
 322                  case FUNCADJ_DN:
 323                            if(bGAMMA_ADJ==TURE){
 324                               GammaBuffer--;
 325                               I2CWriteByte(EEPBLOCK1,AddPoint,GammaBuffer);
 326                               OSDDisplayNum(AddPoint, 8,0, COL_TITLE);
 327                               OSDDisplayNum(GammaBuffer, 13,0, COL_TITLE);
 328                               AdjustGammmaDate();
 329                              }
 330                          else
 331                               OSDItemAdj(DECREASE);
 332                          break;
 333                  case POWERMANAGE:
 334                          m_bKyPowerOn = m_bKyPowerOn^0x01;
 335                          PowerManage();
 336                          //if(m_bChipPowerOn)
 337                          //      BKPower();
 338                          break;
 339                  default:        break;
 340                  }
 341          
 342                  //if(m_bOSDEnable)
 343                  //      Timer0Start();
 344          }*/
 345          /*void OSDDisplayNum(uCHAR cVal, uCHAR x, uCHAR y, uCHAR cColor)
 346          {       uCHAR i;
 347                  uCHAR cTemp=cVal;
 348                  uCHAR Num[2]=0;
 349                  Num[0]=(uCHAR)(cTemp/16);
 350                  Num[1]=(uCHAR)(cTemp%16);
 351          
 352                  OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)y << 5)+x);
 353                  twdWr_Burst_A(OSD_RAM_DL);
 354                  for(i=0;i<2;i++){
 355                     OSDNumConvert(Num[i]);
 356                     twdWr_Burst_D(cColor );
 357                     x++;
 358                   }
 359                  twdWr_Burst_P();
 360          }
 361          */
 362          /*void OSDOpenMenu(void)
 363          {
 364          
 365                  OSDPosition(CENTER);
C51 COMPILER V7.06   OSDDRAW                                                               09/22/2005 16:15:34 PAGE 7   

 366                  OSDEnable();
 367                  OSDShowPage();  //Title
 368                  m_cOSDFunc|=m_cItem;
 369                  OSDShowVideoData();
 370          }*/
 371          /*void OSDFuncExit(void)
 372          {
 373                          OSDCfgWr(0x10,0x00); //Disable window
 374                          OSDClearPage();
 375                          OSDDisable();
 376                          m_cOSDEvent=0;
 377                          m_cItem=1;
 378          }*/
 379          /*void OSDFuncSelect(sCHAR sStep)
 380          {
 381                  //Remove previous cursor
 382                  //OSDHLLine(m_cItem, COL_NORMAL);
 383          
 384                  switch(m_cOSDFunc&0xf0){
 385                  case idMainMenu:
 386                          if(m_cItem+sStep>=1 && m_cItem+sStep<=5 )       m_cItem+=sStep;
 387                          else{
 388                                  if(sStep<0)             m_cItem=5;
 389                                  else                    m_cItem=1;
 390                          }
 391                          break;
 392                  default:
 393                          break;
 394                  }
 395                  m_cOSDFunc=(m_cOSDFunc&0xf0)|m_cItem;
 396            //High Light Current item
 397                          OSDMoveCursor(0x00,0x17);
 398          }
 399          */
 400          
 401          /*void OSDShowPage(void)
 402          {
 403                  uCHAR i=0;
 404                  uCHAR y=1;
 405          
 406                  MULTILANGUAGEOSD *pOSDLangPtr;
 407                  OSDMENU **pOSDMenuPtr;
 408          
 409                  OSDPosition(CENTER);
 410                          pOSDLangPtr=&MultiLangOSD[0];
 411                  pOSDMenuPtr=pOSDLangPtr->osdMenuPtr;  //Main
 412          
 413                  while(pOSDMenuPtr[(m_cOSDFunc>>4)-1][i].iconStr!=NULL)
 414                  {
 415                          OSDShowLine(iBlankLine,0,y,COL_NORMAL,OSD_LENGTH);//TV Kuo
 416                          OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)y<<5)+24);
 417                          twdWr_Burst_A(OSD_RAM_DL);
 418                          twdWr_Burst_D(0x3C); //V
 419                          twdWr_Burst_D(0x02);
 420                          twdWr_Burst_P();
 421          
 422                          OSDShowLine(pOSDMenuPtr[(m_cOSDFunc>>4)-1][i].iconStr,ICON_STAT,y,COL_NORMAL,OSD_LENGTH);//TV Kuo
 423                          OSDShowLine(pOSDMenuPtr[(m_cOSDFunc>>4)-1][i].txtStr,TXT_STAT,y,COL_NORMAL,OSD_LENGTH);
 424                          if(pOSDMenuPtr[(m_cOSDFunc>>4)-1][i].cDataAttr==GAUGE)
 425                          {
 426                                  OSDShowVideoNum(i+m_cOSDFunc+1,y);
 427                          }
C51 COMPILER V7.06   OSDDRAW                                                               09/22/2005 16:15:34 PAGE 8   

 428                          i++;
 429                          y++;
 430                  }
 431                  OSDShowLine(iBlankLine,0,y,COL_NORMAL,OSD_LENGTH);//Kuo TV

⌨️ 快捷键说明

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