📄 lcd2002.h
字号:
#ifndef LCDDRIVE_H
#define LCDDRIVE_H
/*定义LCM控制字*/
#define LCD2002_MODE 0x3C /* 接口数据8位,显示2行,字体为1号 */
#define LCD2002_NO_FLASH 0x0C /* 屏幕显示开,无光标 */
#define LCD2002_HIDE 0x08 /* 屏幕显示关 */
#define LCD2002_FLASH 0x0D /* 屏幕显示开,并打开闪烁光标 */
#define LCD2002_SHIFT 0x07 /* 模块数据输入为增量方式,显示内容移动 */
#define LCD2002_NO_SHIFT 0x06 /* 模块数据输入为增量方式,显示光标移动 */
#define LCD2002_SH 0x14 /* 移动光标及整体显示 */
/* LCD地址相关控制宏 */
#define LCD2002_LINE1 0x80 /* 第一行DDRAM起始地址 */
#define LCD2002_LINE2 0xC0 /* 第二行DDRAM起始地址 */
#define LCD2002_CGRAM 0x40 /* 定义CGRAM的起始地址 */
/*********************************************************************************************************
** 函数名称: Lcd2002Clr()
** 功能描述: 清除lcd的指定行
**
** 输 入: y : 清除的行号(最上方为1)
**
** 输 出: 无
** 全局变量: 无
** 调用模块: Lcd2002DispStr()
********************************************************************************************************/
extern void Lcd2002Clr(INT8U y);
/*********************************************************************************************************
** 函数名称: Lcd2002Init()
** 功能描述: lcd初始化
**
** 输 入: 无
**
** 输 出: 无
** 全局变量: 无
** 调用模块: Lcd2002SendComm(),Lcd2002Clr()
********************************************************************************************************/
extern void Lcd2002Init(void);
/*********************************************************************************************************
** 函数名称: Lcd2002DispStr()
** 功能描述: 在lcd指定位置显示一个字符串,此函数可以自动换行。
**
** 输 入: x,y : 显示的开始坐(作上角为(1,1))
** Data: 将要显示的字符串
** 输 出: 无
** 全局变量: 无
** 调用模块: Lcd2002SendComm(),Lcd2002SendDate()
********************************************************************************************************/
extern void Lcd2002DispStr(INT8U x, INT8U y, INT8S *Data);
extern void Lcd2002DispCha(INT8U x, INT8U y, INT8U Data);
/*********************************************************************************************************
** 函数名称: Lcd2002LoadC()
** 功能描述: 从lcd指定地址处写多个字节数据
**
** 输 入: Addr : 指定的地址
** Data : 将要写入的数据开始地址
** NChar: 写入的直接数
** 输 出: 无
** 全局变量: 无
** 调用模块: Lcd2002SendComm(),Lcd2002SendDate()
********************************************************************************************************/
extern void Lcd2002LoadC(INT8U Addr, INT8U *Data, INT8U Nchar);
/*********************************************************************************************************
** 函数名称: Lcd2002DispStr()
** 功能描述: 在lcd指定位置显示一个字符串,此函数可以自动换行。
**
** 输 入: x,y : 显示的开始坐(作上角为(1,1))
** Data: 将要显示的字符串
** 输 出: 无
** 全局变量: 无
** 调用模块: Lcd2002SendComm(),Lcd2002SendDate()
********************************************************************************************************/
#define OSLcd2002DispStr(x, y, Data) \
{ \
//OSSemPend(LCD2002_SEM, 0); \
Lcd2002DispStr((x), (y), (Data)); \
//OSSemPost(LCD2002_SEM); \
}
#define OSLcd2002DispCha(x, y, Data) \
{ \
//OSSemPend(LCD2002_SEM, 0); \
Lcd2002DispCha((x), (y), (Data)); \
//OSSemPost(LCD2002_SEM); \
}
/*********************************************************************************************************
** 函数名称: OSLcd2002LoadC()
** 功能描述: 多任务中从lcd指定地址处写多个字节数据
**
** 输 入: Addr : 指定的地址
** Data : 将要写入的数据开始地址
** NChar: 写入的直接数
** 输 出: 无
** 全局变量: 无
** 调用模块: Lcd2002SendComm(),Lcd2002SendDate()
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#define OSLcd2002LoadC(addr, dstr, no) \
{ \
// OSSemPend(LCD2002_SEM, 0); \
LCMLoadC((addr), (dstr), (no)); \
// OSSemPost(LCD2002_SEM); \
}
/*********************************************************************************************************
** 函数名称: OSLcd2002Clr()
** 功能描述:
** 输 入:
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
********************************************************************************************************/
#define OSLcd2002Clr(y) \
{ \
// OSSemPend(LCD2002_SEM, 0); \
Lcd2002Clr(y); \
// OSSemPost(LCD2002_SEM); \
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -