单片机学习小组
直播中

最强海贼王

8年用户 1347经验值
擅长:MEMS/传感技术
私信 关注

怎样运用SPI协议去完成OLED接口的数据显示呢

OLED屏显和汉字点阵编码原理是什么?

怎样运用SPI协议去完成OLED接口的数据显示呢?

回帖(1)

陈敏

2022-2-17 09:54:29
一、SPI协议简介

SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,地位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几Mbps。
SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件,其接口包括以下四种信号:

  • MOSI+–+主器件数据输出,从器件数据输入
  • MISO+–+主器件数据输入,从器件数据输出
  • SCLK+–+时钟信号,由主器件产生
  • /SS+–+从器件使能信号,由主器件控制
    在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。

    在多个从器件的系统中,每个从器件需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。
    SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK的下降沿上数。
    据改变,同时一位数据被存入移位寄存器。

    SPI接口内部硬件图示
    SPI接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据。

二、接口与程序

1.接口定义

模块引脚丝印图

模块背面图

1、本模块支持IIC、3线制SPI以及4线制SPI接口总线模式切换(如图2红框内所示),具体说明如下:
A、使用4.7K电阻只焊接R3、R4,则选择4线制SPI总线接口(默认);
B、使用4.7K电阻只焊接R2、R3,则选择3线制SPI总线接口;
C、使用4.7K电阻只焊接R1、R4、R6、R7、R8,则选择IIC总线接口;
2、接口总线模式切换后,需要选择相应配套的软件和相应的接线引脚(如图1所示),模块才能正常运行。相应的接线引脚说明如下:
A、选择4线制SPI总线接口,所有的引脚都需要使用;
B、选择3线制SPI总线接口,只有DC引脚不需要使用(可以不接),其他引脚都需要使用;
C、选择IIC总线接口,只需要使用GND、VCC、D0、D1这四个引脚,同时将RES接高电平(可以接VCC),DC和CS接电源地;

2.SPI接线

按照程序接线

接线图示

3.程序

从官网下载0.96inch SPI OLED Module程序

下载完成后解压到当前文件夹

点击解压后的文件夹,选择demo

选择demoSTM32

选择0.96inch_OLED_Demo_STM32F103ZET6_Hardware_4-wire_SPI

打开project,选择OLED_uvprojx

打开后界面显示

4.程序烧录

点击魔法棒

点击debug

在右上use处,选择ST_link,点击setting

在port处,选择SW

点击flash download,点击reset and run,再点击add

点击add。选择第一个

最后添加、确定即可。
源程序烧录结果显示
三、OLED显示姓名学号

选择test.c进行修改,将void TEST_MainPage(void)函数修改
修改完成,再进入main.c文件进行修改


利用PCtoLCD加入所需要显示的汉字模型
找到野火资料盘,打开开发软件

选择字模软件zip,解压到当前目录

打开。然后解压

在打开该文件夹,找到.exe,

双击,界面显示

在下面输入名字,生成字模

此处可以对字体进行旋转

点击生成字模

在oledfont.h头文件里添加个人需要显示的汉字字模
程序修改完成。烧录结果显示

四、显示温度-湿度

添加的内容

[size=31.998px]于SPI协议接口的OLED数据显示文章目录基于SPI协议接口的OLED数据显示任务摘要一、SPI协议简介二、接口与程序1.接口定义2.SPI接线3.程序4.程序烧录三、OLED显示姓名学号四、显示温度-湿度五、OLED的滑屏显示六、总结七、参考资料任务摘要理解OLED屏显和汉字点阵编码原理
五、OLED的滑屏显示

[size=31.998px]于SPI协议接口的OLED数据显示文章目录基于SPI协议接口的OLED数据显示任务摘要一、SPI协议简介二、接口与程序1.接口定义2.SPI接线3.程序4.程序烧录三、OLED显示姓名学号四、显示温度-湿度五、OLED的滑屏显示六、总结七、参考资料任务摘要理解OLED屏显和汉字点阵编码原理
[size=31.998px]于SPI协议接口的OLED数据显示文章目录基于SPI协议接口的OLED数据显示任务摘要一、SPI协议简介二、接口与程序1.接口定义2.SPI接线3.程序4.程序烧录三、OLED显示姓名学号四、显示温度-湿度五、OLED的滑屏显示六、总结七、参考资料任务摘要理解OLED屏显和汉字点阵编码原理(字体有点歪,这里没有纠正,可以通过旋转纠正)

六、总结

本次作业完成,对SPI协议有了初步认识,运用SPI协议完成OLED接口的数据显示。通篇比较麻烦的是汉字点阵,生成字模容易,就是程序烧录后,显示的字体倾斜不一,需要我们多次旋转字体,慢慢去修正。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分