lcd_1602.h

来自「AT89S52单片机串口发送接收程序」· C头文件 代码 · 共 59 行

H
59
字号

#define IO P1
sbit rs=P3^6;
sbit en=P3^7;

void write_cmd(uchar cmd);	 //写命令
void write_data(uchar data1);  //写数据
void initial_1602();	 			  //初始化
void display_1602(uchar num_char,uchar line,uchar address,uchar data1);
//说明:display_1602(num_char=1显示数字,line=1在第一行显示,address显示地址偏移量,data1显示数字或字符)
//					 num_char=0显示字符, line=2在第二行显示,


void initial_1602()
{
	en=0;
	write_cmd(0x38);	// 16X2	5X8显示
	write_cmd(0x0c);	//开显示 NO光标 NO闪烁
	write_cmd(0x06);	//地址指针自动加一,不移动
	write_cmd(0x01);	//清屏
	write_cmd(0x90);    //数据指针设置
}

void write_cmd(uchar cmd_data)
{
	uchar i;
	rs=0;
	IO=cmd_data;for(i=0;i<200;i++);
	en=1;	    for(i=0;i<200;i++);
	en=0;
}

void write_data(uchar data1)
{
	uchar i;
	rs=1;
	IO=data1;for(i=0;i<200;i++);
	en=1;	 for(i=0;i<200;i++);
	en=0;
}
void display_1602(uchar num_char,uchar line,uchar address,uchar data1)
{
    uchar shi,ge,bai;
	if(line==1)	write_cmd(0x80+address);
	if(line==2)write_cmd(0x80+0x40+address);   
	if(num_char==1)		   //显示数据
	{
		bai=data1/100;
		shi=data1%100/10;
		ge=data1%10;
		write_data(0x30+bai);
		write_data(0x30+shi);		
		write_data(0x30+ge);
	}
	if(num_char==0)	write_data(data1);	
}


⌨️ 快捷键说明

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