当前位置:首页 > 单片机 > 单片机
[导读] 1.前言 Arduino是一款便捷灵活、方便上手的开源电子原型平台,具有接口丰富、编程环境简便、自由度大与可拓展性强等优点.它基于AVR平台,对AVR库进行了二次编译封装,将复杂的单片机底层代码封装成简

1.前言

Arduino是一款便捷灵活、方便上手的开源电子原型平台,具有接口丰富、编程环境简便、自由度大与可拓展性强等优点.它基于AVR平台,对AVR库进行了二次编译封装,将复杂的单片机底层代码封装成简单实用的函数,使使用者不用关心单片机编程繁琐的细节,如寄存器、地址指针等基本不用管,从而大大降低了单片机系统开发难度,特别适合老师、学生和一些业余爱好者使用。


由于Arduino使用者一般都是那些对电路知识、电子技术及单片机技术等了解不深入的初学者,如何在Arduino开发过程中快速有效的提高他们的单片机系统开发能力及电子电路设计能力是一个需要迫切解决的问题。

Proteus的引入较好的解决了存在的问题。

Proteus是一款电路分析与实物仿真软件,它除了能进行基本电子电路仿真外,还能直接在单片机虚拟系统上对MCU编程。Proteus虚拟开发技术的应用,形成了一种全新的Arduino系统开发理念,其系统开发流程为:电路设计与仿真-电路修改与完善-绘制PCB与生成PCB三维效果图-硬件组装与调试,打破了传统的系统设计模式,使Arduino使用者将系统设计缺陷暴露在设计初期,克服了因设计中不断修改焊接电路带来的弊端,此外PCB的三维效果图使元件符号与实际封装进行形象的对接,给初学者带来强烈的感官认识,从而加深他们对单片机系统设计的感悟。

2.Arduino虚拟系统设计

下面以四个按键分别控制四个不同颜色发光二极管的状态为例子,介绍应用Proteus进行Arduino虚拟系统设计的方法。

2.1 Proteus仿真电路绘制

在Proteus ISIS中绘制原理图主要分如下三步:

(1)新建设计:在Proteus ISIS开发环境中,点击“文件-新建设计”,在打开的对话框中选中其中一个设计模板,本文选中LandscapeA4模板,确定后即打开一个Proteus工作区,保存该设计。

(2)元器件选取及放置:首先选取元件,点击窗口左侧的按钮,在弹出的PICk Devices界面左上角的文本栏输入要查找的元器件名称,如ATMEGA328P,选中搜索到的元件,重复操作,把系统所需的所有元器件添加到元器件列表区中;其次放置元件,依次选中元器件列表区的元器件,单击鼠标左键将该器件放置到绘图区,并进行参数设置。

(3)布局与布线:对所有元器件进行合理布局后,点击按钮进行连线;连线时,当鼠标指针靠近一个对象的引脚时,鼠标可自动捕获该节点,并且出现一个以该节点为中心的红色正方形,单击鼠标左键进行连线,单击鼠标右键取消操作。

根据以上步骤,应用Proteus ISIS绘制的硬件原理图如图1所示。

2.2 Arduino程序设计与。hex文件获取

Arduino是以单片机ATMEGA328P为核心的控制板,在进行Proteus仿真时,只需将Arduino控制板的接口与ATMEGA328P的端口进行一一对应即可,其中,Arduino端口与ATMEGA328P单片机的引脚对应关系如图2所示。

根据图2所示Arduino端口与单片机ATMEGA328P引脚的对应关系,应用Arduino软件开发环境对图1所示的硬件电路进行程序设计,其中按键K1控制发光二极管LED1点亮及熄灭的程序代码如下所示,同样地,可通过修改Arduino端口来实现按键K2~K4分别控制发光二极管LED2~LED4状态的功能。

由于Arduino软件在编译、链接、下载之后。hex文件会自动删除,而没有。hex文件就无法实现Proteus仿真,通过实践,通过进行以下设置可获取Arduino编译后的。hex文件。

(1)新建一个文件夹用于存放。hex文件:

在某逻辑盘,如D盘,建立一个文件夹,文件名可任意,如为arduinohex,则该文件夹路径为:d:arduinohex.

(2)Arduino编程环境设置:点击Arduino软件界面菜单栏的“File->preferences”菜单,在弹出对话框中,首先选中“compilation”

和“upload”两个参数项;其次双击“C:Documents and Settings…preferences.txt”

这一项,找到“preferences.txt”文件的位置并打开该文件,同时关掉Arduino编程环境所有窗口;最后在“preferences.txt”文档中加入“build.path=d:arduinohex”这行文字,并保存文档。

完成以上设置后,通过在Arduino进行编译,即可在d:arduinohex这个文件夹中找到当前程序的。hex文件。

2.3 基于Proteus的arduino仿真实现

在完成Proteus仿真电路设计及Arduino的。hex文件获取后,通过在ATMEGA328P上加载。hex文件即可实现arduino虚拟系统的仿真[4].

在图1中,双击ATMEGA328P芯片,在弹出的对话框中,点击“Program File”参数项的“文件夹”按钮,在打开对话框中到d:arduinohex文件夹找到当前程序的。 h e x文件。同时将“CLKDIV8(Divide cLOCk by 8)”参数项修改为“Unprogrammed”、“CKSEL Fuses”

参数项修改为“(1111)Ext.Crystal 8.0-MHz”、“Advanced Properties”的“ClockFrequency”参数项设为“16Mhz”.

.hex文件加载成功及其他参数设置完成后,在Proteus中运行程序,其中,分别按下K1、K4按键,所对应的LED1、LED4亮,其他两个LED灭,仿真效果图如图3所示。

2.4 PCB绘制及三维仿真实现

在绘制PCB之前,要先检查Proteus ISIS中的每个元器件是否已经存在封装,如果没有指定的封装,则需自行查找、添加封装。在确保每个元件已添加好封装后,通过在ProteusISIS中导出网络表到ARES,从而进入到ProteusARES软件环境进行PCB设计,其中,图1对应的PCB图如图4所示。

为了使Arduino使用者更直观形象的了解电路原理图中各个元器件的符号与实物对应的关系,给他们带来感官的认识,从而加深对所用元件的理解与应用,如图4所示的PCB图对应的3D效果图如图5所示,其中,Proteus给出的PCB三维预览图可360度旋转,使设计者能从各个角度预览PCB的实物效果图。

3.结论

利用Proteus虚拟开发技术进行Arduino单片机系统开发,使Arduino使用者在制作外围接口板之前能利用Proteus实现电路仿真、电路调试与完善、PCB三维效果预览等功能,从而减少了他们在系统开发初期因频繁修改硬件电路而带来电路焊接工艺较差、性能不稳、甚至无法实现预期功能等的弊端,使他们快速、牢固地掌握单片机系统开发的整个流程,同时对该开发流程有直观形象的认识,从而有效调动他们学习Arduino的积极性与主动性,对提高他们的自主学习能力与科研创新能力起到有力的促进作用。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

本设计的控制系统主要包括:倾斜模块、超声波模块、语音模块、光敏电阻模块及电源等。

关键字: 单片机 STC51

本文针对电动两轮车自燃防控装置的开发与分析进行了研究。通过电动两轮车自燃原因分析,提出了电动两轮车的自燃防控智能装置设计思路,介绍了电动两轮车的自燃防控智能

关键字: STC89C52RC 单片机 微控制器

现在市面上还不存在一种方便实验人员选取芯片,以及方便管理人员对芯片进行智能化管理的芯片柜,为此希望通过研发这款智能芯片柜,来解决以上问题。​

关键字: 单片机 芯片

这款全新的中端MCU系列为设计人员提供了更高水平的安全性和灵活性

关键字: 嵌入式 单片机

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

hmi是Human Machine Interface 的缩写,"人机接口",也叫人机界面。人机界面(又称用户界面或使用者界面)是系统和用户之间进行交互和信息交换的媒介, 它实现信息的内部形式与人类可以接受形式之间的转换...

关键字: HMI 人机界面 系统

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB
关闭
关闭