Proteus与Arduino的整合在单片机系统开发中的应用

发布者:真诚友爱最新更新时间:2013-12-04 来源: dzsc关键字:Proteus  Arduino  单片机系统 手机看文章 扫描二维码
随时随地手机看文章

  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状态的功能。[page]

  

  由于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的积极性与主动性,对提高他们的自主学习能力与科研创新能力起到有力的促进作用。

关键字:Proteus  Arduino  单片机系统 引用地址:Proteus与Arduino的整合在单片机系统开发中的应用

上一篇:低成本的单片机系统中液晶显示技术的研究
下一篇:串口通信的单片机程序

推荐阅读最新更新时间:2024-03-16 13:31

Proteus C51仿真学习板5——串口中断
古代传递信息的方式有烽火台、飞鸽传书、800里加急……甚至小时候还玩过“传声筒” 他们都有自己的传递媒介:狼烟、鸽子、马儿、绳子。那么在单片机里面通信用一个IO是否可以呢? 那肯定是可以的。如果发送1bit数据是我发1,你收1或我发0,你收0;如果是发送8bit数据则是10101010,发送端一个个发送,接收端一个个接收。 还是传声筒举例: 男孩:喂喂,我是小明,你在不,Over; 女孩:嗯嗯,我在的,有什么事吗?Over。 从对话中可以很好得到: “喂喂”是起始,“我是小明”是告诉对方我是谁,“你在不”是数据,“Over”是结束; “嗯嗯”是起始,“我在的”是告诉对方我是谁,“我在的,有什么事吗”是数据,“Over
[单片机]
<font color='red'>Proteus</font> C51仿真学习板5——串口中断
单片机系统运行参数的保存及有效性判别
1 引 言   在单片机构成的控制系统中,系统控制时需要使用和保存已经设置或优化的参数。如果将运行参数仅仅存储于单片机的RAM区中,则系统在掉电或重启时将会丢失这些重要参数,不能正常运行。为了解决上述问题,保证控制系统正常、可靠地运行,需要将这些运行参数保存在足够容量的电可擦除存储器(EEPROM)中。在写入或读出EEPROM中的数据时,为保证数据操作的正确性,则需要进行数据校验。在系统运行这些参数之前,为检查运行参数的取值是否在许可范围之内,则需要进行参数取值范围的检验。本文结合作者开发的电梯轿厢门机控制系统,来详细讨论参数保存和校验的设计及实现。 2 系统运行参数的存储   在单片机组成的控制系统中,系统设置的运行参数是系统正常
[单片机]
<font color='red'>单片机系统</font>运行参数的保存及有效性判别
Proteus学习51单片机之键盘
与单片机交互,键盘可能是最直接的工具了。所以我对于键盘检测也是十分期待的。 键盘说开了,其实就是很多的按钮。如果键盘数比较小的话,直接使用IO口连接按钮就可以了,比如我要实现一个功能,按键使数字加1或减1,这样的话,只需要两个按键就可以了。单个键盘的检测并不困难,先把IO口电平置为高电平,然后直接IO连按钮,再把按钮接地,当按下按钮时,检测到IO口电平为低即表示按下了按钮。当然这是理论情况下,实际的情况是,按下按钮后,电平还会上下的跳变几次,所以如果只是单纯的检测电平的变化,是不准确的。所以比较简单的方法是,检测到电平变化后,延时一段时间(比如10ms),再去检测电平,如果电平和先前检测到的一致,说明确实是按下去了。 下面是单独按
[单片机]
用<font color='red'>Proteus</font>学习51单片机之键盘
Proteus的LED滚屏设计与仿真
Proteus的LED滚屏设计与仿真 本文以40×16的小屏幕为例来介绍滚动屏幕的制作方法。该设计基于英国Labcenter Electronics公司开发的仿真软件Proteus,在产品开发的初期,使用这个软件无疑是一种提高效率和降低成本的好办法。 LED电子屏在日常生活中随处可见,尺寸有大有小,屏幕显示的内容有静态的和动态的,动态的大多采用滚动和闪烁等方式。无论是显示数字的小屏幕还是显示文字或图像的几平方米的大屏幕,其显示原理都是类似的。 1 硬件电路设计 1.1 点阵式LED 本文设计的LED滚动屏幕由8×8点阵式LED模块组成,因此40×16(16行40列)的屏幕共需要10片8×8的LED模
[电源管理]
<font color='red'>Proteus</font>的LED滚屏设计与仿真
Arduino vs BeagleBone vs Raspberry Pi对比
本文对比了三款比较流行的,也是比较具代表意义的开源硬件平台Arduino Uno、BeagleBone和Raspberry Pi。从性能以及可扩展性等方面对它们进行对比,帮助开发者了解如何选择适合自己的开源硬件平台。 软硬件整合是今年一再被提及的话题,如今我们也可以看到不少硬件创业的成功案例,比如Jawbone Up、Pebble手表等可穿戴设备,它们可与用户的手机同步,实现软件与硬件的结合。通过硬件创新与软件整合的概念还有许多。但是如何将创意变为现实,是一个难题。许多大公司均选择硬件闭源,从而形成的技术壁垒与专利版权,阻碍着小规模创新者的发展。而开源硬件,让创业者可以更轻松地将创意转化为现实。 这篇文章由Roger Me
[嵌入式]
AT89C51单片机系统简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51 ? 指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 1.主要特性: ·与MCS-51 兼容 ·4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 ·全静态工作:0Hz-24Hz ·三级程
[单片机]
基于51单片机的继电器控制照明设备proteus仿真
仿真电路图: . 部分源程序: /* *继电器控制照明设备* */ #include reg51.h typedef unsigned char uint8; typedef unsigned int uint16; #define K1_DOWN P1 & 0x01 //K1按键定义 #define RELAY_SWITCH() P2 ^= 0x10 //继电器开关切换控制 #define LED_Light() P2 ^= 0x04 void delay(uint16 x) { uint16 i,j; for(i = x; i 0; i --) for(j = 11
[单片机]
基于51单片机的继电器控制照明设备<font color='red'>proteus</font>仿真
Protues在单片机系统设计中的应用
由于微电子技术的迅猛发展,单片机在汽车、通信、办公自动化、工业控制、高级玩具、家用电器等方面都得到了广泛的应用。单片机作为嵌入式系统的核心器件,其系统设计包括硬件电路设计和程序设计2个方面,调试过程一般分为软件调试、硬件测试、系统调试3个过程。软件调试一般比较容易进行,但如果要进行硬件电路测试和系统调试则比较麻烦,因为要进行这2个过程必须在电路板制作完成、元器件焊接完毕之后进行,而且电路板的制作、元器件的安装、焊接费时费力。如果采用作为单片机系统仿真软件Proteus,则不用制作具体的电路板也能够完成以上工作。毫无疑问,在使用Proteus进行系统虚拟开发成功之后再进行实际制作,必然可以提高开发效率、降低开发成本、提高开发速度,而
[工业控制]
Protues在<font color='red'>单片机系统</font>设计中的应用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved