新闻中心

EEPW首页>嵌入式系统>设计应用> 51单片机C编程(十二、LM016L液晶显示)

51单片机C编程(十二、LM016L液晶显示)

作者: 时间:2016-11-27 来源:网络 收藏

#include
#define uchar unsigned char
#define uintunsigned int
#define LCDPORT P0
uchar code tab[]="I LIKE MCU!";
uchar code tab1[]="HELLO!";

本文引用地址://m.amcfsurvey.com/article/201611/322153.htm

sbit LCDE=P3^5;
sbit LCDRW=P3^6;
sbit LCDRS=P3^7;

void WriteCMD(uchar);
void init();
void WriteData(uchar);
void Delay();
void mydelay(int);
void main()
{
uint i;
init();

for(i=0;i<11;i++)
{
WriteData(tab[i]);
mydelay(50);
}
mydelay(1000);
WriteCMD(0x01);
WriteCMD(0x80+0x40+10);
for(i=0;i<6;i++)
{
WriteData(tab1[i]);
mydelay(50);
}

while(1);
}
void Delay()
{
uint uiCount;
for(uiCount=0;uiCount<250;uiCount++);
}


//*************************************************************************************************
//**
//***************************把1个命令写入LCD**************************
//**
//*************************************************************************************************
void WriteCMD(uchar Command)
{
Delay();//先延时。

LCDE=1;//然后把LCD改为写入命令状态。
LCDRS=0;
LCDRW=0;

LCDPORT=Command;//再输出命令。

LCDE=0;//最后执行命令。
}


//*************************************************************************************************
//**
//****************************把1个数据写入LCD*************************
//**
//*************************************************************************************************
void WriteData(uchar dat)
{
Delay();//先延时。

LCDE=1;//然后把LCD改为写入数据状态。
LCDRS=1;
LCDRW=0;

LCDPORT=dat;//再输出数据。

LCDE=0;//最后显示数据。
}
void init()
{
LCDRW=0;
LCDE=0;
WriteCMD(0x38);
WriteCMD(0x0e);
WriteCMD(0x07);
WriteCMD(0x01);
WriteCMD(0x80+14);
}
void mydelay(int x)
{
int i,j;
for(i=x;i>0;i--)
for(j=255;j>0;j--);
}



评论


技术专区

关闭