Arduino + Proteus 仿真(一)

玩过单片机的人应该都会知道,有一个系列的单片机叫 Arduino,总所周知的 Arduino 是对对单片机不熟悉,但是对单片机感兴趣的软件开发程序员非常友好的,他有一个专门的软件 Arduino IDE,用于开发 Arduino 系列的产品,他的特点是有许许多多的库和函数,编写程序控制单片机的时候不需要了解太多关于寄存器的知识,直接调用相应的函数就可以控制单片机,这就是为什么说对软件开发的程序员非常友好,他的库可以让你在开发硬件的时候像开发软件一样方便快捷。

可以直接跳到正话部分看。

不过这篇文章不只是要讲 Arduino 的开发,更重要的是用 Arduino 和 Proteus 结合来进行电路仿真,Proteus 是一款电路仿真软件,这款软件可以调用很多的单片机还有很多常用芯片,并且可以运行仿真观察电路的状态,对于数字电路他可以直观地显示出电路中某个引脚的电平,这对于数字电路开发是非常有帮助的。

那么又为什么要进行仿真呢,如果没有仿真,那么你每次运行和调试程序的时候都需要把程序烧写进单片机内才能看到你程序的运行结果,并且还要根据你画的电路图来搭建外围电路,这很明显就是不现实的,不可能每次突发奇想要设计一个电路就自己动手焊接一个电路嘛,而且这样的话电路还需要单片机,那单片机就很难进行二次开发;第二点就是多次对单片机进行烧写程序会缩短单片机的寿命,这里说的寿命主要是单片机内部程序存储器(flash),每一个(程序)存储器都有他的擦写寿命,擦写的次数越多寿命自然就会减短;第三点就是你有很多电路中要用到的芯片你手头上没有,于是电路无法调试,但是 Proteus 可以找到你想要用的芯片,并且功能和使用方法都是跟实际的芯片一样的。

** 好了,这里才是正话! ** Arduino 通常情况下都是直接在 IDE 上传程序,之后 IDE 会自动完成程序的烧写,但是要使用 Proteus 的仿真必须要有编译器编译出来的 hex、bin、elf 文件,这三种文件都是烧写单片机的程序文件,而 Arduino 每次编译上传的时候都会创建一个临时文件夹存放 hex 文件,你是找不到他编译出来的 hex 文件的,我们需要进行设置,让 Arduino 编译的时候把 hex 文件存放在某个地方。

Arduino 的设置方法:

首先打开左上角 文件 -> 首选项


然后点击下方的首选项编辑文件(如图所示的地方,蓝色字体的文件路径)
打开文件之后在文件最下方添加一条语句:``` build.path=XXX ``` 其中 XXX 是你要保存编译后的文件的路径,改成自己的路径就好,注意:编辑改文件要先关闭 Arduino IDE

然后此时你就可以编写你的程序并编译(验证),然后在你刚设置的路径下找到一个 hex 文件,之后就可以使用 Proteus 仿真了,下一篇文章会进行一次实践,编写一个程序并仿真。