📄 autoadj.lst
字号:
716 3 printf("R4 8 : Disble Report Status\r\n");
717 3 printf("R4 9 : Enable Report Status\r\n");
718 3 printf("W4 0 dd : Set IIC BaudRate\r\n");
719 3 printf(" aaaa : 16/8 bit Address\r\n");
720 3 printf(" dd : 8 bit Data\r\n");
721 3 printf("Enter Key : For help!\r\n");
722 3 break;
723 3 case 0xe0:
724 3 Write24C16(abuf,dbuf);
725 3 printf("EEPROM: 0x%x = 0x%x\r\n",abuf,(unsigned short)dbuf);
726 3 break;
727 3 case 0xc1:
728 3 dbuf = Read24C16(abuf);
729 3 printf("EEPROM: 0x%x = 0x%x\r\n",abuf,(unsigned short)dbuf);
730 3 break;
731 3 case 0xe2:
732 3 abuf &= 0x0ff;
733 3 WriteIIC_HW(Scaler_Addr,(unsigned char)abuf,dbuf);
734 3 printf("Scaler: 0x%x = 0x%x\r\n",abuf,(unsigned short)dbuf);
735 3 break;
736 3 case 0xc3:
C51 COMPILER V7.50 AUTOADJ 03/18/2008 22:04:54 PAGE 13
737 3 abuf &= 0x0ff;
738 3 dbuf = ReadIIC_HW(Scaler_Addr,(unsigned char)abuf);
739 3 printf("Scaler: 0x%x = 0x%x\r\n",abuf,(unsigned short)dbuf);
740 3 break;
741 3 case 0xe4:
742 3 abuf &= 0x03;
743 3 switch(abuf){
744 4 case 0:
745 4 R_Gain = dbuf;
746 4 break;
747 4 case 1:
748 4 G_Gain = dbuf;
749 4 break;
750 4 case 2:
751 4 B_Gain = dbuf;
752 4 break;
753 4 }
754 3 printf("rgbGain : %x = %x\r\n",(unsigned short)abuf,(unsigned short)dbuf);
755 3 sRGB();
756 3 CmdTxBuffer[0] = 0x5a;
757 3 break;
758 3 case 0xc5:
759 3 abuf &= 0x03;
760 3 switch(abuf){
761 4 case 0:
762 4 dbuf = R_Gain;
763 4 break;
764 4 case 1:
765 4 dbuf = G_Gain;
766 4 break;
767 4 case 2:
768 4 dbuf = B_Gain;
769 4 break;
770 4 }
771 3 printf("rgbGain : %x = %x\r\n",(unsigned short)abuf,(unsigned short)dbuf);
772 3 break;
773 3 case 0xe6:
774 3 abuf &= 0x0ff;
775 3 WriteIIC_HW(SAA7114,(unsigned char)abuf,dbuf);
776 3 printf("SAA7114: 0x%x = 0x%x\r\n",abuf,(unsigned short)dbuf);
777 3 break;
778 3 case 0xc7:
779 3 abuf &= 0x0ff;
780 3 dbuf = ReadIIC_HW(SAA7114,(unsigned char)abuf);
781 3 printf("SAA7114: 0x%x = 0x%x\r\n",abuf,(unsigned short)dbuf);
782 3 break;
783 3 case 0xc9:
784 3 abuf &= 0x0ff;
785 3 switch(abuf){
786 4 case 0:
787 4 flag3 &= ~BIT_0; //burn in mode off
788 4 flag3 &= ~BIT_2; //disable report
789 4 SetADC_Offset(0x00);
790 4 printf("Set Dark OK!\r\n");
791 4 CmdTxBuffer[0] = 0x5a;
792 4 break;
793 4 case 1: //white
794 4 SetADC_Gain(0xf8);
795 4 printf("Set white OK!\r\n");
796 4 CmdTxBuffer[0] = 0x5a;
797 4 break;
798 4 case 2: //Auto Color
C51 COMPILER V7.50 AUTOADJ 03/18/2008 22:04:54 PAGE 14
799 4 AutoColor();
800 4 printf("Set Auto Color OK!\r\n");
801 4 CmdTxBuffer[0] = 0x5a;
802 4 break;
803 4 case 3: // user and 6500K
804 4 Write24C16(0xee,R_Gain); //user
805 4 Write24C16(0xef,G_Gain);
806 4 Write24C16(0xf0,B_Gain);
807 4 printf("Write USER\r\n");
808 4 Write24C16(0xf1,R_Gain); //6500K
809 4 Write24C16(0xf2,G_Gain);
810 4 Write24C16(0xf3,B_Gain);
811 4 printf("Write 6500K\r\n");
812 4 CmdTxBuffer[0] = 0x5a;
813 4 break;
814 4 case 4: //7500K
815 4 Write24C16(0xf4,R_Gain); //7500K
816 4 Write24C16(0xf5,G_Gain);
817 4 Write24C16(0xf6,B_Gain);
818 4 printf("Write 7500K\r\n");
819 4 CmdTxBuffer[0] = 0x5a;
820 4 break;
821 4 case 5: //9300K
822 4 Write24C16(0xf7,R_Gain); //9300K
823 4 Write24C16(0xf8,G_Gain);
824 4 Write24C16(0xf9,B_Gain);
825 4 printf("Write 9300K\r\n");
826 4 CmdTxBuffer[0] = 0x5a;
827 4 break;
828 4 case 6: //Auto adjust
829 4 AutoTune();
830 4 // AutoClockByPhase();
831 4 printf("Auto adjust\r\n");
832 4 CmdTxBuffer[0] = 0x5a;
833 4 break;
834 4 case 8:
835 4 flag3 &= ~BIT_2; //Disable report
836 4 printf("Disable Report Status\r\n");
837 4 break;
838 4 case 9:
839 4 flag3 |= BIT_2; //Set report
840 4 printf("Report Status\r\n");
841 4 break;
842 4 }
843 3 break;
844 3 case 0xe8: //Set IIC Baudrate
845 3 dbuf &= 0x03;
846 3 dbuf <<= 2;
847 3 IIC_BaudRate = dbuf;
848 3 printf("Set IIC Baudrate: %x\r\n",(unsigned short)dbuf);
849 3 break;
850 3 default:
851 3 RcvError();
852 3 return;
853 3 break;
854 3 }
855 2 rwbuf = 0;
856 2 abuf = 0;
857 2 dbuf = 0;
858 2 printf("OK\r\n");
859 2 return;
860 2 }
C51 COMPILER V7.50 AUTOADJ 03/18/2008 22:04:54 PAGE 15
861 1 if((rwbuf & 0x80) == 0){ //function
862 2 switch(i){
863 3 case 0x30:
864 3 case 0x31:
865 3 case 0x32:
866 3 case 0x33:
867 3 case 0x34:
868 3 i = i & 0x0f;
869 3 i = i << 1;
870 3 rwbuf = rwbuf + i;
871 3 rwbuf |= 0x80;
872 3 break;
873 3 case 0x57: //W
874 3 case 0x77: //w
875 3 rwbuf &= 0xfe;
876 3 break;
877 3 case 0x52: //R
878 3 case 0x72: //r
879 3 rwbuf |= 0x01;
880 3 break;
881 3 default:
882 3 printf("\r\n");
883 3 RcvError();
884 3 break;
885 3 }
886 2 }
887 1 else{ //address or data
888 2 if(i == 0x20){
889 3 if((rwbuf & 0x40) == 0){
890 4 rwbuf |= 0x40;
891 4 }
892 3 else{
893 4 if((rwbuf & 0x20) == 0){
894 5 rwbuf |= 0x20;
895 5 }
896 4 else{
897 5 RcvError();
898 5 }
899 4 }
900 3 return;
901 3 }
902 2 if((i > 0x2f)&&(i < 0x3a)){
903 3 i &= 0x0f;
904 3 }
905 2 else{
906 3 if(i > 0x60){
907 4 i = i - 0x20;
908 4 }
909 3 if(i > 0x40){
910 4 i = i - 0x07;
911 4 }
912 3 if((i > 0x39)&&(i < 0x40)){
913 4 i &= 0x0f;
914 4 }
915 3 else{
916 4 RcvError();
917 4 return;
918 4 }
919 3 }
920 2 if((rwbuf & 0x60) == 0x40){
921 3 abuf <<= 4;
922 3 abuf += i;
C51 COMPILER V7.50 AUTOADJ 03/18/2008 22:04:54 PAGE 16
923 3 }
924 2 if((rwbuf & 0x60) == 0x60){
925 3 dbuf <<= 4;
926 3 dbuf += i;
927 3 }
928 2 }
929 1 }
930
931 void RcvError(void)
932 {
933 1 while(TI == 0){}
934 1 printf("\nError\r\n");
935 1 rwbuf = 0;
936 1 abuf = 0;
937 1 dbuf = 0;
938 1 }
939
940
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 5463 ----
CONSTANT SIZE = 927 ----
XDATA SIZE = ---- 26
PDATA SIZE = ---- ----
DATA SIZE = ---- 77
IDATA SIZE = ---- ----
BIT SIZE = ---- 3
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -