STM32 OLED屏显示详解

不多废话,先看效果

STM32 OLED屏显示详解

    

STM32 OLED屏显示详解

   

STM32 OLED屏显示详解

全家福

STM32 OLED屏显示详解

观看演示效果:

https://www.bilibili.com/video/BV13V411b78V

一、基础认识及引脚介绍

屏幕参数:

尺寸:0.96英寸

分辨率:128*64

驱动芯片:SSD1306

驱动接口协议:SPI

引脚说明:

STM32 OLED屏显示详解

二、 SSD1306芯片介绍

SSD1306是一款带控制器的用于OLED点阵图形显示系统的单片CMOS OLED/PLED驱动器。它由128个SEG(列输出)和64个COM(行输出)组成。 

SSD1306嵌入了对比度控制器、显示RAM和振荡器,从而减少了外部组件的数量和功耗。它有256级亮度控制。数据/命令可以通用硬件选择3种通信方式:6800/8000串口、IIC接口和SPI接口。适用于手机子显示器、MP3播放器、计算器等多种便携应用。

模块有多种通信方式,包括串口、IIC、SPI,其选择通过硬件固化,如果使用IIC通信方式时可以选择两个IIC地址,其分别为0x78和0x7A。

三、 通信方式(4线SPI)

所谓的4线SPI并非是收发一体的标准4线SPI协议,标准的4线SPI为SCLK、CS、MOSI、MISO,模块所述大的4线SPI是单向的,即MISO(主入从出)变成了D/C(数据命令选择脚)。

该4线串行接口由串行时钟SCLK、串行数据SDIN、数据命令选择线D/C#、片选信号CS#组成.在四线SPI模式下,D0为SCLK,D1为SDIN。

其真实使用的是标准的3线SPI,也就是省略了MISO(主入从出)数据线。

数据命令选择:DC为高时表示数据,DC为低时表示写命令

片选:CS脚为低电平是选中,如果不通信时将脚输出高电平

数据通信:在SCLK的每一个上升边上,SDIN按D7,D6,…D0,高位先写出

通信时序图

STM32 OLED屏显示详解

四、编程(CubeMX部分) (一)   CubeMX基础配置

选择芯片(STM32F103C8T6)

STM32 OLED屏显示详解

打开外部的高速和低速晶振

STM32 OLED屏显示详解

所占用的引脚

STM32 OLED屏显示详解

 

开启SWD调试

STM32 OLED屏显示详解

所占用的引脚

STM32 OLED屏显示详解

时钟树设置

设置系统时钟为最高速度,72MHZ

STM32 OLED屏显示详解

(二)  GPIO初始化

初始化电平分析

D0:SCLK,时钟线,上升沿有效,所以默认输出高电平

D1:SDIN,数据线,默认输出电平随意

RST:复位脚,低电平复位,默认电平为低

DC:数据/命令选择脚,默认输出电平随意

CS:片选引脚,默认输出高电平

引脚选择

使用单片机是STM32F103C8T6

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypjwg.html