osdctrl.lst

来自「宏芯T102芯片驱动(51单片机作主控)」· LST 代码 · 共 526 行 · 第 1/2 页

LST
526
字号
 246   3                              }
 247   2                      twdDelay(NVRDELAY);             
 248   2                              OSDShowVideoData();
 249   2                      }
 250   1      }
 251          void AdjVideoBright(sCHAR sStep)
 252          {
 253   1              if( (EepVideo.cBright+sStep)<=V_BRIGHT_MAX && (EepVideo.cBright+sStep)>=V_BRIGHT_MIN)
 254   1              {
 255   2                      EepVideo.cBright+=sStep;
 256   2                      I2CWriteByte(TW101,VBRIGHT,EepVideo.cBright);  //Ruby 2004-10-09
 257   2      //              I2CWriteByte(VIDEO_ADDR,VBRIGHT,EepVideo.cBright);
 258   2                      OSDShowVideoData();
 259   2                      I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_BRIGHT_INDEX, EepVideo.cBright);
 260   2                      twdDelay(NVRDELAY);
 261   2      
 262   2              }        
 263   1      }
 264          
 265          void AdjVideoContrast(sCHAR sStep)
 266          {
 267   1              if( (EepVideo.cContrast+sStep)<=V_CONTRAST_MAX && (EepVideo.cContrast+sStep)>=V_CONTRAST_MIN)
 268   1              {
 269   2                      EepVideo.cContrast+=sStep;
 270   2                      I2CWriteByte(TW101,VCONTRAST,EepVideo.cContrast);  //Ruby 2004-10-09
 271   2      //              I2CWriteByte(VIDEO_ADDR,VCONTRAST,EepVideo.cContrast);
 272   2                      OSDShowVideoData();
 273   2                      I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_CONTRAST_INDEX, EepVideo.cContrast);
 274   2                      twdDelay(NVRDELAY);
 275   2      
 276   2              }        
 277   1      }
 278          
 279          void AdjVideoSharp(sCHAR sStep)
 280          {
 281   1          if(EepVideo.cSharp>V_SHARP_MAX)
 282   1             EepVideo.cSharp=V_SHARP_MAX-1;
 283   1          if(EepVideo.cSharp<V_SHARP_MIN)
 284   1             EepVideo.cSharp=V_SHARP_MIN;
 285   1      
 286   1              if( (EepVideo.cSharp+sStep)<=V_SHARP_MAX && (EepVideo.cSharp+sStep)>=V_SHARP_MIN)
 287   1              {
 288   2                      EepVideo.cSharp+=sStep;
 289   2      #ifdef T100
                          LoadFilter(EepVideo.cSharp);
              #else 
 292   2              I2CWriteByte(TW101+4,0x80,V_SHARP_MSK|(EepVideo.cSharp<<1));
 293   2      #endif  
 294   2      //        I2CWriteByte(TW101+4,0x80,V_SHARP_MSK|EepVideo.cSharp);
 295   2      //              I2CWriteByte(TW101+4,0x80,V_SHARP_DS);
 296   2                      OSDShowVideoData();
 297   2                      I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_SHARP_INDEX, EepVideo.cSharp);
 298   2                      twdDelay(NVRDELAY);             
 299   2      
 300   2              }
 301   1             
 302   1      }
C51 COMPILER V7.06   OSDCTRL                                                               12/28/2004 10:14:05 PAGE 6   

 303          
 304          void AdjVideoSat(sCHAR sStep)
 305          {
 306   1              if( (EepVideo.cSat+sStep)<=V_SAT_MAX && (EepVideo.cSat+sStep)>=V_SAT_MIN)
 307   1              {
 308   2                      EepVideo.cSat+=sStep;
 309   2                      
 310   2                      I2CWriteByte(TW101,VSAT,EepVideo.cSat);
 311   2                      OSDShowVideoData();
 312   2                      I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_SAT_INDEX, EepVideo.cSat);
 313   2                      twdDelay(NVRDELAY);             
 314   2                      #if 0
                              //#ifdef NVRAM
                              SavePriData(1, EepPrivate.cVPos, idVPOS_INDEX);
                              twdDelay(NVRDELAY);
                              SavePriData(0, EepPrivate.wVOffset, idVOFFSET_INDEX);
                              #endif
 320   2              }        
 321   1      }
 322          
 323          void AdjVideoHue(sCHAR sStep)
 324          {
 325   1              if( (EepVideo.cHue+sStep)<=V_HUE_MAX && (EepVideo.cHue+sStep)>=V_HUE_MIN)
 326   1              {
 327   2                      EepVideo.cHue+=sStep;
 328   2                      I2CWriteByte(VIDEO_ADDR,VHUE,EepVideo.cHue-0x80);
 329   2                      OSDShowVideoData();
 330   2                      I2CWriteByte(EEPVIDEOBLOCK, idVIDEO_HUE_INDEX, EepVideo.cHue);
 331   2                      twdDelay(NVRDELAY);             
 332   2                      #if 0
                              //#ifdef NVRAM
                              SavePriData(1, EepPrivate.cVPos, idVPOS_INDEX);
                              twdDelay(NVRDELAY);
                              SavePriData(0, EepPrivate.wVOffset, idVOFFSET_INDEX);
                              #endif
 338   2              }        
 339   1      }
 340          #ifdef TV
 341          extern bit m_bLCDOFF;
 342          
 343          
 344          void AdjTVChannel(sCHAR sStep,bit bShow)
 345          {
 346   1              uCHAR cNum, cNum_b,cTotal;
 347   1              uWORD wTemp;
 348   1      #ifdef NTSC
 349   1              if(m_bAir_Cable)
 350   1                  cTotal=125;
 351   1              else 
 352   1                  cTotal=83;  
 353   1      #endif
 354   1      #ifdef PAL
                      cTotal=95;
              #endif
 357   1      //      cNum=TVEEPGetChannel();
 358   1      
 359   1           //TVSetChannel(I2CReadByte(EEPVIDEOBLOCK, idTVCHANNEL_INDEX)-1);
 360   1           TVSetChannel(I2CReadByte(EEPVIDEOBLOCK, idTVCHANNEL_INDEX)-1);
 361   1              cNum = I2CReadByte(EEPVIDEOBLOCK, idTVCHANNEL_INDEX);
 362   1              cNum_b=cNum;
 363   1      
 364   1      
C51 COMPILER V7.06   OSDCTRL                                                               12/28/2004 10:14:05 PAGE 7   

 365   1          if(skipon || bShow)
 366   1              {
 367   2              cNum+=sStep;
 368   2                      if(sStep)
 369   2                      {
 370   3                              if(cNum>cTotal)
 371   3                                      cNum=1;
 372   3                              else if(cNum<1)
 373   3                                      cNum=cTotal;
 374   3                          wTemp=TVSetChannel(cNum-1);
 375   3                      if(wTemp&0x8000)
 376   3                              m_bTV_Skip=1;
 377   3                          else 
 378   3                              m_bTV_Skip=0;
 379   3                      }
 380   2              }
 381   1              else
 382   1              {
 383   2                  do
 384   2                  {
 385   3                          cNum+=sStep;
 386   3      
 387   3                      if(cNum>cTotal)
 388   3                              cNum=1;
 389   3                      else if(cNum<1)
 390   3                              cNum=cTotal;
 391   3      
 392   3                      wTemp=TVSetChannel(cNum-1);
 393   3                      if(wTemp&0x8000)
 394   3                              m_bTV_Skip=1;
 395   3                          else 
 396   3                              m_bTV_Skip=0;
 397   3                  }while(m_bTV_Skip&&(cNum_b!=cNum)&&sStep);
 398   2              }
 399   1              I2CWriteByte(EEPVIDEOBLOCK, idTVCHANNEL_INDEX, cNum);
 400   1              twdDelay(NVRDELAY);
 401   1              twdDelay(200);
 402   1              SetTuner(wTemp);
 403   1              //SourceSelect();   //Ruby 2004-11-03
 404   1      
 405   1          if(!bShow)
 406   1          {
 407   2              OSDExit();
 408   2              OSDEnable();
 409   2              OSDPosition(RIGHT_TOP);
 410   2                  OSDDrawNum(cNum, 0, 19, 1, COL_NORMAL, DRAW_BLANK|0x03);
 411   2          }
 412   1          else
 413   1          {
 414   2                  OSDDrawSkip();
 415   2                      OSDDrawNum(cNum, 0, 19, 1, COL_TITLE, DRAW_BLANK|0x03);
 416   2                      OSDDrawTVFreq(wTemp);
 417   2                      
 418   2          }
 419   1      
 420   1      /*
 421   1              I2CWriteByte(TW101,0xE8,0x10);
 422   1              I2CWriteByte(TW101, 0xE9, EepVideo.cVolume);
 423   1              AUDIO_MUTE=bTemp_mute;
 424   1      */
 425   1      }
 426          
C51 COMPILER V7.06   OSDCTRL                                                               12/28/2004 10:14:05 PAGE 8   

 427          
 428          
 429          void AdjTVSkip(void)
 430          {
 431   1              uCHAR cNum;
 432   1              uWORD wTVFreq;
 433   1              m_bTV_Skip=!m_bTV_Skip;
 434   1              twdDelay(NVRDELAY);
 435   1              cNum = I2CReadByte(EEPVIDEOBLOCK, idTVCHANNEL_INDEX);
 436   1              wTVFreq=TVSetChannel(cNum-1);
 437   1              if(m_bTV_Skip)wTVFreq|=0x8000;
 438   1              else wTVFreq&=0x7fff;
 439   1              EEPSaveTVChannel(cNum-1, wTVFreq);
 440   1              OSDDrawSkip();
 441   1              ir_data=0;
 442   1      
 443   1      }
 444          void AdjTVSoundSystem(void)
 445          {
 446   1              if(m_cSoundSystem==PAL_I)
 447   1                      m_cSoundSystem=PAL_DK;
 448   1              else
 449   1                      m_cSoundSystem=PAL_I;
 450   1              OSDDrawSoundSystem();
 451   1              I2CWriteByte(0x86, 0x02,m_cSoundSystem);
 452   1              ir_data=0;
 453   1      }
 454          void AdjTVFineTune(sCHAR sStep)
 455          {
 456   1              uCHAR cTemp;
 457   1              uWORD wTemp;
 458   1      
 459   1              cTemp = I2CReadByte(EEPVIDEOBLOCK, idTVCHANNEL_INDEX);
 460   1              twdDelay(NVRDELAY);
 461   1              if(m_bAir_Cable)
 462   1              {
 463   2              wTemp=I2CReadByte(EEPVIDEOBLOCK+4, idTVCHANNEL_STAT+(cTemp-1)*2);
 464   2              wTemp<<=8;
 465   2              twdDelay(NVRDELAY);
 466   2              wTemp|=I2CReadByte(EEPVIDEOBLOCK+4, idTVCHANNEL_STAT+(cTemp-1)*2+1);
 467   2              }
 468   1              else
 469   1              {
 470   2              wTemp=I2CReadByte(EEPVIDEOBLOCK+2, idTVCHANNEL_STAT+(cTemp-1)*2);
 471   2              wTemp<<=8;
 472   2              twdDelay(NVRDELAY);
 473   2              wTemp|=I2CReadByte(EEPVIDEOBLOCK+2, idTVCHANNEL_STAT+(cTemp-1)*2+1);
 474   2              }
 475   1              wTemp += sStep;
 476   1              OSDDrawTVFreq(wTemp);
 477   1      #ifdef PAL
                      OSDDrawBand(wTemp);
              #endif                  
 480   1              SetTuner(wTemp);
 481   1              EEPSaveTVChannel(cTemp-1, wTemp);
 482   1      }
 483          #endif
 484          #endif
 485          


MODULE INFORMATION:   STATIC OVERLAYABLE
C51 COMPILER V7.06   OSDCTRL                                                               12/28/2004 10:14:05 PAGE 9   

   CODE SIZE        =   1611    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      16
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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