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

📄 autoadj.lst

📁 NT68521源代码
💻 LST
📖 第 1 页 / 共 4 页
字号:
 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 + -