SPI 协议用 0.96 寸 OLED 显示汉字及温湿度数据

 

目录

1 SPI 协议1.1 SPI 协议简介

2.2 SPI 物理层与协议层

2.3 STM32 的 SPI 特性及架构

2 OLED 显示实验2.1 具体要求

2.4.3 OLED 滑动显示字符

2.4.4 OLED 显示温湿度数据

3、总结

Saleae Logic 16 逻辑分析仪的安装并对信号进行测量


1 SPI 协议
1.1 SPI 协议简介

SPI 协议是由摩托罗拉公司提出的通讯协议,即串行外设接口(Serial Peripheral Interface),是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便。它被广泛地使用在 ADC、LCD 等设备与 MCU 间,要求通讯速率较高的场合。

    SPI 和 I2C 的通信 2 种总线的异同点可以参看这篇博客:I2C和SPI总线对比。

2.2 SPI 物理层与协议层

    SPI 物理层

    SPI 通讯使用 3 条总线及片选线,3 条总线分别为 SCK、MOSI、MISO,片选线为 SS。

    SPI 协议层
 
    这是一个主机的通讯时序。NSS、SCK、MOSI 信号都由主机控制产生,而 MISO 的信号由从机产生,主机通过该信号线读取从机的数据。MOSI 与 MISO 的信号只在 NSS 为低电平的时候才有效,在 SCK 的每个时钟周期 MOSI 和 MISO 传输一位数据。

2.3 STM32 的 SPI 特性及架构

    与 I2C 外设一样,STM32 芯片也集成了专门用于 SPI 协议通讯的外设。
    STM32 的 SPI 外设可用作通讯的主机及从机,支持最高的 SCK 时钟频率为 fpclk/2 (STM32F103 型号的芯片默认 fpclk1 为 72MHz,fpclk2 为 36MHz),完全支持 SPI 协议的 4 种模式,数据帧长度可设置为 8 位或 16 位,可设置数据 MSB 先行或 LSB 先行。它还支持双线全双工(前面小节说明的都是这种模式)、双线单向以及单线模式。其中双线单向模式可以同时使用 MOSI 及 MISO 数据线向一个方向传输数据,可以加快一倍的传输速度。而单线模式则可以减少硬件接线,当然这样速率会受到影响。我们只讲解双线全双工模式。

    更多的 SPI 协议内容可以查看资料:《零死角玩转STM32—F103指南者.pdf》。

2 OLED 显示实验
2.1 具体要求

    显示自己的学号和姓名
    显示 AHT20 的温度和湿度
    上下或左右的滑动显示长字符,或者一段歌词或诗词(最好使用硬件刷屏模式)

2.2 准备工具

硬件工具:

    STM32F103 开发板
    AHT20 芯片(温湿度数据采集)
    AHT20 芯片的具体信息及参考代码参考官网介绍,链接:
    http://www.aosong.com/class-36.html
    USB 转 TTL 模块
    杜邦线若干
    PC 机(Win10)
    0.96寸OLED显示屏模块

软件工具:

    keil 5 MDK
    烧录软件 mcuisp (提取码均为:luha)

2.3 硬件连接及说明

    STM32F103 开发板与 OLED 模块连接
   
    其他模块的具体连接参考上篇博客的第 2.4.1 部分:
    STM32 基于 I2C 通信协议的温湿度采集并串口显示
    使用硬件 SPI 通信

2.4 代码实现
2.4.1 Demo 程序

    下载资料包之后打开其中的“0.96inch_SPI_OLED_Module_SSD1306_MSP096X_V1.0\1-Dem

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值