PIC单片机论坛
直播中

小电50

8年用户 29经验值
擅长:可编程逻辑 嵌入式技术 接口/总线/驱动 处理器/DSP 光电显示 控制/MCU MEMS/传感技术
私信 关注
[问答]

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

最近看到一些程序,用四位数据线来完成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);  //设置数据指针起点
}
已退回2积分

回帖(3)

张君

2016-11-9 17:41:27
能用就行                                             
举报

杨永胜

2016-11-9 22:56:36
可能和1602的硬件有关系,你看的手册是和这个1602完全对应的吗??
举报

WuJerry9376

2017-11-26 01:21:16
挖个坟。。lz弄明白了吗?我看到这儿的时候也有了这个问题,网上查来查去也没人说这个0x32是什么作用。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分