OLED的波形曲线、进度条、图片显示(STM32 HAL库 模拟SPI通信 5线OLED屏幕)详细篇

少废话,先上效果图

屏幕显示效果

OLED的波形曲线、进度条、图片显示(STM32 HAL库 模拟SPI通信 5线OLED屏幕)详细篇

    

OLED的波形曲线、进度条、图片显示(STM32 HAL库 模拟SPI通信 5线OLED屏幕)详细篇

   

OLED的波形曲线、进度条、图片显示(STM32 HAL库 模拟SPI通信 5线OLED屏幕)详细篇

全家福

OLED的波形曲线、进度条、图片显示(STM32 HAL库 模拟SPI通信 5线OLED屏幕)详细篇

一、基础认识及引脚介绍

屏幕参数:

尺寸:0.96英寸

分辨率:128*64

驱动芯片:SSD1306

驱动接口协议:SPI

引脚说明:

OLED的波形曲线、进度条、图片显示(STM32 HAL库 模拟SPI通信 5线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,高位先写出

 

通信时序图

OLED的波形曲线、进度条、图片显示(STM32 HAL库 模拟SPI通信 5线OLED屏幕)详细篇

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

选择芯片(STM32F103C8T6)

OLED的波形曲线、进度条、图片显示(STM32 HAL库 模拟SPI通信 5线OLED屏幕)详细篇

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

OLED的波形曲线、进度条、图片显示(STM32 HAL库 模拟SPI通信 5线OLED屏幕)详细篇

所占用的引脚

OLED的波形曲线、进度条、图片显示(STM32 HAL库 模拟SPI通信 5线OLED屏幕)详细篇

 

开启SWD调试

OLED的波形曲线、进度条、图片显示(STM32 HAL库 模拟SPI通信 5线OLED屏幕)详细篇

所占用的引脚

OLED的波形曲线、进度条、图片显示(STM32 HAL库 模拟SPI通信 5线OLED屏幕)详细篇

时钟树设置

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

OLED的波形曲线、进度条、图片显示(STM32 HAL库 模拟SPI通信 5线OLED屏幕)详细篇

(二)  GPIO初始化

初始化电平分析

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

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

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

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

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

引脚选择

使用单片机是STM32F103C8T6

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

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