dy超火[特殊字符]月薪喵-keil基于STM32F103C8T6实现0.96寸OLED屏幕实时显示(附keil代码+工具)从0-1
- 主控芯片: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动图转换工具,借助大佬开源的网页工具,可以快速完成代码编写
工具选择:使用基于浏览器的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.c、oled.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源码在此对原作者的无私分享表示感谢。
附完整代码
更多推荐

所有评论(0)