目前,使用较多的电路仿真软件为proteus,因此学习这款电路仿真软件的朋友也通常较多。本文中,将基于protues电路仿真软件,对proteus在ARM开发中的应用加以解析,一起来了解下吧。

现在,人们生活中的每个角落都有嵌入式设备的存在,比如DVD、移动电话、MP3及掌上电脑等等。这些嵌入式设备多采用32位RISC嵌入式处理器作为核心部件。其中基于ARM核的嵌入式处理器独占鳌头,在32位RISC处理器中占据超过75%的市场份额。因而越来越多的电子爱好者都加入了学习ARM的队伍中。通过和一般单片机系统开发过程的比较不难发现,嵌入式系统的设计包括硬件设计和软件设计两个方面,其调试过程包括软件调试、硬件测试、系统调试3个过程。软件调试一般比较容易进行,但是硬件测试和系统调试则比较麻烦,因为要进行这两个过程必须在 PCB制作、元器件焊接完毕之后才能进行;而PCB的制作、元器件的焊接是非常费时费力的,如果能采用仿真工具Proteus,则不用制作具体的电路板也能够完成以上工作。毫无疑问,这样可给广大arm学习者带来很大的方便。

1 Proteus简介

Proteus软件是英国Labcenter electronics公司的EDA工具软件,是一个电子设计的教学平台、实验平台和创新平台,涵盖了电工电子实验室、电子技术实验室、单片机应用实验室等的全部功能。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。该软件的特点是:

①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及Phil-lips公司的arm(LPC系列)等。

③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil、ADS等软件。

④具有强大的原理图绘制功能。能够进行SCH(原理图)和PCB(印刷板)电路的设计。

2 Proteus环境下的原理图设计

Proteus和Protel、EWB等软件相似,绘制原理图都要先从器件库里取出所需的元器件符号并在绘图区布局好,同时编辑好元件的参数,接着进行连线,添加必要的网络标号等步骤。下面通过一个简单的实例说明如何使用Proteus软件实现arm(以LPC2106为例)系统的设计与仿真。实例以 LPC2106控制器为核心,使用硬件SPI接口与74HC595进行连接,添加必要的外围电路,控制74HC595驱动LED数码管显示。电路原理如图 1所示。LPC2106的P0.4(/SCK/CAP0.1)、P0.6(/MOSI/CAP0.2)和P0.8(/TxD1/PWM4)分别与 74HC595的SH_CP、DS和ST_CP相连来控制74HC595,74HC595的输出Q0~Q6分别与数码管和LED相连,控制它们的实时显示。

3 程序代码的编写

程序代码的编写主要分4个部分进行:

①LPC2106的初始化代码;

②LPC2106异常向量入口及异常向量与C语言代码的接口,包括初始化堆栈的代码;

③LPC2106目标板特殊的代码,包括异常处理程序和目标板初始化程序;

④根据实例要求并结合原理图,编写实现预期功能的代码,即通常的执行代码,代码文件保存为“main.C”。

通常为了节省开发的时间,一般用设计好的工程模板,这里使用LPC2100系列工程模板。模板中包含LPC2100系列ARM7微控制器的启动文件,包括 STACK.S、HEAP.S、STARTUP.S和TARGET.C;模板还包含LPC2100系列arm7微控制器的头文件,分散加载描述文件(如 mem_a.scf、mem_b.scf和mem_c.scf)等等。这样在以后的程序代码编写时就可以直接使用这些工程模板,而不用再编写初始、启动等程序代码了,只需根据不同的要求编写“main.C”就行了,因而节省了大量时间,大大提高了工作效率。

这里主要说明“main.C”的编写,要实现的功能是使用硬件SPI接口输出0~F的数据,通过74HC595控制LED数码管显示0~F字符,同时控制4个LED显示对应的十六进制数。程序源代码如下:

4 仿 真

用ADS集成开发环境进行程序的编译连接设置,ADS集成开发环境是ARM公司推出的ARM核微控制器集成开发工具,英文全称为ARM Developer Suite,成熟版本为ADS1.2。ADS1.2支持ARM10以前的所有arm系列微控制器,支持软件调试,支持汇编、C和C++源程序,具有编译效率高、系统库功能强等特点。打开ADS1.2集成开发环境CodeWarrior IDE,使用事先加入的工程模板建立一个新的工程spi.mcp,把以上编好的代码文件main.c添加进工程。进行相关设置后,选择 Projeet→Make命令,编译并连接工程,生成spi.hex文件。

在原理图中双击微控制器LPC2106,出现一属性设置窗口Edit Component,如图2所示。在其中的ProgramFile中添加上面生成的spi.hex文件的路径,单击OK完成设置。

点击原理图左下角的运行按钮即开始仿真运行。数码管显示SPI发送的O~F的数据,LED显示的是相对应的十六进制值。仿真结果完全符合设计要求。

stk在计算机仿真中的应用_学习电路仿真:proteus电路仿真软件在ARM中的应用解析...相关推荐

  1. cmake 版本 arm_学习电路仿真:proteus电路仿真软件在ARM中的应用解析

    目前,使用较多的电路仿真软件为proteus,因此学习这款电路仿真软件的朋友也通常较多.本文中,将基于protues电路仿真软件,对proteus在ARM开发中的应用加以解析,一起来了解下吧. 现在, ...

  2. 基于proteus的功率_学习电路仿真:基于proteus电路仿真软件的步进电机仿真

    本文是电路仿真软件的进阶篇,对于电路仿真软件的基础篇,大家可翻阅往期文章哦.本文中,将基于proteus电路仿真软件的步进电机仿真,一起来了解下吧. 步进电机广泛应用在生产实践的各个领域.它最大的应用 ...

  3. 电路仿真软件详谈(28),如何在印刷电路板中应用proteus电路仿真软件

    电路仿真软件必不可少,电路仿真软件的使用让电路设计变得更为便捷.为增进大家对电路仿真软件的了解,本文将对proteus电路仿真软件予以介绍,主要内容为介绍该电路仿真软件在印刷电路板设计里的应用.如果你 ...

  4. 电路仿真软件详谈(二十),基于proteus电路仿真软件的步进电机仿真

    电路仿真软件必不可少,很多朋友早已精通各种电路仿真软件,但也存在很多朋友对电路仿真软件不太了解.本文是电路仿真软件的进阶篇,对于电路仿真软件的基础篇,大家可翻阅往期文章哦.本文中,将基于proteus ...

  5. 前馈神经网络中的前馈_前馈神经网络在基于趋势的交易中的有效性(1)

    前馈神经网络中的前馈 This is a preliminary showcase of a collaborative research by Seouk Jun Kim (Daniel) and ...

  6. carsim中质心加速度_振动CAE分析在空调压缩机支架设计中的应用

    [摘要]本文运用有限元分析方法分析空调压缩机系统模态,并通过分析引起振动的激励源,找出压缩机支架和安装螺栓断裂的根本原因,并根据分析提出了解决措施.关键词:空调压缩机支架模态激励共振一.引言发动机轮系 ...

  7. 王世安计算机仿真工作室,运用实时全局光照打造灯光模拟仿真软件

    运用实时全局光照打造灯光模拟仿真软件 查雁南(广州工程技术职业学院王世安计算机仿真工作室,广东广州 510075)[摘要]摘要:VR开发引擎借助于VR在娱乐行业的迅猛发展变得更加高端和智能化.新的VR ...

  8. java中抽象接口_一篇文章让你彻底理解java中抽象类和接口

    相信大家都有这种感觉:抽象类与接口这两者有太多相似的地方,又有太多不同的地方.往往这二者可以让初学者摸不着头脑,无论是在实际编程的时候,还是在面试的时候,抽象类与接口都显得格外重要!希望看完这篇博客文 ...

  9. 在java中添加源_关于Java:如何在Android Studio中添加链接的源文件夹?

    在Eclipse中,我可以将源文件夹作为"链接的源文件夹"添加到我的android项目中. 如何在Android Studio中实现同一目的? 或者是否可以添加外部文件夹以构建gr ...

最新文章

  1. 那些赞助世界杯的金主,正在变成赌徒
  2. 信息系统项目管理师优秀论文:项目风险管理--jiangyiwu
  3. 开发教程(四) MIP组件平台使用说明
  4. php代码审计基础笔记
  5. linux目标机无法连接到网络,linux 安装了xunsearch服务,但是PHP连接显示:目标计算机积极拒绝...
  6. js未知数加已知数的结果数,三者的每个数字不重复
  7. Python 数据结构与算法 —— 哈弗曼树
  8. java中sql 语句格式转换_Java字符串转Sql语句In格式工具方法
  9. window10安装黑苹果
  10. 计算机未来职业人生规划目标与行动措施,计算机职业规划书1500字
  11. 计算机操作系统(第四版)课后习题答案
  12. 移动友华PT924光猫获取超级用户方法
  13. QPS,TPS,RPS你知道多少?
  14. 计算机二级C语言选择题——01
  15. android app 用什么语言开发的?
  16. 未明学院:来自券商研究所搬砖狗的自白
  17. 4款国产良心软件,完全免费,其中两款一直被误认为外国人开发
  18. 量化金融分析AQF(1):股票概述
  19. 十个人有多少种不同组合?
  20. 程序员,你需要些“脑力运动”了

热门文章

  1. C#开发笔记,点点细微,处处真情,记录开发中的难言之隐
  2. 管理R包——Pacman包介绍
  3. 《黑客帝国》中的代码雨让人身临其境!利用Python轻松实现!
  4. $limit、$skip、$unwind
  5. ollections 模块之OrderedDict
  6. LeetCode 题 -7. 整数反转
  7. Team Foundation Server 2010 安装、部署与配置(四):设置 .
  8. 关于 web.config impersonate 帐号模拟
  9. [机器学习-回归算法]Sklearn之线性回归实战
  10. mc服务器rank称号系统,绝地求生称号系统详解 称号系统奖励有哪些