首页 » 互联网 » STM32|基于 SPI 单向发送的 12864 驱动轨范_法式_时序

STM32|基于 SPI 单向发送的 12864 驱动轨范_法式_时序

少女玫瑰心 2024-10-30 09:05:54 0

扫一扫用手机浏览

文章目录 [+]

不管是做单片机还是做嵌入式的,要对一块陌生芯片编程是不可避免的事情, 那首先要做的第一步一定是阅读其datasheet,然而时序对付我们是最常见的了,只有针对时序编程,才有可能确实某些硬件事情。
本日我们就来讲讲怎么来编写一个特定的时序来驱动硬件,我们就以STM32的载体了。

这里我们选用了一款基于 ST7567 驱动芯片的 12864 像素 FSTN(格式化超扭曲向列型) 液晶, 当中不集成任何字库, 集成了可独立掌握的琥珀色背光板。
之以是选择这样的液晶, 是由于其与目前可穿着设备广泛利用的 OLED(有机发光二极管) 具有相似的掌握事理, 并且价格还比 OLED 便宜很多。

STM32|基于 SPI 单向发送的 12864 驱动轨范_法式_时序 互联网

我们的引脚掌握对应关系是:

PB2: 背光开关

PB3: 复位

PB4: A0, 数据或者命令选择, “1” : 写数据, “0” : 写命令

PA5: SCL(时钟端)

PA7: SDA(数据端)

SPI 可以有效地减少数据端口的连接, 便于布板和节约端口资源, 因此我们优先推举。
接下来我们研究一下 LCD 的驱动程序

时序图

要研究 LCD 的驱动程序, 首先必须理解其掌握芯片的时序

每次须要发出的时候, 先要拉低 CS, 然后 SDA 发出字节中的最高位的bit,接着 SCLK 进行一次上升沿的变革, 然后按照上述内容依次发送别的各位。
在末了全部发送完成数据后, A0 须要根据当前发送的是命令还是数据, 进行变革。
发送完成之后, CS 须要拉高, 准备下一次字节的发送。

程序实现步骤

初始化相应的 GPIO

写 LCD 的 SPI 写数据程序

写 LCD 的 SPI 写命令程序

初始化 LCD

程序的详细履行

初始化相应的 GPIO。
在这里, 由于我们仅仅用了单向的通讯, 即掌握旗子暗记永久从 MCU 到 LCD, 因此只须要配置上面 5 个掌握引脚为推挽式输出模式“GPIO_Mode_Out_PP”

在定义了以上的初始化程序之后, 为了便于后续的操作方便, 我们可以采取宏定义的办法来定义每个引脚的高低电平输入输出

编写 LCD 的写数据程序。
在这里, 我们先来看下时序图, 如果要写命令的话, 首先须要将 A0 拉高, CS 在写的过程中须要拉低, 接着通过 SCK 和 SDA的合营, 即可将数据完全的发送出去。
发送的时候, 以一个字节为最基本单元,从最高位开始发送, 直至最低位发送出去。

编写 LCD 的写命令程序。
写命令程序和写数据程序类似, 只须要将A0 设置成低电平即可

初始化 LCD。
初始化 LCD 的时候, 我们须要做两件事情, 第一件事设置 LCD 的事情办法; 第二件是掌握 LCD 的背光开关(打开或者关闭) 。
这里我们直接给出一样平常的初始化程序:

lcd 复位程序和转为 lcd 操作编写的延迟程序

好了,有这么多,基本上就能跑起来了。

更多的内容请关注头条号:小5嵌入式

标签:

相关文章

用运放作驱动的高机能功放_功放_电流

本功放采取电 压转换电流办法直接驱动功放管 进行功率放大,以是输出功率主 要取决于末级功放管和功放电 源,且扬声器无开/关机冲击声...

互联网 2025-01-11 阅读0 评论0