文章目录
0 前期教程
1 前言
最近接了一个项目,是基于Proteus仿真STM32的,虽然此前有听过类似的做法,也大概了解一点,但真正实践还是第一次,所以简单记录一下实践经历,本文所有的仿真都是Proteus 8.13.
2 先说说建议的流程
之前做过基于8086的仿真,但还是和这个不太一样,前前后后踩了不少坑,这里简单记录一下。
新建工程没什么好说的,关键是下面这一步:
如果是第一次使用,那很有可能这里的编译器是not configure
的状态,很多人可能就直接去下载了,如果是仿真8086,那确实得下载,但如果是仿真STM32,我个人的建议是不要去下载。首先是这个编译器也不小,160M,其次就是编译器的作用其实就是帮助你编译在Proteus中写的代码,但个人不建议在Proteus中写代码,因为我遇到过直接空的项目运行都会报错。。。
此外,就是这里甚至都不一定需要创建固件项目,个人最推荐的是选择最上面的那个选项,如果需要单片机可以在库中额外添加。
这里选择STM32F103C8系列是无法识别到编译器的,也不知道为啥,但丝毫不妨碍仿真该型号,可以直接建立空的项目,单片机后续再添加。
新建好工程后,接下来就是添加元器件了。直接搜索STM32即可
添加自己需要的型号。
添加好之后,接下来有一个很容易被忽略的步骤,那就是配置供电网
这一步是确定芯片和电源相关的标签电压取值
芯片方面,可以不接任何引脚,但要记得在芯片属性当中指定二进制文件和运行的频率。
到此,项目的基本架构就搭建起来了,剩下的就是往里面添加组件,然后结合单片机一起仿真了。此处不再赘述。
2023.5.4更新
最近发现这样会直接创建一个文件,但如果只是测试用的话每次都创建一个文件也太麻烦了,这里建议打开软件之后直接点击这个按钮即可。反正需要添加单片机完全可以在库里面添加。
3 需要注意的事项
当然,很多事情并没有那么简单,根据网上所查到的资料显示,目前Proteus仿真STM32仍然有很多问题,不知道为什么没有解决。以下是我总结的一些问题和注意事项。
3.1 供电网配置不要忘了
前面也提到了,此处不再赘述。另外就是添加一个芯片有可能供电网会更新,这个要注意。
3.2 ADC模块的使用
这也是网上讨论最多的一个问题,目前我的结论是不能仿真,在此之前,我尝试了在虚拟机安装低版本的Proteus(8.12,8.9)、由标准库切换到HAL库、等等一系列操作方式,总之最后的结果就是失败。如果有知道的大佬,希望可以解惑。
3.3 元器件查询手册
如何在库里面快速检索到需要的元器件,关键就是需要知道元器件的英文,这里放一个大佬总结的链接,有需要的可以去参考
- 以下是一些个人的积累
舵机
记得要双击编辑属性,如电压值等
蜂鸣器
这个也是一样,要记得双击器件编辑属性,尤其是电压值,不要盲目相信单片机输出引脚的电压,记得用探针测试一下。
4 一些小技巧
4.1 快速添加标号
快速配置添加多个标号,按A
快捷键,一般选择NET=D#
,其中#
代表标号,下面可以设置其起始点和步长。
4.2 出现诡异问题的一种解决思路
最近帮别人做关于AT89C51的仿真,发现一个诡异的问题,那就是明明程序里面输出的是低电平,但仿真时显示的却是红色的点,感觉最基本的都出bug了。
我的解决思路是删掉所有的编译文件重新编译,不要直接点击重新编译。