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

📄 lcmdrv.h.bak

📁 这是一个128*64的点阵型液晶显示程序。是用Keil C51编写的
💻 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 + -