首先,LCD1602由于其本身的物理构造,其显示现象是给出的点阵图形。这是由同尺寸的液晶点组成的。当控制器想要对LCD1602屏幕上的某个位置进行操作时,它需要让所需的位置上的点从黑色变成白色或从白色变成黑色。
如果LCD1602显示方块,通常原因是驱动程序出现故障。比如说,开发板的电源电压存在问题,芯片引脚之间的焊点出现异常或LCD驱动焊盘接触不良等等。出现这些问题后,就会导致LCD模块无法正确接收到所需的控制信号,进而导致出现离谱的现象。
其次,有些开发板的驱动做法过于简化,对特定IO口的输出电流进行限幅器限制,而LCD1602高低电平的阈值需求相对于人眼观察见到的基准值变化较大,而有些开发板又对于驱动电路的灵敏度存在一些蒙昧。所以很可能在这种情况下LCD1602的点阵图形无法完整而清晰地显示出来,而成为了方块等别的怪异现象。
第三个重要原因是LCD1602屏幕与MCU芯片之间的连接存在问题。更具体来说,这是出现在开发板初期或后期接口卡槽连接器处的问题。如果出现这种情况,可以检查开发板有没有足够强大的驱动电流,同样需要确保接口处的芯片引脚焊点没有出现异常。
LCD1602的常见硬件接口分配如下:
VCC:5V外部电源
GND:电源地
RS(Register Select):寄存器选择。一旦为高电平,LCD将会受到数据指令而不是命令代码。
R/W(Read/Write):读写信号线。如果为高电平,驱动器会将器件状态切换到读取模式。如果为低,则转为写入模式。
E(Enable):使能信号线,被用于接收高电平的数据和命令。为了记忆,我们可以将它想象成大门的入口开关。
D0-D7:实际上可以理解为取决于所需连线的总线数量。
最后,LCD1602方块的原因也可能是因为驱动程序的缺陷导致的。驱动程序需要设置正确的各个时序参数和初始化值。如果驱动程序的某一项参数设置不恰当、引用的变量数据错误,就可能会产生调度几何、不连续等问题,这就会导致LCD1602的疯狂闪烁或无法正常使用,反而变成方块等别的明显的不恰当现象。