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

📄 lcd.h

📁 基于MEGA16的LCD128x64(T6963)显示程序
💻 H
字号:
#ifndef	__LCD__H
#define	__LCD__H

/*T6963 128*64 LCD C语言驱动
LCD引脚定义
1---FG 
2---VSS
3---VDD
4---CON
5---/WR
6---/RD
7---/CE
8---C/D
9---/RST
10到17 D0-D7
18--FS1*/

/*  常量定义  */
#define LC_CUR_POS	0x21		// 光标位置设置
#define LC_CGR_POS	0x22		// CGRAM偏置地址设置
#define LC_ADD_POS	0x24		// 地址指针位置
#define LC_TXT_STP	0x40		// 文本区首址
#define LC_TXT_WID	0x41		// 文本区宽度
#define LC_GRH_STP	0x42		// 图形区首址
#define LC_GRH_WID	0x43		// 图形区宽度
#define LC_MOD_OR   0x80		// 显示方式:逻辑“或”
#define LC_MOD_XOR	0x81		// 显示方式:逻辑“异或”
#define LC_MOD_AND	0x82		// 显示方式:逻辑“与”
#define LC_MOD_TCH	0x83		// 显示方式:文本特征
#define LC_DIS_SW   0x90		// 显示开关:D0=1/0:光标闪烁启用/禁用;
                                // D1=1/0:光标显示启用/禁用;
                                // D2=1/0:文本显示启用/禁用;
                                // D3=1/0:图形显示启用/禁用;
#define LC_CUR_SHP	0xA0		// 光标形状选择:0xA0-0xA7表示光标占的行数
#define LC_AUT_WR	0xB0		// 自动写设置
#define LC_AUT_RD	0xB1		// 自动读设置
#define LC_AUT_OVR	0xB2		// 自动读/写结束
#define LC_INC_WR	0xC0		// 数据一次写,地址加1
#define LC_INC_RD	0xC1		// 数据一次读,地址加1
#define LC_DEC_WR	0xC2		// 数据一次写,地址减1
#define LC_DEC_RD	0xC3		// 数据一次读,地址减1
#define LC_NOC_WR	0xC4		// 数据一次写,地址不变
#define LC_NOC_RD	0xC5		// 数据一次读,地址不变
#define LC_SCN_RD	0xE0		// 屏读
#define LC_SCN_CP	0xE8		// 屏拷贝
#define LC_BIT_OP	0xF0		// 位操作:D0-D2:定义D0-D7位;D3:1置位;0:清除

/* 定义颜色数据类型(可以是数据结构) */
#define  TCOLOR			unsigned char 

/* 定义LCM像素数宏 */
#define  GUI_LCM_XMAX		128	//   定义液晶x轴的像素数 *
#define  GUI_LCM_YMAX		64	//   定义液晶y轴的像素数 *

//定义MCU与LCD的接口
#define  DATAOUT     PORTA
#define  DATABUS     DDRA
#define  DATAIN      PINA

#define  LCD_CE_DDR      DDRB
#define  LCD_CE_PORT     PORTB
#define  LCD_CE_BIT      (1<<PB2)
#define  LCD_CD_DDR      DDRB
#define  LCD_CD_PORT     PORTB
#define  LCD_CD_BIT      (1<<PB3)
#define  LCD_RD_DDR      DDRB
#define  LCD_RD_PORT     PORTB
#define  LCD_RD_BIT      (1<<PB1)
#define  LCD_WR_DDR      DDRB
#define  LCD_WR_PORT     PORTB
#define  LCD_WR_BIT      (1<<PB0)
#define  LCD_RES_DDR     DDRB
#define  LCD_RES_PORT    PORTB
#define  LCD_RES_BIT     (1<<PB4)

#define  DATAINIT  DATABUS=0xFF
#define  CS_H      LCD_CE_PORT |= LCD_CE_BIT     //
#define  CS_L      LCD_CE_PORT &= ~LCD_CE_BIT    //
#define  CD_H      LCD_CD_PORT |= LCD_CD_BIT   //
#define  CD_L      LCD_CD_PORT &= ~LCD_CD_BIT  //
#define  RD_H      LCD_RD_PORT |= LCD_RD_BIT     //
#define  RD_L      LCD_RD_PORT &= ~LCD_RD_BIT  //读模式
#define  WR_H      LCD_WR_PORT |= LCD_WR_BIT    //
#define  WR_L      LCD_WR_PORT &= ~LCD_WR_BIT  //写模式
#define  RES_H     LCD_RES_PORT |= LCD_RES_BIT     //
#define  RES_L     LCD_RES_PORT &= ~LCD_RES_BIT    //

//函数声明
void  LCD_Init(void); /*初始化函数*/
void  GUI_FillSCR(TCOLOR dat);
void  GUI_ClearSCR(void); 
unsigned char GUI_Point(unsigned int x, unsigned char y, unsigned char color);
unsigned char GUI_ReadPoint(unsigned int x, unsigned char y, TCOLOR *ret);

#define  GUI_CmpColor(color1, color2)	( (color1&0x01) == (color2&0x01) )
#define  GUI_CopyColor(color1, color2) 	*color1 = color2&0x01

//全局变量声明
extern const unsigned char turnf[8];

#endif

⌨️ 快捷键说明

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