📄 240128.h
字号:
/*******************************************************************************
/** T6963C液晶驱动 RT240128 **/
/** MAGE88 16M **/
/******************************************************************************/
//#include "storeroom.h"
// ASCII 字符控制代码解释定义
#define STX 0x02
#define ETX 0x03
#define EOT 0x04
#define END 0x05
#define BS 0x08
#define CR 0x0D
#define LF 0x0A
#define DLE 0x10
#define ETB 0x17
#define SPACE 0x20
#define COMMA 0x2C
//#define TRUE 1
//#define FALSE 0
//#define HIGH 1
//#define LOW 0
/* 与单片机接口定义 */
#define LCD_CD PB0
#define LCD_WR PB1
#define LCD_RD PB2
#define LCD_CE PB3
#define LCD_RES PB4
#define LCD_CODE_P PORTB
#define LCD_DATA PIND
#define LCD_DDR DDRD
#define LCD_PORT PORTD
#define LCD_WR_H LCD_CODE_P |= BIT(LCD_WR)
#define LCD_WR_L LCD_CODE_P &= ~BIT(LCD_WR)
#define LCD_RD_H LCD_CODE_P |= BIT(LCD_RD)
#define LCD_RD_L LCD_CODE_P &= ~BIT(LCD_RD)
#define LCD_CE_H LCD_CODE_P |= BIT(LCD_CE)
#define LCD_CE_L LCD_CODE_P &= ~BIT(LCD_CE)
#define LCD_CD_H LCD_CODE_P |= BIT(LCD_CD)
#define LCD_CD_L LCD_CODE_P &= ~BIT(LCD_CD)
#define LCD_RES_H LCD_CODE_P |= BIT(LCD_RES)
#define LCD_RES_L LCD_CODE_P &= ~BIT(LCD_RES)
/* 汇编命令定义 */
#define NOP() asm("nop")
/* T6963C 命令定义 */
#define LCD_CUR_POS 0x21 // 光标位置设置
#define LCD_CGR_POS 0x22 // CGRAM 偏置地址设置
#define LCD_ADD_POS 0x24 // 地址指针位置
#define LCD_TXT_STP 0x40 // 文本区首址
#define LCD_TXT_WID 0x41 // 文本区宽度
#define LCD_GRH_STP 0x42 // 图形区首址
#define LCD_GRH_WID 0x43 // 图形区宽度
#define LCD_MOD_OR 0x80 // 显示方式逻辑或
#define LCD_MOD_XOR 0x81 // 显示方式逻辑异或
#define LCD_MOD_AND 0x82 // 显示方式逻辑与
#define LCD_MOD_TCH 0x83 // 显示方式文本特征
#define LCD_DIS_SW 0x90 // 显示开关:D0-D4配合使用,详见说明书。
// D0=1/0:光标闪烁启用/禁用
// D1=1/0:光标显示启用/禁用
// D2=1/0:文本显示启用/禁用
// D3=1/0:图形显示启用/禁用
#define LCD_CUR_SHP 0xA0 // 光标形状选择0xA0-0xA7表示光标占的行数
#define LCD_AUT_WR 0xB0 // 自动写设置
#define LCD_AUT_RD 0xB1 // 自动读设置
#define LCD_AUT_OVR 0xB2 // 自动读/写结束
#define LCD_INC_WR 0xC0 // 数据一次写地址加1
#define LCD_INC_RD 0xC1 // 数据一次读地址加1
#define LCD_DEC_WR 0xC2 // 数据一次写地址减1
#define LCD_DEC_RD 0xC3 // 数据一次读地址减1
#define LCD_NOC_WR 0xC4 // 数据一次写地址不变
#define LCD_NOC_RD 0xC5 // 数据一次读地址不变
#define LCD_SCN_RD 0xE0 // 屏读
#define LCD_SCN_CP 0xE8 // 屏拷贝
#define LCD_BIT_OP 0xF0 // 位操作
/* 定义D0-D7 */
//const unsigned char uPowArr[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
/* ASCII 字模显示为8x16 */
//const unsigned char turnf[8] = {7,6,5,4,3,2,1,0};
/* 当前行列存储行高16 点列宽8点 */
//unsigned char gCurRow,gCurCol;
// ASCII 字模显示为8*16
/*******************************************************************************
状态位STA1,STA0判断读写指令和读写数据,在读写数据或者写入命令前必须保证均为1。
*******************************************************************************/
unsigned char fnSTA01(void);
/*******************************************************************************
检查STA2,如果STA2=1 为自动读状态
*******************************************************************************/
unsigned char fnSTA2(void);
/*******************************************************************************
状态位STA3 判断STA3 = 1 数据自动写状态
*******************************************************************************/
unsigned char fnSTA3(void);
/*******************************************************************************
状态位STA6 判断STA6 =1 屏读/屏拷贝状态
*******************************************************************************/
unsigned char fnSTA6(void);
/*******************************************************************************
读状态
*******************************************************************************/
unsigned char LCD_RD_STATUS(void);
/*******************************************************************************
读数据
*******************************************************************************/
unsigned char LCD_RD_DATA(void);
/*******************************************************************************
写数据
*******************************************************************************/
void LCD_WR_DATA(unsigned char data);
/*******************************************************************************
写无参数命令
*******************************************************************************/
void LCD_WR_CODE(unsigned char code);
/*******************************************************************************
写单参数命令
*******************************************************************************/
void LCD_WR_CODE1(unsigned char data, unsigned char data1);
/*******************************************************************************
写双参数的指令
*******************************************************************************/
void LCD_WR_CODE2(unsigned char code, unsigned char data1, unsigned char data2);
/*******************************************************************************
初始化LCD
*******************************************************************************/
void LCD_INIT(void);
/*******************************************************************************
清整屏
*******************************************************************************/
void LCD_CLEAR(unsigned char data);
/*******************************************************************************
显示一个240*128的图片 图片的大小为3840
*******************************************************************************/
extern void PRINT_240128(const unsigned char *str);
/*******************************************************************************
设置当前地址
*******************************************************************************/
void LCD_SET_ADD(unsigned char urow, unsigned char ucol);
/*******************************************************************************
ASCII(8*16) 及 汉字(16*16) 显示函数,ASCII与汉字区别在于128做分界。
*******************************************************************************/
void PRINT_words(unsigned char x,unsigned char y, char *ptr);
/*******************************************************************************
画点
*******************************************************************************/
void PRINT_point(unsigned char x,unsigned char y,unsigned char s);
/*******************************************************************************
画线任意方向的斜线,直线数学方程aX+bY=1
*******************************************************************************/
void PRINT_line(unsigned char x0,unsigned char y0,unsigned char xt,unsigned char yt,unsigned char s);
/*******************************************************************************
画圆数学方程(X-Ox)^2+(Y-Oy)^2=Rx^2
*******************************************************************************/
void PRINT_circle(unsigned char Ox,unsigned char Oy,unsigned char Rx,unsigned char s);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -