📄 t6963c_drv.h
字号:
#ifndef __LCD_DRV_H__
#define __LCD_DRV_H__
// LCM各驱动I/O定义
#define LCM_CMD_enable() SBIPortD6() // new
#define LCM_DAT_enable() CBIPortD6() // new
//#define LCM_CMD_enable() SBIPortG4() // old
//#define LCM_DAT_enable() CBIPortG4() // old
#define CBI_LCM_CE() CBIPortG1()
#define SBI_LCM_CE() SBIPortG1()
#define CBI_LCM_WR() CBIPortG2()
#define SBI_LCM_WR() SBIPortG2()
#define CBI_LCM_RD() CBIPortD7() // new
#define SBI_LCM_RD() SBIPortD7() // new
//#define CBI_LCM_RD() CBIPortG3() // old
//#define SBI_LCM_RD() SBIPortG3() // old
#define CBI_LCM_RES() CBIPortG0()
#define SBI_LCM_RES() SBIPortG0()
#define LCM_BL_ON() SBIPortE2()
#define LCM_BL_OFF() CBIPortE2()
#define LCM_RD_DAT_PORT PINA
#define LCM_WR_DAT_PORT PORTA
#define LCM_DAT_DDR DDRA
// T6963C 命令常数定义
#define LCM_CURSOR_POS 0x21 // 光标位置设置
#define LCM_CGRAM_OFFSET 0x22 // CGRAM偏置地址设置
#define LCM_ADDR_POINTER 0x24 // 地址指针设置
#define LCM_TXT_HOME 0x40 // 文本区首址
#define LCM_TXT_WIDTH 0x41 // 文本区宽度
#define LCM_GRH_HOME 0x42 // 图形区首址
#define LCM_GRH_WIDTH 0x43 // 图形区宽度
#define LCM_MODE_OR 0x80 // 显示方式:逻辑"或"
#define LCM_MODE_XOR 0x81 // 显示方式:逻辑"异或"
#define LCM_MODE_AND 0x82 // 显示方式:逻辑"与"
#define LCM_MODE_TXT 0x83 // 显示方式:文本特征
#define LCM_DISP_SW 0x90 // 显示开关:
// D0=1/0:光标闪烁启用/禁用, D1=1/0:光标显示启用/禁用, D2=1/0:文本显示启用/禁用, D3=1/0:图形显示启用/禁用;
#define LCM_CURSOR_SHAPE 0xA0 // 光标形状选择:0xA0-0xA7 表示光标占的行数
#define LCM_AUTO_WR 0xB0 // 自动写设置
#define LCM_AUTO_RD 0xB1 // 自动读设置
#define LCM_AUTO_OVER 0xB2 // 自动读/写结束
#define LCM_INC_WR 0xC0 // 数据一次写,地址加1
#define LCM_INC_RD 0xC1 // 数据一次读,地址加1
#define LCM_DEC_WR 0xC2 // 数据一次写,地址减1
#define LCM_DEC_RD 0xC3 // 数据一次读,地址减1
#define LCM_UNCHANGED_WR 0xC4 // 数据一次写,地址不变
#define LCM_UNCHANGED_RD 0xC5 // 数据一次读,地址不变
#define LCM_SCN_RD 0xE0 // 屏读
#define LCM_SCN_CP 0xE8 // 屏拷贝
#define LCM_BIT_OP 0xF0 // 位操作:D0-D2:定义D0-D7 位;D3:1 置位;0:清除
//以8*8字符计算,显示屏横向、纵向可以显示的字符个数
//以240*128为例:
#define LineChar 30 //一行16个字符(8*8)
#define ColumnChar 16 //总共16列
void LCM_init(void);
void LCM_clear(void);
void cursor_on(unsigned char row, unsigned char col);
void cursor_off(void);
void write_cmd(unsigned char cmd);
void write_dat(unsigned char dat);
void auto_write_dat(unsigned char dat);
unsigned char auto_read_dat(void);
void LCM_write_cmd1(unsigned char cmd);
void LCM_write_cmd2(unsigned char dat1, unsigned char cmd);
void LCM_write_cmd3(unsigned char dat1, unsigned char dat2, unsigned char cmd);
unsigned char LCM_read_state(void);
void LCM_state01(void);
void LCM_state2(void);
void LCM_state3(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -