📄 main.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 + -