基于Protues的Arduino学习笔记01-Arduino UNO实验板设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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:

相关文档
最新文档