基于Proteus单片机虚拟实验室
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2008-12-15
作者简介:仝庆华(1966-),男,山西大同人,高级工程师,研究方向:电子技术.
基于Proteus 单片机虚拟实验室
仝庆华
(山西大同大学物理与电子科学学院,山西大同037009)
摘要:Proteus 是一款功能强大的EDA 软件,所配备的仿真元件库使其在电子设备的动态仿真方面具有其他仿真软件不可比拟的优越性,丰富的虚拟仪表箱也为仿真测试提供了方便.文章以89C51单片机为例具体分析了Proteus 在对微处理器软、硬件仿真方面的独到之处,并通过实例展示其广阔的应用前景.
关键词:Proteus
单片机仿真
中图分类号:TP391.9文献标识码:A 文章编号:1674-0874(2009)02-0023-03
Proteus 是一个完整的嵌入式系统软、硬件设计仿真平台,由美国Labcenter electronics 公司开发,最为突出的功能在于它的电路仿真是互动的,不仅
可以进行硬件仿真,还可以进行软件仿真,直接实现动态模拟按钮、键盘的输入、LED 、液晶显示的输出,同时配合虚拟仪表进行相应的测量和观测.另外,它还具有良好的用户界面.它还支持总线、自动走线等等,能够节约绘图的时间和空间,用Proteus VSM 还能把微处理器软件作用在处理器上,并和该处理器的任何模拟和数字器件协同仿真,仿真执行目标码就像在真正的单片机系统上运行,VSM CPU 模型能完整仿真I/O 口、中断、定时器、通用外设口和其他与CPU 有关的外设,能仿真多个处理器.
1Prot eus 的工作过程
使用Proteus 仿真的基础是要绘制准确的原理
图并进行合理的设置,绘制原理图时使用ISIS 原理图输入系统,所以运行Proteus 的ISIS 程序后,马上进入该仿真软件的主界面.在工作前,要设置View 菜单下的捕捉对齐和System 下的颜色、图形界面大小等项目.通过工具栏中的P(从库中选择元件命令)命令,在pick devices 窗口中选择电路所需的元件,放置元件并调整其相对位置、元件参数设置、元器件间连线等,然后编写程序;在source 菜单的Define code generation tools 菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source 菜单
的Add/Remove source files 命令下,加入单片机硬件电路的对应程序;通过debug 菜单的相应命令(包括启动、单步运行、暂停和停止)仿真程序并观察电路的运行情况.
Proteus 软件提供了30多个元件库,数千种元件,有标准符号、三极管、二极管、热离子管、TTL 、CMOS 、ECL 、微处理器、以及存储器元件、PLD 、模拟IC 和运算放大器等.
2仿真功能
作为一款EDA 仿真软件,Proteus 除包括了其他仿真软件所具有的功能之外,它还具有两个独特之处:一是对动态元件的实时仿真,即“人机交互”的仿真模拟,增强了系统的真实性;二是虚拟仪表箱的功能,它能在仿真状态下对电路及各元器件参数进行实时测量,既简化了测量程序又满足了测量要求.
2.1实时动态仿真
与多数仿真软件相似,Proteus 有着数量庞大的元器件库.系统集成了6000多个模拟和数字电路中常用的Spice 模型以及各种动态元件,基本元器件如电阻、电容、各种二极管、三极管、MOS 管、555定时器件等;存储芯片包括各种常用的ROM 、RAM 、FLASH,还有常见的I 2C 器件等.在丰富的库元件的支持下,用户在进行原理图设计时只需进行相应的调用和连线,以及对元件的属性进行相应的设置即可完成绘图工作(这点等同于Protel),接下来
第25卷第2期山西大同大学学报(自然科学版)
Vol.25.No.22009年4月Journal of Shanxi Datong University(Natural Science)Apr .2009
便可实现系统仿真和虚拟测量.
与Multisim等其它仿真软件的最大的区别在于:Proteus支持微处理器的仿真,这些仿真的实现是基于Labcenter公司提出的虚拟系统模型(Virtual System Model-VSM)的理念,它指的是:将Spice电路模型,动态外设以及微处理器的仿真结合起来,在物理原型调试之前用于仿真整个单片机系统的一种设计方法.对动态外设的支持是Proteus区别于其它仿真软件的最本质的特征.Proteus为用户提供了一个实时交互的环境,在仿真的过程中,用户可以通过点击鼠标的方式来操作电路中的按钮等主命令电器,微处理器也可对该输入信号做出实时响应,并进行相应的程序处理且把处理结果送至输出终端.整个过程与真实的硬件调试及其相似,而动态外设支持下的实时输入和输出也为开发者呈现了一个最接近现实的调试环境.实际上用户可以用一个300MHz PentiumⅡCPU以12MHz的时钟频率仿真一个基本的8051单片机系统.
2.2虚拟仪表箱
Proteus的虚拟仪表箱提供了电路测试中的常用工具和仪器,主要用于在实时仿真时的电路参数观测,测量结果随仿真动态变化而变化,可以满足实物电路的一般测量要求,对于电路特性的定性分析可以起到事半功倍的作用,大大节约了开发成本,另外,在Proteus软件包中,不存在同类仪表使用数量上的问题.Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多.
3单片机系统仿真的应用
基于VSM的理论,Proteus可以对很多常用的微处理器进行系统仿真,它支持PIC,8051,AVR, HC11,ARM7/LPC2000等系列多种型号的微处理器、微控制器,只要给出微处理器所用程序的路径,即可进行实时动态仿真,目前,Proteus多数都是与Keil软件配合使用的.
就Atmel公司的系列单片机而言,Proteus支持的型号非常全面,从低端ATtinv10到高端的AT-mega128均有可以直接调用的库元件.下面以89C51为例介绍Proteus支持的仿真功能.
Proteus中的89C51库元件管脚上的标识与该芯片的Datasheet是基本一致的,唯一的不同是隐去了GND和VCC管脚,在绘制原理图的时候用户可以不用对其进行连接,系统默认的设置就是将它们分别连到地和5V电源上.对单片机系统可进行仿真的功能有:支持所有的I/O操作,内部的定时器,计数器的模拟(包括输入捕获、输出比较、PWM模式),看门狗定时器,串行UART接口,主、从模式串行SPI接口,支持内置数模转换ADC,支持Atmel 的TWI(Two Wire Interface)通信方式,存储器方面支持外部STAM扩展以及内置EEPROM的模拟,支持多个微控制器的协同工作仿真等等.
仿真时要做好三步操作:一是系统硬件电路的设计;二是系统软件的开发与编译;三是系统的综合仿真.具体流程是:首先利用Proteus绘制系统硬件原理图;然后利用51系列编译器(如Keil等)进行系统软件设计并生成目标代码(*.Hex格式),Keil 软件支持C和汇编两种语言形式,是目前和Pro-teus使用较多的配套软件;在仿真时,只要对原理图中的微处理器芯片指定了经过Keil软件编译过的目标程序的路径,就可以进行系统的实时动态仿真.Proteus和Keil联合使用有两种方法,一种是离线联合,另一种是在线联合仿真.所谓离线联合是指两者相互独立工作,先通过KeilC51编辑、修改、编译源程序,最后生成后缀为HEX等单片机能识辨的文件,然后再运行Proteus ISIS,将HEX文件与原理图的MUC进行绑定即可.而在线联合仿真是指在KeilC51中调试运行程序,同时可以在Pro-teus里观察实时仿真结果,在线联合仿真又分为单机在线仿真和双机之间的在线联合仿真,我们主要用的是单机在线联合仿真,其具体操作步骤将在实例中介绍.
另一点值得一提的是:实时仿真运行的过程中,系统每个元件引脚旁边均会出现一个小正方形的指示,红色代表高电平,蓝色代表低电平,这样开发人员可以不用借助虚拟工具的测量也能很直观的看到每个管脚的电平变化,从而对系统的软硬件性能做出最基本的判断,优化了单片机的开发流程.
4Prot eus在单片机仿真方面的优势
针对于51系列单片机的仿真软件目前有很多种,常用的有AVR Studio和Proteus都属于代码级的仿真软件,与芯片级仿真不同,代码级仿真完全在计算机上完成的,不需要硬件的参与,主要用于查看代码的执行过程和参数变化.
AVR Studio是一款完全免费的AVR单片机集成开发环境,包括AVR Assembler编译器和AVR Studio调试功能,AVR Prog串行、并行下载功能和
山西大同大学学报(自然科学版)2009年·24·