Protues仿真中OLED一直黑屏,很久才慢慢显示的问题,并且总体运行很慢的问题
摘要:本文分享了Protues8.17仿真STM32F103最小系统时OLED显示异常和LED不亮的解决方法。针对OLED显示缓慢问题,需修改单片机时钟频率为72MHz,并将OLED的4.7K上拉电阻的ModelType从ANALOG改为DIGITAL。同样,LED不亮的问题也可以通过将其ModelType改为DIGITAL解决。这些调整可显著改善仿真速度,使外设正常工作。文章提供了详细的操作步骤
最近做仿真同学的毕设,使用的Protues8.17版本的,涉及到了OLED显示。
然后把所有的元器件放置号后,给STM32最小系统烧录好程序,开始仿真,发现仿真运行的特别慢,OLED也一直黑屏,我一度以为是我的程序出现了问题。就在实物上试了试,但是实物上OLED和其他的模块运行都是正常的。
出现这种问题,就在CSDN和b站等各种途径搜索解决办法,搜所了很长时间,发现给的方法基本都是让改单片机的时钟频率,我照着方法改了但是还是不行。仿真中时间运行的巨慢,然后就自己摸索,不断尝试就找到了解决办法,在这个记录一下,也希望能解决大家的问题。
首先,是需要改我们STM32F103最小系统的程序,我是这样改的如下图

选择72MHZ,8Times,8Times选择默认的0也应该没事。
第二步,找到我们的OLED,因为Protues中的OLED都是4线I2C接口的,所以都会需要这个4.7K的上拉电阻,如下图

我这上拉电阻,写的4700是因为在搜索资料的时候,有的博主说改成4700就好了,我试了试,改了但是没有用,然后我就没有改回4.7k,我感觉4.7k和4700是一样的,就没有改。
此时就是开启仿真后,OLED一直黑屏,然后我就等待很长时间,我究竟看看它显不显示现不现实,经过很长时间后,发现显示了一个字,就是那种很慢很慢的去显示的,那就不是我的程序的问题了。
第三步,双击4.7K上拉电阻,进入修改属性的界面,会看到一个Model Type,把4.7K的上拉电阻的Model Type从ANALOG改为DIGITAL,就是把模拟的改为数字的,如下图:


两个4.7K的电阻都要这改,改完之后,再去点击开始仿真,你就会发现,OLED显示的特别快,就变正常了,下面的时间显示也变正常了,如下图:

这样改完,OLED基本就可以正常运行,正常显示。
还有一个就是,仿真中LED不亮的情况,就只是接一个电源,电阻,LED、GND都不亮的情况,如下图:

这个解决方法也是,同理,双击小灯,进入属性界面,会看到一个Model Type,把LED的Model Type从ANALOG改为DIGITAL,然后再去点击开始仿真,就亮了起来。如下图:


希望这篇文章可以帮到大家!
更多推荐



所有评论(0)