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

📄 lcd_1.c

📁 AT89S52与LCD1602的显示程序。包括初始化
💻 C
字号:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit rs=P2^0;
sbit rw=P2^1;
sbit en=P2^2;
uchar num;

void delay(uint z)
{
	uint x,y;
	for(x=z;x>0;x--);
		for(y=123;y>0;y--);
}
void write_com(uchar com)
{
	rs=0;
	rw=0;
	en=0;
	delay(2);
	P0=com;
	en=1;
	delay(2);
	en=0;
	delay(2);
}
void write_data(uchar date)
{
	rs=1;
	rw=0;
	en=0;
	delay(2);
	P0=date;
	en=1;
	delay(2);
	en=0;
	delay(2);
}
void init()
{
	write_com(0x38);
	delay(5);
	write_com(0x0f);
	write_com(0x06);
	write_com(0x01);
}
uchar keyscan()
{
	uchar temp,num1;
	P3=0xfe;
	temp=P3&0xfe;
	if(temp!=0xfe)
	{
		delay(5);
		P3=0xfe;
		temp=P3&0xfe;
		if(temp!=0xfe)
		{
		 	temp=P3;
			switch(temp)
			{
				case 0xee:num1=0;break;
				case 0xde:num1=0;break;
				case 0xbe:num1=0;break;
				case 0x7e:num1=0;break;
			}
		 while(temp&0xf0!=0xf0);	
		}
		return(num1);
	}
}
void main()
{
	uchar cord;
	init();
	while(1)
	{
		cord=keyscan();

		write_com(0x80);
		write_data(0x30+num);
		delay(500);
	}
}

⌨️ 快捷键说明

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