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

📄 scaler.c

📁 LV4137显示驱动,自己做的,比较简单,但很实用,MCU用的是Myson MTV512,Keil下编译
💻 C
字号:
//----------------------------------------------------------------------------------------------------
// ID Code      : Scaler.c No.0002
// Update Note  : 
//
//----------------------------------------------------------------------------------------------------

#define __SCALER__

#include "Header\Include.h"

//--------------------------------------------------
// Description  : Initial settings for scaler
// Input Value  : None
// Output Value : None
//--------------------------------------------------
void CScalerInitial(void)
{
    // Software reset for scaler

	CScalerWriteSingle(0x00, 0x38);	//SELECT COMP INPUT   NTSC   EXT VSYNC   
   	CScalerWriteSingle(0x00, 0x0c);	//SELECT COMP INPUT   NTSC   EXT VSYNC   


	CScalerWriteSingle(0x01, 0x04);	//SELECT 557X234

	CScalerWriteSingle(0x02, 0x00);	//SELECT NORMAL MODE

	CScalerWriteSingle(0x03, 0x00);	//SELECT NORMAL MODE
				
	CScalerWriteSingle(0x04, 0x10);	//H POSITION

	CScalerWriteSingle(0x05, 0x02);	//V POSITION

	CScalerWriteSingle(0x06, 0x00);	//PHASE

	CScalerWriteSingle(0x07, 0x10);	//BHLD
		
	CScalerWriteSingle(0x08, 0x00);	//NORMAL SCAN MODE

	CScalerWriteSingle(0x09, 0x0f);	//NORMAL SCAN STOP MODE

	CScalerWriteSingle(0x80, 0x80);	//TINT
	CScalerWriteSingle(0x81, 0x80);	//COLOR
	CScalerWriteSingle(0x82, 0x95);	//BRIGHT
	CScalerWriteSingle(0x83, 0x8C);	//CONTRAST
	CScalerWriteSingle(0x84, 0x80);	//R BRIGHT
	CScalerWriteSingle(0x85, 0x80);	//B BRIGHT
	CScalerWriteSingle(0x86, 0x64);	//GAMMA1 
	CScalerWriteSingle(0x87, 0x00);	//GAMMA2
	CScalerWriteSingle(0x88, 0x50);	//PCD
	CScalerWriteSingle(0x89, 0x80);	//R CONT
	CScalerWriteSingle(0x8A, 0x80);	//B CONT
	CScalerWriteSingle(0x8B, 0xAC);	//BLANK
	CScalerWriteSingle(0x8D, 0x80);	//PICTURE
	CScalerWriteSingle(0x8E, 0x80);	//USER BRIGHT
	CScalerWriteSingle(0x8F, 0x80);	//VCO    
    
    
    // Tcon for scaler
}

//----------------------------------------------------------------------------------------------------
// Scaler communication basic function
//----------------------------------------------------------------------------------------------------
void CScalerSendStop(void)
{
    CLRSCALERSCLK();
	BitDly();
    SETSCALERSCSB();
	BitDly();

}

void CScalerSendByte(BYTE ucValue)
{
    SETSCALERSDIO3((bit)(ucValue & 0x80));
	BitDly();
    SETSCALERSCLK();
	BitDly();
    CLRSCALERSCLK();
	BitDly();
    
    SETSCALERSDIO3((bit)(ucValue & 0x40));
	BitDly();
    SETSCALERSCLK();
	BitDly();
    CLRSCALERSCLK();
	BitDly();
    
    SETSCALERSDIO3((bit)(ucValue & 0x20));
	BitDly();
    SETSCALERSCLK();
	BitDly();
    CLRSCALERSCLK();
	BitDly();
    
    SETSCALERSDIO3((bit)(ucValue & 0x10));
	BitDly();
    SETSCALERSCLK();
	BitDly();
    CLRSCALERSCLK();
	BitDly();
    
    SETSCALERSDIO3((bit)(ucValue & 0x08));
	BitDly();
    SETSCALERSCLK();
	BitDly();
    CLRSCALERSCLK();
	BitDly();
    
    SETSCALERSDIO3((bit)(ucValue & 0x04));
	BitDly();
    SETSCALERSCLK();
	BitDly();
    CLRSCALERSCLK();
	BitDly();
    
    SETSCALERSDIO3((bit)(ucValue & 0x02));
	BitDly();
    SETSCALERSCLK();
	BitDly();
    CLRSCALERSCLK();
	BitDly();
    
    SETSCALERSDIO3((bit)(ucValue & 0x01));
	BitDly();
    SETSCALERSCLK();
	BitDly();
    CLRSCALERSCLK();
	BitDly();
}


//--------------------------------------------------
// Description  : Write a data array into registers of scaler
// Input Value  : ucAddr    --> Start address of register
//                ucByte    --> writing data
// Output Value : None
//--------------------------------------------------
void CScalerWriteSingle(BYTE ucAddr, WORD usByte)
{
    CLRSCALERSCSB();
	BitDly();
    CScalerSendByte(ucAddr);
    CScalerSendByte(usByte);
	BitDly();
    CScalerSendStop();
	BitDly();
	BitDly();
	BitDly();
	BitDly();
}





⌨️ 快捷键说明

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