0
问答首页 最新问题 热门问题 等待回答标签广场
我要提问

LCD

LCD1602一般初始化为什么是这样

//================================================

//     LCD_Write_Command.c

//================================================

void LCD_Write_Com(uchar com)

{

      LCD_RS_Low;       //Instruction

      LCD_RW_Low;       //Write

      LCD_EN_Low;

      LCD_DATA=com;    //P0 receive data

      LCD_EN_High;       //Open

      LCD_EN_Low;       //Close

     timer_ms_delay(20);     //used for busy check

}

//================================================//     LCD_Write_Data.c

//================================================void LCD_Write_Data(uchar date)

{

     LCD_RS_High;   //Data

     LCD_RW_Low;       //Write

     LCD_EN_Low;

     LCD_DATA=date;      //P0 receive data

     LCD_EN_High;   //Open

     LCD_EN_Low;       //Close

     timer_ms_delay(20);     //used for busy check

}

//================================================//     LCD_initialization.c

//================================================

void LCD_initi()

{

    /*     timer_ms_delay(15);      为什么把这些屏蔽后,显示就不正常了呢?

    LCD_Write_Com(0x38);麻烦高手给一个写指令,写数据以及标准初始化的程序!

    timer_ms_delay(5);

    LCD_Write_Com(0x38);小弟这里谢啦!

    timer_ms_delay(5);

    LCD_Write_Com(0x38);

    timer_ms_delay(5);    */

  

    LCD_Write_Com(0x38);   //Data Bus 8 bit,line 2,5*7pot/character

    LCD_Write_Com(0x0c);   //Display on,No cursor,No cursor flashing

    LCD_Write_Com(0x06);   //光标右移,且AC值加1

    LCD_Write_Com(0x01);         //Clear,即光标回到左上方,AC的值设置为0   

}

为什么把这些屏蔽后,显示就不正常了呢?麻烦高手给一个写指令,写数据以及标准初始化的程序!

小弟这里先谢过啦!

提问者:cslb2000 地点:- 浏览次数:6898 提问时间:11-19 14:19
我有更好的答案
提 交
1条回答
msvdsufsdf 10-12 10:02 回答数:1 被采纳数:0

初始化过程:

1、延时15ms

2、写指令38H(不检测忙信号)

3、延时5ms

4、写指令38H(不检测忙信号)

5、延时5ms

6、写指令38H(不检测忙信号)

7、以后每次写指令、读/或写数据操作之前均需检测忙信号

8、写指令38H:显示模式设置

9、写指令08H:显示关闭

10、写指令01H:显示清屏

11、写指令06H:显示光标移动设置

12、写指令0cH:显示开及光标设置


主函数部分:

1、初始化

2、设置显示地址指针

3、for循环

4、在for循环程序中写入数据


LCD1602初始化

撰写答案
提 交
1 / 3
1 / 3
相关LCD
力信LCD开关电源电路
LCD背光闪烁
请教LCD背光引脚
LCD12864程序无法显示
关于LCD信号传输接口的资料