天天看點

[89C51單片機]LCD1602靜态顯示

在LCD1602上面顯示"I LOVE MCU!"和"I LOVE MCU!"

[89C51單片機]LCD1602靜态顯示
#include <reg52.h>
//#define uchar unsigned char;
sbit RS = P1^2;	//位定義,液晶的資料/指令選擇
sbit RW = P1^1;	//位定義,液晶的讀寫選擇
sbit EN = P1^0;	//位定義,液晶使能信号

//#define LCDPORT P2	  //液晶的資料口

unsigned char code table[]="I LOVE MCU!";	  //在CODE區定義一個用于顯示的常量字元串
unsigned char code table1[]="www.zstudy.com";	  //在CODE區定義一個用于顯示的常量字元串
void delay(unsigned int ms);	//延時函數
unsigned char num;
void write_com(unsigned char com)
{
	RS=0;
	P2=com;
	delay(20);
	EN=1;
	delay(20);
	EN=0;
}
void write_data(unsigned char date)
{
	RS=1;
	P2=date;
	delay(20);
	EN=1;
	delay(20);
	EN=0;
}
void init()
{
	RW=0;
	EN=0;
	write_com(0x38);
	write_com(0x0f);
	write_com(0x06);
	write_com(0x01);
}
/******************************************************************************
函數名稱:main
函數功能:程式主函數
入口參數:無
傳回值:無
備注:無
*******************************************************************************/
void main(void)
{
	init();
	write_com(0x80);
	for(num=0;num<11;num++)
	{
		write_data(table[num]);
		delay(20);
	}
		write_com(0x80+0x40);
	for(num=0;num<14;num++)
	{
		write_data(table1[num]);
		delay(20);
	}
	while(1);
}


void delay(unsigned int ms)
{
	unsigned char j = 110;
	for(;ms > 0;ms--) while(--j);	
}
           

繼續閱讀