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

📄 declare.h

📁 keil C51 LCD 驱动源码,其中还有I2C驱动,ADC驱动,键盘操作等,是一个完整的keil源代码,供大家参考
💻 H
📖 第 1 页 / 共 2 页
字号:
#define  TIME_80MS         (   80/TIME_BASE)            /*  80ms */
#define  TIME_50MS         (   50/TIME_BASE)            /*   50ms */
#define  TIME_32MS         (   32/TIME_BASE)            /*   32ms */
#define  TIME_30MS         (   30/TIME_BASE)            /*   30ms */
#define  TIME_28MS         (   28/TIME_BASE)            /*   28ms */
#define  TIME_24MS         (   24/TIME_BASE)            /*   24ms */
#define  TIME_20MS         (   20/TIME_BASE)            /*   20ms */
#define  TIME_16MS         (   16/TIME_BASE)            /*   16ms */
#define  TIME_12MS         (   12/TIME_BASE)            /*   12ms */
#define  TIME_10MS         (   10/TIME_BASE)            /*   10ms */
#define  TIME_8MS          (    8/TIME_BASE)            /*    8ms */

#define  CLOCK_BASE      2
#define  CLOCK_4MS       (65536 - 8000 / CLOCK_BASE + 21 )
#define  CLOCK_4096us    (65536 - 8192 / CLOCK_BASE + 21 )

#define  HTolerance              0x30
#define  VTolerance              0x80
#define  HCoarseTolerance        0x40  /* 0x40 */
#define  VCoarseTolerance        0x80

/***************************************************************************
* NAME: SHL
* Returns: A value that has been shifted left a given number of bits.
* Parameter    Flow    Description
* x            IN      Data to be shifted left
* y            IN      Number of bits to shift by
***************************************************************************/

#define  SHL(x,y)  (x<<y)

/***************************************************************************
* NAME: SHR
* Returns: A value that has been shifted right a given number of bits.
* Parameter    Flow    Description
* x            IN      Data to be shifted right
* y            IN      Number of bits to shift by
***************************************************************************/

#define  SHR(x,y)  (x>>y)

/***************************************************************************
* NAME: DOUBLE
* Returns: Type casts a value to unsigned int.
* Parameter    Flow    Description
* x            IN      Data to be type cast to unsigned int
***************************************************************************/

#define  DOUBLE(x)  ((unsigned int)(x))

/***************************************************************************
* NAME: LENGTH
* Returns: The number of elements in an array structure.
* Parameter    Flow    Description
* x            IN      Pointer to the array structure
***************************************************************************/

#define  LENGTH(x)  (sizeof(x) / sizeof(*(x)))

/***************************************************************************
***************************************************************************/

#define  MAKEWORD(v1,v2)      ((((Word)(v1)) << 8) + (Word)(v2))
#define  HIBYTE(v1)           ((Byte) ((v1) >> 8))
#define  LOBYTE(v1)           ((Byte) ((v1) & 0xFF))
#define  HIBYTE_REF(addr)     (* ((Byte *)&addr))
#define  LOBYTE_REF(addr)     (* ((Byte *)&addr + 1))

/***************************************************************************
***************************************************************************/

typedef struct
{
        Byte    UpKey;
        Byte    DnKey;
        Byte    RtKey;
        Byte    LtKey;
        Byte    MnKey;
}  KeyFunc;

typedef struct
{
        Byte    MnKey;
        Byte    SelKey;
        Byte    RtKey;
        Byte    LtKey;
} KeyFunc4;

typedef struct
{
        Byte    MnKey;
        Byte    LtKey;
        Byte    RtKey;
} KeyFunc3;

enum
{
    ENGLISH = 0,
    ESPANOL,
    DEUTCH,
    JAPANESS
};

/* input Source */
enum
{
  INPUT_ANALOG = 0,
  INPUT_DIGITAL,
  INPUT_VIDEO,
  INPUT_VIDEO_S,
  INPUT_VIDEO_C,
  INPUT_TOTAL
};

/* AD converter */
#define  ADI_9884          0
#define  FMS_9884          1
#define  FMS_9874          2
#define  ADI_9883          3
#define  ADI_9887          4
#define  SCL_9884          5
#define  TMI_9884          6
#define  SG_9884           7
#define  ADC_CHIP          ADI_9883   /* select one of the above ADC */

#if   (ADC_CHIP==ADI_9883)
 #define  ADC_IS_48_BIT     0   /* 24 bit ADC */
 #define  ADC_IS_24_BIT_AB  0   /* internal 24 bit */
#elif (ADC_CHIP==FMS_9874)  
 #define  ADC_IS_48_BIT     0   /* 24 bit ADC */
 #define  ADC_IS_24_BIT_AB  1   /* internal 48 bit */
#else
 #define  ADC_IS_48_BIT     1   /* 48 bit ADC */
 #define  ADC_IS_24_BIT_AB  1
#endif

/* Video Decoder */
#define  VIDEO_TW98        0
#define  VIDEO_TW99        1
#define  VIDEO_TW99E       2
#define  VIDEO_S7111A      3
#define  VIDEO_S7113       4
#define  VIDEO_S7114       5
#define  VIDEO_VPX3226     6
#define  VIDEO_DECODER     VIDEO_TW98    /* select one of the above decoders */
    
/* Panel Types */
#define  PANEL_HOSIDEN     0
#define  PANEL_SHARP       1
#define  PANEL_LG          2
#define  PANEL_SAMSUNG     3
#define  PANEL_CHUNGHWA    4
#define  PANEL_FUJITSU     5
#define  PANEL_HANNSTAR    6
#define  PANEL_LGX4        7
#define  PANEL_SEC150XH    8
#define  PANEL_UNIPAC      9
#define  PANEL_TOSHIBA     10
#define  PANEL_SANYO       11
#define  PANEL_ACER        12
#define  PANEL_HYUNDAI     13
#define  PANEL_LGE2        14      /* SXGA 15.7" */
#define  PANEL_SEC104S2    15
#define  PANEL_CHIMEI      16
#define  PANEL_DEFAULT     PANEL_SAMSUNG    /* change this definition to the panel you want */

/* MCU Types */                         //TONNY
#define  WINBOND           0
#define  SYNCMOS           1
#define  MCU_TYPE          WINBOND

/* Output Resolution */
#define  OUTPUT_VGA        0              /*  640*480  */
#define  OUTPUT_VGAW       1              /*  800*480  */
#define  OUTPUT_SVGA       2              /*  800*600  */
#define  OUTPUT_XGA        3              /* 1024*768  */
#define  OUTPUT_SXGA       4              /* 1280*1024 */
#define  OUTPUT_MODE       OUTPUT_SXGA    /* select output resolution */

/* Constant depend on OUTPUT_MODE output resolution */
#if   ( OUTPUT_MODE==OUTPUT_VGA )
 #define TOTAL_MODE_NUMBER        17
 #define NORMAL_MODE_NUMBER       17
 #define FREERUN_MODE              4      /* 640x480/60Hz */
 #define PANEL_WIDTH             640
 #define PANEL_HEIGHT            480
 #define DOUBLE_SAMPLING           0
#elif ( OUTPUT_MODE==OUTPUT_VGAW )
 #define TOTAL_MODE_NUMBER        17
 #define NORMAL_MODE_NUMBER       17
 #define FREERUN_MODE              4      /* 640x480/60Hz */
 #define PANEL_WIDTH             800
 #define PANEL_HEIGHT            480
 #define DOUBLE_SAMPLING           0
#elif ( OUTPUT_MODE==OUTPUT_SVGA )
 #define TOTAL_MODE_NUMBER        18
 #define NORMAL_MODE_NUMBER       18
 #define FREERUN_MODE             12      /* 800x600/60Hz */
 #define PANEL_WIDTH             800
 #define PANEL_HEIGHT            600
 #define DOUBLE_SAMPLING           0 
#elif ( OUTPUT_MODE==OUTPUT_XGA )
 #define TOTAL_MODE_NUMBER        42
 #define NORMAL_MODE_NUMBER       42
 #define FREERUN_MODE             19      /* 1024x768/60Hz */
 #define PANEL_WIDTH            1024
 #define PANEL_HEIGHT            768
 #define DOUBLE_SAMPLING           0
#else  /* OUTPUT_MODE==OUTPUT_SXGA */
 #define TOTAL_MODE_NUMBER        58
 #define NORMAL_MODE_NUMBER       49
 #define FREERUN_MODE             30      /* 1280x1024/60Hz */
 #define PANEL_WIDTH            1280
 #define PANEL_HEIGHT           1024
 #define DOUBLE_SAMPLING           1
 #define TOTAL_UNKNOWMODE	   3
#endif

/* I/F Board Status Definition */
#define  ZURAC_HWMD        1         /* ZURAC2 H/W Mode detection */
#define  ZURAC_HSCALING    0         /* Zurac Linear Scaling */
#define  INTERNAL_OSDDEMO  0         /* Zurac Internal OSD demo */
#define  T8570             1         /* OSD chip, 1 for t8570, 0 for t8566 */
#define  STD_T8570         1         /* Standard T8570 osd-rom-code chip */
#define  FREERUN_AUTO      1         /* Auto free run, 1: free run, 0,no free run */
#define  BLUE_AUTO         0         /* Blue Screen while auto-adjusting */
#define  INVERTER_VOL      6         /* INVERTER Control VOLtage Range from 0 to 1,2,3,4,5 volts */
#define  INVERTER_POL      0         /* INVERTER Control POLarity, 1 for Positive, 0 for Negative */
#define  SWAP_RED_BLUE     0         /* VGA R and B swap */
#define  COLORTEMP_RGB     1

#define  DIGITAL_DOS_MODE  0

#endif /* _DECLARE_H */

#define  ALIGNTOTAL        6

//algu 1204 
#define INTERNALOSD_FONT        6       //internal osd fonts number
#define INTERNALOSD             1       // 0-> not use internal osd 1->use

⌨️ 快捷键说明

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