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

📄 1602.c

📁 字符液晶1602源程序
💻 C
字号:
#include <reg51.h>
#include "1602.h"


void Delay( void )
{
	unsigned int i=5552;
	while(i--);
}

//读状态
unsigned char Read( void )
{
	LCD_Data=0xff;
	RS=0;
	RW=1;
	E=0;
	E=0;
	E=1;
	while(LCD_Data&Busy);
	return(LCD_Data);
}

//写指令
void Write_cmd(unsigned char x,unsigned char B)
{
	if(B)
		Read();
	LCD_Data=x;
	RS=0;
	RW=0;
	E=0;
	E=0;
	E=1;
}

//写数据
void Write_dat( unsigned char x)
{
	Read();
	LCD_Data=x;
	RS=1;
	RW=0;
	E=0;
	E=0;
	E=1;
}

//读数据
unsigned char Read_dat( void )
{
	RS=1;
	RW=1;
	E=0;
	E=0;
	E=1;
	return( LCD_Data );
}

void init( void )
{
	LCD_Data=0x00;
	Write_cmd( 0x38,0 );
	Delay();
	Write_cmd( 0x38,0 );
	Delay();
	Write_cmd( 0x38,0 );
	Delay();

	Write_cmd( 0x38,1 );
	Write_cmd( 0x08,1 );
	Write_cmd( 0x01,1 );
	Write_cmd( 0x06,1 );
	Write_cmd( 0x0C,1 );
}

//显示字符
void show_zifu( unsigned char X,unsigned char Y,unsigned char D)
{
	Y&=0x01;
	X&=0x0f;
	if(Y)
		X|=0x40;
   	X|=0x80;
	Write_cmd(X,0);
	Write_dat(D);
}

void show_list( unsigned char X,unsigned char Y,unsigned char *s)
{
	unsigned char length;
	length=0;
	Y&=0x01;
	X&=0x0f;
	while(s[length]!=0)
	{
		show_zifu(X,Y,s[length]);
		length++;
		X++;
		if(X>16)
			Y=0x01;
	}
}










⌨️ 快捷键说明

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