目前,使用较多的电路仿真软件为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显示的是相对应的十六进制值。仿真结果完全符合设计要求。

cmake 版本 arm_学习电路仿真:proteus电路仿真软件在ARM中的应用解析相关推荐

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

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

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

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

  3. 电路仿真软件详谈(九),proteus电路仿真软件及版本问题

    电路仿真软件用途广泛,可哪款电路仿真软件功能最为强大呢?对于这个问题,想必诸多朋友第一反应想到proteus电路仿真软件.众所周知,proteus是电路仿真软件界的实力佼佼者.但proteus电路仿真 ...

  4. proteus如何添加stm32_电路仿真软件详谈(六),Proteus电路仿真软件的超级应用

    一款优秀的电路仿真软件,可帮助用户更好实现相应功能,而Proteus电路仿真软件便是这样一款利器.本文中,将讲解基于Proteus电路仿真软件的SPI接口的设计与实现.通过本文,希望大家对Proteu ...

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

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

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

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

  7. 电路仿真软件详谈(22),proteus电路仿真软件与ICCAVR调试方法

    电路仿真软件很多,但好用的电路仿真软件却寥寥无几.对于电路仿真软件,可能大家各有偏爱.就个人而言,小编更倾向于proteus电路仿真软件.再本文中,小编将介绍这款电路仿真软件与ICCAVR的调试方法. ...

  8. 单片机怎么通过按键控制计时器的开始和停止_学习电路仿真:基于proteus电路仿真软件的交通灯控制电路设计...

    电路仿真软件是当代重要软件之一,缺乏电路仿真软件,模拟运行环境将无法搭建.对于电路仿真软件,虽然市面上类别众多,但知名电路仿真软件为proteus.本文对于电路仿真软件的介绍,为基于proteus的交 ...

  9. 电路仿真软件详谈(29),在单片机开发环境中引入proteus电路仿真软件

    电路仿真软件使用频率很高,许多朋友对电路仿真软件均有所耳闻,甚至在学校期间早已接触过电路仿真软件.为增进大家对电路仿真软件的了解,本文将介绍如何基于protues电路仿真软件搭建单片机开发环境.如果你 ...

最新文章

  1. 零样本风格迁移:多模态CLIP文本驱动图像生成
  2. P2015 二叉苹果树
  3. golang goroutine 得到返回值
  4. Realm数据库存储 使用详解
  5. 进入公司前与Boss的会谈话
  6. android p新功能_android 11今天发布这是新功能
  7. 常见 Java 字节码 指令 助记符
  8. Javascript 调试技巧
  9. docker下创建crontab定时任务失败
  10. 拓端tecdat|r语言ggplot2误差棒图快速指南
  11. 关于IIS中Request.ServerVariables(SCRIPT_NAME)的bug
  12. 全国计算机等级考试二级Python(2021年9月)备考笔记 第九天
  13. 历代iPhone主要参数对比,更新于2022年03月
  14. xp计算机u盘重装系统,传授如何使用u盘安装xp系统呢?教你安装步骤
  15. linux下samba服务器无法访问,解决windows7客户端无法访问Samba服务器的故障
  16. neo4j算法插件-GDS安装
  17. 2021“设计+”珠宝首饰创新设计论坛
  18. Android Studio 修改 Java 语言版本到 1.8
  19. android 程序a启动程序b的权限,android app微信分享
  20. 华为服务器gpu芯片,GPU服务器推荐

热门文章

  1. LCD驱动程序——代码编写(二)
  2. 【MySQL数据库】MySQL聚合函数、时间函数、日期函数、窗口函数等函数的使用
  3. 散列算法进行数据验证与加密
  4. Ubuntu安装Nginx和正确卸载Nginx
  5. 用LaTeX给期刊投稿——以AMS模板为例
  6. python通过get方式,post方式发送http请求和接收http响应-urllib urllib2
  7. B站充电|单周充电超500,B站游戏UP主连续5周位居前三
  8. 小米Note真机体验,3D打磨和单手优化是亮点
  9. 自然语言处理中的embeddings
  10. linux添加ko,AllWinnerTech A10添加驱动ko模块方法