1、目 录第1章 Proteus ISIS简介1第2章 Proteus ISIS编辑环境2第3章 Proteus ISIS原理图输入33.1 Proteus ISIS原理图输入的可视工具介绍33.2 在Proteus ISIS原理图编辑窗口查找元件43.3 放置元件93.4 连线143.4.1 无模式连线143.4.2 自动连线模式143.4.3 动态光标显示143.5 元件标签173.5.1 编辑元件标签173.5.2 移动元件标签183.6 器件标注183.6.1 属性分配工具(PAT)193.6.2 全局标注器20第4章 Proteus ISIS 8086仿真214.1 在Proteus I
2、SIS中输入电路原理图214.2 在Proteus中设置外部代码编译器224.3 添加源代码,选择编译器。244.4 仿真调试264.4.1 调试模式264.4.2 设置断点2728第1章 Proteus ISIS简介Proteus是英国Labcenter公司开发的电路分析与实物仿真及印制电路板设计软件,它可以仿真、分析各种模拟电路与集成电路。软件提供了大量模拟与数字元器件及外部设备,各种虚拟仪器,特别是它具有对单片机及其外围电路组成的综合系统的交互仿真功能。Proteus 7主要由ISIS和ARES两部分组成,ISIS的主要功能是原理图设计及与电路原理图的交互仿真,ARES主要用于印制电路板
3、的设计。本手册介绍如何利用Proteus ISIS输入电路原理图、利用外部编译器编译8086汇编程序并进行基于8086微处理器的VSM仿真。Proteus 7可以在以下操作系统中使用:注意,Proteus软件也可能能在Windows 98,NT, Millennuium等合法Windows 系统中使用,只不过Labcenter和Microsoft都已经不再对此提供技术支持服务。对于Proteus VSM 处理器仿真,电脑CPU越快,仿真效果更好。一台1G处理器,256MB内存,150MB硬盘的电脑是进行仿真的最低配置。Proteus ISIS编辑环境具有友好的人机交互界面,设计功能强大,使用方
4、便。第2章 Proteus ISIS编辑环境点击“开始”菜单,选择“Proteus 7 Professional”程序,在出现的子菜单中选择“Proteus 7 Professional”选项,如图2.1所示。图2.1启动Proteus ISIS 图2.2 Proteus ISIS启动界面系统启动界面如图2.2所示。之后,系统进入Proteus ISIS编辑环境,如图2.3所示。其中,编辑窗口用于放置元件、进行连线、绘制原理图。预览窗口可用来显示全部原理图。蓝框表示当前页的边界,绿框表示当前编辑窗口显示的区域。但当从对象选择器中选中一个新的对象时,预览窗口将预览选中的对象。图2.3 Prote
5、us ISIS编辑环境第3章 Proteus ISIS原理图输入电路设计的第一步是原理图输入。Proteus ISIS原理图输入流程如图3.1所示。图3.1 Proteus ISIS原理图输入流程3.1 Proteus ISIS原理图输入的可视工具介绍在Proteus ISIS原理图编辑窗口,系统提供了两种可视工具:(1)当鼠标掠过元件、符号、图形等对象时,将出现围绕对象的虚线框,如图3.2所示。当鼠标掠过元件出现虚线框时,即提示用户可以通过鼠标对此元件进行操作。图3.2当鼠标掠过元件、符号、图形等对象时,出现围绕对象的红色虚线框(2)鼠标对界面有智能识别功能,即,鼠标会自动根据功能改变显示的
6、式样,常见的鼠标式样如下所示。3.2 在Proteus ISIS原理图编辑窗口查找元件Proteus ISIS提供两种从元件库选取元件的方法:方法一:如图3.3所示,点选图中所示的对象选择器区域顶端左侧的“P”按钮,或使用快捷键:英文输入状态下的字母P,即可打开图3.5所示的元件库浏览对话框。图3.3 在Proteus中选取元件方法二:在图2.3所示的编辑窗口区域单击鼠标右键,选择弹出的快捷菜单里的PlaceComponentFrom Libraries命令,如图3.4所示,也可打开图3.5所示的元件库浏览对话框。图3.4 利用快捷菜单选取库元件图3.5 元件库浏览对话框Proteus ISI
7、S提供多种查找元件的方法。当已知元件名(如8086)时,在Keywords区域输入元件名8086后,图3.5所示的对话框的Result区域就会显示出元件库中的元件名或元件描述中带有“8086”的元件,如图3.6所示。此时,用户可以根据元件所属类别、子类、生产厂家等进一步查找元件。找到元件后,单击OK后,即完成了一个元件的添加。添加元件后,编辑窗口的对象选择区域列表就显示该元件的名称,并可通过预览区域预览该元件,如图3.7所示。图3.6 在Keywords区域输入元件名8086后,系统的查找结果图3.7 预览已选取的元件Proteus ISIS还提供其他一些方法来选取元件,下面以选取1k、10k
8、、12k、15k、56k、68k、100k电阻为例来说明这些方法。(1)在Keywords区域输入相关关键字选取元件在Keywords区域输入“12k resistor”,此时Results列表区将出现图3.8所示信息,可以选到其中列出的MINRES12K电阻。图3.8 在Keywords区域输入“12k resistor”后Results列表区出现的信息(2)按照元件的逻辑命名习惯查找元件在Keywords区域输入“MINRES1”,此时Results列表区将出现图3.9所示信息,可以选到其中列出的1k、10k、15k、100k电阻。图3.9 在Keywords区域输入“MINRES1”后R
9、esults列表区出现的信息(3)通过索引系统查找库元件当用户不确定元件的名称或不清楚元件的描述时,可采用这一方法。首先,清除Keywords区域的内容,然后选择Category目录中的“Resistors”类,如图3.10所示。此时Results列表区将出现图3.11所示信息,滚动Results列表区域滚动条,可查到MINRES系列电阻。图3.10清除Keywords区域的内容并在Category目录中选择所属类图3.11 在Manufacturer列表中选Maplin后,Results区域显示的信息(4)复合查找方式查找库元件在Keywords区域输入“1K”,然后选择Category目录
10、中的“Resistors”类,如图3.12所示,在Results列表区将显示信息中可以选中所需元件。图3.12 采用复合查找法查找包含关键字“1K”的元件3.3 放置元件选好器件后,接下来进行的工作就是将器件放置到编辑窗口中。下图是参考电路图。图3.13 参考电路图首先确保你处于元件模式(单击图3.14所示界面左侧工具栏的按钮,可切换至元件模式),在对象选择器中选择8086,这时,在预览窗口中将显示选取器件的预览,如图3.15所示。图3.14 编辑模式切换图3.15 选择8086,在预览窗口中将显示选取器件的预览选取的器件可以通过旋转镜像按钮来调整方位。移动鼠标在编辑窗口点击左键,将出现一个8
11、086的虚影,如图3.16所示。此时,再点击左键,器件将放置到编辑窗口中。图3.16 编辑窗口中显示8086的虚影旋转同样可以在放置完毕后进行,选中器件,点击旋转按钮进行旋转。放置到编辑窗口的器件摆放位置需要调整,这时需要利用到选中操作。对象被选中后,在红色虚线框内以红色显示,如图3.17所示。在ISIS中有以下几种方式来选中对象:l 选择Selection模式按钮,再左键点击选中对象。l 右键点击对象,选中对象并弹出右键菜单。l 左键点击选中对象(鼠标光标必须为选择手型光标)。l 按住左键不放,可用拖曳出的方框选中对象。这种方法可以用于选中任何对象(或一组对象)。尺度手柄可以用来调整选中框的
12、大小。取消选择只需在编辑窗口空白处点击左键,或点击右键在菜单中选择清除选择命令(如图3.18所示)。图3.17 编辑窗口中8086被选中图3.18 利用快捷菜单取消选择器件选中后,鼠标呈移动手型光标,按住左键即可移动对象。如下图3.19所示。另外,还可以通过鼠标右键菜单中选择drag object命令来移动对象。在移动过程中还可通过数字键盘的、号来旋转对象。图3.19 移动对象这些操作看起来比较复杂,实际上很简单。进行以下练习,将有助于熟悉不同的技术。左键在运放上点击选中它,并按住左键拖曳它到需要放置的位置,释放左键。右键点击运放(也会选中)并在弹出菜单中选择“顺时针旋转(Rotate Clo
13、ckwise)”。使用数字键盘的和键来旋转运放到合适的方向。左键在空白处点击取消运放的选中。右键单击74273器件,并从右键菜单中选择“拖曳对象(Drag Object)”。移动鼠标然后释放鼠标放置器件。右键点击空白处,在弹出菜单中选择“清除选择(Clear Selection)”。在左上编辑窗开始,按住鼠标左键拖出一个选择框到编辑窗右下角,释放鼠标。这将选中框内的所有对象。使用尺寸调节手柄来调整选择框大小,使其只包围原理图中的对象。在选择框内按住左键,移动所有选中的对象。释放左键完成移动。左键单击图纸空白处清除选中。在ISIS中,器件的选择、定位、和调整方向都是很直观的。上图稍微作些调整就完
14、成了对象的放置,可以开始连线了。3.4 连线放置好器件以后,即可开始进行连线,连线过程中使用到了以下三种主要技术。3.4.1 无模式连线在ISIS中连线可以任何时候放置或编辑。有一个例外是选择模式(Selection Mode),此时总是选择鼠标下的对象,在连线前要切换到元件模式下才可进行连线。3.4.2 自动连线模式开始放置连线后,连线将随着鼠标以直角方式移动,直至到达目标位置。3.4.3 动态光标显示连线过程中,光标样式会随不同动作而变化。起始点是绿色铅笔,过程是白色铅笔,结束点是绿色铅笔,如图3.20所示。图3.20 动态光标样式在画线过程左键单击可以产生转折点,如图3.21所示。 提示
15、:在系统自动走线过程中,按住Ctrl键,系统将切换到完全手动模式,可以利用此方法绘制折线。采用上面介绍的方法连接完全图。ISIS的跟随式布线方式简单而且直观,重要的是要熟悉怎样发挥其功能。特别是锚点技术对于大型的连线是很可贵的。如果不喜欢自动连线,可以在连线后手工调整。做法是选中连线(指向并右键单击)然后尝试从转角处和中部进行拖曳。如果只想手工连线,只需要简单地在首个引脚单击左键,在要形成转角的位置左键单击,直至到目的引脚再左键单击结束。图3.21 绘制出的折线要完成初期的连线,需要放置并连接某些终端。这里需要两类通用终端:一个地和两个电源终端。选择终端图标(Terminal Icon),从对
16、象选择器中选择合适的终端,如图3.22所示。图3.22 终端选择将8086的REDAY端连接到电源端的步骤如下:STEP1:选择电源终端POWER,将其放置于8086芯片的左侧。STEP2:编辑属性,可通过以下3种方式,打开属性编辑对话框。左键双击终端。右键点击终端,选择菜单中的Edit Properties(编辑属性)选项。选中选择模式,左键点击选中终端,右键点击弹出菜单,选择Edit Properties命令,如图3.23所示。结束后退出选择模式。图3.23 编辑终端属性在弹出的属性对话框当中输入+5V,点击OK退出对话框,如图3.24所示。图3.24 终端属性编辑对话框提示:电压值需添加
17、+-号。STEP3:将电源终端和8086的REDAY脚相连。接下来放置地信号。在终端模式中选择地GROUND,将其放置于8086的下方,将8086的RESET引脚与地信号相连。再在原理图中放置默认终端DEFULT,参照图3.13的电路,按下图3.25所示,将终端标注为ALE等名称。图3.25最后,参照图3.13,整理电路,完成原理图的输入。3.5 元件标签3.5.1 编辑元件标签对于每一个元件,它都有对应的编号,电阻电容还有相应的量值。这些都是由ISIS的工具菜单下的实时标注(Real Time Annotation)命令实现的。元件的标签的位置和可视性完全由用户控制可以改变取值、移动位置或隐
18、藏这些信息。我们可以通过编辑器件(Edit Componet)对话框设置隐藏选项,设置如下图3.26所示。 图3.26 器件编辑对话框在该对话框当中,可以更改元件名称,量值等。3.5.2 移动元件标签与隐藏元件标签一样,可以将他们移动到比较适合的地方。比如需要在标签的位置放置连线,就需要移动标签腾出空间。我们现在以运放的U1和741标签为例来说明,如图3.27所示。最容易选中运放的方法是首先改变捕获设置。当指针在编辑窗时,坐标显示是以固定步长变化初始是100th。这个叫做捕获,目的是使放置的器件和其他对象整齐美观。捕获的单位在View菜单里的Snap 命令来设置。或直接使用快捷键。按F2键将捕
19、获单位减小到50th,然后选中运放。用鼠标左键指向标签U1并按下,拖放到正确的位置。同样地对741标签进行处理。图3.27 移动元件标签放置完标签,按F3将捕获单位重新设置到100th。虽然ISIS的实时捕获功能可以定位不在捕获栅格上的引脚和连线,但是保持一贯相同的捕获栅格会使图纸整洁美观。3.6 器件标注ISIS提供四种方式来标注(命名)器件:l 手动标注 进入对象Edit Properties对话框进行设置。l 属性分配工具(PAT) 使用这个工具可以放置固定或递增的标注。l 全局标注器 对原理图中所有器件进行自动标注。l 实时标注 此选项使能后,器件放置后自动获得标注。一般来说,实时标注
20、是默认使能的,绘图完毕再使用PAT工具或自动标注工具进行标注的调整。3.6.1 属性分配工具(PAT)假设我们要重新对R5以后的标注重新标注,即,从R5开始,产生增量为1的序列R6,R7标注电阻。这时可以使用到PAT工具。STEP1:从Tools菜单下选择Property Assignment Tool(属性分配工具PAT,快捷键是A)命令,将弹出下图3.28所示的参数设置对话框。STEP2:在String文本框中输入REF=R#, Count栏输入5,点击OK完成设置。图3.28 属性分配工具ISIS会自动进入选择模式,这样你可以通过左键点击元件来完成编号工作。 由于手工标注可以使用PAT工
21、具重新标注器件,可能两个器件有相同的标注(在生成网络表时会出现错误)。因而需要遵守一定的准则来保证标注的正确。PAT工具也可应用于其他的场合,比如改变器件量值,替换器件,总线标号放置;它是一个非常强大的应用工具。3.6.2 全局标注器ISIS带有一个全局标注器,使用它可以对整个设计快速标注。也可以标注未被标注的器件(参考为?的器件)。全局标注器有两种操作模式:l 增量标注: 标注限于特定范围(整个设计或当前图纸)内未被标注的元件。l 完全标注: 标注限于特定范围(整个设计或当前图纸)全部元件。进行全局标注的方法是:从Tools菜单下选择Global Annotator菜单命令,将弹出下图3.2
22、9所示的参数设置对话框。图3.29 全局标注设置对话框对于层次化设计的电路推荐使用完全标注模式。第4章 Proteus ISIS 8086仿真在基于微处理器系统的设计中,即使没有物理原型,Proteus VSM也能够进行软件开发。模型库中包含LCD显示器、键盘、按钮、开关等通用外围设备。同时,能提供的CPU模型有ARM7、PIC、Atmel AVR、8051/8052系列、8086等。基于8086微处理器的仿真是Proteus 7.5以上版本新增的功能。该仿真系统将源代码的编辑和编译整合到同一设计环境中,用户可以在设计中直接编辑代码,并可以非常容易的修改源程序并查看仿真结果。本章以简单I/O控
23、制电路为例,介绍Proteus ISIS 8086的仿真过程。4.1 在Proteus ISIS中输入电路原理图基于8086的简单I/O实验电路如下图4.1所示。该电路利用8086微处理器,根据读取到的开关K0K7的状态,控制发光二极管LED0LED7按一定的规律发光。图4.1 基于8086的简单I/O实验电路该电路用到的仿真元件信息如下表4.1所示。表4.1 实验电路元件清单元件名称所属类所属子类功能说明8086Microprocessor Icsi86 Family微处理器74LS245TTL 74LS seriesTransceivers8路同相三态双向总线收发器74LS373TTL 7
24、4LS seriesFlip-Flops & Latches三态输出的八D 透明锁存器74154TTL 74 seriesDecoders4-16译码器74273TTL 74 seriesFlip-Flops & Latches八D型触发器(带清除端)LED-GREENOptoelectricsLEDs绿色LED发光管NOTSimulator PrimitivesGates非门ORSimulator PrimitivesGates2输入或门OR_4Modelling PrimitivesDigital(Buffers & Gates)4输入或门OR_8Modelling PrimitivesD
25、igital(Buffers & Gates)8输入或门RESResistors电阻SWITCHSwitchs & RelaysSwitchs开关4.2 在Proteus中设置外部代码编译器1.将masm32文件夹拷贝到d盘根目录下,并修改masm32.bat文件的有关内容,修改的方法见后面第3点的介绍。(假设D盘为工作盘,可读写)2.启动Proteus ISIS 7 Professional后,选择Source 菜单下的“Define Code Generation Tools”命令后可打开如图4.2所示的窗口,单击“New”按钮后,即打开图4.3所示的窗口。3. 在图4.3所示的窗口上,点
26、击“Browse”按钮,打开MASM32文件夹,选中masm32.bat 文件,完成代码生成规则的设置。图4.2 添加外部8086汇编编译器窗口图4.3 选中masm32.bat 文件,设置代码生成规则masm32.bat 文件的内容如下:(选中该文件,右键弹出快捷菜单,选择编辑命令,可编辑该文件。)注意:该文件第2行,和最后一行第一项:“C:masm32”是masm32文件夹所在的目录,请根据该文件夹在电脑中的实际位置修改这两行此处的内容。如masm32文件夹在D盘根目录,则这一项应修改为:“D:masm32”。ECHO OFFC:masm32ml /c /Zd /Zi %1set str=
27、%1set str=%str:0,-4%C:masm32link /CODEVIEW %str%.obj,%str%.exe,nul.map,4.3 添加源代码,选择编译器。选择Source 菜单下的“Add/Remove Source Files”命令后可打开如图4.4所示的窗口,单击“New”按钮后,即打开图4.5所示的窗口。图4.4 添加源代码,选择编译器图4.5 添加源代码窗口在图4.5所示窗口的文件名文本框内输入汇编源程序的名称,如T1,单击“打开”按钮,选择所弹出的对话框(图4.6)的“是”按钮,新建汇编源文件T1.ASM。此时,回到图4.7所示界面。此时,可单击“OK”按钮返回原
28、理图编辑界面。图4.6 新建源文件对话框选择Source菜单下的T1.ASM,即打开源代码编辑窗口,如图4.8。在此源代码编辑窗口,可输入汇编源程序,并保存。图4.7 源代码添加完毕图4.8 源代码编辑窗口5. 选择Sou rce 菜单下的“Build All”命令,可编译源代码。编译成功,可见图4.9所示信息窗口。图4.9 编译成功信息窗口4.4 仿真调试点击仿真盘框中的运行按钮,如图4.10所示,电路进入仿真状态。通过点击开关,来回切换开关的状态,观察发光二极管的变化。此例中,某开关闭合,则与该开关序号相同的发光二极管则点亮。图4.10 仿真盘框4.4.1 调试模式点击仿真盘框中的暂停按钮
29、可使电路从仿真状态切换到调试状态。在默认设置下系统会弹出两个窗口,一个是源程序调试窗口,如图4.11所示。另一个是寄存器窗口。另外一些调试窗口可以通过DEBUG菜单选出显示;其中使用者可以直接在WATCH WINDOW中添加自己比较关心的变量进行实时监测。程序执行到某处,在该行程序的最多边会有一个红色的箭头出现,这行程序呈处于高亮状态。图4.11 源程序调试窗口4.4.2 设置断点在源程序调试窗口用鼠标点选某行,使该行高亮,然后按F9就可以设置断点。然后按F12使程序运行。从debug菜单中,选择“8086 Registers”,可以从打开的寄存器窗口(如图4.12所示)中看到执行到断点处的寄存器的值。图4.12 8086寄存器窗口在Debug 菜单下有一系列的调试键,但是多数时候我们用F11来单步运行程序。现在单击F11并注意左边的红色箭头下移到下一条指令。我们通过观察寄存器窗口的观察寄存器值的变化,以校验指令的运行。