| 
 
| 各位前辈好,小弟初学单片机,这几天遇到了个问题: #include<reg52.h>
 #define LCD_D P0
 sbit LCD_RW=P2^5;
 sbit LCD_RS=P2^6;
 sbit LCD_E=P2^7;
 void LCD_WriteCom(unsigned int com);
 void LCD_WriteDat(unsigned int date);
 void LCD_init();
 void delay(unsigned int c);
 
 
 void delay(unsigned int c)
 {
 unsigned int a,b;
 for (; c>0; c--)
 {
 for (b=199;b>0;b--)
 {
 for(a=1;a>0;a--);
 }
 }
 
 }
 void LCD_WriteCom(unsigned int com)//1602写指令函数
 {
 LCD_RS=0;
 LCD_RW=0;
 LCD_E=0;
 LCD_D=com;
 delay(5);
 LCD_E=1;
 delay(5);
 LCD_E=0;
 }
 void LCD_WriteDat(unsigned int date)//1602写数据函数
 {
 LCD_RS=1;
 LCD_RW=0;
 LCD_E=0;
 LCD_D=date;
 delay(5);
 LCD_E=1;
 delay(5);
 LCD_E=0;
 }
 void LCD_init()//1602初始化函数
 {
 LCD_WriteCom(0x38);
 LCD_WriteCom(0x08);
 LCD_WriteCom(0x06);
 LCD_WriteCom(0x01);
 }
 
 void main()
 {
 LCD_init();
 while(1);
 }
 上面的程序写入单片机之后,出现了图中的现象,我在初始化的第二行里写的是不开光标,光标也不闪烁,但是现在光标在第一行第一位闪烁而且整个黑块跟光标在同时闪烁,不管我的初始化第二行里写入什么样的数据情况都是一样的,求高手解答,多谢了。
 | 
 |