第3章PROTEUS电子仿真软件与Keil联合调试本章简要介绍Proteus软件组成和资源,详细说明Proteus软件基本操作、原理图的设计、单片机仿真的过程、元器件的制作和虚拟仿真工具的使用以及Proteus与Keil软件联调过程。以典型数码管显示为例讲述基于ProteusISIS的电路设计、程序调试和系统仿真过程,及数码管显示的Proteus与Keil软件联合调试。3.1Proteus软件介绍Proteus软件有二十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的画原理图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,它的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源代码级的实时调试,显示及输出,能看到运行后输入输出的效果,还配置了虚拟仪器如示波器、逻辑分析仪等。3.1.1Proteus软件组成和开发流程1、Proteus软件组成Proteus系统包括ISIS.EXE(电路原理图设计、电路原理仿真)、ARES.EXE(印刷电路板设计)两个主要程序三大基本功能。Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线功能,从而实现了一个完整的电子设计系统。Proteus软件由以下6部分组成:(1)原理图输入系统ISIS;(2)混合模型仿真器;(3)动态器件库;(4)高级图形分析模块;(5)处理器仿真模型VSM;(6)PCB设计编辑ARES。2、基于Proteus软件产品开发流程基于Proteus电子产品开发流程如图设计原理图电路调试与仿真编写代码与调试系统仿真PCB生成样机基于Proteus产品设计优点:(1)完成原理图设计之后就可以进行电路调试与仿真;(2)交互式仿真特性使得软件的调试与测试能在设计电路板之前完成;(3)硬件设计的改动容易的如同软件设计改动一样简单。3.1.2Proteus编辑环境介绍在电脑中安装好Proteus软件后,由“开始菜单”→“所有程序”→“Proteus7Professional”中左击图标即可启动程序,启动画面如图图3.1.2Proteus启动画面进入启动画面两三秒后进入编辑操作界面ISISProfessional窗口仿真按钮状态栏原理图编辑窗口对象选择器光标坐标栏方向工具栏工具箱器件选择按钮元器件库选择按钮预览窗口菜单栏工具栏图3.1.3ISISProfessional编辑操作界面1、菜单栏ISIS系统的操作主菜单见表3.1.1所示,共有12项菜单,每项都有下一级菜单。2、预览窗口3、器件选择按钮4、工具箱5、方向工具栏6、仿真按钮7、原理图编辑窗口主菜单名称和下一级菜单内容菜单图标菜单名称下一级菜单内容File文件菜单新建、加载、保存、打印等文件操作View浏览菜单图纸网格设置、快捷工具选项、图纸的放置缩小等操作.Edit编辑菜单编辑取消、剪切、拷贝、粘贴、器件清理等操作Tools工具菜单实时标注、自动放线、网络表生成,电器规则检查、材料清单生成等Design设计菜单设置属性编辑、添加和删除图纸、电源配置等Graph图形菜单传输特性、频率特性分析菜单,编辑图形,添加曲线,分析运行等Source源文件菜单选择可编程器件的源文件、编译工具、外部编辑器、建立目标文件等Debug调试菜单启动调试、复位显示窗口等Library库操作菜单器件封装、库编辑、库管理等操作Template模板菜单设置模板格式、加载模板等System系统菜单设置运行环境、系统信息、文件路径等Help帮助菜单打开帮助文件、设计实例、版本信息等表3.1.1主菜单名称和下一级菜单内容2.预览窗口该窗口显示两个内容:当单击对象选择框中的某个对象,它显示该元件的预览图;当单击工具栏中的按钮,它显示整张原理图的缩略图。3.器件选择按钮P为对象选择按钮,L为库管理按钮。选取器件时,单击“P”,键入器件名(关键字)在匹配结果中选中器件,单击确定,器件名即列于对象选择器窗口中。4、工具箱5、方向工具栏旋转or翻转,旋转角度是90度的整数倍6、仿真按钮7、原理图编辑窗口3.2电路原理图设计电路原理图是有电子器件符号和连接导线组成的图形。在图中器件有编号、名称、参数等属性,连接导线有名称、连接的器件引脚等属性。电路原理图的设计就是放置器件并把相应的器件引脚用导线连接起来,并修改器件和导线的属性。3.2.1新建设计文件由“开始菜单”→“所有程序”→“Proteus7Professional”中左击图标即可启动程序,进入编辑操作界面,然后单击“File”菜单中的“NewDesign”,弹出如图3.2.1所示的图纸选择窗口。图3.2.1图纸模块选择窗口3.2.2设计图纸大小ProteusISIS为用户提供了A4~A0四种纸张大小的选择,如图3.2.2所示。用户可以单击菜单命令“System”→“SetSheetsize”,弹出如图3.2.2所示的对话框,根据设计需要选择图纸的大小,然后点击“OK”即可。图3.2.2纸张大小选择窗口3.2.3添加元器件点击“P”选择元器件关键字元器件类型列表元器件类型列区域元器件子类型列表元器件制造商列表元器件PCB封装选择区域元器件PCB封装预览区域元器件预览区域图3.2.4元器件浏览对话框3.2.4放置、移动、旋转、删除对象(1)放置元件(2)移动元件(3)旋转元件(4)删除元件3.2.5放置电源、地(1)放置电源(2)放置地3.2.6布线在ISIS原理图编辑窗口中没有专门的布线按钮,但系统默认自动布线按钮有效,因此可直接画线。(1)在两个对象之间连线(2)移动画线、更改线型(3)总线及分支线的画法3.2.7设置、修改元件属性在需要修改的元件上右击鼠标,在弹出的菜单中选择“EditProperties”或按快捷方式Ctrl+E,将出现“EditComponent”对话框,在此对话框中设置元件属性。如果需要成组设置,可以使用属性分配功能,用鼠标左键框选所需要设置的所有的器件,执行菜单命令“Tools”→“PropertyAssignmentTool”,或者按快捷方式“A”,弹出如图3.2.7所示的属性分配对话框。3.2.8建立网络表网络就是一个设计中有电器连接的电路,执行菜单命令“Tools”→“NetlistComplier”,弹出对话框,在此对话框中,可设置网络表的输出形式、模式、范围、深度和格式等。3.2.9电器检查在一个电路设计中,画完电路并生成网络表后,可进行电器检测。执行菜单命令“Tools”→“ElectricalRuleCheck”或者单击主工具栏中的图标,弹出电器检测窗口,此窗口中前面的是一些文本信息,接着是电气检测结果。若有错,会有英文提示,并附有详细的说明。3.2.11单片机原理图设计实例本例以设计数码管显示为例子图3.2.9数码管显示原理图1、新建设计文件2、图纸设定3、添加元件4、放置元件5、放置电源、地6、连线7、设置元件属性8、给导线添加网络标签9、电气检测3.3单片机的仿真PROTEUS系统能够仿真单片机的指令执行过程,能够在连接其它接口电路之后实现对电路的快速仿真调试。对单片机进行仿真分以下几个步骤:3.3.1添加程序菜单的“Source”中有:添加删除程序(Add/RemoveSourcefile)、选择代码生成工具(DefineCodeGenerationTools)、设置外部文本编辑器(SetupExternalTextEditor)、编译所有文件(BuildAll)四项。单击“添加删除程序(Add/RemoveSourcefile)”,在弹出的对话框中,在代码生成工具栏(CodeGenerationTool)中选中“ASEM51”。3.3.2编译程序执行菜单命令“Source”/“BuildAll”,如果文件无错误就产生了.HEX文件。3.3.3添加和执行程序双击需要添加程序的单片机,在弹出的属性编辑对话框中,在“ProgramFile”项中单击图标,在弹出的“SelectFileName”(选择文件)对话框中,选择上一步产生.HEX文件,点击“打开”按钮,回到单片机属性对话框,单击“OK”即可。点击编辑窗下边的仿真按钮程序便可执行了。或者选择调试菜单Debug下的执行功能即可执行。3.3.4观察单片机内部状态在程序执行后,点击暂停按钮,打开Debug菜单,执行菜单命令“Debug”/“8051CPU”后,有三项命令可以选择:“Registers_U1”(通用寄存器)、“SFRMemory_U1”(特殊功能寄存器)、“InternalIDATAMemory_U1”(片内数据存储器),可以任意单击一项,将其调出来查看其状态,如图3.3.2所示的片内数据存储器的状态,同时按快捷方式“F10”或“F11”单步运行观察其状态。3.5Proteus虚拟仿真工具Proteus的仿真分为交互式仿真和基于图表的仿真。其中交互式仿真是通过交互器件或工具观察电路的运行状态,例如一系列激励源和可视化虚拟仪器,借助它们可进行交互式仿真;基于图表的仿真是使用图表来分析电路的特定指标(如频率特性等)。Proteus提供了一系列激励源、视化虚拟仪器和丰富的图表,借助它们可进行虚拟仿真和图形分析。3.5.1ProteusISIS图表仿真图表仿真是一种静态的图表仿真功能,无须运行仿真,随着电路参数的修改,电路中的各点波形将重新生成,并以图表的形式留在电路图中,供以后分析或打印等。构建图表仿真的步骤:(1)单击“图表”(2)根据实际波形格式,选择步骤(1)中相关属性的图表,然后拖动鼠标到编辑窗口,点左键,拖画出一个矩形框,然后再单击一下鼠标左键,画出一个矩形图表仿真框。(3)给需要测的波形源连接好电路图,并设置好属性,(4)按下键盘的空格键即可实现仿真。(5)应用实例3.5.2ProteusVSM激励源激励源为虚拟仿真提供激励,并允许用户对其进行参数设置。激励源信源功能DC直流信号发生器(直流激励源)SINE正弦波发生器(幅值、频率和相位可控)PULSE模拟脉冲激励源(幅值、周期和上升/下降沿时间可控)EXP指数发生器(可产生与RC充电/放电电路相同的脉冲波)SFFM单频率调频信号发生器PWLINPWLIN信号发生器(可产生任意分段线性信号)FILEFILE信号发生器(它的数据来源于ASCII文件)AUDIO音频信号发生器(使用WindowsWAV文件作输入文件,结合音频分析图表可听到电路对音频信号处理后的声音)DSTATE数字单稳态逻辑电平发生器DEDGE单边沿信号发生器DPULSE单周期数字脉冲发生器DCLOCK数字时钟信号发生器DPATTERN数字序列信号发生器表3.5.1激励源3.5.3激励源的使用由于大部分的激励源从字面上的意思即可理解其用法,所以本节只介绍指数脉冲发生器、分段线性激励源和音频信号发生器这三种激励源。1、指数脉冲发生器指数脉冲发生器产生指数函数的输入信号,其参数可以通过属性对话框来设置。(1)放置指数脉冲发生器(2)编辑属性(3)用仿真图标观测输出波形2、分段线性激励源(1)放置分段线性激励源(2)编辑属性(3)画线(4)仿真3、音频发生器(1)放置音频发生器(2)编辑属性(3)构建仿真图(4)开始仿真(5)观察音频波形4、激励源的属性参数解析1直流信号发生器(DC)在原理图编辑区中,用鼠标左键双击直流信号发生器符号,出现属性设置对话框。直流信号发生器用来产生模拟直流电压或电流。默认为直流电压源,可以在右侧设置电压源的大小。(3)如果需要直流电流源,则在图中选中左侧下面的“CurrentSource”,右侧自动出现电流值的标记,可根据需要填写。2正弦波信号发生器(SINE)正弦波信号发生器用来产生固定频率的连续正弦波。(1)双击原理图中的正弦波信号发生器符号,出现其属性对话框(2)“GeneratorName”中