基于Protues的Arduino学习笔记01-Arduino UNO实验板设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Protues的Arduino学习笔记01-Arduino UNO实验板
设计
(2013-05-13 20:13:33)
本文将带你使用protues 7.10搭建一个Arduino UNO的实验板,方便以后在protues仿真软件上进行Arduino的实验。参考本文,你还可以自己动手构建出Arduino MEGA 2560等一系列Arduino开发平台。
Arduino UNO是Arduino USB接口系列的最新版本,是Arduino平台的参考标准模板。Arduino UNO的处理器核心是ATmega328,同时具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入,Flash Memory 32KB (其中0.5KB 用于bootloader【注】)、SRAM 2KB、EEPROM 1KB,工作时钟 16 MHz【文献1】。
【注】:在仿真情况下,不需要bootloader去引导程序下载,只需要将Arduino IDE编译生成的HEX文件导入ATmega328P单片机即可。
以上对Arduino UNO的介绍摘自网上,通过这些介绍,我们可以知道Arduino UNO的资源分配情况。图1为Arduino UNO的引脚图,从图中我们可以清楚地看出ATmega328P的物理引脚与Arduino所定义的功能之间的关系,从而可以将功能引脚标注出来。
图1 Arduino UNO与ATmega328P引脚关系图【文献2】
Protues软件是英国Labcenter Electronics公司出版的EDA工具软件,不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,是目前最好的仿真单片机及外围器件的工具【文献3】。
下面我们打开protues 7.10软件,进入元器件的选择,在元器件一栏中输入“ATmega328P”,并选取ATmega328P单片机,如图2所示。然后,在元器件一栏中输入“RES”,选取电阻,
如图3所示。接着,在元器件一栏中输入“LED-GREEN”,选取绿色的LED灯(你也可以选择红色或者黄色的),如图4所示。最后,在元器件一栏中输入“COMPIM”,并添加到元器件域中,如图5所示。
图2 选取ATmega328P控制器
图3 选取RES(电阻)
图4 选取LED-GREEN指示灯
图5 选取“COMPIM”串口通讯接口
将上述的元器件从选择框里放置到面板上,此处需要注意放置的位置需要合理,方便连线。可以双击元器件之后,选择将相应的元器件左旋、右旋、X对称或Y对称等。放置ATmega328P、RES、LED-GREEN、COMPIM并调整位置之后的布局如图6所示。
图6 元器件放置后的布局
元器件在合适的位置放置好了之后,需要将响应的管脚进行连接,连接之后的Arduino UNO实验板如图7所示。此时,已经初见UNO的样子了,然后还需要对其进行修饰,修饰之后的Arduino UNO实验板如图8所示。
图7 连线之后的Arduino UNO
图8 经过修饰之后的Arduino UNO
上面的这些工作已经完成了硬件搭建,但是要能正常的进行仿真还需要对仿真环境进行一下设置。首先,更改ATmega328P的参数,单击ATmega328P单片机,会弹出如图9所示的设置选框,对标注的地方进行修改,改为如图10所示的参数。
图9 ATmega328P初始设置
图10 ATmega328P更改后的设置
设置好了ATmega328P的参数之后,基本就完成了仿真环境的设置。另外,还需要对串口通讯接口进行设置,串口初始设置如图11所示,需要将波特率改为9600【注】。我们在设置时,还将串口号改为了COM2,如图12所示。因为在使用串口助手进行程序调试的时候,串口助手的端口号都一般默认为COM1,这样设置之后就可以直接打开串口助手使用,可以很方便的进行串口通讯与调试。其实,这也是在偷懒,不想每次都更改串口端口号。【注】:9600为常用波特率,当然你也可以选择其他波特率,但是两个波特率必须要相同,否则不能通讯。
图11 COMPIM初始设置
图12 COMPIM更改后的设置
到这里,protues仿真环境下的工作就全部完成了,当然要想在protues里面仿真Arduino UNO还需要完成以下几个步。
1、安装虚拟串口程序Virtual.Serial.Port.Driver 安装完成之后并新建两个虚拟串口,这两个串口是相通的,也就说他们连接在一起。一般情况下,生成串口都为COM1和COM2,如果不包含上面COMPIM设置的串口号,还需要将COMPIM中的串口号改为虚拟生成的串口号之一,另一个作为串口助手使用的串口号。
2、更改Arduino IDE中的参数
Arduino编译之后,Hex文件会自动删除,而在Proteus仿真的Arduino单片机中,需要使用Arduino软件产生的Hex文件,可是,Arduino 1.0默认使用完Hex文件会自动删除的,所以取不到hex文件,为了取出hex文件,加载到Porteus中的单片机ATMEGA328P,需要修改如下:
图13 Arduino IDE的参数设置
图14 Arduino IDE的具体设置
首先要在D盘建立一个文件夹,用来专门放置Hex文件,文件名可以随便取名,我命名为
Arduino_Hex,然后点击Arduino软件界面菜单栏的File->preferences,打开对话框,如图6,
把Show verbose output during的两个参数项打勾,双击preferences.txt 文件,找到文件所在
位置,再双击,用记事本打开文件。这时要点击Arduino界面preferences对话框下方的OK
按钮,接着关掉Arduino IDE编程界面。最后,在刚才打开的preferences文档的最后一行编
辑加入build.path=d:\Arduino_Hex,保存文档。这样以后您再编译Arduino 程序,就可以在
d:\Arduino_Hex中,看到编译的Hex目标文件了。【文献4】(此部分摘自宜昌城老张的博客)
下面来一个点灯示例,验证我们设计的实验板是否能够仿真Arduino UNO的实际运行。
参考文献:
文献1:文献2:;tid=3499 文献3:
文献4: