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

📄 userprefdef.h

📁 LCD OSD 程序用於8051 開發lcd
💻 H
字号:

#ifndef _UserPrefDefH_
#define _UserPrefDefH_


#include <stddef.h>

typedef struct
{ BYTE MonitorFlag; 		// 0
  BYTE Brightness; 		// 1
  BYTE AdcRedGain; 		// 2
  BYTE AdcGreenGain;		// 3
  BYTE AdcBlueGain;		// 4


 BYTE AdcRedOffset;		// 5
 BYTE AdcGreenOffset;	// 6
 BYTE AdcBlueOffset;		// 7
  

  BYTE Contrast;			// 8
#if 1
  BYTE ColorTemp;		// 9
  BYTE ColorTemp1;		// 10

  BYTE RedColorOffset;	// 11
  BYTE GreenColorOffset;	// 12
  BYTE BlueColorOffset;	// 13

  
  BYTE Spread;			// 14
#endif
  BYTE RedColor;			// 15
  BYTE GreenColor;		// 16
  BYTE BlueColor;			// 17
  BYTE RedColor9300K;	// 18
  BYTE GreenColor9300K;	// 19
  BYTE BlueColor9300K;	// 20
  BYTE RedColor6500K;	// 21
  BYTE GreenColor6500K;	// 22
  BYTE BlueColor6500K;	// 23

  BYTE Sharpness;		// 24
  
  BYTE Language;			// 25
  BYTE OsdHStart;			// 26
  BYTE OsdVStart;			// 27
  BYTE OsdTime;			// 28
  BYTE BankNo;			// 29
  BYTE Addr;				// 30
  BYTE Value;				// 31
  
  BYTE InputType;		// 32
  BYTE Volume;                  //33
  BYTE checksum;			// 34
} MonitorSettingType;

typedef struct
{
	WORD HTotal;		// 0, 1
	WORD HStart;		// 2, 3
	WORD VStart;		// 4, 5
	WORD AutoHStart;	// 6, 7
	WORD AutoVStart;	// 6, 7   
	BYTE Phase;			// 8
	BYTE AutoTimes;		// 9
  
	BYTE checksum;		// 10
} ModeSettingType;

typedef struct
{
	WORD HorFreq;		// 0, 1
	WORD VerFreq;		// 2, 3
	BYTE Flags;			// 4
} ModeInfoType;


//#define ChecksumValue	0x55
#define ChecksumValue	0x5A

#define BoardChecksum	0xAA

//==========================================================================
//==========================================================================
#define NumberOfMode		50
#define ModeNumber			15
// NVRAM address configuration
#define NVRamAddress_Base	0
#define MonitorSettingSize	sizeof(MonitorSettingType)
#define ModeSettingSize		sizeof(ModeSettingType)
#define ModeInfoSize			sizeof(ModeInfoType)

typedef enum
{
	MonitorSettingAddr = NVRamAddress_Base,								// 34-byte, Start address 0x0000, Length 0x0022
	ModeSettingAddr = MonitorSettingAddr+MonitorSettingSize,					// 550-byte, Start address 0x0022, Length 0x0226
	UserModeSettingAddr = ModeSettingAddr+ModeSettingSize*NumberOfMode,	// 550-byte, Start address 0x0248, Length 0x0226
//	ModeInfoAddr = UserModeSettingAddr+ModeSettingSize*NumberOfMode,		// Start ddress 0x461
	ModeInfoAddr = UserModeSettingAddr+ModeSettingSize*ModeNumber,		// Start ddress 0x461
	ModeInfoAddrEnd = ModeInfoAddr + ModeInfoSize*NumberOfMode,			// 250-byte, The end of address is 0x0568

	Factory9300KBrightnessAddr		=0x790,
	Factory9300KContrastAddr		=0x791,
	Factory9300KRedColorAddr		=0x792,
	Factory9300KGreenColorAddr		=0x793,
	Factory9300KBlueColorAddr		=0x794,

	Factory6500KBrightnessAddr		=0x7A5,
	Factory6500KContrastAddr		=0x796,
	Factory6500KRedColorAddr		=0x797,
	Factory6500KGreenColorAddr		=0x798,
	Factory6500KBlueColorAddr		=0x799,

	FactoryUserContrastAddr			=0x79A,
	FactoryUserRedColorAddr		=0x79B,
	FactoryUserGreenColorAddr		=0x79C,
	FactoryUserBlueColorAddr		=0x79D,

	UserContrastAddr				=0x79E,
	UserRedColorAddr				=0x79F,
	UserGreenColorAddr				=0x7A0,
	UserBlueColorAddr				=0x7A1,

	BlacklitTimeAddr					=0x7E0,
	CheckBoardAddr					=0x2F0
} NVRamAddress;

#define adrMonitorSetting_Base		NVRamAddress_Base
#define adrModeSetting_Base			NVRamAddress_Base + MonitorSettingSize

#define nvrMonitorAddr(member)		MonitorSettingAddr + offsetof( MonitorSettingType, member )
//#define nvrModeSettingBaseAddr	(UserModeFlag)?(UserModeSettingAddr):(ModeSettingAddr)
#define nvrModeSettingBaseAddr		ModeSettingAddr + ( WORD )NumberOfMode * ModeSettingSize * ( UserModeFlag >> 6 )
//#define nvrModeBaseAddr(modeIndex)	ModeSettingAddr+modeIndex*ModeSettingSize
#define nvrModeBaseAddr(modeIndex)	nvrModeSettingBaseAddr + ( WORD ) modeIndex* ModeSettingSize

//#define nvrModeAddr(member)		nvrModeBaseAddr(SrcModeIndex)+offsetof(ModeSettingType, member)
#define nvrModeAddr(member)		nvrModeBaseAddr( SaveIndex ) + offsetof( ModeSettingType, member )


#define nvrModeInfoBaseAddr			ModeInfoAddr+(WORD)ModeNumber*ModeInfoSize*(UserModeFlag>>6)
#define nvrModeInfoAddr(modeIndex)	nvrModeInfoBaseAddr+(WORD)modeIndex*ModeInfoSize


#endif		// _UserPrefDefH_

⌨️ 快捷键说明

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