| 
 
| 代码如下 
 #include<reg52.h>
 #define uchar unsigned char
 #define uint unsigned int
 
 
 
 sbit RS=P2^0;
 sbit lcdrw=P2^1;
 sbit e1=P2^2;
 void delay(uchar i)  //延时1ms函数
 {
 uchar x,y;
 for(x=i;x>0;x--)
 for(y=110;y>0;y--)
 ;
 }
 void write_com(uchar c)  //写 命令
 {
 RS=0;
 lcdrw=0;
 delay(2);
 P0=c;
 delay(5);
 e1=1;
 delay(5);
 
 }
 void write_date(uchar d)   //写数据
 {
 
 RS=1;
 
 lcdrw=0;
 // delay(2);
 P0=d;
 delay(5);
 e1=1;
 delay(1);
 // e1=0;
 
 }
 
 void LcdInt(void)     //初始化函数
 {
 delay(15);             //延时15ms,首次写指令时应给LCD一段较长的反应时间
 write_com(0x38);  //显示模式设置:16×2显示,5×7点阵,8位数据接口
 delay(5);   //延时5ms
 write_com(0x38);
 delay(5);
 write_com(0x38); //3次写 设置模式
 delay(5);
 write_com(0x0F);  //显示模式设置:显示开,有光标,光标闪烁
 delay(5);
 write_com(0x06);  //显示模式设置:光标右移,字符不移
 delay(5);
 write_com(0x01);  //清屏幕指令,将以前的显示内容清除
 delay(5);
 }
 void main()   //主函数
 {uchar j;
 e1=0;
 LcdInt();
 write_com(0x0f);
 
 write_date('A');
 
 }
 
 我只要显示A,可是可是整个屏幕都是A呀!是怎么回事
 | 
 |