switch.c

来自「采用台湾MRT晶捷公司的MRT4方案的液晶电视的程序」· C语言 代码 · 共 80 行

C
80
字号
/************************************************
 *                      						*
 *	SWITCH.C:  Switch Input Video Sources    	*
 *						                        *
 ************************************************/

#include <reg51.h>
#include <stddef.h>
#include "mascot.h"
#include "osd.h"
#include "global.h"

#if SRC_SI151

void switchSource(void)
{
    miscTurnOffPanel();        	// Turn off panel display

	if (eepData.MascotFlag & FLAG_PORTB) {
#if DEBUGMSG
		printf("Switch to VGA source\n");
#endif
            
        RegBitOut(0x07, 0x00, 0x04);
        RegByteOut(0x01, 0x00);

        RegBitOut(0x30, 0x00, 0x1C);

        RegByteOut(0x31, 0x00);
		eepData.MascotFlag &= ~FLAG_PORTB;
		eepDataOut(EEPDATASTART+(&eepData.MascotFlag-&eepData), (unsigned char *)&eepData.MascotFlag, 1);

#if USE_GAMMA
        RegBitOut(0x50, 0x08, 0x08);
#endif

#if (MVXPRL+MVXRL)			
		RegBitOut(0xA6, 0X00, 0X04);	//disable DVI
#endif

	    RegByteOut(0x04, 0x36);
        RegBitOut(0x07, 0x04, 0x04);
		return;
	}

//
//  Switch to port B
//

	RegBitOut(0x07, 0x00, 0x04);     // disable Int
	RegByteOut(0x01, 0x00);

#if SRC_SI151

#if DEBUGMSG
	printf("Switch source to Si151\n");
#endif


	RegBitOut(0xA6, 0X04, 0X04);	//disable DVI

#if USE_GAMMA
    RegBitOut(0x50, 0x00, 0x08);
#endif

	RegByteOut(0x31, 0x62);	
#endif 

	eepData.MascotFlag |= FLAG_PORTB;
	eepDataOut(EEPDATASTART+(&eepData.MascotFlag-&eepData), (unsigned char *)&eepData.MascotFlag, 1);
	RegByteOut(0x04, 0xCA);
	RegBitOut(0x07, 0x04, 0x04);

}

#endif //SRC_SI151



⌨️ 快捷键说明

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