#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code a[]="Holle PC!";
uchar code b[]="This is O!";
sbit sn=P3^4;
sbit ml=P3^5;
sbit u1=P2^6;
sbit u2=P2^7;
uchar num;
void ys(uint i)
{
uint x,y;
for(x=0;x<i;x++)
for(y=0;y<110;y++);
}
void kz(uchar com)
{
ml=0;
P0=com;
ys(5);
sn=1;
ys(5);
sn=0;
}
void xr(uchar date)
{
ml=0;
P0=date;
ys(5);
sn=1;
ys(5);
sn=0;
}
void in()
{
u1=0;
u2=0;
sn=0;
kz(0x38);
kz(0x0c);
kz(0x06);
kz(0x01);
}
void main()
{
in();
kz(0x80+0x10);
for(num=0;num<9;num++)
{
xr(a[num]);
ys(5);
}
kz(0x80+0x50);
for(num=0;num<10;num++)
{
xr(b[num]);
ys(5);
}
for(num=0;num<16;num++)
{
kz(0x18);
ys(200);
}
while(1);
}
请问这段程序为啥不能让1602液晶把输入的字符显示出来?单片机新人求大神解惑,不胜感激啊!
|