1、第第3章章 PROTEUS电子仿真软件与电子仿真软件与Keil联合调试联合调试 v本章简要介绍Proteus软件组成和资源,详细说明Proteus软件基本操作、原理图的设计、单片机仿真的过程、元器件的制作和虚拟仿真工具的使用以及Proteus与Keil软件联调过程。以典型数码管显示为例讲述基于Proteus ISIS的电路设计、程序调试和系统仿真过程,及数码管显示的Proteus与Keil软件联合调试。3.1 Proteus软件介绍vProteus软件有二十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的画原理图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,它的电路仿
2、真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源代码级的实时调试,显示及输出,能看到运行后输入输出的效果,还配置了虚拟仪器如示波器、逻辑分析仪等。3.1.1 Proteus软件组成和开发流程v1、Proteus软件组成软件组成vProteus系统包括ISIS.EXE(电路原理图设计、电路原理仿真)、ARES.EXE(印刷电路板设计)两个主要程序三大基本功能。Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线功能,从而实现了一个完整的电子设计系统。vProteus软件由以下6部分组成:v(1)原理图输入系统ISIS;(2)混合模型
3、仿真器;v(3)动态器件库;(4)高级图形分析模块;v(5)处理器仿真模型VSM;(6)PCB设计编辑ARES。v2、基于、基于Proteus软件产品开发流程软件产品开发流程v基于Proteus电子产品开发流程如图基于Proteus产品设计优点:(1)完成原理图设计之后就可以进行电路调试与仿真;(2)交互式仿真特性使得软件的调试与测试能在设计电路板之前完成;(3)硬件设计的改动容易的如同软件设计改动一样简单。3.1.2 Proteus编辑环境介绍v在电脑中安装好Proteus软件后,由“开始菜单”“所有程序”“Proteus 7 Professional”中左击图标 即可启动程序,启动画面如图
4、 图图3.1.2 Proteus启动画面启动画面v进入启动画面两三秒后进入编辑操作界面ISIS Professional窗口 图图3.1.3 ISIS Professional编辑操作界面编辑操作界面 v1、菜单栏菜单栏vISIS系统的操作主菜单见表3.1.1所示,共有12项菜单,每项都有下一级菜单。v2、预览窗口、预览窗口v3、器件选择按钮、器件选择按钮v4、工具箱、工具箱v5、方向工具栏、方向工具栏v6、仿真按钮、仿真按钮v7、原理图编辑窗口、原理图编辑窗口v主菜单名称和下一级菜单内容主菜单名称和下一级菜单内容 表表3.1.1 主菜单名称和下一级菜单内容主菜单名称和下一级菜单内容3.2 电
5、路原理图设计v 电路原理图是有电子器件符号和连接导线组成的图形。在图中器件有编号、名称、参数等属性,连接导线有名称、连接的器件引脚等属性。电路原理图的设计就是放置器件并把相应的器件引脚用导线连接起来,并修改器件和导线的属性。3.2.1 新建设计文件v由“开始菜单”“所有程序”“Proteus 7 Professional”中左击图标 即可启动程序,进入编辑操作界面,然后单击“File”菜单中的“New Design”,弹出如图3.2.1所示的图纸选择窗口。图图3.2.1 图纸模块选择窗口图纸模块选择窗口3.2.2 设计图纸大小vProteus ISIS 为用户提供了A4A0四种纸张大小的选择,
6、如图3.2.2所示。用户可以单击菜单命令“System”“Set Sheet size”,弹出如图3.2.2所示的对话框,根据设计需要选择图纸的大小,然后点击“OK”即可。图图3.2.2 纸张大小选择窗口纸张大小选择窗口3.2.3 添加元器件v执行菜单命令“Library”“Pick Device”。图图3.2.4 元器件浏览对话框元器件浏览对话框3.2.4 放置、移动、旋转、删除对象v(1)放置元件)放置元件v(2)移动元件)移动元件v(3)旋转元件)旋转元件v(4)删除元件)删除元件3.2.5 放置电源、地v(1)放置电源)放置电源v(2)放置地)放置地3.2.6 布线v在ISIS原理图编
7、辑窗口中没有专门的布线按钮,但系统默认自动布线按钮有效,因此可直接画线。v(1)在两个对象之间连线)在两个对象之间连线v(2)移动画线、更改线型)移动画线、更改线型v(3)总线及分支线的画法)总线及分支线的画法3.2.7 设置、修改元件属性v在需要修改的元件上右击鼠标,在弹出的菜单中选择“Edit Properties”或按快捷方式Ctrl+E,将出现“Edit Component”对话框,v在此对话框中设置元件属性。如果需要成组设置,可以使用属性分配功能,用鼠标左键框选所需要设置的所有的器件,执行菜单命令“Tools”“Property Assignment Tool”,或者按快捷方式“A”
8、,弹出如图3.2.7所示的属性分配对话框。3.2.8 建立网络表v网络就是一个设计中有电器连接的电路,执行菜单命令“Tools”“Netlist Complier”,弹出对话框,在此对话框中,可设置网络表的输出形式、模式、范围、深度和格式等。3.2.9 电器检查v在一个电路设计中,画完电路并生成网络表后,可进行电器检测。执行菜单命令“Tools”“Electrical Rule Check”或者单击主工具栏中的图标 ,弹出电器检测窗口,此窗口中前面的是一些文本信息,接着是电气检测结果。若有错,会有英文提示,并附有详细的说明。3.2.10 存盘及输出报表v如果设计的原理图没有保存,应将其保存。保
9、存后,执行菜单命令“Tools”“Electrical Rule Check”,在其子菜单中选择其中一个选项或单击按钮 ,生成BOM文档。3.2.11 单片机原理图设计实例v本例以设计数码管显示为例子 图图3.2.9 数码管显示原理图数码管显示原理图v1、新建设计文件、新建设计文件 v2、图纸设定、图纸设定v3、添加元件、添加元件v4、放置元件、放置元件v5、放置电源、地、放置电源、地v6、连线、连线v7、设置元件属性、设置元件属性v8、给导线添加网络标签、给导线添加网络标签v9、电气检测、电气检测3.3 单片机的仿真vPROTEUS系统能够仿真单片机的指令执行过程,能够在连接其它接口电路之后
10、实现对电路的快速仿真调试。对单片机进行仿真分以下几个步骤:3.3.1 添加程序v菜单的“Source”中有:添加删除程序(Add/Remove Source file)、选择代码生成工具(Define Code Generation Tools)、设置外部文本编辑器(Setup External Text Editor)、编译所有文件(Build All)四项。单击“添加删除程序(Add/Remove Source file)”,在弹出的对话框中,在代码生成工具栏(Code Generation Tool)中选中“ASEM51”。3.3.2 编译程序v执行菜单命令“Source”/“Build
11、 All”,如果文件无错误就产生了.HEX文件。3.3.3 添加和执行程序v双击需要添加程序的单片机,在弹出的属性编辑对话框中 ,在“Program File”项中单击图标,在弹出的“Select File Name”(选择文件)对话框中,选择上一步产生.HEX文件,点击“打开”按钮,回到单片机属性对话框,单击“OK”即可。点击编辑窗下边的仿真按钮程序便可执行了。或者选择调试菜单Debug下的执行功能即可执行。3.3.4 观察单片机内部状态v在程序执行后,点击暂停按钮,打开Debug菜单,执行菜单命令“Debug”/“8051CPU”后,有三项命令可以选择:“Registers_U1”(通用寄
12、存器)、“SFR Memory_U1”(特殊功能寄存器)、“Internal IDATA Memory_U1”(片内数据存储器),可以任意单击一项,将其调出来查看其状态,如图3.3.2所示的片内数据存储器的状态,同时按快捷方式“F10”或“F11”单步运行观察其状态。3.4 Proteus ISIS 元件制作v在绘制原理图的过程中,如果遇到原理图元件库中找不到的元器件,或是没有适合使用的元器件时,需要自行制作原理图元件。本例以74LS373的制作为例。3.4.1 绘制元件图形模型v在Proteus ISIS中没有专门的元件编辑模式,所有的制作符号、元件边界工作都在原理图编辑窗口中完成。v 图图
13、3.4.1 绘制元件图形模型绘制元件图形模型 3.4.2 放置器件引脚v放置器件引脚放置器件引脚 图图3.4.2 放置器件引脚放置器件引脚 3.4.3 引脚编辑v引脚属性对话框引脚属性对话框 图图3.4.4 引脚引脚1属性对话框属性对话框 3.4.4 添加中心点v添加中心点添加中心点图图3.4.11 添加中心点添加中心点3.4.5 封装入库v Make Device对话框对话框图图3.4.12 Make Device对话框对话框v 设置元件参数对话框设置元件参数对话框图图3.4.13 设置元件参数对话框设置元件参数对话框v器件的特征和定义设置对话框器件的特征和定义设置对话框图图3.4.15 器
14、件的特征和定义设置对话框器件的特征和定义设置对话框v选择元件存放位置对话框选择元件存放位置对话框 图图3.4.16 选择元件存放位置对话框选择元件存放位置对话框v元件库管理器元件库管理器图图3.4.17 元件库管理器元件库管理器3.5 Proteus 虚拟仿真工具vProteus的仿真分为交互式仿真和基于图表的仿真。其中交互式仿真是通过交互器件或工具观察电路的运行状态,例如一系列激励源和可视化虚拟仪器,借助它们可进行交互式仿真;基于图表的仿真是使用图表来分析电路的特定指标(如频率特性等)。vProteus提供了一系列激励源、视化虚拟仪器和丰富的图表,借助它们可进行虚拟仿真和图形分析。3.5.1
15、 Proteus ISIS 图表仿真v图表仿真是一种静态的图表仿真功能,无须运行仿真,随着电路参数的修改,电路中的各点波形将重新生成,并以图表的形式留在电路图中,供以后分析或打印等。v构建图表仿真的步骤:v(1)单击“图表”v(2)根据实际波形格式,选择步骤(1)中相关属性的图表,然后拖动鼠标到编辑窗口,点左键,拖画出一个矩形框,然后再单击一下鼠标左键,画出一个矩形图表仿真框。v(3)给需要测的波形源连接好电路图,并设置好属性,v(4)按下键盘的空格键即可实现仿真。v(5)应用实例3.5.2 Proteus VSM 激励源v激励源为虚拟仿真提供激励,并允许用户对其进行参数设置。v 激励源激励源
16、 表表3.5.1 激励源激励源3.5.3 激励源的使用v由于大部分的激励源从字面上的意思即可理解其用法,所以本节只介绍指数脉冲发生器、分段线性激励源和音频信号发生器这三种激励源。v1、指数脉冲发生器、指数脉冲发生器v指数脉冲发生器产生指数函数的输入信号,其参数指数脉冲发生器产生指数函数的输入信号,其参数可以通过属性对话框来设置。可以通过属性对话框来设置。v(1)放置指数脉冲发生器)放置指数脉冲发生器v(2)编辑属性)编辑属性v(3)用仿真图标观测输出波形)用仿真图标观测输出波形v2、分段线性激励源、分段线性激励源v(1)放置分段线性激励源)放置分段线性激励源v(2)编辑属性)编辑属性v(3)画
17、线)画线v(4)仿真)仿真v3、音频发生器、音频发生器v(1)放置音频发生器)放置音频发生器v(2)编辑属性)编辑属性v(3)构建仿真图)构建仿真图v(4)开始仿真)开始仿真v(5)观察音频波形)观察音频波形v4、激励源的属性参数解析、激励源的属性参数解析3.6 Proteus VSM 虚拟仪器v1、OSCILLOSCOPE(示波器)(示波器)v(1)功能)功能v(2)使用)使用v(3)工作方式)工作方式v(4)触发)触发v(5)简单的应用例子)简单的应用例子v2、LOGIC ANALYSER(逻辑分析仪)(逻辑分析仪)v(1)功能)功能v(2)使用)使用v(3)使用实例)使用实例v3、COU
18、NTER TIMER(计数(计数/定时器)定时器)v(1)工作模式)工作模式v(2)使用)使用v(3)使用例子)使用例子v4、VIRTUAL TERMAINAL(虚拟终端虚拟终端)v(1)功能)功能v(2)使用)使用v5、SPI DEBUGGER(SPI 总线调试器总线调试器)v(1)功能)功能v(2)使用步骤:)使用步骤:v6、I2C DEBUGGER(I2C 总线调试总线调试)v(1)I2C总线调试器总线调试器v(2)I2C总线调试器的使用总线调试器的使用v7、SIGNAL GENERATOR(信号发生器)(信号发生器)v8、PATTERIN GENERATOR(序列发生(序列发生器)器)
19、v(1)序列发生器引脚及设置)序列发生器引脚及设置v(2)序列发生器的使用)序列发生器的使用v9、电压表与电流表、电压表与电流表3.7 PROTEUS和KEIL联调仿真单片机3.7.1 安装vdmagdi驱动vProteus7.4比以前低级的版本功能增加了很多,最大的亮点就是在实现与Keil联调的方法上,只需要安装一个vdmagdi驱动即可,免去了以往版本的复杂的联调设置。在安装好本书所提供的Keil软件和Proteus软件后,然后安装“vdmagdi驱动”,即方便快捷的实现了Proteus和Keil的联调。v将vdmagdi驱动安装到Keil目录下的步骤:v(1)运行Proteus光盘中UT
20、ILITY下的vdmagdi.exe文件。v(2)选择对应的Keil版本(如果使用的Keil为Vision2,则选择AGDI Drivers for Vision2;如果使用的Keil为Vision3,则选择AGDI Drivers for Vision3)。3.7.2 Proteus与Keil C接口v(1)打开Proteus,画出相应电路。在“Proteus”的“Debug”菜单中选中“Use Remote Debug Monitor”。v(2)进入KEIL的“Project”菜单“Option for target 工程名”或直接单击图标 3.7.3 Proteus 与与Keil C联合调试实例联合调试实例 图图3.7.4 原理图原理图v1、新建工程、新建工程v2、编译源程序和生成、编译源程序和生成.HEX文件文件v3、载入程序、载入程序v4、Keil C 与与Proteus 连接仿真调试连接仿真调试3.8 小结v 本章详细的介绍了Proteus的开发环境以及其中各种工具的用法、通过实例演示了如何使用Proteus来制作原理图以及如何Keil和Proteus实现联调过程,为后续章节的学习打下了坚实的基础。