少废话,先上效果图
屏幕显示效果
全家福
一、基础认识及引脚介绍屏幕参数:
尺寸:0.96英寸
分辨率:128*64
驱动芯片:SSD1306
驱动接口协议:SPI
引脚说明:
二、 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,高位先写出
通信时序图
四、编程(CubeMX部分) (一) CubeMX基础配置选择芯片(STM32F103C8T6)
打开外部的高速和低速晶振
所占用的引脚
开启SWD调试
所占用的引脚
时钟树设置
设置系统时钟为最高速度,72MHZ
(二) GPIO初始化初始化电平分析
D0:SCLK,时钟线,上升沿有效,所以默认输出高电平
D1:SDIN,数据线,默认输出电平随意
RST:复位脚,低电平复位,默认电平为低
DC:数据/命令选择脚,默认输出电平随意
CS:片选引脚,默认输出高电平
引脚选择
使用单片机是STM32F103C8T6