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

📄 lcd1602.c

📁 1602液晶驱动程序,有两个
💻 C
字号:
#include <reg52.h>
#define uchar unsigned char

sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2;

void delay(uchar t)
{
	uchar i;
	for(;t>0;t--)
		for(i=164;i>0;i--);
}

uchar read(bit cmd_dat,bit rd_wr)
{
	uchar rd_dat;
	E=0;
	RS=cmd_dat;
	RW=rd_wr;
	E=1;
	rd_dat=P0;
	return rd_dat;
}	

void lcd_write(bit cmd_dat,bit rd_wr,uchar str)
{
	uchar rd_dat;
	E=0;
	rd_dat=0x80;
	while(rd_dat & 0x80)
		rd_dat=read(0,1);	//检测忙标志
	E=0;
	RS=cmd_dat;
	RW=rd_wr;
	P0=str;
	E=1;
}

void main()
{
	uchar i,str[8]={0x10,0x08,0x04,0x02,0x01,0x00,0x00,0x00};
	delay(10);	//lcd和mcu上电复位	
	lcd_write(0,0,0x38);	//功能设置,8位,2行
	lcd_write(0,0,0x0c);	//开显示

	lcd_write(0,0,0x40);
	for(i=0;i<8;i++)
		lcd_write(1,0,str[i]);

	lcd_write(0,0,0x80);
/*	while(1)
	{

		lcd_write(1,0,0x00);
		lcd_write(1,0,0x00);
		lcd_write(0,0,0x02);
	}*/
//	lcd_write(0,0,0x18);	//移位
	i=0;
	while(i!=0x0a)
	{
		lcd_write(1,0,i+0x30);	//显示数据
		i++;
	}
	lcd_write(0,0,0x80|0x40);
	i=0x61;
	while(i!=0x71)
	{
		lcd_write(1,0,i);
		i++;
	}
}

⌨️ 快捷键说明

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