网站首页 > 技术教程 正文
我们紧接着介绍以原理图方式创建Proteus仿真模型的详细过程。有些读者可能会想:不就是从器件库中调出元件创建嘛,我可以做一个超级器件,里面包含51、AVR、PIC等单片机器件构成的超级模组,反正库里已经有,不用白不用!!
首先忍不住对此雄心壮志表达一下我的反应:呵呵哒!然后需要明确一下:并不是所有Proteus器件库中已经存在的器件都可以用来创建仿真模型。为啥?因为理想通常很丰满,现实却往往很骨感!只有ASIMMDLS.LIB和 DSIMMDLS.LIB两个库中的基本元件才是可以用来创建仿真模型的,你可以在“选择器件”对话框中输入关键字“SIMMDLS”来查找所有可用的基本元件,如下图所示:
通常观察搜索出来的器件就可以知道,基本元件就是那些“与”、“或”、“非”……“触发器”、“计数器”、“多路器”、……“ADC”、“开关”……“压控电流源”、“电流/电压源”……三极管、场效应管等等,可并不包含单片机、显示模组等复杂的器件,因此,你试图通过创建一个超级器件轰动全世界,继而走向人生巅峰的战略构想注定只是一个美梦。
基本元件在厂家进行器件创建时,都在“器件属性与定义”设置对话框(已在前一篇文章介绍过)中分配了PRIMITIVE属性,它可以是DIGITAL(对于数字器件)或ANALOG(对于模拟器件)。例如,我们从上图的所示对话框中调出异或门(XOR_2),选中后右击,在弹出的快捷菜单中选择“打散(Decompose)”,如下图所示:
打散之后的原理图符号就是没有进行“制作器件(Make Device)”之前的状态,我们重新选择全部,然后仍然(按照前一篇文章讨论的原理图符号保存的步骤)制作器件,在弹出的“制作器件”对话框中一路点击“下一步(Next)”直到“器件属性与定义”设置项,如下图所示:
可以看到,左侧的列表中有一个PRIMITIVE属性,其默认值为DIGITAL。另外,该异或门还定义了TDLHDQ、TDHLDQ、TGQ三个时间参数,TDLHDQ(TDHLDQ)表示输入从低到高(从高到低)变换时输入与输出之间的延时,TGQ(Glitch Threshold Time)是一个用于抑制毛刺的时间阈值,时间宽度小于此值的脉冲会被仿真器件忽略,大家了解一下即可。
下面开始创建仿真模型,首先我们新建一个工程,并且使用8个异或门(XOR_2)设计如下图所示电路:
正如我们前面所描述的:“XOR8CLK”内部结构由8个异或门组成,所有异或门的其中一个输入引脚都与CLK引脚连接,而另一个输入与输出引脚全部引出。另外,该电路的输入与输出都添加了端口(不是引脚),你可以点击左侧工具栏的“Terminals Mode”按钮进行添加,如下图所示:
然后,我们得给添加的端口进行命名,这些端口名称必须与前一篇文章中我们制作的XOR8CLK的引脚名称相同,这样PROTEUS软件平台才能正确传输信号。例如,我们双击左上角8个异或门的共同输入端口(也就是时钟输入端口),在弹出的“编辑端口标签(Edit Terminal Label)”对话框中按下图所示进行设置:
其它引脚也依法炮制,完成后如下图所示:
最后我们需要编译该原理图得到模型文件。点击菜单“Tool”中“模型编译(Model Compiler)”选项,如下图所示:
然后即可弹出如下图所示的保存对话框,保存的文件类型就是“Model Files”,我们将其命名为“XOR8CLK.MDF”(也就是前一篇文章中我们在制作器件时指定的MODFILE属性对应的文件名)即可。需要特别注意的是:该MDF文件必须保存在Proteus软件安装目录“安装盘符:\Program Files (x86)\LabcenterElectronics\Proteus 8 Professional\MODELS”目录下。
现在回过头看看前一篇文章中测试电路的仿真结果,如下图所示:
数码管所有段都亮起来了,XOR8CLK的所有输出引脚均为低电平(蓝色方块),这与我们原来的预想完全一致。虾米?一脸的不信?我们可以更改一下测试输入。现在要让数码管显示数字“7”,那么只要使数码管的段A、B、C为低电平,而其它均为高电平即可。也就是说,我们可以把“XOR8CLK”的A、B、C、CLK设置为高电平,而把其它输入设置为低电平即可,相应的测试结果如下图所示:
仿真结果完全正确,不接受反驳!
猜你喜欢
- 2024-11-03 同学先别急着看单片机,先看看这个软件吧
- 2024-11-03 基于proteus的51单片机开发实例37-DAC0832
- 2024-11-03 单片机常用电路3-按键检测、LED驱动电路
- 2024-11-03 51单片机教程 第一个51程序 :点亮一个发光二极管(含代码)
- 2024-11-03 1. 基于proteus的51单片机开发实例(2)--闪烁的灯光
- 2024-11-03 1. 基于proteus的51单片机开发实例(13)-LED指示那个按键被按下
- 2024-11-03 1. 基于proteus的51单片机开发实例30-模块化程序设计
- 2024-11-03 从一个简单的项目,学会单片机的使用:51单片机设计的8路抢答器
- 2024-11-03 PROTEUS仿真DHT11(1)(proteus仿真dht11一直为0)
- 2024-11-03 售前/售后技术支持工程师简历专业技能怎么写
你 发表评论:
欢迎- 最近发表
-
- linux日志文件的管理、备份及日志服务器的搭建
- Linux下挂载windows的共享目录操作方法
- Linux系统中的备份文件命令(linux系统中的备份文件命令有哪些)
- 麒麟KYLINOS|通过不同方法设置用户访问文件及目录权限
- 「Linux笔记」系统目录结构(linux目录的结构及含义)
- linux中修改归属权chown命令和chgrp命令
- 工作日报 2021.10.27 Android-SEAndroid权限问题指南
- Windows和Linux环境下,修改Ollama的模型默认保存路径
- 如何强制用户在 Linux 上下次登录时更改密码?
- 如何删除Linux文件夹中除某些扩展名之外的所有文件?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)