📄 lcmdrv.h.bak
字号:
/****************************************************************************
* 文件名:LCMDRV.H
* 功能:TC1602A驱动程序。(头文件)
****************************************************************************/
#ifndef LCMDRV_H
#define LCMDRV_H
#define uint8 unsigned char
/* 定义LCM操作地址 */
#define LCMWR_COM (*((uint8 volatile xdata *) 0x2000))
#define LCMWR_DAT (*((uint8 volatile xdata *) 0x2001))
/*定义LCM控制字*/
#define LCM_RST 0x02 /* 复位光标回原点 */
#define LCM_MODE 0x3C /* 接口数据8位,显示2行,字体为1号 */
#define LCM_NOFLASH 0x0C /* 屏幕显示开,无光标 */
#define LCM_HIDE 0x08 /* 屏幕显示关 */
#define LCM_FLASH 0x0D /* 屏幕显示开,并打开闪烁光标 */
#define LCM_SHIFT 0x07 /* 模块数据输入为增量方式,显示光标移动 */
#define LCM_NOSHIFT 0x06 /* 模块数据输入为增量方式,显示光标移动 */
#define LCM_SH 0x14 /* 移动光标及整体显示 */
/* LCM地址相关控制宏 */
#define LCM_LINE1 0x80 /* 第一行DDRAM起始地址 */
#define LCM_LINE2 0xC0 /* 第二行DDRAM起始地址 */
#define LCM_CGRAM 0x40 /* 定义CGRAM的起始地址 */
#define CLRSTR " " /* 清屏宏,使用LCMDispStr(LCM_LIN1/2,CLRSTR) */
/****************************************************************************
** 函数名称: LCMIni()
** 功能描述: 初始化LCM模块,设置为LCM_MODE、LCM_NOFLASH、LCM_NOSHIFT、LCM_SH,然后清屏。
** 输 入: 无
** 输 出: 无
****************************************************************************/
extern void LCMIni(void);
/*********************************************************************************************************
** 函数名称: LCMClr()
** 功能描述: 清屏。
** 输 入:
** 输 出:
** 注意: 本函数为宏函数,调用时要注意。如if(...) LCMClr(); 是错误的.
********************************************************************************************************/
#define LCMClr() LCMDispStr(LCM_LINE1, CLRSTR); LCMDispStr(LCM_LINE2, CLRSTR)
/****************************************************************************
** 函数名称: LCMDispStr()
** 功能描述: 向LCM模块发送字串数据,从DDRAM的指定地起adr开始一直写,直到字符串结束或超出
** 屏幕显示范围。此函数可以自动换行。
** 输 入: dstr 要写的字串指针
** adr 写入的DDRAM起始地址(如LCM_LINE1)
** 输 出: 无
** 注意: 使用此函数前要初化好LCM。(适用于双行LCM设置,且显示为光标移动,DDRAM地址向上增长)
****************************************************************************/
extern void LCMDispStr(uint8 adr, char *dstr);
/****************************************************************************
** 函数名称: LCMSendComm()
** 功能描述: 向LCM模块发送命令comm。
** 输 入: comm 要输出的命令
** 输 出: 无
** 注意: 调用此函数来初化、设置LCM
****************************************************************************/
extern void LCMSendComm(uint8 comm);
/****************************************************************************
** 函数名称: LCMSendDate()
** 功能描述: 向LCM模块发送数据date。
** 输 入: odata 要输出的数据
** 输 出: 无
** 注意: 使用此函数前要初化好LCM,再用此函数据发送显示数据。
****************************************************************************/
extern void LCMSendDate(uint8 odate);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -