我们紧接着介绍以原理图方式创建Proteus仿真模型的详细过程。有些读者可能会想:不就是从器件库中调出元件创建嘛,我可以做一个超级器件,里面包含51、AVR、PIC等单片机器件构成的超级模组,反正库里已经有,不用白不用!!

首先忍不住对此雄心壮志表达一下我的反应:呵呵哒!然后需要明确一下:并不是所有Proteus器件库中已经存在的器件都可以用来创建仿真模型。为啥?因为理想通常很丰满,现实却往往很骨感!只有ASIMMDLS.LIBDSIMMDLS.LIB两个库中的基本元件才是可以用来创建仿真模型的,你可以在“选择器件”对话框中输入关键字“SIMMDLS”来查找所有可用的基本元件,如下图所示:

proteus仿真简单电路图(Proteus仿真器件制作2原理图方式创建仿真模型)(1)

通常观察搜索出来的器件就可以知道,基本元件就是那些“与”、“或”、“非”……“触发器”、“计数器”、“多路器”、……“ADC”、“开关”……“压控电流源”、“电流/电压源”……三极管、场效应管等等,可并不包含单片机、显示模组等复杂的器件,因此,你试图通过创建一个超级器件轰动全世界,继而走向人生巅峰的战略构想注定只是一个美梦。

基本元件在厂家进行器件创建时,都在“器件属性与定义”设置对话框(已在前一篇文章介绍过)中分配了PRIMITIVE属性,它可以是DIGITAL(对于数字器件)或ANALOG(对于模拟器件)。例如,我们从上图的所示对话框中调出异或门(XOR_2),选中后右击,在弹出的快捷菜单中选择“打散(Decompose)”,如下图所示:

proteus仿真简单电路图(Proteus仿真器件制作2原理图方式创建仿真模型)(2)

打散之后的原理图符号就是没有进行“制作器件(Make Device)”之前的状态,我们重新选择全部,然后仍然(按照前一篇文章讨论的原理图符号保存的步骤)制作器件,在弹出的“制作器件”对话框中一路点击“下一步(Next)”直到“器件属性与定义”设置项,如下图所示:

proteus仿真简单电路图(Proteus仿真器件制作2原理图方式创建仿真模型)(3)

可以看到,左侧的列表中有一个PRIMITIVE属性,其默认值为DIGITAL。另外,该异或门还定义了TDLHDQ、TDHLDQ、TGQ三个时间参数,TDLHDQ(TDHLDQ)表示输入从低到高(从高到低)变换时输入与输出之间的延时,TGQ(Glitch Threshold Time)是一个用于抑制毛刺的时间阈值,时间宽度小于此值的脉冲会被仿真器件忽略,大家了解一下即可。

下面开始创建仿真模型,首先我们新建一个工程,并且使用8个异或门(XOR_2)设计如下图所示电路:

proteus仿真简单电路图(Proteus仿真器件制作2原理图方式创建仿真模型)(4)

正如我们前面所描述的:“XOR8CLK”内部结构由8个异或门组成,所有异或门的其中一个输入引脚都与CLK引脚连接,而另一个输入与输出引脚全部引出。另外,该电路的输入与输出都添加了端口(不是引脚),你可以点击左侧工具栏的“Terminals Mode”按钮进行添加,如下图所示:

proteus仿真简单电路图(Proteus仿真器件制作2原理图方式创建仿真模型)(5)

然后,我们得给添加的端口进行命名,这些端口名称必须与前一篇文章中我们制作的XOR8CLK的引脚名称相同,这样PROTEUS软件平台才能正确传输信号。例如,我们双击左上角8个异或门的共同输入端口(也就是时钟输入端口),在弹出的“编辑端口标签(Edit Terminal Label)”对话框中按下图所示进行设置:

proteus仿真简单电路图(Proteus仿真器件制作2原理图方式创建仿真模型)(6)

其它引脚也依法炮制,完成后如下图所示:

proteus仿真简单电路图(Proteus仿真器件制作2原理图方式创建仿真模型)(7)

最后我们需要编译该原理图得到模型文件。点击菜单“Tool”中“模型编译(Model Compiler)”选项,如下图所示:

proteus仿真简单电路图(Proteus仿真器件制作2原理图方式创建仿真模型)(8)

然后即可弹出如下图所示的保存对话框,保存的文件类型就是“Model Files”,我们将其命名为“XOR8CLK.MDF”(也就是前一篇文章中我们在制作器件时指定的MODFILE属性对应的文件名)即可。需要特别注意的是:该MDF文件必须保存在Proteus软件安装目录“安装盘符:\Program Files (x86)\LabcenterElectronics\Proteus 8 Professional\MODELS”目录下。

proteus仿真简单电路图(Proteus仿真器件制作2原理图方式创建仿真模型)(9)

现在回过头看看前一篇文章中测试电路的仿真结果,如下图所示:

proteus仿真简单电路图(Proteus仿真器件制作2原理图方式创建仿真模型)(10)

数码管所有段都亮起来了,XOR8CLK的所有输出引脚均为低电平(蓝色方块),这与我们原来的预想完全一致。虾米?一脸的不信?我们可以更改一下测试输入。现在要让数码管显示数字“7”,那么只要使数码管的段A、B、C为低电平,而其它均为高电平即可。也就是说,我们可以把“XOR8CLK”的A、B、C、CLK设置为高电平,而把其它输入设置为低电平即可,相应的测试结果如下图所示:

proteus仿真简单电路图(Proteus仿真器件制作2原理图方式创建仿真模型)(11)

仿真结果完全正确,不接受反驳!

,