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

📄 scaler.lst

📁 NT68521源代码
💻 LST
📖 第 1 页 / 共 4 页
字号:
 673   1              value = Inverter * 2 + Inverter/2;
 674   1              PWM_REG[15] = value;
 675   1              if((flag3 & BIT_2) != 0x00){
 676   2                      printf("Inverter = %x\r\n",(unsigned short)value);
 677   2              }
 678   1      }
 679          /*
 680          void SetContrast(void)
 681          {
 682          unsigned char value,k;
 683                  if((flag3 & BIT_2) != 0x00){
 684                          printf("Contrast = %x\r\n",(unsigned short)Contrast);
 685                  }
 686          
 687                  if((flag3 & BIT_0) != 0){
 688          //              k = Contrast * 2 + 28;          //28 ---- 228
 689                          k = Contrast + 78;              //78 ---- 178
 690                          value = R_Gain;
 691                          value = ((unsigned short)value * k + 64) / 128;
 692                          WriteIIC_HW(Scaler_Addr,0x69,value);
 693                          if((flag3 & BIT_2) != 0x00){
 694                                  printf("R of ASIC = %x\r\n",(unsigned short)value);
 695                          }
 696                          value = G_Gain;
 697                          value = ((unsigned short)value * k + 64) / 128;
 698                          WriteIIC_HW(Scaler_Addr,0x6a,value);
 699                          if((flag3 & BIT_2) != 0x00){
 700                                  printf("G of ASIC = %x\r\n",(unsigned short)value);
 701                          }
 702                          value = B_Gain;
 703                          value = ((unsigned short)value * k + 64) / 128;
 704                          WriteIIC_HW(Scaler_Addr,0x6b,value);
 705                          if((flag3 & BIT_2) != 0x00){
 706                                  printf("B of ASIC = %x\r\n",(unsigned short)value);
 707                          }
 708                  }
 709                  else{
 710          //              k = (100 - Contrast) + 78;
 711                          k = 178 - Contrast;
 712                          value = ((unsigned short)R_ADC * k + 64) / 128;
 713                          WriteIIC_HW(Scaler_Addr,0x02,value);
 714                          value = ((unsigned short)G_ADC * k + 64) / 128;
 715                          WriteIIC_HW(Scaler_Addr,0x04,value);
 716                          value = ((unsigned short)B_ADC * k + 64) / 128;
 717                          WriteIIC_HW(Scaler_Addr,0x06,value);
 718                  
 719                          WriteIIC_HW(Scaler_Addr,0x69,R_Gain);
 720                          if((flag3 & BIT_2) != 0x00){
 721                                  printf("R of ASIC = %x\r\n",(unsigned short)R_Gain);
 722                          }
 723                          WriteIIC_HW(Scaler_Addr,0x6a,G_Gain);
 724                          if((flag3 & BIT_2) != 0x00){
 725                                  printf("G of ASIC = %x\r\n",(unsigned short)G_Gain);
 726                          }
 727                          WriteIIC_HW(Scaler_Addr,0x6b,B_Gain);
 728                          if((flag3 & BIT_2) != 0x00){
 729                                  printf("B of ASIC = %x\r\n",(unsigned short)B_Gain);
 730                          }
 731                  }
 732          }
C51 COMPILER V7.50   SCALER                                                                03/18/2008 22:04:56 PAGE 13  

 733          */
 734          void ForceToBackground(unsigned char color)
 735          {
 736   1              if(((flag1 & BIT_1) == 0)||((flag3 & BIT_0) != 0)){
 737   2                      flag1 |= BIT_1;         //Set fource to background
 738   2                      if((flag3 & BIT_2) != 0x00){
 739   3                              printf("Force To Background %x\r\n",(unsigned short)color);
 740   3                      }
 741   2                      color <<= 2;
 742   2                      color |= 0x02;
 743   2                      WriteIIC_HW(Scaler_Addr,0x4d,color);
 744   2              }
 745   1      }
 746          
 747          void SetDisplayNormal(void)
 748          {
 749   1              flag1 &= ~BIT_5;
 750   1              flag1 &= ~BIT_1;
 751   1              CLRWDT = 0x55;
 752   1              Sleep(200);
 753   1              CLRWDT = 0x55;
 754   1              Sleep(200);
 755   1              CLRWDT = 0x55;
 756   1              WriteIIC_HW(Scaler_Addr,0x4d,0x00);             //comeback to image
 757   1      //
 758   1              if(PanelShortHsync == 1){
 759   2                      WriteIIC_HW(Scaler_Addr,0x74,0x13);
 760   2                      WriteIIC_HW(Scaler_Addr,0x75,0x03);
 761   2              }
 762   1      //
 763   1              MuteTimer = 255;
 764   1              if((flag3 & BIT_2) != 0x00){
 765   2                      printf("Set Display Normal\r\n");
 766   2              }
 767   1      }
 768          
 769          void PowerSaving(void)
 770          {
 771   1      //      OSD_OFF();
 772   1              OSD_Control &= ~BIT_0;
 773   1              WriteIIC_HW(Scaler_Addr,0x95,OSD_Control);
 774   1              AUDIO_MUTE();
 775   1              ForceToBackground(0);
 776   1              BackLightOff();
 777   1              Sleep(PowerDownInvTiming);
 778   1              ScalerPowerDown();
 779   1              AMP_STBY();
 780   1              if((flag3 & BIT_2) != 0x00){
 781   2                      printf("Power Saving\r\n");
 782   2              }
 783   1      }
 784          
 785          void ScalerPowerDown(void)
 786          {
 787   1         // for Scaler Power Down process
 788   1              if(Use_TCON != 0){
 789   2                      WriteIIC_HW(Scaler_Addr,0xff,0x01);
 790   2                      WriteIIC_HW(Scaler_Addr,0x08,0x00);
 791   2                      WriteIIC_HW(Scaler_Addr,0xff,0x00);
 792   2              }
 793   1      //      WriteIIC_HW(Scaler_Addr,0x03,0x00);
 794   1      //      WriteIIC_HW(Scaler_Addr,0x05,0x00);
C51 COMPILER V7.50   SCALER                                                                03/18/2008 22:04:56 PAGE 14  

 795   1      //      WriteIIC_HW(Scaler_Addr,0x07,0x00);
 796   1              WriteIIC_HW(Scaler_Addr,0x4c,0x00);
 797   1              WriteIIC_HW(Scaler_Addr,0x6f,0x00);
 798   1              WriteIIC_HW(Scaler_Addr,0xE8,0x00);
 799   1              WriteIIC_HW(Scaler_Addr,0xfa,0x00);
 800   1              WriteIIC_HW(Scaler_Addr,0xfb,0x00);
 801   1              WriteIIC_HW(Scaler_Addr,0xfe,0x00);
 802   1              WriteIIC_HW(Scaler_Addr,0x00,0x07);
 803   1              Sleep(PowerDownPanelTiming);
 804   1              PanelPowerOff();                //panle power off
 805   1              Timer4 = 100;           //delay 1 second for power on/off
 806   1      }
 807          
 808          void ScalerPowerUp(void)
 809          {
 810   1              if((ReadIIC_HW(Scaler_Addr,0x00) & BIT_0) != 0){
 811   2                      AMP_On();
 812   2      #if PanelPowerActive == High
 813   2      //              if((PortC & BIT_1) == 0x00){
 814   2                      if((PortC & BIT_1) != 0x00){
 815   3      #else
                              if((PortC & BIT_1) != 0x00){
              #endif
 818   3                              while(Timer4 != 0){};
 819   3                              PanelPowerOn();
 820   3                              Sleep(PowerUpPanelTiming);
 821   3                      }
 822   2                      if(Use_TCON == 0){
 823   3                              WriteIIC_HW(Scaler_Addr,0xfa,0x00);
 824   3                              WriteIIC_HW(Scaler_Addr,0xfb,0x00);
 825   3                              WriteIIC_HW(Scaler_Addr,0xfe,0xc0);
 826   3                      }
 827   2                      else{
 828   3                              WriteIIC_HW(Scaler_Addr,0xfa,0xc0);
 829   3                              WriteIIC_HW(Scaler_Addr,0xfb,0x00);
 830   3                              WriteIIC_HW(Scaler_Addr,0xfe,0xc1);
 831   3                              WriteIIC_HW(Scaler_Addr,0xff,0x01);
 832   3                              WriteIIC_HW(Scaler_Addr,0x08,0x10);
 833   3                              WriteIIC_HW(Scaler_Addr,0xff,0x00);
 834   3                      }
 835   2                      WriteIIC_HW(Scaler_Addr,0xe8,0x80);
 836   2                      WriteIIC_HW(Scaler_Addr,0x6f,0x0f);
 837   2      //              WriteIIC_HW(Scaler_Addr,0x07,0x00);
 838   2      //              WriteIIC_HW(Scaler_Addr,0x05,0x00);
 839   2      //              WriteIIC_HW(Scaler_Addr,0x03,0x00);
 840   2                      WriteIIC_HW(Scaler_Addr,0x4c,DisplayControl);
 841   2                      WriteIIC_HW(Scaler_Addr,0x00,0x30);
 842   2                      SetBrightness();
 843   2                      sRGB();
 844   2      //              AUDIO_On();
 845   2              }
 846   1              PoSvTimer = 500;
 847   1              flag1 &= ~BIT_3;
 848   1              H_SYNC_Temp = 0xffff;
 849   1              V_SYNC_Temp = 0xffff;
 850   1              if((flag3 & BIT_2) != 0x00){
 851   2                      printf("WakeUp\r\n");
 852   2              }
 853   1      }
 854          
 855          void LoadADC_Gain(void)
 856          {
C51 COMPILER V7.50   SCALER                                                                03/18/2008 22:04:56 PAGE 15  

 857   1              WriteIIC_HW(Scaler_Addr,0x0f,Read24C16(0xfa));
 858   1              WriteIIC_HW(Scaler_Addr,0x10,Read24C16(0xfb));
 859   1              WriteIIC_HW(Scaler_Addr,0x11,Read24C16(0xfc));
 860   1              R_ADC = Read24C16(0xfd);
 861   1              WriteIIC_HW(Scaler_Addr,0x02,R_ADC);
 862   1              G_ADC = Read24C16(0xfe);
 863   1              WriteIIC_HW(Scaler_Addr,0x04,G_ADC);
 864   1              B_ADC = Read24C16(0xff);
 865   1              WriteIIC_HW(Scaler_Addr,0x06,B_ADC);
 866   1      }
 867          
 868          void SetVolume(void)
 869          {
 870   1      unsigned char value;
 871   1      //      if(PowerStatus != 0x80)
 872   1      //      {
 873   1      //              value = (Volume << 1) + Volume / 2;
 874   1                      value = (Volume << 1) + 50;
 875   1                      PWM_REG[11] = value;
 876   1                      if(Volume == 0)
 877   1                              AUDIO_MUTE();
 878   1                      else
 879   1                              AUDIO_On();
 880   1      //      }
 881   1              if((flag3 & BIT_2) != 0x00){
 882   2                      printf("Volume = %x\r\n",(unsigned short)value);
 883   2              }
 884   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   4633    ----
   CONSTANT SIZE    =    556    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      61
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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