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

📄 lcd1602.c

📁 AT89c51单片机下,液晶显示LCD1602的c语言驱动程序,原创代码
💻 C
字号:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int

sbit lcdrs=P3^2;
sbit lcdrw=P3^1;
sbit lcde=P3^0;

uchar code table[]="I LOVE YOU !";
uchar code table1[]="YOU ARE MY ONLY!";

void delay(uint n)//延时nms
{
	uint i,j;
	for(i=n;i>0;i--)
		for(j=110;j>0;j--);
}
void write_com(uchar x)
{
	uchar y;
	y=x;
	P2=y;	
}

void write_data(uchar date)
{
	uchar y;
	y=date;
	P2=y;	
}

void init()
{
	lcdrs=0;
	lcdrw=0;
	lcde=0;
	delay(1);
	write_com(0x38);//显示模式设置
	delay(10);
	lcde=1;
	delay(1);
	lcde=0;
	delay(1);

	write_com(0x0f);//显示开关及光标设置
	delay(1);
	lcde=1;
	delay(1);
	lcde=0;
	delay(1);

	write_com(0x06);//显示模式设置
	delay(1);
	lcde=1;
	delay(1);
	lcde=0;
	delay(1);
}
void main()
{
	uint i;
	init();

	write_data(0x80);//设置数据指针
	delay(1);
	lcde=1;	//使能脉冲
	delay(1);
	lcde=0;
	delay(1);

	for(i=0;i<12;i++)
	{
		lcdrs=1;//写数据控制位设置
		lcdrw=0;
		lcde=0;
		delay(1);
		write_data(table[i]); //写数据
		delay(1);
		lcde=1;	 //使能脉冲
		delay(1);
		lcde=0;
		delay(1);
	}

	lcdrs=0; //写数据控制位设置
	delay(1);
	write_com(0x80+0x40);//设置数据指针
	delay(1);
	lcde=1;	//使能脉冲
	delay(1);
	lcde=0;
	delay(1);
	for(i=0;i<16;i++)
	{
		lcdrs=1;
		lcdrw=0;
		lcde=0;
		delay(1);
		write_data(table1[i]); //写数据
		delay(1);
		lcde=1;	 //使能脉冲
		delay(1);
		lcde=0;
		delay(1);
	}

	while(1);
}

⌨️ 快捷键说明

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