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