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

📄 vp.lst

📁 Bitek 公司 bit1611b模拟屏驱动芯片外接MCU驱动DEMO源码
💻 LST
📖 第 1 页 / 共 2 页
字号:
                  YUV_SetContrast(tsEYD.bContrast);
                  YUV_SetSaturation(tsEYD.bSaturation);
                  YUV_SetHue(tsEYD.bHue);
                  YUV_SetSharpness(tsEYD.bSharpness);
              
                  /* ....................................
                      Video Processor
                     .................................... */
                  VP_SetBlackLevel(tsEGD.bBlackLevel);
                  VP_SetBrightness(tsEGD.bBrightness);
                  VP_SetContrast(tsEGD.bContrast);
              
                  // To adjust VP
                  VP_SetImageFilter(tsEGD.bImage_Filter);
              
                  // To restore VP TCON mode !
                  VP_SetTCON_Mode(tsEGD.bTCON_Mode);
              } // VP_SetColorStandard
              #endif
 344          
 345          
 346          #if (VP_SET_BRIGHTNESS)
 347          /* -------------------------------------------------------------------
 348              Name: VP_SetBrightness -
 349              Purpose: This function sets the VP Brightness.
 350              Passed: 0x00..0xFF
 351              Returns: None.
 352              Notes: [1]63
 353             ------------------------------------------------------------------- */
 354          void VP_SetBrightness (UB8 bBrightness)
 355          {
 356   1          BITEK_TxByte(VP_MAD, VP_07C_BRIGHTNESS_R, bBrightness);
 357   1          BITEK_TxByte(VP_MAD, VP_07D_BRIGHTNESS_G, bBrightness);
 358   1          BITEK_TxByte(VP_MAD, VP_07E_BRIGHTNESS_B, bBrightness);
 359   1      } // VP_SetBrightness
 360          #endif
 361          
 362          
 363          #if (VP_SET_CONTRAST)
 364          /* -------------------------------------------------------------------
C51 COMPILER V7.50   VP                                                                    02/05/2007 16:33:26 PAGE 7   

 365              Name: VP_SetContrast -
 366              Purpose: This function sets the VP Contrast.
 367              Passed: 0x00..0xFF
 368              Returns: None.
 369              Notes: [1]63
 370             ------------------------------------------------------------------- */
 371          void VP_SetContrast (UB8 bContrast)
 372          {
 373   1          BITEK_TxByte(VP_MAD, VP_07F_CONTRAST_R, bContrast);
 374   1          BITEK_TxByte(VP_MAD, VP_080_CONTRAST_G, bContrast);
 375   1          BITEK_TxByte(VP_MAD, VP_081_CONTRAST_B, bContrast);
 376   1      } // VP_SetContrast
 377          #endif
 378          
 379          
 380          #if (VP_SET_IMAGE_FILTER)
 381          /* -------------------------------------------------------------------
 382              Name: VP_SetImageFilter -
 383              Purpose: To set Image Filter.
 384              Passed: 
 385                  0..8 (High smoothness..Low smoothness, Bypass, Low sharpness,..High sharpness)
 386                  0..3    = Smoothness
 387                  4       = Bypass
 388                  5..8    = Sharpness
 389              Returns:
 390              Notes: [1]67
 391             ------------------------------------------------------------------- */
 392          void VP_SetImageFilter (UB8 bImageFilter)
 393          {
 394   1          UB8 bData;
 395   1      
 396   1      
 397   1          if (bImageFilter == IMAGE_FILTER_NORMAL)
 398   1          {
 399   2              // Bypass
 400   2              // 0xxx xxxx
 401   2              bData = BITEK_RxByte(VP_MAD, VP_08B_IMAGE_ATTR) & ~VP_MASK_FILTER_EN;
 402   2          }
 403   1          else
 404   1          {
 405   2              bData = BITEK_RxByte(VP_MAD, VP_08B_IMAGE_ATTR) & ~VP_MASK_FILTER_TYPE;
 406   2              bData |= VP_MASK_FILTER_EN;
 407   2      
 408   2      
 409   2              if (bImageFilter < IMAGE_FILTER_NORMAL)
 410   2              {
 411   3                  // Smothness
 412   3                  // 1000 xxxx
 413   3                  // 1011 xxxx
 414   3                  bData = bData | ((3 - bImageFilter) << 4);
 415   3              }
 416   2              else if (bImageFilter > IMAGE_FILTER_NORMAL)
 417   2              {
 418   3                  // Sharpness
 419   3                  // 1100 xxxx
 420   3                  // 1111 xxxx
 421   3                  bData = bData | ((bImageFilter - 1) << 4);
 422   3              }
 423   2          }
 424   1      
 425   1          BITEK_TxByte(VP_MAD, VP_08B_IMAGE_ATTR, bData);
 426   1      } /* VP_SetImageFilter */
C51 COMPILER V7.50   VP                                                                    02/05/2007 16:33:26 PAGE 8   

 427          #endif
 428          
 429          
 430          #if (VP_SET_PWM_DUTY)
              /* -------------------------------------------------------------------
                  Name: VP_SetPWM_DUTY -
                  Purpose: This function sets the VP PWM Duty.
                  Passed:
                  Returns: None.
                  Notes: [1]74
                 ------------------------------------------------------------------- */
              void VP_SetPWM_DUTY (
              UB8     bPWM,       // 1..4
              UW16    wDUTY       // 0..511
              )
              {
                  switch (bPWM)
                  {
                      case 1:
                          BITEK_TxWord(VP_MAD, VP_0E20E3_PWM1_DUTY, wDUTY);
                          break;
              
                      case 2:
                          BITEK_TxWord(VP_MAD, VP_0E80E9_PWM2_DUTY, wDUTY);
                          break;
              
                      case 3:
                          BITEK_TxByte(VP_MAD, VP_0EC_PWM3_DUTY, wDUTY);
                          break;
              
                      case 4:
                          BITEK_TxByte(VP_MAD, VP_0EE_PWM4_DUTY, wDUTY);
                          break;
                  } // switch
              
              } // VP_SetPWM_DUTY
              #endif
 464          
 465          
 466          #if (VP_SET_PWM_FREQ)
              /* -------------------------------------------------------------------
                  Name: VP_SetPWM_FREQ -
                  Purpose: This function sets the VP PWM Frequency.
                  Passed:
                  Returns: None.
                  Notes: [1]74
                 ------------------------------------------------------------------- */
              void VP_SetPWM_FREQ (
              UB8     bPWM,       // 1..4
              UW16    wFREQ       // 0..511
              )
              {
                  UB8 bData;
              
              
                  switch (bPWM)
                  {
                      case 1:
                          BITEK_TxByte(VP_MAD, VP_0E00E1_PWM1_FREQ, wFREQ);
              
                          bData = BITEK_RxByte(VP_MAD, VP_0E1_PWM1_ATTR) & ~VP_MASK_PWM1_FREQ_MSB;
                          wFREQ >>= 4;                        // 8 -> 4
C51 COMPILER V7.50   VP                                                                    02/05/2007 16:33:26 PAGE 9   

                          wFREQ &= VP_MASK_PWM1_FREQ_MSB;
                          BITEK_TxByte(VP_MAD, VP_0E1_PWM1_ATTR, bData | wFREQ);
                          break;
              
                      case 2:
                          BITEK_TxByte(VP_MAD, VP_0E50E7_PWM2_FREQ, wFREQ);
              
                          bData = BITEK_RxByte(VP_MAD, VP_0E7_PWM2_ATTR) & ~VP_MASK_PWM2_FREQ_MSB;
                          wFREQ >>= 4;                        // 8 -> 4
                          wFREQ &= VP_MASK_PWM2_FREQ_MSB;
                          BITEK_TxByte(VP_MAD, VP_0E7_PWM2_ATTR, bData | wFREQ);
                          break;
              
                      case 3:
                          BITEK_TxByte(VP_MAD, VP_0EB_PWM3_FREQ, wFREQ);
                          break;
              
                      case 4:
                          BITEK_TxByte(VP_MAD, VP_0ED_PWM4_FREQ, wFREQ);
                          break;
                  } // switch
              } // VP_SetPWM_FREQ
              #endif
 512          
 513          
 514          #if (VP_SET_PWM_REF)
              /* -------------------------------------------------------------------
                  Name: VP_SetPWM_REF -
                  Purpose: This function sets the VP PWM REF.
                  Passed:
                  Returns: None.
                  Notes: [1]86
                 ------------------------------------------------------------------- */
              void VP_SetPWM_REF (
              UB8     bPWM,       // 1..2
              UW16    wREF        // 0..1023
              )
              {
                  UB8 bData;
              
              
                  switch (bPWM)
                  {
                      case 1:
                          // LSB
                          BITEK_TxByte(VP_MAD, VP_0DF0E1_PWM1_REF, wREF);
              
                          bData = BITEK_RxByte(VP_MAD, VP_0E1_PWM1_ATTR) & ~VP_MASK_PWM1_REF_MSB;
                          wREF >>= 8;                         // 8 -> 0
                          wREF &= VP_MASK_PWM1_REF_MSB;
                          BITEK_TxByte(VP_MAD, VP_0E1_PWM1_ATTR, bData | wREF);
                          break;
              
                      case 2:
                          BITEK_TxByte(VP_MAD, VP_0E40E7_PWM2_REF, wREF);
              
                          bData = BITEK_RxByte(VP_MAD, VP_0E7_PWM2_ATTR) & ~VP_MASK_PWM2_REF_MSB;
                          wREF >>= 8;                         // 8 -> 0
                          wREF &= VP_MASK_PWM2_REF_MSB;
                          BITEK_TxByte(VP_MAD, VP_0E7_PWM2_ATTR, bData | wREF);
                          break;
                  } // switch
C51 COMPILER V7.50   VP                                                                    02/05/2007 16:33:26 PAGE 10  

              
              } // VP_SetPWM_REF
              #endif
 554          
 555          
 556          #if (VP_SET_TCON_MODE)
 557          /* -------------------------------------------------------------------
 558              Name: VP_SetTCON_Mode -
 559              Purpose: To set the video processor TCON Mode.
 560              Passed:
 561                  UB8 bTCON_Mode  TCON_MODE_RU    or
 562                                  TCON_MODE_LU    or
 563                                  TCON_MODE_LD    or
 564                                  TCON_MODE_RD
 565              Returns: None.
 566              Notes:
 567             ------------------------------------------------------------------- */
 568          void VP_SetTCON_Mode (UB8 bTCON_Mode)
 569          {
 570   1              UB8 b24;
 571   1      
 572   1      
 573   1          b24 = BITEK_RxByte(VP_MAD, VP_024_OUTPUT_DATAPATH) & VP_MASK_ACTIVE_TOTAL;
 574   1      
 575   1          switch (bTCON_Mode)
 576   1          {
 577   2              case TCON_MODE_RU:
 578   2                  BITEK_TxByte(VP_MAD, VP_024_OUTPUT_DATAPATH,  b24 | 0x0F);
 579   2                  BITEK_TxByte(VP_MAD, VP_07B_RGBOUT_DLYO,  0x05);
 580   2                  SPI_TxByte(0x05, 0x13);
 581   2                  break;
 582   2      
 583   2              case TCON_MODE_LU:
 584   2                  BITEK_TxByte(VP_MAD, VP_024_OUTPUT_DATAPATH,  b24 | 0x8B);
 585   2                  BITEK_TxByte(VP_MAD, VP_07B_RGBOUT_DLYO,  0x15);
 586   2                  SPI_TxByte(0x05, 0x12);
 587   2                  break;
 588   2      
 589   2              case TCON_MODE_LD:
 590   2                  BITEK_TxByte(VP_MAD, VP_024_OUTPUT_DATAPATH,  b24 | 0x53);
 591   2                  BITEK_TxByte(VP_MAD, VP_07B_RGBOUT_DLYO,  0x15);
 592   2                  SPI_TxByte(0x05, 0x10);
 593   2                  break;
 594   2      
 595   2              case TCON_MODE_RD:
 596   2                  BITEK_TxByte(VP_MAD, VP_024_OUTPUT_DATAPATH,  b24 | 0xC3);
 597   2                  BITEK_TxByte(VP_MAD, VP_07B_RGBOUT_DLYO,  0x15);
 598   2                  SPI_TxByte(0x05, 0x11);
 599   2                  break;
 600   2          } // switch
 601   1      } // VP_SetTCON_Mode
 602          #endif
 603          
 604          
 605          #if (VP_SET_TESTPATTERN)
              /* -------------------------------------------------------------------
                  Name: VP_SetTestPattern -
                  Purpose: VP Background and Test Pattern.
                  Passed:
                  Returns: None
                  Notes: [1]40
                 ------------------------------------------------------------------- */
C51 COMPILER V7.50   VP                                                                    02/05/2007 16:33:26 PAGE 11  

              void VP_SetTestPattern (
              UB8 bColorR,
              UB8 bColorG,
              UB8 bColorB,
              UB8 bPatternType,   // Pattern Type
              UB8 bMode           // Freerun/Background
              )
              {
                  UB8     b40;
              
              
                  b40 = BITEK_RxByte(VP_MAD, VP_040_TESTPAT_ATTR) & (VP_MASK_PATTERN_HV | VP_MASK_PATTERN_DIR);
              
                  BITEK_TxByte(VP_MAD, VP_03C_TESTPAT_R, bColorR);
                  BITEK_TxByte(VP_MAD, VP_03D_TESTPAT_G, bColorG);
                  BITEK_TxByte(VP_MAD, VP_03E_TESTPAT_B, bColorB);
              
                  BITEK_TxByte(VP_MAD, VP_040_TESTPAT_ATTR, b40 | bMode | bPatternType);
              } /* VP_SetTestPattern */
              #endif
 633          
 634          
 635          
 636          /* **********************************************************************
 637          
 638              Description:
 639          
 640             ********************************************************************** */
 641          
 642          /* %% End Of File %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    466    ----
   CONSTANT SIZE    =    161    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      11
   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 + -