您的位置 首页 IOT

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

includereg51h>defineucharunsignedchardefineuintunsignedintdefineLCDPORTP0ucharcodetab[]=ILIKEMCU!

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

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–);
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/iot/256898.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部