实验三——基于SPI/IIC接口的OLED数据显示

实验要求

理解OLED屏显和汉字点阵编码原理,使用STM32F103的SPI或IIC接口实现以下功能:

  1. 显示自己的学号和姓名;

  2. 显示AHT20的温度和湿度;

  3. 上下或左右的滑动显示长字符,比如“Hello,欢迎来到重庆交通大学物联网205实训室!”或者歌词、诗词。(最好使用硬件刷屏模式)

一、0.96OLED显示屏模块

在这里插入图片描述
高分辨率:128x64(和12864同分辨率,高PPI)
超大可视角度:大于160°(显示屏中可视角度最大的一种屏幕)
超低功耗:正常显示0.06w(远低于TFT显示屏)
宽电压供电(3V~5V),兼容3.3V和5V电平逻辑,无需电平转换芯片
IIC接口只需2个IO轻松点亮

接线说明:
在这里插入图片描述

二、取模软件说明

在这里插入图片描述
根据0.96寸OLED显示屏模块购买链接提供的相应资料选择0.96寸IIC4针的资料
下载相应的例程和取模软件
在这里插入图片描述
打开后
选择“选项”
在这里插入图片描述选择“列行式” “C51格式” 最后点击“确定”
在这里插入图片描述在下面输入想要取模的汉字 生成字模 然后就得到想要输出汉字的字模格式了
在这里插入图片描述

三、用OLED屏显示学号姓名,AHT20温湿度

打开刚刚下载资料里面的例程
其中显示一个字符串的函数如下:
在这里插入图片描述
其中

u8 x           起始点的横坐标
u8 y           起始点的纵坐标
u8 *chr        所显示字符串的首地址
u8 Char_Size   所显示字符串的大小

显示汉字的函数如下:
在这里插入图片描述
其中

u8 x      起始点的横坐标
u8 y      起始点的纵坐标
u8 no     所显示的汉字在字模数组的位置

更改需要显示的汉字(要求显示名字)

将取模后生成的字模复制到HARDWARE——oled.c——oledfont.h
在这里插入图片描述
替换之前例程的字模
在这里插入图片描述

更改需要显示的字符串(要求显示学号)

在主函数里直接修改u8 a[ ]数组
在这里插入图片描述

AHT20温湿度显示

将之前AHT20、IIC的源文件和头文件bsp_i2c.c
在bsp_i2c.c代码中添加在OLED屏显示的代码
在这里插入图片描述并在主函数中调用测量并显示温湿度的函数
在这里插入图片描述
最后烧录结果如下:
在这里插入图片描述

四、上下滑动显示字符

我们采用直接控制ssd1306的硬件通过给oled发送SSD1306的驱动显示命令,控制屏幕进行平滑滚动显示。而不是不是软件更新坐标起点、循环屏幕写字的方式。后者屏闪明显,显示速率不够高

在主函数里添加
在这里插入图片描述
最后烧录结果如下:
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UART、SPI、I2C(也称为IIC)、IIS(也称为I2S)是一些常见的串行通信接口标准,用于在电子设备之间传输数据。 1. UART(通用异步收发器):UART是一种常见的串行通信接口,用于通过异步方式传输数据。它通常用于连接计算机和外部设备,如调制解调器、GPS模块、传感器等。UART使用TX(发送)和RX(接收)线来进行数据传输。 2. SPI(串行外围接口):SPI是一种全双工的串行通信接口,用于在微控制器和外部设备之间传输数据SPI使用主从模式,其中一个设备充当主设备,控制通信的时序和数据传输。它使用多个线(如SCLK、MISO、MOSI)进行通信,并支持高速数据传输。 3. I2C(双线串行接口):I2C是一种双线制的串行通信接口,用于在芯片之间进行通信。它使用两根线(SDA和SCL)进行数据和时钟传输。I2C支持多主从模式,允许多个设备在同一总线上进行通信。 4. IIS(集成电路音频总线)/I2S(Inter-IC Sound):IIS或I2S是一种用于音频数据传输的串行接口。它通常用于数字音频设备之间的连接,如音频编解码器、数字信号处理器等。I2S使用多个线(如数据线、时钟线、帧同步线)来传输音频数据。 这些接口标准在电子设备中广泛应用,每种接口都有其独特的特点和应用场景。具体使用哪种接口取决于设备之间的通信需求和硬件支持。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值