单片机学习小组
登录
直播中
最强海贼王
8年用户
1377经验值
擅长:MEMS/传感技术
私信
关注
怎样运用SPI协议去完成OLED接口的数据显示呢
开启该帖子的消息推送
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接口的数据显示。通篇比较麻烦的是汉字点阵,生成字模容易,就是程序烧录后,显示的字体倾斜不一,需要我们多次旋转字体,慢慢去修正。
一、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接口的数据显示。通篇比较麻烦的是汉字点阵,生成字模容易,就是程序烧录后,显示的字体倾斜不一,需要我们多次旋转字体,慢慢去修正。
举报
更多回帖
rotate(-90deg);
回复
相关问答
SPI协议
OLED
数据显示
怎样
通过
SPI
总线
去
实现
OLED
屏幕
显示
呢
2021-11-17
2004
怎样
通过IIC和
SPI
实现在
OLED
上
显示
温湿度及滚动效果
呢
2022-01-27
1278
怎样
使用
SPI
通信的
OLED
屏幕
去
显示
AHT20测试的温湿度
呢
2021-12-01
1371
STM32驱动
OLED
屏滚动
显示
的软件该
怎样
去
设计
呢
2021-12-08
2528
请问如何利用
OLED
去
显示
AHT20的温度和湿度
呢
2022-01-21
915
怎样
用cubeMX
去
完成
oled
显示
?有哪些步骤?
2021-07-07
1953
怎样
使用STM32F103的
SPI
或IIC
接口
实现
显示
功能
呢
2022-01-21
1038
如何
去
实现一种基于
SPI
的
OLED
显示
屏
显示
数据
的设计
呢
2022-01-21
1176
如何
去
实现一种基于IIC
接口
的
OLED
数据
显示
设计
2022-01-21
906
怎样
去
使用I2C
接口
去
控制
OLED
屏幕的
显示
呢
2021-12-28
1995
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分