不管是做单片机还是做嵌入式的,要对一块陌生芯片编程是不可避免的工作, 那首先要做的第一步必然是阅读其datasheet,然而时序对于我们是最常见的了,只有针对时序编程,才有可能确实某些硬件工作。今天我们就来讲讲怎么来编写一个特定的时序来驱动硬件,我们就以STM32的载体了。 这里我们选用了一款基于 ST7567 驱动芯片的 128*64 像素 FSTN(格式化超扭曲向列型) 液晶, 当中不集成任何字库, 集成了可独立控制的琥珀色背光板。之所以选择这样的液晶, 是因为其与目前可穿戴设备广泛使用的 OLED(有机发光二极管) 具有相似的控制原理, 并且价格还比 OLED 便宜很多。 我们的引脚控制对应关系是:
SPI 可以有效地减少数据端口的连接, 便于布板和节约端口资源, 因此我们优先推荐。 接下来我们研究一下 LCD 的驱动程序 时序图要研究 LCD 的驱动程序, 首先必须了解其控制芯片的时序 每次需要发出的时候, 先要拉低 CS, 然后 SDA 发出字节中的最高位的bit,接着 SCLK 进行一次上升沿的变化, 然后按照上述内容依次发送其余各位。 在最后全部发送完成数据后, A0 需要根据当前发送的是命令还是数据, 进行变化。发送完成之后, CS 需要拉高, 准备下一次字节的发送。 程序实现步骤
程序的具体实施
在定义了以上的初始化程序之后, 为了便于后续的操作方便, 我们可以采用宏定义的方式来定义每个引脚的高低电平输入输出
好了,有这么多,基本上就能跑起来了。 |
|
来自: 龙之吻6iinxl8c > 《单片机及控制系统》