useradj.lst

来自「台湾联咏NT68663 LCD MONITOR 控制程序(完整版)」· LST 代码 · 共 1,350 行 · 第 1/4 页

LST
1,350
字号
 317   5      							SetFuncMaxMin();
 318   5      							break;
 319   5      						};
 320   4      					}
 321   3      			}
 322   2      		if(SaveFlag)
 323   2      			{
 324   3      			SavePointer = FuncPtr;
 325   3      			SaveTimer = SAVE_FUNC_TIME;
 326   3      			}
 327   2      		}
 328   1      //Factory Menu -----------------------------------------------------------
 329   1      	if(MenuPtr.Menu == 2)	//fact menu
 330   1      		{
 331   2      		//if(MenuPtr.Level == 1)
 332   2      			//FuncPtr = FactmenuItem[MenuPtr.Ptr];
 333   2      			FuncPtr = FactItem[MenuPtr.Ptr].Index;
 334   2      		if(FuncPtr >= pFACTMENU)		//digital control
 335   2      			{
 336   3      			if(/*MenuPtr.Op == oINCVAL || MenuPtr.Op == oDECVAL || */MenuPtr.Op == oENTER)
 337   3      				{
 338   4      				switch(FuncPtr)
 339   4      					{
 340   5      					case pAUTOCOLOR:
 341   5      						if(FuncBuf[pVIDEOSOURCE] == 0)
 342   5      							{
 343   6      							Osd_Off();
 344   6      							ShowMessage(MSG_AUTOCOLOR);
 345   6      							AutoColor();
 346   6      							Osd_Off();
 347   6      							MenuPtr.Menu = 2;
 348   6      							MenuPtr.Ptr = 0;
 349   6      							MenuPtr.Page = 0;
 350   6      							MenuPtr.Level = 0;
 351   6      							MenuPtr.Op = oUPDATEALL;
 352   6      							}
 353   5      						break;
 354   5      					case pEEPROMINIT:
 355   5      						Osd_Off();
 356   5      						ShowMessage(MSG_EEPROMINIT);
 357   5      						InitEEPROM();
 358   5      						Recall(1);
 359   5      						LoadADC_Gain();
 360   5      						Osd_Off();
 361   5      						MenuPtr.Menu = 2;
 362   5      						MenuPtr.Ptr = 1;
C51 COMPILER V6.12  USERADJ                                                                03/05/2008 14:34:52 PAGE 7   

 363   5      						MenuPtr.Page = 0;
 364   5      						MenuPtr.Level = 0;
 365   5      						MenuPtr.Op = oUPDATEALL;
 366   5      						break;
 367   5      					case pAUTOADJUST:	//lo_cs
 368   5      						if(FuncBuf[pVIDEOSOURCE] == 0)
 369   5      							{
 370   6      							Osd_Off();
 371   6      							ShowMessage(MSG_AUTOTUNE);
 372   6      							AutoTune();	
 373   6      							Osd_Off();
 374   6      							MenuPtr.Menu = 2;
 375   6      							MenuPtr.Ptr = 0;
 376   6      							MenuPtr.Page = 0;
 377   6      							MenuPtr.Level = 0;
 378   6      							MenuPtr.Op = oUPDATEALL;
 379   6      							}
 380   5      						break;
 381   5      					};
 382   4      				}
 383   3      			}
 384   2      		else
 385   2      			{
 386   3      			GetFuncRange(FuncPtr);
 387   3      			if(MenuPtr.Op == oDECVAL || MenuPtr.Op == oINCVAL)
 388   3      				{
 389   4      				SetFuncMaxMin();
 390   4      				switch(FuncPtr)
 391   4      					{
 392   5      					case pBRIGHTNESS:
 393   5      						SetBrightness();
 394   5      						//SaveFlag = 1;
 395   5      						break;
 396   5      					case pRCOLOR:
 397   5      					case pGCOLOR:
 398   5      					case pBCOLOR:
 399   5      						//FuncBuf[pCOLORTEMP] = (MenuPtr.Ptr - 9)/3;
 400   5      						//LoadColor(FuncBuf[pCOLORTEMP]);
 401   5      						//GetFuncRange(FuncPtr);
 402   5      						SetContrast();
 403   5      						//SaveFlag = 1;
 404   5      						break;
 405   5      					case pBACKLIGHT:
 406   5      						SetInverter();
 407   5      						//SaveFlag = 1;
 408   5      						break;
 409   5      					case pRADC:
 410   5      						SetADCGain(pRADC);
 411   5      						//SaveFlag = 1;
 412   5      						break;
 413   5      					case pGADC:
 414   5      						SetADCGain(pGADC);
 415   5      						//SaveFlag = 1;
 416   5      						break;
 417   5      					case pBADC:
 418   5      						SetADCGain(pBADC);
 419   5      						//SaveFlag = 1;
 420   5      						break;
 421   5      					case pROFFSET:
 422   5      						SetADCOffset(pROFFSET);
 423   5      						//SaveFlag = 1;
 424   5      						break;
C51 COMPILER V6.12  USERADJ                                                                03/05/2008 14:34:52 PAGE 8   

 425   5      					case pGOFFSET:
 426   5      						SetADCOffset(pGOFFSET);
 427   5      						//SaveFlag = 1;
 428   5      						break;
 429   5      					case pBOFFSET:
 430   5      						SetADCOffset(pBOFFSET);
 431   5      						//SaveFlag = 1;
 432   5      						break;
 433   5      					case pVCMVOL:
 434   5      						SetVCM_Vol();
 435   5      						//SaveFlag = 1;
 436   5      						break;
 437   5      					case pCONTRAST:
 438   5      						SetContrast();
 439   5      						//SaveFlag = 1;
 440   5      						break;
 441   5      					case pContMax:
 442   5      					case pContMin:
 443   5      					case pBrigMax:
 444   5      					case pBrigMin:
 445   5      						//SaveFlag = 1;
 446   5      						break;
 447   5      					};
 448   4      				SaveFlag = 1;
 449   4      				SavePointer = FuncPtr;
 450   4      				SaveTimer = SAVE_FUNC_TIME;
 451   4      				}
 452   3      			else
 453   3      				if(MenuPtr.Op == oINCFUNC || MenuPtr.Op == oDECFUNC)
 454   3      				{
 455   4      					switch(FuncPtr)
 456   4      					{
 457   5      						case pRCOLOR:
 458   5      						case pGCOLOR:
 459   5      						case pBCOLOR:
 460   5      							FuncBuf[pCOLORTEMP] = (MenuPtr.Ptr - 11)/3;
 461   5      							LoadColor(FuncBuf[pCOLORTEMP]);
 462   5      							SetContrast();
 463   5      							break;
 464   5      						default:
 465   5      							FuncBuf[pCOLORTEMP] = 3;
 466   5      							LoadColor(FuncBuf[pCOLORTEMP]);
 467   5      							SetContrast();
 468   5      							break;
 469   5      					};
 470   4      				}
 471   3      			}
 472   2      		}
 473   1      	//Trubo Menu -----------------------------------------------------------
 474   1      		if(MenuPtr.Menu == 4 && MenuPtr.Level == 1)	//fact menu
 475   1      			{
 476   2      			if(EconomyMode){
 477   3      				TextMode = 0; 
 478   3      				EconomyMode =~EconomyMode;
 479   3      				FuncBuf[pBACKLIGHT] = 0x7f;
 480   3      			}
 481   2      			else
 482   2      			{
 483   3      				if(TextMode)
 484   3      				{
 485   4      					EconomyMode = 1;
 486   4      					FuncBuf[pBACKLIGHT] = 0x2e;
C51 COMPILER V6.12  USERADJ                                                                03/05/2008 14:34:52 PAGE 9   

 487   4      				}
 488   3      				else{
 489   4      					EconomyMode = 0;
 490   4      					TextMode = ~TextMode; 
 491   4      					FuncBuf[pBACKLIGHT] = 0x49;
 492   4      				}
 493   3      			}
 494   2      			SetInverter();
 495   2      			Write24C16(ep_Status,StatusFlag);
 496   2      			Write24C16(ep_BackLight,(Byte)FuncBuf[pBACKLIGHT]);
 497   2      			}
 498   1      	
 499   1      }
 500          
 501          void SetFuncMaxMin()
 502          {
 503   1      	Byte code PolTab[7]={oINCVAL,oDECVAL,oDECVAL,oINCVAL,oINCFUNC,oDECFUNC,oUPDATE};
 504   1      	Byte Polary,Units;
 505   1      	bit Type;
 506   1      	Word Min,Max;
 507   1      	if(FuncPtr >= pFACTMENU)
 508   1      		return;
 509   1      	Type = 0;
 510   1      	switch(FuncPtr)
 511   1      		{
 512   2      		case pHPOSITION:
 513   2      // Jacky 0201 removed
 514   2      //		case pOSDVPOSITION:
 515   2      			Max = FuncMax;	//limited
 516   2      			Min = FuncMin;
 517   2      			Polary = 2;
 518   2      			Units = 1;
 519   2      			break;
 520   2      		case pVIDEOSOURCE:	//cycle
 521   2      			Type = 1;
 522   2      			Max = FuncMax;
 523   2      			Min = FuncMin;
 524   2      			Polary = 6;
 525   2      			Units = 1;
 526   2      			break;
 527   2      		case pCOLORTEMP:
 528   2      		case pOSDHPOSITION:
 529   2      		case pLANGUAGE:
 530   2      		//case pSHARPNESS:
 531   2      		//case pVCMVOL:
 532   2      			Max = FuncMin;
 533   2      			Min = FuncMax;
 534   2      			Polary = 0;
 535   2      			Units = 1;
 536   2      			break;
 537   2      		case pVOLUME:
 538   2      		case pOSDTIMER:
 539   2      			Max = FuncMax;
 540   2      			Min = FuncMin;
 541   2      			Polary = 0;
 542   2      			Units = 5;
 543   2      			break;
 544   2      		default:
 545   2      			Max = FuncMax;
 546   2      			Min = FuncMin;
 547   2      			Polary = 0;
 548   2      			Units = 1;
C51 COMPILER V6.12  USERADJ                                                                03/05/2008 14:34:52 PAGE 10  

 549   2      			break;
 550   2      		};
 551   1      	if(!Type)
 552   1      		{
 553   2      		if(MenuPtr.Op == PolTab[Polary])
 554   2      			{
 555   3      			if(FuncBuf[FuncPtr] < FuncMax && (FuncBuf[FuncPtr] + Units) <= FuncMax)
 556   3      				FuncBuf[FuncPtr] = FuncBuf[FuncPtr] + Units;
 557   3      				//FuncBuf[FuncPtr]++;
 558   3      			else
 559   3      				FuncBuf[FuncPtr] = Max;
 560   3      			}
 561   2      		if(MenuPtr.Op == PolTab[Polary+1])
 562   2      			{
 563   3      			if(FuncBuf[FuncPtr] > FuncMin && FuncBuf[FuncPtr] >= Units)
 564   3      				FuncBuf[FuncPtr] = FuncBuf[FuncPtr] - Units;
 565   3      				//FuncBuf[FuncPtr]--;
 566   3      			else
 567   3      				FuncBuf[FuncPtr] = Min;
 568   3      			}
 569   2      		}
 570   1      	else
 571   1      	{
 572   2      /*
 573   2      		if(MenuPtr.Op == PolTab[Polary])
 574   2      			{
 575   2      			if(VideoSourcePtr< FuncMax)
 576   2      				VideoSourcePtr++;
 577   2      			else
 578   2      				VideoSourcePtr = Max;
 579   2      			}
 580   2      		if(MenuPtr.Op == PolTab[Polary+1])
 581   2      			{
 582   2      			if(VideoSourcePtr > FuncMin)
 583   2      				VideoSourcePtr--;
 584   2      			else
 585   2      				VideoSourcePtr = Min;
 586   2      			}
 587   2      */
 588   2      		if((MenuPtr.Op == PolTab[Polary]))
 589   2      		{
 590   3      			if(FuncBuf[FuncPtr] > FuncMax)
 591   3      				FuncBuf[FuncPtr] = Max;
 592   3      		}
 593   2      	}
 594   1      }
 595          
 596          void GetFuncRange(Byte Ptr)
 597          {
 598   1      	FuncMin = 0;
 599   1      	switch(Ptr)
 600   1      		{
 601   2      		case pBRIGHTNESS:
 602   2      			FuncMax = 100;
 603   2      			//FuncMax = 255;
 604   2      			break;
 605   2      		case pCONTRAST:
 606   2      			FuncMax = FuncBuf[pContMax];
 607   2      			FuncMin= FuncBuf[pContMin];
 608   2      			//FuncMin = 20;
 609   2      			//FuncMax = 80;
 610   2      			break;
C51 COMPILER V6.12  USERADJ                                                                03/05/2008 14:34:52 PAGE 11  

 611   2      		case pPHASE:
 612   2      			FuncMax = 0x3f;
 613   2      			break;
 614   2      		case pCLOCK:
 615   2      			FuncMax = ClockBase + 50;
 616   2      			FuncMin = ClockBase - 50;
 617   2      			//FuncMax = ClockBase / 10 * 11;		///10%
 618   2      			//FuncMin = ClockBase / 10 * 9;
 619   2      			break;
 620   2      		case pBACKLIGHT:
 621   2      		case pBACKLIGHT2:
 622   2      			FuncMax = FuncBuf[pBrigMax];
 623   2      			FuncMin= FuncBuf[pBrigMin];
 624   2      			//FuncMax = 0x7f;
 625   2      			break;
 626   2      		case pHPOSITION:
 627   2      			if(ModePoint >= UserModeSt){
 628   3      			// Set Minimum and Maximum
 629   3      				FuncMin = 1;
 630   3      				FuncMax = ClockBase - Hresolution - 2;
 631   3      			}
 632   2      			else{
 633   3      			// Set Minimum and Maximum
 634   3      				if(HPositionBase > (ClockBase - Hresolution)/4)
 635   3      					FuncMin = HPositionBase - (ClockBase - Hresolution)/4;
 636   3      				else
 637   3      					FuncMin = 1;
 638   3      				FuncMax = HPositionBase + (ClockBase - Hresolution)/4;
 639   3      			}
 640   2      			//if(FuncBuf[pHPOSITION] > (ClockBase - Hresolution)){
 641   2      			//	FuncMax = ClockBase - Hresolution - 2;
 642   2      			//}
 643   2      			
 644   2      			//FuncMin = 1;

⌨️ 快捷键说明

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