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

📄 main.c

📁 NOVATEK公司的LCD_CONTROLLER源代码 液晶显示器驱动板源代码NT68521
💻 C
字号:
#include "MCU.H"
#include "stdio.h"
#include "8051.H"
#include "RAM.H"
#include "IIC.H"
#include "MyDef.H"
#include "F63REG.H"
#include "UserAdj.H"
#include "ModeHandle.H"
#include "Scaler.H"
#include "OSD.H"
#include "AutoAdj.H"
#include "sRGB.H"
#include "SAA7114.H"

void main(void);

void main(void) using 0
{
ReStart:
	EA = 0;
	USB_CON = 0;
	InitMCU();
	CLRWDT = 0x55;
	flag1 = 0;
	flag2 = 0;
	OSD_Type = 0;
	KeyBuffer = 0xff;
   	Timer3 = 10;
//check +5Vcc
	while(Timer3 != 0){
		ResetOn();
		Sleep(12);
		ResetOff();
		Sleep(12);
		ADC_CON = 0x17;		//Channel;  // Start AD Convert
		ADC_CON = 0x97;		//Channel;  // Start AD Convert
		while((ADC_REG[3] & BIT_7) == 0){};
		if((ADC_REG[2] & 0x7f) < 0x38){
  		 	Timer3 = 25;
		}
	}
//
	Sleep(50);
	if(Read24C16(0xe8) != 0x55){
		if((flag3 & BIT_2) != 0x00)
			printf("1. Reload EEPROM Data\r\n");
		InitEEPROM();
	}
	if(Read24C16(0xe9) != 0xaa){
		if((flag3 & BIT_2) != 0x00)
			printf("2. Reload EEPROM Data\r\n");
		InitEEPROM();
	}
	if(Read24C16(0xea) != Version){
		if((flag3 & BIT_2) != 0x00)
			printf("3. Reload EEPROM Data\r\n");
		ResetEEPROM();
	}
	if(Read24C16(0xeb) != Reversion){
		if((flag3 & BIT_2) != 0x00)
			printf("4. Reload EEPROM Data\r\n");
		ResetEEPROM();
	}
	CheckDevice();
	LoadModeIndependentSettings();
	PanelPowerOn();
	InitScaler();
	LoadFont();
	OSD_Point1 = 0;
	OSD_Point2 = 0;
	OSD_Type = 0;
	OsdInit();
	if((flag3 & BIT_2) != 0x00)
		printf("Start Program\r\n");
	SyncMode = 0;
	PoSvTimer = 500;
	Timer2 = (unsigned short)OSD_Timer * 100;
//set power status
	PowerStatus = Read24C16(0xcc);
	if(((DeviceFlag & BIT_0) == 0)&&((PowerStatus & BIT_7) > 0))
		PowerStatus &= 0x80;
	PowerStatus = 0x80;
	if((PowerStatus & BIT_7)== 0){
		PowerSaving();		//power saving befor power off
		LED_RedOff();
		LED_GrnOff();
	}
	else{
		AMP_On();
		if((Read24C16(0xcd) & BIT_0) == 0x01){	//factory mode befor power off
			flag3 |= BIT_0;
			flag2 &= BIT_5;
			if((flag3 & BIT_2) != 0x00)
				printf("Factory mode\r\n");
		}
//		AUDIO_On();
		LED_GrnOn();
	}
	rwbuf = 0;
	SetInverter();
	LoadADC_Gain();
	H_SYNC_Temp = 0xffff;
	V_SYNC_Temp = 0xffff;
	SetBrightness();
	sRGB();
	SourceSelect();
	while((flag1 & BIT_7) == 0){
		CheckRCV();
		CheckDDC2Bi();
		CheckKey();
		if((flag1 & BIT_7) != 0)		//Exit
			break;
		if(PowerStatus == 0x80){
			CheckFreq();
			SyncSource();
		}
		else if(PowerStatus > 0x80){
			CheckVideo();
			if(OSD_Type == 6){
				if((Timer2 == 0)&&(OSD_Timer != 0x00)){
					if((flag2 & BIT_1) != 0){
						flag1 &= ~BIT_1;
						ForceToBackground(1);
					}
				}
			}
		}
		if(OSD_Type != 0){
			if((OSD_Type < 4)||(OSD_Type == 6)){
				if((Timer2 == 0)&&(OSD_Timer != 0x00)){
					OSD_OFF();
				}
			}
		}
		if(MuteTimer != 0){
			if(--MuteTimer == 0)
				BackLightOn();
		}

//check ddc update
//		if((flag3 & BIT_0) != 0){
			if((DDC_REG & UPD_DDC) != 0){		//up date ddc
				SaveDDCData(1);
			}
//		}
	}
	if((flag3 & BIT_2) != 0x00)
		printf("GoTo Restart\r\n");
	goto ReStart;
}

⌨️ 快捷键说明

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