与单片机寄存器的用法类似,1602 液晶在使用的时候,我们首先要进行初始的功能配置,1602 液晶有以下几个指令需要了解。
1) 显示模式设置
写指令 0x38,设置 16x2 显示,5x7 点阵,8 位数据接口。这条指令对我们这个液晶来说是固定的,必须写 0x38,大家仔细看会发现我们的液晶实际上内部点阵是 5x8 的,还有一些1602 液晶还兼容串行通信,用 2 个 IO 口即可,但是速度慢,我们这个液晶就是固定的 0x38模式。
2) 显示开/关以及光标设置指令
这里有 2 条指令,第一条指令,一个字节中 8 位,其中高 5 位是固定的 0b00001,低 3位我们分别用 DCB 从高到低表示,D=1 表示开显示,D=0 表示关显示;C=1 表示显示光标,C=0 表示不显示光标;B=1 表示光标闪烁,B=0 表示光标不闪烁。
第二条指令,高 6 位是固定的 0b000001,低 2 位我们分别用 NS 从高到低表示,其中N=1 表示读或者写一个字符后,指针自动加 1,光标自动加 1,N=0 表示读或者写一个字符后指针自动减 1,光标自动减 1;S=1 表示写一个字符后,整屏显示左移(N=1)或右移(N=0),以达到光标不移动而屏幕移动的效果,如同我们的计算器输入一样的效果,而 S=0 表示写一个字符后,整屏显示不移动。
3) 清屏指令
固定的,写入 0x01 表示显示清屏,其中包含了数据指针清零,所有的显示清零。写入0x02 则仅仅是数据指针清零,显示不清零。
4)RAM地址设置指令
该指令码的最高位为 1,低 7 位为 RAM 的地址,RAM 地址与液晶上字符的关系如上图12-2 所示。通常,我们在读写数据之前都要先设置好地址,然后再进行数据的读写操作。