理论教育 Proteus使用方法-微机原理与应用实验仿真教程

Proteus使用方法-微机原理与应用实验仿真教程

时间:2023-11-19 理论教育 版权反馈
【摘要】:Proteus做8086仿真需要对8086芯片做一些设置才能仿真。图3-9内存错误提示双击8086元件会弹出如图3-10所示窗口,时钟默认为5MHz,Advanced Properties中需要设置internal memory size、program loading segment、BIN entry point、stop on int3。如图3-10所示,此处添加的文件为emu8086软件编译生成的test1.exe,特别需要注意的是添加的exe文件必须和当前Proteus文件在同一个文件夹内。图3-13标注编辑窗口画导线根据前面所述,Proteus可以在画线时进行自动检测。这就是Proteus的线路自动路径功能。

Proteus使用方法-微机原理与应用实验仿真教程

我们将以8086系统基本IO接口电路为例,讲解电路原理图的设计仿真。

1.元件的查询与放置

(1)添加原理图所需元件

如图3-6所示,在模型选择工具栏中点击后再点击挑选元件按钮,弹出如图3-7所示窗口,在Keywords区域输入“8086”,此时Results列表区出现所需元件,双击“8086”元件,该元件会添加到左侧DEVICES元件列表中。依次将所需元件(芯片8086、74LS373、74LS245、27C64、62256、74LS138、74LS04、74LS13、74LS32、4078、开关组DIPSW_8、电阻RES、发光二极管LED-RED)添加到列表中,画原理图的时候从列表中选取即可。

图3-6 添加元件按钮

(2)元件放置

从元件库中选好元件后,接下来就是将所需元件放置到编辑窗口中。对于复杂电路,可以画在多张图纸上,8086系统基本IO接口电路包括8086最小模式系统配置电路、存储器系统(可以不画)、IO端口译码电路、基本IO接口外设电路。

鼠标单击选择左侧元件列表中的元件,元件列表中元件颜色变深,表明当前元件被选中,之后在原理图编辑窗口图纸边框内的空白处单击放置元件,8086最小模式系统配置电路元器件放置好后如图3-8所示。

图3-7 添加元件界面

图3-8 8086最小模式系统所需元件

2.元件位置的调整

在编辑区的元件上单击鼠标右键选中元件(为红色),在选中的元件上再次双击鼠标右键则删除该元件,而在元件以外的区域内单击左键则取消选择。元件误删除后可用图标找回。单个元件被选中后,单击鼠标左键不松开可以拖动该元件。可使用鼠标左键拖出一个选择区域进行群选。图标为整体或单个移动。图标为整体或单个复制,按图3-8所示位置布置好元件,在元件上单击右键可出现右键菜单,使用菜单中的四个图标可改变元件的方向及对称性。

3.元件参数的修改

用鼠标双击原理图编辑窗口中的元件,进行参数的设置。

Proteus做8086仿真需要对8086芯片做一些设置才能仿真。8086没有内存贮器,仿真需要设置内存起始地址,内存的大小和外部程序加载到内存的地址段。如果不进行内存的设置,仿真时会弹出如图3-9所示“Invalid internal memory size==NULL”错误提示。

图3-9 内存错误提示

双击8086元件会弹出如图3-10所示窗口,时钟默认为5MHz,Advanced Properties中需要设置internal memory size、program loading segment、BIN entry point、stop on int3。如可设置内存(internal memory size)大小为10000H,程序下载到内存段(program loading segment)为0200H,BIN入口(BIN entry point)为02000H,停止在int3(stop on int3)选择“OK”或者“Cancel”不设置。各参数间存在一定的关系,如设置了program loading segment为0200H,则BIN entry point应设置为02000H。设置program loading segment是为了让代码下载到中断向量地址外的内存,而不占据中断向量的入口地址内存。

内存设置好后,我们再设置仿真加载文件“Program File”,添加由emu8086或MASM32或其他软件生成的扩展名为com、bin、exe的文件。如图3-10所示,此处添加的文件为emu8086软件编译生成的test1.exe,特别需要注意的是添加的exe文件必须和当前Proteus文件在同一个文件夹内。

图3-10 8086属性编辑窗口

在原理图中有些元件下方会显示一个灰色的“TEXT”,为了保证原理图清晰整洁,我们可以选择把“TEXT”去掉,双击“TEXT”,弹出如图3-11所示窗口。在该对话框中选择“Style”,先取消选择“Visible”右边的“Follow Global”选项,再取消选择“Visible”选项,单击“OK”按钮即可。

4.连线

要完成电路原理图的连线,需要放置并连接某些终端。

(1)放置电源

①如图3-12所示,在模型选择工具栏中单击图标,之后在列表中选择“POWER”,将其放置于8086芯片的左上方。

②双击电源终端,编辑属性。在弹出的对话框中输入“+5V”,单击“OK”退出对话框。

注意:电压值前必须添加“+”“-”号,不能直接输入“5V”。

③将电源终端与8086的READY、引脚相连。

图3-11 TEXT属性编辑窗口

图3-12 放置终端

(2)放置地信号

①如图3-12所示,在模型选择工具栏中单击图标,之后在列表中选择“GROUND”,将其放置于8086芯片的左下方。

②将8086的RESET与地信号相连。

(3)放置默认终端DEFAULT

如图3-12所示,在模型选择工具栏中单击图标,之后在列表中选择“DEFAULT”,并放置在原理图中,对所需要的引脚上连接终端,并对其进行标注。在不同的地方设置相同标注名称的终端,会将相同终端名称的点连接到一起,而不需要再连接大量的连线,从视觉上降低原理图的复杂度,让原理图看起来更清晰明了。

技巧:在对终端进行标注时,经常会遇到带非号的引脚,比如等。如图3-13所示双击终端命名时弹出的窗口中,String中填“WR”,则终端名称显示为WR,若在String中填“$WR$”,则管脚名称显示为,若要显示,则要填入“DT/$R$”。“$WR”与“$WR$”虽然显示效果一样,但实际上是不同的,在不同位置定义的时候需要注意保持一致。

图3-13 标注编辑窗口

(4)画导线(www.daowen.com)

根据前面所述,Proteus可以在画线时进行自动检测。当鼠标的指针靠近一个对象的连接点时,连接点上就会出现一个红色的矩形方块,单击元件的连接点,移动鼠标就会出现深绿色的连接线。如果用户想让软件自动确定线径,单击另一个连接点即可。这就是Proteus的线路自动路径功能(简称WAR)。如果用户只是在两个连接点单击,WAR将选择一个合适的线径。WAR可在菜单栏的“Tools”下找到Wire Autorouter这个菜单项,关闭或打开WAR功能。如果用户想自己决定走线路径,在想要拐点处单击即可。在连线的过程中,用户都可以按Esc键或者单击鼠标右键来放弃画线。

(5)画总线

为了简化原理图,Proteus支持用一条导线代表数条并行的导线,这就是总线。

在模型选择工具栏中单击图标,即可在编辑窗口画总线。将光标移至要连接的总线分支处单击,移动鼠标,此时鼠标会拖着一条蓝色的粗线,然后将光标移至目标处单击,一条总线就画好了。

总线画好后,可以为总线添加标号。在模型选择工具栏中单击图标,之后在列表中选择“BUS”,在编辑窗口单击,会出现BUS终端(粗箭头),将该箭头连接到总线的一端。双击BUS终端,弹出如图3-14所示对话框,在String中填入“AD[0..15]”,点击“OK”确定。

图3-14 BUS 终端标注编辑窗口

(6)画总线分支线

一条总线代表数条并行的导线。总线分支线是用来连接总线和元件引脚的。下面介绍总线分支的画法。

第一步:画一条总线。

第二步:从元件引脚画一条导线,先不要连到总线上,在距离总线一个单元格处单击一下。

第三步:按住Ctrl键继续画导线,此时导线可以走斜线,将光标移到总线上,使导线末端呈现45°斜线,单击鼠标完成该总线分支。完成所有总线分支后如图3-15所示。

第四步:定义总线分支标号。在模型选择工具栏中单击图标,将光标移动到分支线斜线与直线转折处单击,弹出如图3-16所示窗口,在String中输入“AD0”,点击“OK”确定。重复上述步骤依次给所有分支添加标号“AD0”—“AD15”。

图3-15 总线连接完成后的电路图

图3-16 总线分支标号定义

技巧:如何在添加标号时序号自动加1呢?

按左边栏后,在编辑区域按键盘“A”键,弹出如图3-17所示窗口,在String中填入“net=AD#”,点“OK”确定,此时光标变成手指(旁边有绿色小方块),依次点总线分支转折处,网络标号会放置并自动加1,AD0,AD1,AD2……

图3-17 标号自动加1设置窗口

标号添加完成后如图3-18所示,标号相同的引脚在电路中具有连通关系。

图3-18 标号添加完成后的电路图

最终完成的8086最小模式系统配置图如图3-19所示。

图3-19 8086最小模式系统配置图

(7)增加原理图页数

对于复杂的原理图,如果在一张图纸上画不下,我们可以添加一页图纸,将剩余电路画在另一张图纸上,当然我们也可以通过设置(菜单System→Set Sheet Sizes)放大或缩小图纸型号。其实将原理图分页,是电路模块化设计的一种方法。可以按照电路功能将电路分为几个模块,将这几个模块画在不同的图纸页上,在多张图纸上的电路是相关联的,和放在一张图纸上效果是一样的。

前面已经画好了8086最小模式系统配置图,下面我们新建一页,画8086系统存储器电路。如图3-20所示,选择菜单Design→New(Root)Sheet,此时原理图编辑窗口会显示一页新的图纸,在最下面状态栏显示,也即第2张图纸。

在第2张图纸上完成如图3-21所示8086系统存储器电路。

图3-21 8086系统存储器电路

按照上述方法添加第3张图纸,完成如图3-22所示IO端口地址译码电路。

在第4张图纸上,完成如图3-23所示74LS245、74LS273基本IO接口电路。

注意:8086最小模式系统配置图、IO端口地址译码电路图是8086系统每个接口实验都必须有的,所以画好这部分电路后保存下来,在进行新的接口电路仿真时,只需要添加相应的接口电路,当然根据自己设计的需要,如果IO接口电路端口地址配置不同,相应地也要进行译码电路修改。存储器扩展电路仿真的时候不画也可以。

另外需要注意的是,8086芯片中Program File要改成对应的exe文件(汇编语言文件可以通过emu8086编译生成exe文件)。

电路全部画完后,仔细检查,没有错误,就可以按进行仿真运行,并观察仿真实验结果。

图3-22 IO端口地址译码电路

图3-23 74LS245、74LS273基本IO接口电路

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈