查看文章 |
单片机在很多产品中得到广泛的应用,无论是51 系列、AVR、还是PIC 系列,他们各有各的特点,学习者也是逐年增加,但是在学习开发过程中,我们往往在确定方案后做试验的开支往往比较大,尤其是对于一些学生或者初学者这就可能成为他们学习的障碍。在我们使用Proteus 软件以来大大节省了时间和开发费。尤其将此软件用在单片机开发中是一个不错的选择。我们这里主要讲述的是Proteus 软件与Keil 软件的结合与应用。 2.Protues 软件介绍与应用 2.1 Protues 软件介绍 Proteus 是目前最好的模拟单片机外围器件的工具,它可以仿真51 系列、AVR,PIC 等常用的MCU 及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI 器件,部分IIC 器件...)。本文章基于ProteusPRO6.7SP3和KEIL uVision3 软件。当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择,可是对于单片机爱好者,或者简单的开发应该是比较好的选择。Proteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU 的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。 2.2 Protues 软件与Keil uVision 的结合 对于初次使用Protues 软件的人可能还不知道如何设置,现在把设置步骤简介如下,仅供参考(本文章只讨论在单机上结合,在两个联网机器使用由于篇幅限制不在此讨论):设置步骤如下: (1) 把proteus 安装目录下 VDM51.dll ( C:\ProgramFiles\LabcenterElectronics\Proteus6\Professional\MODELS)文件复制到 Keil 安装目录的 \C51\BIN 目录中;(2) 编辑C51 里tools.ini 文件, 加入:TDRV1=BIN\VDM51.DLL("PROTEUS VSM MONITOR-51 DRIVER");(3)Keil uVision 里设置: project-->options forproject-->debug tab;(4) 选中use proteus VSM monitor 51( 如果想用两台电脑仿真,双击setting,输入IP 地址 或者DNS name);(5) 载入proteus 文件;(6)proteus 里选择DEBUG-->use remote debug monitor;进入KEIL 的project 菜单option for target '工程名'。在DEBUG 选项中右栏上部的下拉菜选中 Proteus VSMMonitor-51 Driver。 在进入seting,如果同一台机IP 名为127.0.0.1,如不是同一台机则填另一 台的IP 地址。端口号一定为8000 注意:可以在一台机器上运行keil,另一台中运行proteus 进行远程仿真.(7)打开KEIL uVision, 按F5 开始仿真. 2.3 proteus 的工作过程 运行proteus 的ISIS 程序后,进入该仿真软件的主界面。在工作前,要设置view 菜单下的捕捉对齐和system 下的颜色、图形界面大小等项目。通过工具栏中的p(从库中选择元件命令)命令,在pick devices 窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source 菜单的Define code generation tools 菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source菜单的Add/remove source files 命令下,加入单片机硬件电路的对应程序;通过debug 菜单的相应命令仿真程序和电路的运行情况。Proteus 软件所提供了30 多个元件库,数千种元件。元件涉及到数字和模拟、交流和直流等。 2.4 Proteus 软件所提供的调试手段 Proteus 提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。对于单片机硬件电路和软件的调试,Proteus 提供了两种方法:一种是系统总体执行效果,一种是对软件的分步调 试以看具体的执行情况。对于总体执行效果的调试方法,只需要执行debug 菜单下的execute 菜单项或F12 快捷键启动执行,用debug 菜单下的pause animation 菜单项或pause 键暂停系统的运行;或用debug 菜单下的stop animation 菜单项或shift-break 组合键停止系统的运行。其运行方式也可以选择工具栏中的相应工具进行。对于软件的分步调试, 应先执行debug 菜单下的start/restart debugging 菜单项命令,此时可以选择stepover 、step into 和 step out 命令执行程序(可以用快捷键F10、F11 和ctrl+F11),执行的效果是单句执行、进入子程序执行和跳出子程序执行。在执行了start / restart debuging命令后,在debug 菜单的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等,可供调试时分析和查看。 2.5 Proteus 和KEIL uVision3 软件结合实例 (1)通过Proteus 画原理图:(图1) (2)在K eil uVision 软件别写程序: #i nclude #i nclude void delayms(unsigned char ms)// 延时子程序 {unsigned char i; while(ms--) {for(i = 0; i < 120; i++);} } main() {unsigned char LED; LED = 0xfe; P0 = LED; while(1) {delayms(250); LED = _crol_(LED,1);//循环右移1 位,点亮下一个LED P0 = LED; } } (3)对Proteus 和Keil uVision 软件的设置:(参考2.2 Protues 软件与Keil uVision 的结合章节)(4)运行程序,运行结果如下(图2):实现流水灯功能 3.总结 Proteus 不仅可以作为学校单片机(电子等)实验的模拟仿真,也可以作为个人工作室的仿真实验。作为电子技术或控制类相关专业的学生和工程技术人员,在学习了该软件后,可以充分地利用它所提供的资源,帮助自己提高工程应用能力。在教学中利用该软件,除了能教单片机的具体课程内容外,还可以教会学生应用该工具的能力,为今后的工作打下基础。
Proteus介绍 Proteus软件是来自英国Labcenter electronics公司的EDA工具软件,Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,Proteus为您建立了完备的电子设计开发环境!尤其重要的是Proteus Lite可以完全免费,也可以花微不足道的费用注册达到更好的效果;功能最强的Proteus专业版也非常便宜,人人用得起,对高校还有更多优惠。 Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被《电子世界》在其对PCB设计系统的比较文章中评为最好产品—“The Route to PCB CAD”。Proteus 产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。 其功能模块:—个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真; ARES PCB设计. PROSPICE 仿真器的一个扩展PROTEUS VSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LEDs甚至LCD显示CPU模型. >> 支持许多通用的微控制器,如PIC,AVR,HC11以及8051. 最新支持ARM >> 交互的装置模型包括: LED和LCD显示,RS232终端,通用键盘,I2C,SPI器件 >> 强大的调试工具,包括寄存器和存储器,断点和单步模式 >> IAR C-SPY 和Keil uVision2等开发工具的源层调试 >> 应用特殊模型的DLL界面-提供有关元件库的全部文件 最新版支持非常丰富仿真元件共7000多种,还有很多第三方模型。如MMC卡,以太网卡,ATA硬盘,麦克风,等等。。(http://www.proteus.com.cn/)不错的一个论坛!
软硬件联合仿真系统由一个硬件执行环境和一个软件执行环境组成,通常软件环境和硬件环境都有自己的除错和控制界面,Keil与Proteus的整合调试可以实现系统的总调,在该系统中,Keil作为软件调试界面,Proteus作为硬件仿真和调试界面,下面说一下如何在keil中调用proteus进行MCU外围器件的仿真。
(1)、安装keil 与 proteus。
(2)、把安装proteus\ MODELS目录下 VDM51.dll文件复制到Keil安装目录的 \C51\BIN目录中。
(3)、修改keil安装目录下 Tools.ini文件,在C51字段加入TDRV5=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver"),保存。
注意:不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。引号内的名字随意。
4、打开proteus,画出相应电路,在proteus的debug菜单中选中use remote debug monitor
5、在keil中编写MCU的程序
6、进入KEIL的project菜单option for target '工程名'。在DEBUG选项中右栏上部的下拉菜单选中 Proteus VSM Monitor-51 Driver。
在进入seting,如果同一台机IP 名为127.0.0.1,如不是同一台机则填另一台的IP地址。端口号一定为8000
注意:可以在一台机器上运行keil,另一台中运行proteus进行远程仿真。
7、在keil中进行debug吧,同时在proteus中查看直观的结果(如LCD显示…)
这样就可以像使用仿真器一样调试程序 联机软件下载: 单片机仿真软件ProteusPRO6.7SP3http://www.51c51.net/down/2007/0805/down_108.html Keil C51 v7.50(V3版) |