dy超火[特殊字符]月薪喵-keil基于STM32F103C8T6实现0.96寸OLED屏幕实时显示(附keil代码+工具)从0-1
2026/6/8 2:58:04 网站建设 项目流程
  • 主控芯片:STM32F103C8T6(最小系统板)
  • OLED模块:0.96寸屏幕
  • 连接方式
    • SCK → PB6(I2C1_SCL)
    • SDA → PB7(I2C1_SDA)
    • VCC → 3.3V
    • GND → GND

最终实现效果

一、选择GIF图片

最近很火的月薪喵表情包第1弹_喵御宅_MFuns_兴趣至上的二次元社区

网上GIF动图搜索月薪喵很多,可以选择自己喜欢的,然后下载GIF格式,建议放在桌面

二、GIF图转换keil代码

GIF image2cpp - 128x64 OLED

GIF动图转换工具,借助大佬开源的网页工具,可以快速完成代码编写

工具选择:使用基于浏览器的128×64 OLED GIF to Array工具,该工具可将 GIF 图像在本地拆分为单帧并转换为 C 语言数组。

参数配置(自动配置不用动手)

  • 画布尺寸:设置为128 × 64 px,与 0.96 寸 OLED 屏幕分辨率匹配;
  • 背景色:设置为白色,与 OLED 显示逻辑兼容;
  • 缩放方式:fit to 128x64,确保 GIF 图像完整适配屏幕;
  • 代码输出格式:Arduino code(可直接复制为标准 C 数组格式)
  • 绘制模式:Horizontal - 1 bit per pixel,适配常见的 OLED 水平扫描方式。

①点击选择文件——选择刚刚保存的GIF动图

②打开后下面都保持不变

GIF 图像转单色位图数组(等下需要用到)

④工具根据 GIF 的 28 帧位图数组,自动生成了完整的 OLED 显示代码(等下需要用到)

三、软件配置(Keil MDK)

GitHub - 谢林雷/OLED_Display:STM32F103C8T6标准外设库OLED显示项目·GitHub

本项目基于Keil uVision5开发环境,使用谢林雷开源的OLED_Display项目作为基础工程,实现 STM32F103C8T6 的 OLED 驱动开发。

开发环境说明

选用 Keil MDK 作为编译与调试工具,其对 STM32 系列单片机提供了完善的支持,可方便地进行代码编写、编译与下载。

工程搭建方式

对于有基础的开发者,可新建工程并自行编写oled.coled.h驱动文件,再结合main.c实现功能;

为降低开发门槛,本项目直接使用开源的 OLED 显示工程作为模板,在此基础上添加 GIF 动画播放的逻辑代码,快速完成二次开发。

①搜索网页并点击绿色代码出找到最下面下载Zip压缩包

②找到自己下载的Zip文件并且解压至本文件夹

③打开OLED_Display-main并用keil打开OLEDTest

④找到文中注释:粘贴生成的数组BEGIN

返回网页

点击复制输出

回到注释中间粘贴

⑤同上,找到while(1)后的:粘贴生成的OLED display code BEGIN

返回网页

找到OLED display code复制代码

回到注释中间粘贴

四、硬件烧录

①找到keil上方魔术棒并打开

②找到Debug——Use:选择ST-Link DeBugger(这一步很关键,不选择无法连接STM32最小系统板)

③OK,返回找到图标

点击编译一下

找到

完成烧录

编译生成的程序通过 Keil MDK 下载至 STM32F103C8T6 单片机,下载过程日志显示:

  • Full Chip Erase Done.:芯片 Flash 已完成整片擦除;
  • Programming Done.:程序已成功写入 Flash;
  • Verify OK.:写入数据校验无误;
  • Application running ...:程序已正常启动并运行。

这表明工程编译无错误、下载流程完整,单片机已按照程序逻辑执行 OLED 动画播放任务。

到这里就结束了》》》

如果OLED没有显示,可以按一下最小系统板上面的复位按钮

致谢

本项目的 OLED 驱动工程与 GIF 转数组工具参考并使用了谢林雷、解林磊的开源项目,以及铁头山羊STM32新版4.8源码在此对原作者的无私分享表示感谢。

附完整代码

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询