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

📄 lcd1602.h

📁 一个完整的万年表程序,用Keil uVision可以成功编译
💻 H
字号:
/****************************************Copyright (c)**************************************************
**                               中国矿业大学理学院
**                                  物理系04级                                   
**										
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: lcd1602.h
**创   建   人: 卢家顺
**最后修改日期: 2007年8月24日
**描        述: lcd1602驱动程序,用KEILC编译
**
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 卢家顺
** 版  本: 1.0
** 日 期: 2007年8月24日
** 描 述: 原始版本
**
**------------------------------------------------------------------------------------------------------
** 修改人: 
** 版  本: 
** 日 期: 
** 描 述: 
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

#ifndef	_LCD1602_ljs
#define _LCD1602_ljs

#ifndef	uchar 
#define	uchar	unsigned char
#endif

#ifndef	uint
#define	uint	unsigned int
#endif           

#include <absacc.h>

/* *********************************************************************************************************
*                    与lcd1602体系结构相关的一些定义
**********************************************************************************************************/
#define  LCD_CMD_WR      XBYTE[0x00]
#define  LCD_DATA_WR	 XBYTE[0x01]
#define	 LCD_BUSY_RD	 XBYTE[0x02]
#define  LCD_DATA_RD	 XBYTE[0x03]

#define  LCD_LINE1		0X80
#define  LCD_LINE2      0XC0

#define  LCD_CLS		  	1	 
#define  LCD_HOME		  	2	
#define  LCD_SETMODE	  	4
#define  LCD_SETVISIBLE	  	8
#define  LCD_SHIFT		 	16
#define  LCD_SETFUNCTION 	32
#define  LCD_SETCGADDR	 	64
#define  LCD_SETDDADDR		128

#define  LCD_BUSY()			while((LCD_BUSY_RD&0x80)!=0);
#define  LCD_CHAR(dat)		LCD_BUSY();LCD_DATA_WR=dat;
#define  LCD_CMD(cmd)	    LCD_BUSY();LCD_CMD_WR=cmd;

/*********************************************************************************************************
** 函数名称: lcd_str
** 功能描述: 将字符串写入lcd1602
**
** 输 入:   x	:字符从第x列输出
			 y	:字符从第y行输出
			 str:输出字符
** 输 出 :  无
** 全局变量: 无
** 调用模块: 无
** 
** 作 者: 卢家顺
** 日 期: 2007年8月24日
**-------------------------------------------------------------------------------------------------------
** 修 改: 
** 日 期: 
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void lcd_str(uchar x,uchar y,uchar str[])
{	
	if(y==1)
	{
		LCD_CMD(LCD_LINE1+x-1);
		while((*str)!='\0')
		{
			LCD_CHAR(*str++);
		}	
	}
	else
	{
		LCD_CMD(LCD_LINE2+x-1);
		while((*str)!='\0')	
		{
			LCD_CHAR(*str++);
		}
	 }
}

/*********************************************************************************************************
** 函数名称: _lcd_init
** 功能描述: lcd1602初始化
**
** 输 入:   无
** 输 出 :  无
** 全局变量: 无
** 调用模块: 无
** 
** 作 者: 卢家顺
** 日 期: 2007年8月24日
**-------------------------------------------------------------------------------------------------------
** 修 改: 
** 日 期: 
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void lcd_init()
{	
	LCD_CMD(LCD_SETFUNCTION+0X18);
	LCD_CMD(LCD_SETVISIBLE+4);
	LCD_CMD(LCD_SETMODE+2);
}

#endif
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -