微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 求助帖:关于lcd1602中“0x32”指令的问题

求助帖:关于lcd1602中“0x32”指令的问题

时间:10-02 整理:3721RD 点击:
最近看到一些程序,用四位数据线来完成lcd1602的数据传输在初始化的时候经常会加“lcdwritecom(0x32)”这样的语句。注释上写着“将八位数据总线转换为思维数据总线”,在查询lcd1602数据手册之后发现唯一对的上的是lcd1602的工作方式设置指令。问题在于:“0x32”也就是“0011 0010”,的后两位在数据手册中并没有意义,在手册中以星号表示,为无关项。但是将“0x32”改为“0x30”(也就是“0011 0010”改为“0011 0000”)之后却发现lcd1602无法继续正常显示。将这行语句注释掉之后则lcd1602的显示会变成乱码。所以特地想请教指令“0x32”的真正含义?其对应的指令寄存器及各位的意义又是什么?
部分程序如下:
void LcdInit()                                                  //LCD初始化子程序
{
        LcdWriteCom(0x32);         //将8位总线转为4位总线
        LcdWriteCom(0x28);         //在四位线下的初始化
        LcdWriteCom(0x0c);  //开显示不显示光标
        LcdWriteCom(0x06);  //写一个指针加1
        LcdWriteCom(0x01);  //清屏
        LcdWriteCom(0x80);  //设置数据指针起点
}

能用就行                                             

可能和1602的硬件有关系,你看的手册是和这个1602完全对应的吗?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top