📄 system.h
字号:
/*
********************************************************************************
*
* LCD控制程序
*
* 这是定义该程序应用系统参数的头文件
*
* 文件名 : SYSTEM.H
* 设计者 : Terry
********************************************************************************
* 功 能 描 述
*
* 1、定义系统的工作的时钟频率
* 2、MCU的各个引脚定义
* 3、所有模块的配置信息
*
********************************************************************************
*/
#ifndef __SYSTEM_H__
#define __SYSTEM_H__
//#define McuFosc 12000000L // 时钟频率
#define McuFosc 24000000L // 时钟频率
//#define McuFosc 36000000L // 时钟频率
//#define McuFosc 72000000L // 时钟频率
#define Max_Command_Number 4 // 最大的处理命令数
#define MaxVgaMode 320/sizeof(MODEREL)
#define USE_COMQUEUE 0 // (0)表示禁止,(1)表示允许。使用命令队列
#define USE_AUDIO 0 // (0)表示禁止,(1)表示允许。是否使用音频部分
#define EN_WATCHDOG 0 // (0)表示禁止,(1)表示允许,看门狗功能
#define EN_PLED_INVERSE 1 // (0)表示禁止,(1)表示允许,电源指示灯反转
#define EN_DCLK_REGULATOR 1 // (0)表示禁止,(1)表示允许,dclk进行取整操作
#define EN_85HZ_FRAME_RATE 0 // (0)表示禁止,(1)表示允许,85Hz刷新率
#define EN_BLPOWER_INVERSE 1 // (0)表示禁止,(1)表示允许,背光灯的开关极性
#define EN_BACKLIGHT_INVERSE 0 // (0)表示禁止,(1)表示允许,翻转INVERTER的调光方向
#define EN_OSDPOS_ADJ 1 // (0)表示禁止,(1)表示允许,OSD的位置调整
#define EN_MEMORY_POWER 1 // (0)表示禁止,(1)表示允许,记忆开关的状态
#define EN_ALWAYSAUTO 1 // (0)表示禁止,(1)表示允许。总是在模式切换时AUTO
#define EN_BF3ACCMODE 0
#define EN_CMWIN 0 // (0)表示禁止,(1)表示允许。
#define EN_LOGO 0 // (0)表示禁止,(1)表示允许, 开机时显示LOGO
#define EN_OSDZOOM 0 // (0)表示禁止,(1)表示允许,OSD窗口放大
#define EN_DDC_CI 0 // (0)表示禁止,(1)表示允许,DDC/CI功能 08-04-22
#define EN_ACM 0 // (0)表示禁止,(1)表示允许,ACM功能,暂时不明确 08-04-22
#define EN_720MODE 0 // (0)表示禁止,(1)表示允许,720模式功能 08-05-26
#define EN_SOURCE 0 // (0)表示禁止,(1)表示允许,SOURCE功能,暂时只用VGA 08-04-22
#define EN_COLORMANGEMENT 0 // (0)表示禁止,(1)表示允许,颜色管理功能 08-04-23
#define EN_ACEROSD 0 // (0)表示禁止,(1)表示允许,模拟ACER OSD显示 //chen 08-04-14
#define EN_NT68167_B 1 // (0)表示禁止,(1)表示允许,NT68167 B版的使用 //chen 08-05-13
#define EN_NT68167_C 0 // (0)表示禁止,(1)表示允许,NT68167 C版的使用 //chen 08-05-10
#define USE_DAEWOO 0 // (0)表示禁止,(1)表示允许,DAEWOO客户的OSD //chen 08-05-20
#define USE_MODE_GLS 1 // (0)表示禁止,(1)表示允许,GLS客户的VGA模式 //chen 08-05-20
/********************************** End ***************************************/
/*
================================================================================
= 用户名称的定义
= 用户名称一项,最大允许16个字节
================================================================================
*/
#define USER_MICRODIGITAL 0 // 麦道微电子有限公司
#define USER_KENTE 0 // 科特
#define USER_MEILIANXUN 0 // 美联讯
#define USER_ARTIST 1 // 志朋电子厂,艺术家是商标
#if USER_MICRODIGITAL
#define UserName {0x0C, _M,_I,_C,_R,_O,_D,_I,_G,_I,_T,_A,_L}
#elif USER_KENTE
#define UserName {0x05, _K,_E,_N,_T,_E}
#elif USER_ARTIST
#define UserName {0x06, _A,_R,_T,_I,_S,_T}
#else
#define UserName {0x07, _D,_E,_F,_A,_U,_L,_T}
#endif
///////////////////////////////// 定义结束 ///////////////////////////////////
/*
================================================================================
= 系统的按键数
================================================================================
*/
#define KEYNUM_5 1 // [POWER] [MENU] [+] [-] [TV/AV]
#define KEYNUM_6 0 // [POWER] [MENU] [SELECT] [+] [-] [TV/AV]
// 关于遥控器的定义
#define IRC_SCH5644 1 // (0)表示禁止,(1)表示允许。标准遥控器01, 用户码:
// 软件版本一项,最大允许4个字节
#define FWVersion {0x04, _V,_1,_0,_A}
// 发行日期一项,最大允许6个字节
#define ReleaseDate {0x0A, _2,_0,_0,_8,'/',_0,_3,'/',_0,_5}
/*
================================================================================
= 1. MLB0L8, 是PCTV的控制板, 带DVI接口
= 主控制芯片: XC2028+TW9910+NT68665
= 对于这块控制板而言, TTL接口的实际设计是: RGB的R和B交换,每一组
= 数据中的高位和低为交换
================================================================================
*/
#define MLB0L8 1 // (0)表示禁止,(1)表示允许,AD板的型号
/*
================================================================================
= MCU在应用中的引脚分配
=
= 实际应用中,需要更具具体的设计重新调整这里的定义
================================================================================
*/
#if MLB0L8
#define ADboardName {0x06, _M,_L,_B,_0,_L,_8} // AD版型号一项,最大允许6个字节
#define EN_LOWLEVEL_POWERON 0 // 0:高电平电源开,1: 低电平电源开
#define LVDS_POL_SWAP 0 // (00)正常, (80)翻转, LVDS通道的极性翻转
#define LVDS_CH_SWAP 0 // (00)正常, (40)翻转, LVDS通道循序翻转T0/T3,
// TCLK1/T1, T4/T7, TCLK2/T5
// 通常不要改变SCL/SDA的定义,采用标准的P3口可以获取比较高的IIC操作速度,其他的口
// 都会导致较慢的IIC总线速度
sbit PinBLPower = P3 ^ 0;
sbit Pin_AudioMute = P3 ^ 1;
sbit Pin_SysPower = P3 ^ 5;
#define Pin_Audio_High() XFR_PORTA |= PA0
#define Pin_Audio_Low() XFR_PORTA &= ~PA0
#define Pin_LEDG_High() XFR_PORTA |= PA2
#define Pin_LEDG_Low() XFR_PORTA &= ~PA2
#define Pin_LEDY_High() XFR_PORTA |= PA3
#define Pin_LEDY_Low() XFR_PORTA &= ~PA3
#define Pin_BLP_High() XFR_PORTA |= PA4,PinBLPower = 0
#define Pin_BLP_Low() XFR_PORTA &= ~PA4,PinBLPower = 1
#define Pin_PanelPower_High() XFR_PORTA |= PA5
#define Pin_PanelPower_Low() XFR_PORTA &= ~PA5
#define PWM_AUDIO XFR_PWM8
#endif
/*
================================================================================
= 允许以及禁止SCALAR中断的操作
================================================================================
*/
#define EnableScalarInt() XFR_INTSC_EN = 1
#define DisableScalarInt() XFR_INTSC_EN = 0
/*
================================================================================
= 看门狗的宏定义
= 对于Novatek的MCU而言,看门狗的时间间隔是0.4 - 0.5毫秒
================================================================================
*/
#if EN_WATCHDOG
#define ClearWatchDog() XFR_WDT=WDT_CLEAR
#else
#define ClearWatchDog() XFR_WDT=WDT_DISABLE
#endif
/*
********************************************************************************
* 系统定时器的参数设定
*
* 通常不要轻易改动这里的设置值,否则会导致系统运行不正常
********************************************************************************
*/
#define SYSTMR_PRIO 10 // 这是TIMER0运行的毫秒数
#define TMREVENT_TICKS 500/SYSTMR_PRIO
#define SYSTMR_DATAL (65536-SYSTMR_PRIO*(McuFosc/12000))&0xFF
#define SYSTMR_DATAH ((65536-SYSTMR_PRIO*(McuFosc/12000))>>8)&0xFF
#define BURNIN_PRIO 20
/*
********************************************************************************
* 系统中所用到的常量的定义
********************************************************************************
*/
/*
================================================================================
= 颜色通道的定义
================================================================================
*/
#define COLOR_R 0
#define COLOR_G 1
#define COLOR_B 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -