📄 hdc1600.h
字号:
/*
*************************************************************************************************
* CM50012ACT6 65k color Graphical LCD Display Driver (HYVIX HDC1600 controller)
* All Rights Reserved
* File name : hdc1600.h
* Programmer : John Leung, TechToys Co. Hong Kong
* Web presence : www.TechToys.com.hk
* Note :
* Language : C18 complier version 2.40, MPLAB v7.60
* Hardware : PIC18LF4550-STK1 Rev3b
* Version : 1.0a
*************************************************************************************************
* DESCRIPTION
*
* This module provides an interface to CM50012ACT6 65k color graphical LCD module of 128x160dots
* Display controller chip is Hyvix HDC1600
* Module requires 3.3V DC supply to Vdd, LED backlight requires 6.2-6.5V, 15mA typical
*
* LCD pinout function summarized as below
* --------- LCD MCU -----------------
* pin 1 LED-K - GND (Cathode for LED-backlight)
* pin 2 LED+A - LED backlight, requires 6.2-6.5V, 15mA typical
* pin 3 Vss - GND
* pin 4 Vdd - 3.3V Supply
* pin 5 n.c. - shunt to ground for PIC18LF4550-STK1
* pin 6 n.c. - shunt to ground for PIC18LF4550-STK1
* pin 7 CS - chip select, low active
* pin 8 RST - reset, low active; wired to manual reset switch of the whole system
* pin 9 A0 - (H:Data, L:Command (data or command control))
* pin 10 WR - active low, L:Write; use with RD pin
* pin 11 RD - active low, L:Read; use with WR pin
* pin 12:19 D7:D0 - LCD_DATA
* pin 20 - Vss
***********************************************************************************************
*/
#ifndef _HDC1600_H_
#define _HDC1600_H_
typedef unsigned char INT8U;
typedef unsigned int INT16U;
typedef unsigned char BOOLEAN;
/*
***********************************************************************************************
* Default brightness and contrast levels
***********************************************************************************************
*/
#define BRIGHTNESS 85 //range from 0 to 255
#define CONTRAST 50 //range from 0 to 63
#define PALETTE_RED 6 //Palette values range from 0 to 6 from red, blue, & green
#define PALETTE_BLUE 0 //See cDispInit(void) for details
#define PALETTE_GREEN 0
/*
***********************************************************************************************
* Pack RGB in 16 bits, for 65k color display mode
* [R4R3R2R1R0][G5G4G3G2G1G0][B4B3B2B1B0]
***********************************************************************************************
*/
#define RGB(r,g,b) ((INT16U)r<<11)+((INT16U)g<<5)+(INT8U)b
#define MAX_FONT_WIDTH 8
typedef struct _font
{
INT8U fontWidth;
INT8U fontBody[MAX_FONT_WIDTH];
}font;
/*
***********************************************************************************************
* Pin definition, C18 specific
* Hardware: PIC18LF4550-STK1 Rev3b
***********************************************************************************************
*/
#define TRIS_cDISP_WR TRISEbits.TRISE0 //WR pin connect to RE0
#define cDISP_WR LATEbits.LATE0
#define TRIS_cDISP_A0 TRISEbits.TRISE1 //A0 pin, control command/data, connected to RE1
#define cDISP_A0 LATEbits.LATE1
#define TRIS_cDISP_CS TRISEbits.TRISE2 //CS pin connect to RE2
#define cDISP_CS LATEbits.LATE2
#define TRIS_cDISP_RD TRISAbits.TRISA5 //RD pin connect to RA5
#define cDISP_RD LATAbits.LATA5
#define TRIS_cDISP_BL TRISAbits.TRISA3 //LCD backlight control connected to RA3
#define cDISP_BL LATAbits.LATA3
#define TRIS_cDISP_DATA TRISD //LCD 8-bit data port to PORTD
#define cDISP_DATA LATD
#define cDISP_PORT PORTD
/*
***********************************************************************************************
* GLOBAL CONSTANTS
***********************************************************************************************
*/
#define MAX_ROW_PIXEL 160 //MAX_ROW_PIXEL the physical matrix length (y dir, downward)
#define MAX_COL_PIXEL 128 //MAX_COL_PIXEL the physical matrix width (x dir, left->right)
#define ENABLE 1
#define DISABLE 0
/*
***********************************************************************************************
* FUNCTION PROTOTYPES
***********************************************************************************************
*/
void cDispInit(void);
void cDispSwitch(BOOLEAN sw);
void cDispClr(INT16U color);
void cDispSetPixel(INT8U x, INT8U y, INT16U color);
void cDisprPatAt(INT8U x, INT8U y, const rom INT16U *pPat);
void cDisprStrAt(INT8U x, INT8U y, const rom char *pStr, INT8U fontSpace, INT16U color);
void cDispStrAt(INT8U x, INT8U y, char *pStr, INT8U fontSpace, INT16U color);
void cDispSetQuali(INT8U brightness, INT8U contrast);
/*
***********************************************************************************************
* FUNCTION PROTOTYPES
* HARDWARE SPECIFIC
***********************************************************************************************
*/
void cDispInitPort(void);
void cDispWrCmd(INT8U cmd);
void cDispWrDat(INT8U dat);
void cDispBackLite(BOOLEAN ctrl);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -