📄 lcd.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 + -