基于Proteus和ADS的ARM虚拟实验室建设

发布者:boczsy2018最新更新时间:2011-07-04 关键字:Proteus  ARM虚拟实验室 手机看文章 扫描二维码
随时随地手机看文章

    引 言

    ARM技术是一门实践性很强的技术,其实验是电子类教学中十分重要的实践教学环节,是培养学生实验技能、创新思维的重要课程。掌握ARM技术已是电子类学生就业的一个基本条件。

    目前各个高校相继开设了ARM课程,并逐步开始建立ARM实验室。这些实验室基本都是采用相应的硬件仿真设备来构建的,但由于ARM的种类繁多再加上资金的限制,不可能在一个实验室包括所有种类的ARM仿真设备。虚拟实验作为传统实验的重要补充,克服了诸多条件的限制,丰富了实践性教学的手段,有利于现代实验教学观念的更新。

    1 ARM实验教学存在的问题

    目前,ARM教学中存在如下问题:

    ①ARM课堂教学多以理论教学为主,教学中需要很多硬件设备,一般理论课堂难以辅助硬件进行教学,即便演示,效果也不好。

    ②ARM实验作为实验中心的基础实验,学生除了上课外,平时难得有机会实践;而采用的ARM实验设备大多是成品,学生很难参与其中的细节设计,因此学生动手能力也很难得到提高。

    ③配套的实验设备多采用硬件仿真器配目标实验板。这种配置方式直接导致该课程的实验项目有限,实验时间过长,设备维护工作量大等现实问题。

    针对上述问题,提出利用Proteus和ADS整合构建ARM虚拟实验室的方案。所谓“虚拟实验室”,就是将计算机上的各种虚拟仪器,按实验要求和设计原理,虚拟出一个与现实相同的实验系统,进而在这个系统上完成整个实验。与传统实验模式相比,虚拟实验具有比较明显的优势。例如,涉及的实验内容全面,硬件投入少,学生可自行实验,实验过程中损耗小,与工程实践最为接近等。

    2 ARM虚拟实验室的构建

    2.1 ARM虚拟实验室的软件支持

    本方案主要是以Proteus软件和ADS软件来构建该虚拟实验室。

    Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。该软件的特点是:

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

    ②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

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

    ④具有强大的原理图绘制功能。

    总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。

    ADS(ARM Developer Suite)是ARM公司推出的新一代ARM集成开发工具。CodeWarrior for ARM是一套完整的集成开发工具,充分发挥了ARM RISC的优势,使产品开发人员能够很好地应用尖端的片上系统技术。该工具是专为基于ARM RISC的处理器而设计的。它可加速并简化嵌入式开发过程中的每一个环节,使得开发人员只需通过一个集成软件开发环境就能研制出ARM产品;在整个开发周期中,开发人员无需离开CodeWarrior开发环境,节省了在操作工具上花的时间,而有更多的精力投入到代码编写上来。CodeWarrior集成开发环境(IDE)为管理和开发项目提供了简单、多样化的图形用户界面。用户可以使用ADS的CodeWarrior IDE为ARM和Thumb处理器开发用C、C++或ARM汇编语言编写的程序代码,还可以生成程序代码的十六进制文件。

    2.2 ARM虚拟实验室的实验内容和实验过程

    结合Proteus和ADS构建的虚拟实验室能够进行ARM涉及的所有实验内容,其中包括中断、流水灯、串口通信、SPI通信、脉宽调制器、看门狗、A/D转换器、定时,以及基于μC/OS的实验。

    基于ARM虚拟实验室的教学采用局域网多媒体教学,教师可以通过多媒体演示电路图并讲解其原理,学生根据相关实验原理在ADS和Proteus中完成整个实验。过程如下:

    ①在ADS中编写C语言源程序;

    ②编译、调试源程序,最终生成后缀为.hex的文件;

    ③在Proteus中设计完整的原理图;

    ④将生成的.hex文件导入相应的ARM芯片。

    完成以上步骤后,在Proteus中运行即可;观察仿真结果,并检验是否与设计要求一致。

    基于Proteus和ADS构建的ARM虚拟实验平台提供了大量的虚拟元件供学生使用,这样就可以在虚拟实验教学过程中培养学生的兴趣,激发学生的创造性,增强互动性,提高教学效果。

    3 ARM虚拟实验教学实例分析

    下面以用LPC2131设计一个流水灯的实验为例,介绍如何通过Proteus与ADS的整合实现对ARM外围电路的仿真。

    3.1 软件的实现

    在ADS中编写C语言程序添加到user组中。程序如下:

 

 

    将该程序进行编译,编译通过后,就生成后缀为.hex的文件。

    3.2 硬件电路的实现

    在Proteus中设计的流水灯原理电路,如图1所示。其中用LPC2131的P1[25:18]控制LED8~LED1,低电平点亮。将后缀为.hex的文件添加到LPC2131中,运行后观察到的部分仿真结果与图1完全一致。此时为8盏灯全亮。

    仿真结果与设计要求完全一致,达到了预期的目的。

    结 语

    综上所述,基于Proteus和ADS构建ARM虚拟实验室的方案是切实可行的。采用虚拟实验的方式,不仅能够解决传统ARM实验室设备资金短缺和维护困难的问题,而且使学生能够充分利用课余时间进行ARM系统的软硬件设计,充分锻炼了学生的动手能力。在实际运行中,取得了良好的教学效果。使用该方案进行系统虚拟开发成功之后再进行实际制作,无疑可以提高开发效率、降低开发成本、提升开发速度,具有较高的推广应用价值。

 

 

关键字:Proteus  ARM虚拟实验室 引用地址:基于Proteus和ADS的ARM虚拟实验室建设

上一篇:基于ARM的综合测试仪设计
下一篇:基于ARM和DM9000的网卡接口设计与实现

推荐阅读最新更新时间:2024-03-16 12:37

MSP430 F249单片机 Proteus仿真 IAR工程设置 实例和开发环境
1 开发环境与流水灯实验 使用的是IAR 7.10 新建工程的细节看这里: https://blog.csdn.net/x1131230123/article/details/106956182 需要在debug模式下设置, 编译后hex文件在proNameDebugExe下 proteus设置时钟: 代码: #include MSP430x24x.h #define uchar unsigned char #define uint unsigned int void delayms( uint t ) { uint i; while ( t-- ) for ( i = 1330; i
[单片机]
MSP430 F249单片机 <font color='red'>Proteus</font>仿真 IAR工程设置 实例和开发环境
51proteus仿真:proteus中的步进电机的接法与时序
proteus中的步进电机有两种, 六线制(MOTOR-STEPPER)和四线制(MOTOR-BISTEPPER),六线制的左右中间两根线接电源,任然剩下四根,但是,这四根的顺序和四线制的不同,见下图。 注意a,b,c,d的顺序 在实际情况中,单片机是不能直接拖动步进电机的,需用ULN2003这样的器件 两个步进电机都是四相电机。 如果用四拍: 那么P2输出的(顺时针)顺序就是:0x03,0x06,0x0c,0x09 a 1 0 0 1 b 1 1 0 0 c 0 1 1 0 d 0 0 1 1 如果用八拍: 那么P2输出的(顺时针)顺序就是:0x01,0x03,0x02,0x06,0x
[单片机]
51<font color='red'>proteus</font>仿真:<font color='red'>proteus</font>中的步进电机的接法与时序
51单片机的酒精检测Proteus仿真+源代码
酒精传感器仿真中没有,其实就是传感器检测时相应的电阻值会变化,用滑动电位器代替就ok 仿真原理图如下 单片机源程序如下: //程序头函数 #include reg52.h //显示函数 #include display.h #include intrins.h #include eeprom52.h #include temp.h //宏定义 #define uint unsigned int #define uchar unsigned char #define Data_ADC0809 P1 //管脚声明 sbit P34=P3^4;//温度 sbit LED_R= P2^2; //红指示灯 sbit LE
[单片机]
51单片机的酒精检测<font color='red'>Proteus</font>仿真+源代码
开源ARM7驱动拼接1024X1024LCD屏Proteus仿真源码
在当年还没有人尝试过用多块LCD拼接成大屏幕的仿真程序,采用ARM7驱动,希望多交流。 仿真原理图如下(proteus仿真工程文件可到本帖附件中下载) 单片机源程序如下: #include config.h uint8 BMP ={ 0x00,0x00,0x00,0x00,0x00,0x01,0xF3,0xF0,0x7F,0x18,0x1B,0xFB,0xF2,0x02,0x41,0xF1, ………… ………… …………限于本文篇幅 余下代码请从51黑下载附件………… 0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x00,0x0
[单片机]
开源<font color='red'>ARM</font>7驱动拼接1024X1024LCD屏<font color='red'>Proteus</font>仿真源码
51proteus仿真:生成方波、正弦波、锯齿波和三角波
这个proteus仿真是一个网友做的,该仿真可以生成方波、正弦波、锯齿波和三角波,并且还可以用按键调整波形。 不过,对初学者来讲,可能有点复杂。对于本科生来说,这个仿真几乎可以作为毕业论文了吧。当然,需要用实际元器件来调试,制作pcb,焊接。 我做的 生成锯齿波 和 生成正弦波 的仿真,可以作为学习这个仿真的阶梯。 这个仿真主要是用到溢出中断,和外部键盘中断。熟悉中断,和定时器的编程后,实现这个仿真其实也很简单。 仿真图: C程序如下: 有三个C文件: 主函数文件如下: #include reg51.h //unsigned char TIME0_H=0xec,TIME0_L=0x78; //定时器0的初值设置;全局
[单片机]
51<font color='red'>proteus</font>仿真:生成方波、正弦波、锯齿波和三角波
基于Proteus的自动取款机设计方案
内容摘要:自动取款机系统采用高可靠性的AT89C52单片机作为核心控制芯片,采用具备I2C总线接口的FM24C02芯片完成密码与金额的存储,通过液晶显示器128x64显示运行状态和操作步骤。软件设计采用具有较好移植性和可读性的C51语言编写程序,以便修改和增减功能。通过Proteus软件成功实现了自动取款机的仿真过程。经仿真表明,利用Proteus软件进行仿真设计可极大地简化单片机程序在目标硬件上的调试工作。 引言 自动取款机,简称ATM(AutomatIC Teller Machine),它使用现代技术实现自动取款、修改密码、查询余额等操作,是业务电子化的一种机器设备,由于其便利性和实用性受到了人们的青睐。本文
[单片机]
基于<font color='red'>Proteus</font>的自动取款机设计方案
Proteus20个应用技巧
Proteus20个应用技巧,是众多Proteus忠实fans在自己的实际应用操作过程中总结出来的,所以实用性非常强!今天我把它们一一整理出来与大家分享,如果还有更好的使用技巧,欢迎大家都来分享!! F8:全部显示 当前工作区全部显示。 F6:放大 以鼠标为中心放大。 F7:缩小 以鼠标为中心缩小。 ISIS支持的文件: 1.design files(.DSN)包含电路所有信息。 2.backup files(.DBK)每次SAVE的时候都会产生。 3.Sectiong files(.SEC)电路的莫一部分可以保持为这个文件类型,以后可以通过IMPORT调用。 4.Module files(.MOD)在分等级的电路
[单片机]
51单片机产品数量自动计量系统Proteus仿真程序设计
1. 设计要求 如右图所示,以MCS-51系列单片机为核心设计一个具有独创功能的计量控制系统,控制瓶装产品包装生产流水线,每计满一定瓶数产品时发出一个包装控制信号,通过相关电路驱动包装机完成一次包装动作。 要求: 1. 每箱产品的瓶数为51瓶,可记录已封装箱数; 2. 系统具有人机交互功能,可由用户控制流水线工作速度,并实时显示已计量瓶数和封装箱数; 3. 流水线使用48V 2000W直流电机进行传动,设计MCU与该电机的接口电路,实现流水线传动的启停和速度 控制,并仿真其可行性; 4. 设计用于检测瓶子的 传感器应用电路,实现对瓶数的感测; 5. 包装机数据接口为 RS-485接口,设计MCU与包装机的接口电路; 6.
[单片机]
51单片机产品数量自动计量系统<font color='red'>Proteus</font>仿真程序设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

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

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