📄 scaler.lst
字号:
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 + -