12864(ST7565P)液晶驱动 显示概念 含有ST7565P 芯片的液晶,是没有文库支持的功能,但是没有就没有啦!液晶可以给我画画,那么它就是好东西了。 液晶的“显示”,液晶的“扫描次序”全部都与 CGRAM 分配有很大的关系。我们先了解“扫描次序”吧。 宏观上一副液晶是 “64 高 x 128 宽”。微观上由芯片 ST7565P 驱动的一副 12864 液晶是由“8 个 8 高 x 128 宽的页”组成。 至于液晶的“扫描次序”就与 4 个命令有关系。 上图表示了,当命令为 0xA0 列扫描是“自左向右”,如果命令式 0xA1 列扫描是“自右向左”。总归,这两个命令控制了“列扫描次序” 除了控制列扫描的命令以外,当然还有控制“页扫描次序”的命令。如上图,命令 0x C0 控制页扫描是“从下至上”,然而命令 0x c8 控制页扫描“又上至下”。无论页扫描的次序是“从上至下”还是“从下至上”,然而每一页的列填充,都是“低位开始高位结束” 关于列扫描就有列填充的问题。我们知道每“一页”都是由“8 高 x 128 宽”组成。换句话说,这里没有“行扫描”的概念,因为“一页”都是由“一个字节数据,列填充 128 次”成为一页。如上图中所示。 假设“页扫描次序”是由上至下,填充的值是 0x 0f,那么经过 128 次的“列扫描”以后,一页的扫描结果会是如上图所示。 关于 ST7565P 芯片,命令,和液晶扫描它们之间的关系而已,我们简单来总结一下: (一)CGRAM 分布是由 8 页组成。 (二)每一页是 由 一个字节填充 和 128 次列扫描 组成。 (三)列扫描次序与命令 0x A0 与 0x A1 有关。 (四)页扫描次序与命令 0x C0 与 0x C8 有关。 (五)列填充字节的高位低位关系与页扫描命令有关。 (六)不存在行扫描概念。 上图所示是 “页扫描”由上至下,“列扫描”由左至右,列填充值是 0x0f。 在CGRAM 分布方面。CGRAM 可以说是由 8 bits x 1024 words,如果以“页”去分配,也就是说 8 page x 8 bits x 128 words , 那么“页”的偏移量就是 128。这一点要好好的记住。 那么关于“列地址”和“页地址”又是如何呢? 事实上 CGRAM 的建立不可能是 8 page x 8 bits x 128 words 那么完美的,必定有而外的列和页是不在显示的范围内,亦即第 8 页和第 128~131 列(如果页和列从 0 开始计算)。 虽然说完成一次列填充,列地址会自动递增,然而 ST7565P 对于列地...