proteus 0.96OLED IIC仿真 SSD1306 UG-2864HSWEG01

本文介绍了在Proteus 8.9环境下,如何通过仿真UG-2864HSWEG01 OLED屏来替代中景园0.96寸OLED屏。作者详细分析了OLED屏的驱动芯片SSD1306的引脚功能,并给出了正确的连接方法,特别强调了在IIC模式下的配置。在软件部分,作者使用STM32F1的HAL库修改了中景园的OLED驱动代码,最终成功实现了仿真。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关键字

Proteus 仿真
OLED屏
SSD1306 UG-2864HSWEG01
STM32f1 IIC HAL库

问题描述

最近接触了一下proteus 仿真, 在进行OLED仿真的时候, 遇到上想要用类似中景园0.96OLED屏, 没有相关元器件, 在网上搜索之后发现资料不多, 且一直黑屏无法正常显示的问题. 后完成解决问题,仅按个人经验提出一些见解.

解决思路与信息分析

国内用OLED屏的很多都是用中景园0.96OLED屏, 然而我所用的proteus(8.9)没有相关器件,为了仿真与现实运用对齐于是想找个库中已有的器件代替.
对编程有较大影响的为OLED的驱动芯片. 查询资料得知, 其驱动芯片为 SSD1306 , 直接在器件库中搜索SSD1306刚好发现有一个UG-2864HSWEG01符合要求, 而网上也较多用这个进行代替.

在这里插入图片描述跟着网上大佬的经验,跟着搭出了这样一个原理图
在这里插入图片描述
同时翻阅SSD1306芯片手册,引脚相关说明
引脚描述表1引脚描述表2其中功率引脚不多赘述, 除些之外, 比较关心的引脚有

CS ‾ \overline{\text{CS}} CS :片选线, 低有效, 那就直接拉低.
RES ‾ \overline{\text{RES}} RES : 复位信号输入,拉低表示初始化芯片,要正常工作就得拉高.
D/ C ‾ \overline{\text{C}} C : 数据(Data)/控制(Comtrol)引脚,根据手册,可得在IIC模式下,作为IIC从地址的一个位(SA0), 如下图所示:
SSD1306手册 8.1.5R/ W ‾ \overline{\text{W}} W: 读(高有效)/写(低有效)控制, 我们只是用OLED进行显示, 不涉及数据回读的操作, 而且介绍中提及使用串行接口应该拉至Vss(即拉低), 所以本引脚应该拉低, 在proteus仿真中实测无论拉高拉低还是置空都不影响OLED显示.
BS[0…2] : 接口方式选择线,如下表所示:

在这里插入图片描述可见, 使用IIC模式应该将BS0与BS2拉低, BS1拉高.
D[0…7]: 数据总线, 按引脚描述或按8.1.5IIC接口描述, IIC接口下D2为SDAout, D1为SDAin,D0为SCL线.D2与D1可直接相连, 而且必须接上上拉电阻.
至此, 基本搞清楚了所有接线,同时除R/ W ‾ \overline{\text{W}} W引脚外其他也验证了网上大佬的接线图.

然而还是出了些问题折腾了许久, 原因在于对proteus的总线不熟悉上, 普通的连线需要网络标号也就算了, 就连总线都需要添加网络标号(ps.感觉可能是版本问题)
在这里插入图片描述
至此算是硬件搭完了, 软件方面直接下了中景园的OLED资料, 自己简单copy了下, 唯一改动的地方就是把oled.h中从ST标准库改成了HAL库表达.
在这里插入图片描述至此, OLED仿真成功
住址成功效果

相关文件

自己编写的测试文件 : https://download.csdn.net/download/qq_44498171/85073219

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值