第5章 CHAPTER 5 Proteus ISIS仿真设计工具 Proteus是英国Labcenter Electronics公司研发的多功能EDA软件,具有功能很强的ISIS智能原理图输入系统,有非常友好的人机互动界面及丰富的操作菜单和工具,能方便地完成MCS51单片机系统的硬件设计、软件设计、单片机源代码级调试与仿真。本章对Proteus ISIS软件进行了介绍,重点在于如何使用Proteus软件对MCS51单片机进行编译和仿真。 5.1Proteus ISIS软件概述 1. Proteus ISIS简介 Proteus ISIS是一款集单片机仿真和SPICE分析于一体的EDA仿真软件,于1989年由英国LabCenter Electronics Ltd.研发成功,经过十几年的发展,现已成为当前EDA市场上性价比最高、性能最强的一款软件。Proteus ISIS现已在全球50多个国家得到应用,广泛应用于高校学生的电子教学与实验以及公司实际电路设计与生产中。 Proteus除了具有和其他EDA工具一样的原理图设计、PCB自动生成及电路仿真的功能外,其最大特点是Proteus VSM(Virtual System Modeling)实现了混合模式的SPICE电路仿真,它将虚拟仪器、高级图表仿真、微处理器软仿真器、第三方的编译器和调试器等有机结合起来,在世界范围内第一次实现了在硬件物理模型搭建成功之前,即可在计算机上完成原理图设计、电路分析与仿真、系统测试以及功能验证。 Proteus ISIS主要由ISIS(Intelligent Schematic Input System)和ARES(Advanced Routing and Editing Software)两部分组成。ISIS的主要功能是原理图设计及电路原理图的交互仿真,ARES主要用于印制电路板(PCB)的设计,产生最终的PCB文件。 本书主要针对于Proteus ISIS的原理图设计和利用Proteus ISIS实现数字电路、模拟电路及单片机实验的仿真,故只对ISIS部分进行详细介绍,关于ARES可参考相关资料。 ISIS提供了Proteus VSM的编译环境,是进行交互仿真的基础,其主要特点如下: (1) 自动布线和连接点设置。 (2) 强大的元器件选择工具和属性编辑工具。 (3) 完善的总线支持。 (4) 元器件清单和电器规则检查。 (5) 适合主流PCB设计工具的网络表输出。 (6) 支持参数化子电路元器件值的层次设计。 (7) 自动标注元器件标号功能。 (8) ASCII数据输入功能。 (9) 管理每个项目的源代码和目标代码。 (10) 支持图表操作以进行传统的时候、频域仿真。 2. 启动Proteus ISIS 启动Proteus ISIS的方法非常简单,只要运行Proteus ISIS的执行程序即可。如图51所示。在Windows桌面选择“开始”→“所有程序”→Proteus 7.5 professional→ISIS 7.5 Professional菜单命令,即可启动Proteus ISIS。 图51启动Proteus ISIS 接下来便进入如图52所示的ISIS主窗口。 启动Proteus ISIS还有其他的简便方法: 可以直接双击Windows桌面上的ISIS7 Professional图标来启动应用程序,如图53所示; 或者直接单击Windows“开始”菜单中的ISIS 7 Professional图标。 3. Proteus ISIS工作界面 Proteus ISIS启动后,将进入工作界面,Proteus ISIS的工作界面是一种标准的Windows界面,如图54所示,包括标题栏、菜单栏、工具栏、生成网表并切换到ARES按钮、状态栏、对象选择按钮、仿真控制按钮、对象预览窗口、对象选择窗口和图形编辑窗口。 1) 菜单栏 菜单栏中File、View、Edit、Tools、Design、Graph、Source、Debug、Library、Template、System、Help分别对应为文件、视图、编辑、工具、图表、源代码、调试、库、模板、系统、帮助。当光标移至它们时,都会弹出下级菜单。 图52ISIS主窗口 图53从Windows桌面快捷图标启动ISIS 图54Proteus ISIS的工作步骤 (1) File菜单项。 该菜单项包括新建设计文件、打开(装载)已有的设计文件、保存设计文件、导入/导出部分文件、打印设计、显示最近的设计文件以及退出ISIS系统等常用操作。其中ISIS设计文件的后缀名为.DSN,部分文件的后缀名为.SEC。 (2) View菜单项。 该菜单项包括重绘当前视图、通过元器件栅格、鼠标显示样式(无样式、“×”号样式、大“+”号样式)、捕捉间距设置、原理图缩放、元器件平移以及各个工具栏是否显示。 (3) Edit菜单项。 该菜单项包括撤销/恢复操作、通过元器件名查找元器件、剪切、复制、粘贴,以及分层设计原理图时元器件上移或下移一层操作等。 (4) Tools菜单项。 该菜单项包括实时注解、实时捕捉栅格、自动布线、搜索标签、属性分配工具、全局注解、导入ASCII数据文件,生成元器件清单、电气规则检查、网络表编译、模型编译等命令。 (5) Design菜单项。 该菜单项包括编辑设计属性,编辑当前图层的属性,进行设计注释、电源端口配置、新建一个图层、删除图层、转到其他图层以及层次化设计时在父图层与子图层之间的转换等命令。 (6) Graph菜单项。 该菜单项包括编辑图形、添加跟踪曲线、仿真图形、查看日志、一致性分析以及某路径文件批处理模式的一致性分析等命令。 (7) Source菜单项。 该菜单项包括添加/删除源文件、添加/删除代码生成工具、设置外部文本编辑器和编译命令。 (8) Debug菜单项。 该菜单项包括启动调试、执行仿真、设置断点、限时仿真、单步执行以及对弹出的调试窗口的设置等命令。 (9) Library菜单项。 该菜单项包括从元器件库中选择元器件及符号、创建元器件、元器件封装、分解元器件操作、元器件库编辑、验证封装有效性、库管理等操作。 (10) Template菜单项。 该菜单项主要包括设置图形格式、文本格式、元器件外观特征(线条颜色和填充颜色等)、连接点样式等命令。 (11) System菜单项。 该菜单项包括设置ISIS编辑环境(主要包括自动保存时间间隔和初始化部分菜单)、选择文件路径、设置图纸大小、设置文本格式、快捷键分配、仿真参数设置等命令。 (12) Help。 该菜单项主要包括系统信息、ISIS教程文件和Proteus VSM帮助文件以及设计实例等。 2) 图形编辑窗口 它占的面积最大,是用于绘制原理图的窗口。编辑区的蓝色方框称为图纸边界,在其中可以编辑设计电路(包括单片机系统电路),并进行Proteus仿真。 3) 对象选择窗口 对象选择窗口用来放置从库中选出的待用元器件、终端、图表和虚拟仪器等。原理图中所用元器件、终端、图表和虚拟仪器等,要先从库里选至此窗口。 4) 对象预览窗口 对象预览窗口可以显示两部分内容: 一是在元器件列表中选择一个元器件时,显示该元器件的预览图; 二是光标落在图形编辑窗口时,显示整张原理图的缩略图。 5) 工具栏、工具按钮及其功能 工具栏、工具按钮及其功能如图55所示,它提供了方便的可视化操作环境。 6) 仿真控制按钮 仿真运行控制按钮一般在ISIS窗口下方,从左至右依次是运行、单步运行、暂停、停止。 4. Proteus ISIS原理图设计中的若干注意事项 1) 建立、保存、打开文件 选择File→New Design菜单命令,弹出如图56所示的Create New Design(创建新设计)对话框。单击OK按钮,则以默认的DEFAULT模板建立一个新的图纸尺寸为A4的空白文件。若单击其他模板(如Landscape A1),再单击OK按钮,则以Landscape A1模板建立一个新的图纸尺寸为A4的空白文件。 图55工具栏、工具按钮及其功能 图56创建新设计文件 单击工具栏中的“保存”按钮,选择路径、输入文件名后再单击“保存”按钮,则完成新建文件操作,文件格式为*.DSN(如RCZDQ.DSN),后缀DSN是系统自动加上的。若文件已存在,则可单击工具栏中的“打开文件”按钮,在弹出的对话框中选择要打开的设计文件(*.DSN)。 图57网格单位的设定 2) 设定网格单位和去掉网格 如图57所示,选择View→Snap 0.1in菜单命令,可将网格单位设定为100th(0.1in=100th=2.54mm)。若需要对元器件做更精确的移动,可将网格单位设定为50th或10th。 有时,画好的原理图中不需要看到网格,如何去掉网格呢?很简单,只需在图中单击网格图表,原理图中就看不到网格了。当然,再单击网格图表,就又看到网格了。 3) 设置、改变图纸大小 在画图之前,一般要设定图纸的大小。Proteus ISIS默认的图纸尺寸是A4(长×宽为10in×7in)。若要改变这个图纸尺寸,如改为A3,则可选择System→Set Sheet Size菜单命令,出现如图58所示的对话框。可以选择A0~A4其中之一,也可以选中User(自定义)复选框,再按需要更改右边的长和宽数据。 4) 去掉图纸上的 画好原理图后,图纸上所有元器件的旁边都会出现,这时可选择Template→Set Design Defaults菜单命令,如图59所示,在打开的对话框中取消选中“Show hidden text?”复选框,如图510所示,即可快速隐藏所有的。 图58图纸大小设置 图59选择Set Design Defaults菜单命令 图510Edit Design Defaults对话框 5) 去掉对象选择窗口中不用的元器件 在设计电路原理图的过程中,有时对象选择窗口中多选了元器件,画图时并没有用; 或者开始用过,后来删掉了。现在想把这些未用的元器件从对象选择器中去掉,方法如下: 把光标移到对象选择窗口中待删元器件名称上,右击,在弹出快捷菜单中(见图511)选择Tidy命令,再单击OK按钮就把对象选择窗口中所有不用的元器件删除了。 5. 关闭Proteus ISIS 关闭Proteus ISIS的方法很简单,主要有两种: 一种是选择File→Exit菜单命令,即可退出运行中的Proteus ISIS软件; 另一种是单击软件右上角的退出按钮退出应用程序。需要注意的是,在退出或关闭Proteus ISIS软件前应先保存所编译的电路原理图文件(.DSN)等; 否则,软件将弹出“Save changes to current design?”的提示用户保存信息的对话框,如图512所示。 图511对象选择器中弹出的 快捷菜单 图512用户保存信息对话框 5.2Proteus ISIS软件应用 5.2.1Proteus ISIS绘制原理图的一般步骤 1. 原理图设计的要求 电路原理图的设计是Proteus ISIS和印制电路板设计中的第一步,也是非常重要的一步。原理图设计的好坏直接影响到后面的工作。首先,原理图的正确性是最基本的要求,因为在一个错误的基础上进行的工作是没有意义的; 其次,原理图应该布局合理,以便于读图、查找和纠正错误; 最后,原理图要力求美观。 2. 原理图设计的步骤 原理图的设计过程可分为以下几个步骤。 (1) 新建设计文件并设置图纸参数和相关信息。在开始电路设计之前,用户根据电路图的复杂度和具体要求确定所用的设计模板,或直接设置图纸的尺寸、样式等参数以及文件头等与设计有关的信息,为以后的设计工作建立一个合适的工作平面。 (2) 放置元器件。根据需要从元器件库中查找并选择所需的元器件,然后从对象选择器中将用户选定的元器件放置到已建立好的图纸上,并对元器件在图纸上的位置进行调整,对元器件的名称、显示状态、标注等进行设定,以方便下一步的布线工作。 (3) 对原理图进行布线。该过程实际上是将事先放置好的元器件用具有意义的导线、网络标号等连接起来,使各元器件之间具有用户所设计的电气连接关系,构成一张完整的电路原理图。 (4) 调整、检查和修改。在该过程中,利用ISIS提供的电气规则检查命令对前面所绘制的原理图进行检查,并根据系统提供的错误报告修改原理图、调整原理图布局,以同时保存原理图的正确和美观。最后视实际需要,决定是否生成网络表文件。 (5) 补充完善。在该过程中,主要是对原理图做一些说明和修饰,以增加可读性和可视性。 (6) 存盘和输出。该过程主要是对设计完成的原理图进行存盘、打印输出等,以供在以后的工作中使用。 5.2.2Proteus ISIS软件应用实例 现在以单片机AT89C51控制流水灯电路原理图为例,说明Proteus ISIS电路原理图的画法,如图513所示。 XTAL1和XTAL2引脚通过外接12MHz晶振和C1、C2两个30pF电容组成晶振电路; RST引脚通过10kΩ电阻R1,1kΩ电阻R2,10μF电容C3及一个按键组成复位电路; P0口通过上位排阻连接8个发光二极管阴极,发光二极管阳极通过220Ω的限流电阻连接到VCC电源。 根据电路原理图,所使用的元器件清单如表51所示。 图513单片机AT89C51最小系统及控制流水灯电路原理图 表51元器件列表 Proteus元器件名称实际元器件所 属 电 路 AT89C51单片机单片机最小系统 RES电阻复位电路,流水灯电路 CAP电容晶振电路 CAPELEC电解电容复位电路 RESPACKS8电阻排阻流水灯电路 CRYSTAL晶振晶振电路 LEDRED红色发光二极管流水灯电路 BUTTON按键复位电路 下面详细讲解电路原理图的一般绘制过程。 1) 新建及保存设计文件 打开Proteus ISIS工作界面,选择菜单中的File→New Design命令,如图514所示,弹出选择模板对话框,选择DEFAULT模板,如图515所示,单击OK按钮,然后选择菜单中的File→Save Design命令,弹出如图516所示的Save ISIS Design File对话框。从中选好保存路径,在“文件名”框中输入liushuideng后,单击“保存”按钮,即完成新建设计文件的保存,文件自动保存为liushuideng.DSN文件,注意,文件的扩展名被自动设置为.DSN,如图517所示。 图514选择新建设计文件命令 图515选择DEFAULT模板 2) 放置元器件 在绘制电路原理图之前,应将图中多次使用的元器件从元器件库中选出来。同一个元器件不管图中使用多少次,只取一次即可。从元器件库中选择元器件时,可输入所需元器件的全称或部分名称,从元器件拾取窗口可以进行快速查询。 图516保存ISIS设计文件 图517文件保存为liushuideng.DSN格式 单击对象选择窗口上方的P按钮(见图54),弹出如图518所示的Pick Devices对话框。 图518Pick Devices对话框 (1) 添加单片机。在如图519所示的Pick Devices对话框的Keywords文本框中输入AT89C51,然后从Result列表框中选择所需要的型号。此时元器件的预览窗口中分别显示元器件的原理图和封装图。单击OK按钮或直接双击Result列表中的AT89C51都可将选中的元器件添加到对象选择器中。 图519添加AT89C51单片机 (2) 放置单片机AT89C51。在对象选择器中单击AT89C51,然后将光标移入图形编码窗口,在任意位置单击即可出现一个随光标浮动的元器件原理图符号。移动光标到适当的位置,单击即可完成该元器件的放置,如图520所示。 图520放置好的单片机电路符号 (3) 元器件的移动、旋转和删除。右击AT89C51单片机,弹出如图521所示的快捷菜单。此快捷菜单中有移动、以各种方式旋转和删除等命令。若需要对单片机上下翻转兼左右翻转,则选择XMirror和YMirror命令。 图521快捷菜单 (4) 放置多个相同的电路单元。在此例中,通过P0口的8个I/O对8个发光二极管进行流水点亮控制。电路图中有8个发光二极管及限流电阻组成的相同电路单元,可以使用Proteus ISIS中的“块复制”功能快捷地完成对这8个相同电路单元的绘制。 图522一组发光二极管和 限流电阻放置 首先在电路图的适当位置以适当的姿势放置好一个发光二极管和一个限流电阻,按住鼠标左键画出一个长方形区域将这组发光二极管和限流电阻包括在内,选中时电子元器件边缘呈红色,如图522所示。 然后单击工具栏中的“块复制”按钮,即可出现一个随光标浮动的电路单元符号。移动光标到适当的位置,单击即可完成该电路单元的放置,此例中有8组电路单元,因此连续放置7次,如图523所示。 用类似的方法可以把电路图中的其他电子元器件以适当的位置和姿势放置到电路图中。绘制电路原理图时,要根据需要选择合适的方法进行电子元器件的放置。 3) 放置电源和地 单击部件工具箱中的“终端”按钮,则在对象选择器中显示各种终端。从中选择POWER终端,可在预览窗口中看到电源的符号。同理,选择GROUND终端,即为地的符号,如图524所示。用上面介绍的方法将这些电源和地的电路符号放置到原理图编辑窗口的适当位置。 图523连续放置相同的电路单元 图524预览窗口中电源的符号 4) 连线 将电子元器件、电源和地的电路符号放置完毕后,要根据电路原理图将电气中相连的部分用连线连接起来。主要有以下3种形式。 (1) 直接连线。将光标靠近一个对象的引脚末端,该处将自动出现一个红色小方块。按下并拖动,放在另一个对象的引脚末端。该处同样出现这个红色小方块时,单击鼠标左键,就可以将上述两个引脚末端画出一根连线来。如在拖动鼠标画线时需要拐弯,只需要在拐弯处单击即可。 (2) 通过网络标号连线。可以给每个引出的线添加网络标号。在Proteus仿真时,系统会认为网络标号相同的引脚是连在一起的。 图525网络标号的添加 可以选择用直接连线法已经连好的线,也可以重新绘制并没有直接连线接连在一起的对象。将光标靠近一个对象的引脚末端,该处将自动出现一个红色小方块。按下鼠标左键并拖动,在空白处双击,则可以看到连线的另一端有一个节点,即将该对象的引脚处引出一条连线。单击绘制工具栏中的标号按钮,把光标移到需要放置网络标号的电子元器件连线上,连线上出现“×”号时,单击,即会弹出如图525所示的Edit Wire Label对话框,在String文本框中输入网络标号,如p00,再单击OK按钮,即可完成一个网络标号的添加,其他网络标号的方法与此类似,此处不再赘述。 (3) 通过总线连接。单击绘制工具栏的“总线”按钮,可在原理图中放置总线。将需要连接的电子元器件引脚引出连线连接至总线上,并添加网络标号。注意: 系统会认为网络标号相同的引脚是连在一起的(本例中没有用到总线连线,读者可以自行练习)。连线工作完成后的电路原理图如图526所示。 图526连线工作完成后的电路原理图 5) 设置、修改元器件属性 在需要修改属性的元器件上双击,即可弹出Edit Component对话框,在此对话框中设置或修改元器件属性。例如,要修改如图526中R3电阻的阻值为220Ω,如图527所示。 图527修改元器件属性 本例中,需要修改的元器件属性分别为将晶振(Crystal)X1的频率设置为12MHz,电容C1、C2的容值设置为30pF,C3的容值设置为10μF,电阻R1、R2的阻值分别设置为10kΩ、1kΩ,R3~R7的阻值设置为220Ω。设置的过程可以在放置该元器件后就立即进行,也可以绘制完整个电路原理图后逐一对各元器件进行设置。 6) 电气规则检查 设计完电路原理图后,选择菜单中的Tools→Electrical Rules Check命令,则弹出如图528所示的电气规则检查结果对话框。如果电气规则无误,则系统会给出No ERC errors found的提示信息; 如果电气规则有误,则系统会给出ERC errors found的提示信息,并指出错误所在。 图528电气规则检查结果对话框 在图528中,有一个错误,是U1上EA输入端未接入。这个错误不影响仿真运行。因为在Proteus ISIS中绘制电路原理图时,EA引线可以直接省略,不影响仿真效果。更进一步地,晶振电路、复位电路与电源的连接都可以省略。 7) 标题栏、说明文字和头块的放置 按照惯例,设计图中都应该有一个标题栏和说明文字用来说明该电路的功能以及一个头块来说明如设计名、作者、设计日期等信息。 (1) 标题栏的放置步骤。 单击2D图形模式工具栏中的A图标按钮,在对象选择器中选择MARKER选项即可弹出如图529所示的对话框,在String文本框中直接输入标题名称liushuideng,或者输入“@DTITLE”表示该文本框的值,该值将显示在Edit Design Properties对话框的Title文本框中。同时,在该对话框中可以设置标题栏的位置、字体样式、字高、粗体、斜体、下画线和突出显示等,在下方的示例区可以预览用户所选择的样式。 图5292D图形文本编辑对话框 选择Design→Edit Design Properties菜单命令,弹出如图530所示的对话框,在该对话框中输入该设计的标题等信息,在原理图中可以看到标题如图531所示。 图530编辑设计属性对话框 图531设计的标题 (2) 说明文字的添加步骤。 单击2D图形工具栏中方块图标按钮,在原理图中拖放出一个标题块区域。 右击选中该对象,并单击,按图532编辑该BOX属性。 单击主模式工具栏中图标按钮,在上述标题块区域单击,在弹出的对话框中编辑说明文字属性,如图533所示,选择Style选项卡,可对文字样式进行设置,如图534所示。最终电路图中呈现的实际效果如图535所示。 图532编辑BOX属性的对话框 图533Script选项卡的设置 图534Style选项卡的设置 图535说明文字添加后完成的效果 (3) 在原理图中放置头块。 用户可以直接放置ISIS提供的HEADER或者按照放置标题块区域自行设计头块格式。 直接放置HEADER头块: 图536编辑设计属性对话框 ① 选择Design→Edit Design Properties菜单命令,弹出如图536所示的对话框,在该对话框中填写头块中相关项目的具体信息; ② 单击2D图形工具栏中的S图标按钮; ③ 单击对象选择器中的P按钮,出现Pick Symbols对话框; ④ 在Libraries列表框中选择SYSTEM,在Objects列表框中选择HEADER,如图537所示; ⑤ 在原理图编辑窗口的合适位置单击放置头块,头块包括图名、作者、版本号、日期和图纸页数。 图537选择HEADER头块对话框 按照上述进行设置后,头块如图538所示。放置完头块和说明文字的电路图如图539所示。 图538设计完成的头块 图539放置完头块和说明文字的电路原理图 自行设计头块。按照添加标题块同样的步骤,可以自行设计头块,该方法非常适合于放置公司Logo等个性化设计。步骤如下: ① 单击2D图形工具栏中的方块图标按钮,在原理图中拖放出一个标题块区域,并按照具体设计要求编辑该二维图形区域属性; ② 单击主模式工具栏中的横线图标按钮,在上述标题块区域单击,在弹出的对话框输入头块项目所包含的信息。对于不同样式的文字要求,可以多次使用图标进行输入。并单击Style选项卡设置字体样式、文字颜色、粗细、下画线、斜体等具体样式,如图540所示。按照添加标题块和自行设置头块的方法对本例进行修饰,放置完头块和说明文字的电路图如图541所示。 图540Script选项卡的设置 图541添加标题块和头块之后的设计图 8) 存盘及打印输出文件 原理图设计完毕之后,选择File→Save Design as菜单命令,选择文件保存路径和文件名,进行存盘。 除了应当在计算机中保存之外,往往还要将原理图通过打印机输出,以便设计人员进行检查校对、参考和存档。利用打印机输出原理图的步骤如下。 (1) 选择File→Printer Setup菜单命令设置打印选项,主要是选择安装的打印机以及选择输出图纸的大小和图纸来源,如图542所示。 图542“打印设置”对话框 (2) 设置好打印机之后,选择File→Print菜单命令设置打印选项,如图543所示,包括打印范围、缩放比例、XY补偿比例、图纸方向以及选择是黑白还是彩色样式打印。各项都设置好之后,单击OK按钮即可打印图纸。 图543设置打印选项 本章小结 本章内容主要介绍单片机系统软件开发平台——Proteus ISIS,Proteus ISIS支持各种模拟元器件、集成电路与众多型号的单片机系统的仿真、分析,可以用于电路原理图设计、印制电路板(PCB)绘制,包含30多个元器件库,以及丰富的虚拟仪表与观察窗口,并结合交换可视化的工作界面,得到大多数学习电子系统设计者的青睐。本章以具体实例引入,详细说明了基于Proteus ISIS的单片机应用系统的软件开发过程,步骤清晰,并结合图文说明,更加生动形象,易于初学者读懂。使用者只有在实际的开发应用中多加练习才能大大提高对软件的熟悉程度,从而缩短单片机应用系统的开发周期,更加高效地完成系统设计。 思考题与习题 51Proteus ISIS的工作界面中包含哪几个窗口?菜单栏中包含哪几个选项? 52利用ISIS模块开发单片机系统需要经过哪几个主要步骤? 53什么是PCB?利用ARES模块进行PCB设计需要经过哪几个主要步骤? 54在Proteus ISIS软件中,如何操作可去掉电路原理图中的栅格? 55在Proteus ISIS软件中,如何使用网络标号的形式进行连线? 56在Proteus ISIS软件中绘制MCS51单片机最小系统。