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

📄 lcddrive.h

📁 在ADS环境下MiniGUI的源码
💻 H
字号:
/****************************************************************************************
* 文件名:LCDDRIVE.H
* 功能:TFT6758液晶模块驱动。(头文件)
*       驱动芯片为HD66781 (片内224640字节GRAM,即240*(96+320)*18/8),
*       门驱动(Gate driver)芯片为HD66783。
*
*    液晶模块的管脚连接设置如下:
*    IM3、IM0  ----------  GND   (使用16位8080系统接口)
*    DB0       ----------  GND
*    DB1-DB8   ----------  D0-D7 
*    DB9       ----------  GND
*    DB10-DB17 ----------  D8-D15
*    CS        ----------  LCM_nCS0  (使用Bank3)
*    RS        ----------  A1
*    WR        ----------  nWE
*    RD        ----------  nRE
*    RESET     ----------  P0.22
*
*    VDD       ----------  3.3V
*    
*  操作说明(写IR + CR/WDR [ + WDR...] ):
*  R/W            RS             操作
*  0              0              写IR(索引,即选择CR)
*  1              0              读芯片状态
*  0              1              写命令(CR)/数据(WDR)
*  1              1              读数据(RDR)
****************************************************************************************/
#ifndef  LCDDRIVE_H
#define  LCDDRIVE_H


#define TRUE  1
#define FALSE 0

typedef unsigned char  uint8;                      
typedef unsigned short uint16; 
typedef unsigned int   uint32;
                 
#define  GUI_LCM_XMAX		240							/* 定义液晶x轴的点数 */
#define  GUI_LCM_YMAX		320							/* 定义液晶y轴的点数 */


/* 若需要交换x、y轴,则定义SWAP_XY为1 */
#define  SWAP_XY_EN         0

// TFT液晶模块硬件操作宏
#define  HD66781_IR    	(*((volatile unsigned short *) 0x83200000)) 
#define  HD66781_DR    	(*((volatile unsigned short *) 0x83200002))
#define  HD66781_RST	(1<<22)


// 定义HD66781的部份寄存器
#define  SET_ADDR_X		0x0200		/* GRAM地址设置(R201H,R200H) */
#define  SET_ADDR_Y		0x0201
#define  WR_RD_DATA		0x0202		/* 写/读GRAM数据 (R202H) */
#define  GATEIC_CON		0x0110		/* 门驱动(Gate driver)IC控制1(R110H),控制/状态 */
#define  GATEIC_DAT		0x0111		/* 门驱动(Gate driver)IC控制2(R111H),数据 */

#define  SET_WINDOW_SX	0x0210		/* window地址设置--x0 (R210H) */
#define  SET_WINDOW_SY	0x0212		/* window地址设置--y0 (R212H) */
#define  SET_WINDOW_EX	0x0211		/* window地址设置--x1 (R211H) */
#define  SET_WINDOW_EY	0x0213		/* window地址设置--y1 (R213H) */


// 初始化数据结构定义
#define		HD66783_COM		783
#define		HD66781_COM		781
#define     DATA_END		0

typedef  struct
{  uint16  type;			// 命令类型(如HD66781_COM)
   uint16  com;				// 命令字
   uint16  dat;				// 数据
   uint16  dly;				// 命令延时控制(如50)

}  STCOM_INI;


/*******************************************************
* 名称: TftInit
* 功能: 初始化TFT液晶模块。
* 入口参数: 无
* 出口参数: 无
*******************************************************/
extern void  TftInit(void);



/*******************************************************
* 名称: TFT_UpdateRects
* 功能: 更新LCM显示区域。更新数据在Framebuffer中。
* 入口参数: x,y  		更新区域的起始点
*			w,y			区域宽度和高度
*           buffer      Framebuffer起始地址
* 出口参数: 无
*******************************************************/
extern void  TFT_UpdateRects( int x, int y, 		// 起始点坐标
    	                      int w, int h, 		// 区域宽度、高度
    	                      uint16 *buffer );	 	// Framebuffer起始地址 

#endif

⌨️ 快捷键说明

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