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

📄 t6963c_drv.h

📁 T6963液晶显示屏驱动函数,在应用时只需调用就行。
💻 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 + -