1602lcd.c

来自「单片机控制液晶显示屏进行数据显示 液晶屏为字符型」· C语言 代码 · 共 129 行

C
129
字号
/*  描述:                                                                       *
*         1602字符型LCD显示演示程序                                            *
*        在第一行显示 Welcome to Mars!                                              *
                                   *
*                                                                              *
********************************************************************************
* 【声明】 此程序仅用于学习与参信息!          
*******************************************************************************/


#include <reg51.h>
#include <intrins.h>

typedef unsigned char BYTE;
typedef unsigned int WORD;
typedef bit BOOL ; 

sbit rs	= P2^7;		//
sbit rw = P2^6;
sbit ep = P2^5;

BYTE code dis1[] = {"Welcome to Mars!"};


delay(BYTE ms)
{							// 延时子程序
	BYTE i;
	while(ms--)
	{
		for(i = 0; i< 250; i++)
		{
			_nop_();
			_nop_();
			_nop_();
			_nop_();
		}
	}
}

BOOL lcd_bz()
{							// 测试LCD忙碌状态
	BOOL result;
	rs = 0;
	rw = 1;
	ep = 1;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	result = (BOOL)(P0 & 0x80);
	ep = 0;
	return result;	
}

lcd_wcmd(BYTE cmd)
{							// 写入指令数据到LCD
	while(lcd_bz());
	rs = 0;
	rw = 0;
	ep = 0;
	_nop_();
	_nop_();	
	P0 = cmd;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	ep = 1;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	ep = 0;		
}

lcd_pos(BYTE pos)
{							//设定显示位置
	lcd_wcmd(pos | 0x80);
}

lcd_wdat(BYTE dat)	
{							//写入字符显示数据到LCD
	while(lcd_bz());
	rs = 1;
	rw = 0;
	ep = 0;
	P0 = dat;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	ep = 1;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	ep = 0;	
}

lcd_init()
{							//LCD初始化设定
	lcd_wcmd(0x38);			//
	delay(1);
	lcd_wcmd(0x0c);			//
	delay(1);
	lcd_wcmd(0x06);			//
	delay(1);
	lcd_wcmd(0x01);			//清除LCD的显示内容
	delay(1);
}

main()
{
	BYTE i;
	lcd_init();				// 初始化LCD			
	delay(10);
	lcd_pos(1);				// 设置显示位置为第一行2223第5个字符
	i = 0;
	while(dis1[i] != '\0')
	{						// 显示字符Welcome to use"
		lcd_wdat(dis1[i]);
		i++;
	}

	while(1);				// 
}


⌨️ 快捷键说明

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