试试这个
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit lcden=P2^2;
sbit lcdrs=P2^0;
sbit dula=P2^6;
sbit wela=P2^7;
uchar i;
uchar code table[]="I love China!" ;
uchar code table1[]="Me too.";
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void init()
{
dula=0;
wela=0;
lcden=0;
}
void write_lcd(uchar com,bit j)
{
lcdrs=j;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void display_lcd(bit y,uchar x,uchar value)
{
x&=0x0f;
if(y)
{
x+=0x40;
}
x+=0x80;
write_lcd(x,0);
write_lcd(value,1);
}
void main()
{
init();
write_lcd(0x38,0); // 显示模式设置
write_lcd(0x0c,0); // 显示开/关及光标设置
write_lcd(0x01,0); // 使用前先将数据指针和所有显示清零
for(i=0;i<13;i++)
{
display_lcd(0,i,table[i]);
delay(5);
}
for(i=0;i<7;i++)
{
display_lcd(1,i+9,table1[i]);
delay(5);
}
while(1); //使显示固定
}
|