工欲善其事必先利其器,有条件的朋友直接使用开发板学习即可,但有时候手边没有实物开发板可以用,那么可以借助一些仿真软件运行我们的程序,Proteus算是使用的比较多的一种仿真软件,我们使用它来做STM32F103单片机和Arduino单片机的仿真。
Topic 1:软件安装
在微信搜索栏直接搜索软件安装关键字就可以找到许多软件安装资源,按照步骤安装即可,软件安装这里一定注意安装路径尽量不要用中文和空格,空格用英文下划线代替,否则有时候会导致一些莫名其妙的问题,以下是一个建议的文件安装路径示例(图片最上方的安装路径):
Topic 2:Proteus简单教程
打开软件后主界面如下图所示:
主界面其他的内容不用关心,主要使用的就是划红色横线的部分,点击文件选项后出现菜单栏,菜单栏中点击新建工程(小Tips:大多数开发软件都是以工程为开发单位的,不是像word一样新建单个的doc文件,所谓工程就是把一系列要用到的文件、程序放到一个文件夹里,这样把杂乱的文件放到一个文件夹里比较好管理,所以如果以后遇到一个新的软件,新建工程就完了,然后慢慢摸索)。
而后出现下面的选项卡:
这里就是让你选一个文件夹放置新建的工程,这里我选了E:\My_First_Proj这个文件夹,而后点击下一步,来到下一个卡。
这里它让创建原理图,所谓原理图就是电路图,用来表示各个电子器件的相互连接关系,刚开始按照上图选择就行了,其他选项选的是原理图图纸大小,这个进了工程后还可以调整,选不选问题不大,点击下一步。
这个选项卡让选PCB布局,所谓PCB布局,其实就是在图纸上画各个电子器件在电路板上怎么摆放,电阻放哪,电容放哪,芯片放哪,画好之后交由PCB厂家制作成我们见到的电路板,画PCB不是本文要介绍的内容(其他文章介绍,使用的是别的软件),所以这一步我们选择不要pcb布局,继续点击下一步。
这一步选没有固件项目,所谓固件就是指事先为要仿真的单片机做好基础的启动文件配置,可以直接在Proteus软件里写程序,一个软件实现写代码和仿真,不再需要别的软件写代码了,虽然很美好,但Proteus的代码编辑界面实在不敢恭维,所以还是不要固件了吧。
若有朋友想尝试一下,这里给出51单片机的固件工程建立步骤(STM32工程里文件那么多,用Proteus写代码确实不推荐),不感兴趣的朋友可以跳过。首先点创建固件项目,然后按照上图配置即可,如果下拉菜单里没有keil for 8051的话可以点击“编译器”,然后点击“检查全部”,直到找到了下图keil软件的路径(安装了keil软件才能找得到)。
之后便来到了真正的软件操作界面了,最主要的就是标号为1的大网格窗口,这就是所谓的原理图图纸,我们在上边绘制电路图,标号为2的长条形窗口是器件选择窗口,Proteus有一个很大的器件库,我们要在里边找到我们需要的器件放在2窗口中,这样方便使用,否则每用到一个器件就要在库里找半天属实烦人。还有一个比较重要的地方是图中长条方框框起来的部分,这里边有很多我们需要使用的东西,下文会介绍。
下面我们来画一个简单的电阻网络,并测量电流电压,通过这个小演示来给大家介绍软件使用步骤和使用技巧(点击链接即可跳转视频)。
Proteus简单入门教程以及使用Proteus仿真STM32F103单片机和Arduino单片机 (qq.com)
Topic 3:STM32单片机的仿真
Proteus在更新之后可以直接支持STM32系列单片机的仿真,在器件选择栏目搜索STM32就可以找到STM系列芯片了。
此时双击图纸上的stm32芯片,出现对话框
点击Program File后边那个文件夹标志,将路径选择到我们在Keil或其他软件导出的HEX文件所在的位置即可将HEX程序录入这个芯片以供仿真使用。
Topic 4:Arduino的仿真与外部库的添加
由于Proteus内部并没有自带的Arduino库,所以我们需要去外部导入。
下面这两个网站有很多有意思的项目和Proteus库可以下载
www.TheEngineeringProjects.com
www.microcontrolandos.blogspot.com
如果网站连不上需要一个梯子。
在网站里转转就能找着Arduino库和其他一些库,下载下来,把后缀为.IDX和.LIB的文件复制到Proteus库文件夹然后重启Proteus即可。
Proteus库文件的位置找法:
在菜单栏点击 系统->系统设置,,,而后出现对话框
其中库目录就是Proteus库所在的位置,将下载的IDX和LIB复制到那里即可。
重启软件后就可以在器件选择窗口搜索Arduino将芯片绘制在图纸上。
Topic 5:创建固件的项目仿真技巧
如果有些同志创建了51单片机项目,那么就可以直接在Proteus里进行断点调试等操作。
下图是一个C51固件项目,为了节省时间所以LED电路画的十分不严谨。
程序写好之后就可以进行仿真,在仿真之前在左侧菜单栏找到调试弹出模式按钮,然后在原理图界面绘制一个弹出框,将你调试时关心的器件框进去。
此时点击仿真按钮,出现以下界面
点击暂停调试
这个时候我们就可以在程序左边双击打断点了,同时主界面右上角有许多调试操作按钮。随着程序调试的进行,右边的窗口就会显示刚刚在原理图里圈住的器件。
点击调试->8051CPU,就会看到许多有趣的工具供我们使用,如SFR寄存器,通用寄存器的状态等等。