精通Proteus仿真器件制作(3)DLL仿真模型创建
有些人可能会想:什么叫做“DLL仿真模型之原理图符号”?我想学高级的C++创建DLL(动态链接库)仿真模型的方式,你别拦着我,不然,我可就人挡Kill人,佛挡Kill佛啦!原理图符号的创建之前已经学过了呀?不要试图用这些重复的内容阻挡我那迈向人生巅峰的坚定步伐!
好的,不拦你!你想做神仙我也管不着,但是要做神仙起码也得先引气入体筑基结丹什么的吧,对这个我不是很在行,然而即便你创建了一个超级DLL仿真模型,原理图符号也还得先创建,不过与之前介绍操作细节稍有不同,不知会你一声可能会影响修仙进度,你自己决定吧!
我决定为电子制作站做一块招牌元器件“LED_DZZZZCN”,它只有一个输入引脚,引脚名为“LED”,当输入为高电平时点亮,输入低电平时熄灭,仿真的效果如下图所示:
哈哈,我们的招牌绝对高端大气上档次、低调奢华有内涵、奔放洋气有深度、简约时尚国际范,迪拜的土豪们抢着要下订单呐,,,,,,,,,(此处省略一万字)。
下面我们先来创建原理图符号,如下图所示:
可以看到,我们创建了三个图形,但是只有第一个是有引脚的,这也是我们需要创建元器件的符号,我们称其为device吧!下面两个是图形符号(symbol),它们是没有引脚的。我们的招牌元器件的工作原理很简单:如果输入为低电平,就把第一个全黑的symbol贴到device对应位置上,那么招牌元器件就是全黑状态;如果输入为高电平,就把第二个显示“dzzzzcn”的symbol贴到device对应位置上,也就完成了状态的切换,简单吧!
注意:你自己动手做出什么形状并不重要,但是一定要给每一个图形增加一个定位标记(左上角那个带十字的方块),它决定了你把symbol贴到device的参考位置,所以必须是统一的,不然显示的位置会有偏差,如下图所示:
接下来我们需要保存创建的图形符号(makesymbol),选中第一个symbol(不是device)后右击,在弹出的菜单中选择“Make Symbol”选项,如下图所示:
在弹出的对话框中设置符号名为“LED_DZZZZCN_0”即可。
同样,我们将第二个图形符号保存为“LED_DZZZZCN_1”,这里需要特别提醒的是:符号的全名格式是“器件名称+下划线+数字”,这一点非常重要,在后续采用C++编写动态链接库时,就会以数字来调用相应的图形符号。例如,drawsymbol(0)表示绘制“LED_DZZZZCN_0”,drawsymbol(1)表示绘制“LED_DZZZZCN_1”,而drawsymbol(-1)表示绘制器件符号“LED_DZZZZCN”。
保存完symbol后再创建device,这个顺序也很重要。我们全选device后右击,在弹出的对话框中选择“Make Device”即可弹出下图所示的对话框:
对话框的通用属性(GeneralPropoerties)用来设置器件名称与位号,这一点我们已经介绍过,但为了使动态链接库模型能够调用刚才创建的两个symbol,我们还得设置活动的组件属性(Active Component Properties),其中Name Stem用来设置symbol名称的共同部分,对于我们刚才保存的“LED_DZZZZCN_0”与“LED_DZZZZCN_1”,共同的名称就是“LED_DZZZZCN”。No. of States表示有几个symbol,这里很明显是2。最后不要忘了把“Linkto DLL”勾上。
接下来我们一路点击Next到“器件属性与定义”页表项,我们新建了“PRIMITIVE”与“MODDLL”两个属性,PRIMITIVE属性如下图所示:
在默认值(DefaultValue)中,我们填入的是“DIGITAL,LED_DZZZZCN”,表示当前的元器件是一个数字器件,而第二个参数“LED_DZZZZCN”会传递到DLL,这样可以让多个不同的器件使用同一个DLL,我们后续创建的对应DLL只给招牌元器件使用(迪拜土豪应该很在意独一无二),其实不用传递也可以正常工作。
“MODDLL”属性如下图所示:
“MODDLL”属性与前面介绍过的“MODFILE”属性是等同的,只不过后者是原理图方式创建的模型,而前者是动态链接库创建的模型,所以请勿必记住你填入的DLL名称“LED_DZZZZCN.DLL”。
接下来的步骤已经介绍过了,我们就不再重复了,下面我们就来讨论一下如何使用Microsoft Visual Studio创建动态链接库仿真模型。
精通Proteus仿真器件制作(3)DLL仿真模型创建的更多相关文章
- Proteus 仿真运算放大器出现 GMIN 问题
Proteus 仿真运算放大器出现 GMIN 问题 为了仿真一个反相运算放大器,在仿真时出现 GMIN 问题,将 后面的 4.7UF 去掉就可以正常仿真. 初步检查是因为输入频率太低,输入时我用的是 ...
- proteus仿真 引脚显示电平变化但不能显示波形
proteus仿真 引脚显示电平变化但不能显示波形 原来是没有选择通道问题,proteus默认优先使用A通道才会显示波形,如果优先使用B,C,D通道,需要选择...
- Delphi中DLL的创建和使用(转)
Delphi中DLL的创建和使用 1.DLL简介: 2.调用DLL: 3.创建DLL: 4.两个技巧: 5.初始化: 6.例外处理. 1.DLL简介 ...
- 动态链接库DLL的创建生成及调用
一.背景 最近在做CANTOUSB底层驱动的调用,是调用别人已经封装好的库,看不到别人写的源程序.程序中调用的是隐式调用即 x.h+x.lib+x.dll,其中DLL即是动态链接库(Dynamic L ...
- simplest_dll 最简dll的创建与隐式调用(显式调用太麻烦,个人不建议使用)
首先需要有个头文件,名字随便写 假设test.h //test.h #ifndef _TEST_H #define _TEST_H #ifdef TEST_EXPORTS //通过宏定义控制是输入还 ...
- 关于DLL的创建与使用简单描述(C++、C#)
前言 前一段时间在学关于DLL的创建与调用,结果发现网络上一大堆别人分享的经验都有点问题.现在整理分享一下自己的方法. 工具 Microsoft Visual Studio 2017 depends ...
- Proteus仿真_01、 8086 IO译码仿真
最近在学习一些微机原理与接口技术方面的知识. 参考书籍<微机原理与接口技术---基于8086Proteus仿真> 顾晖 梁惺彦 编著 实验一.利用8086 芯片来实现对I/O设备的读取和控 ...
- 【硬核摄影2.0】用线性CCD器件制作扫描相机
本文参考资料:[1] (Strongly Recommend!) Fundamentals and Experiments of Line Scan Camera: http://www.elm-ch ...
- vc 制作图片资源dll
方法一: 使用纯WIN32 DLL方法封装纯资源第一步,通过VS2005建立WIN32 DLL 空工程第二步,设置配置属性->链接器->高级->无入口点(是/NOENTRY)设置配置 ...
随机推荐
- 爬虫:获取动态加载数据(selenium)(某站)
如果网站数据是动态加载,需要不停往下拉进度条才能显示数据,用selenium模拟浏览器下拉进度条可以实现动态数据的抓取. 本文希望找到某乎某话题下讨论较多的问题,以此再寻找每一问题涉及的话题关键词(侵 ...
- 前端必读:Vue响应式系统大PK(下)
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文参考:https://www.sitepoint.com/vue-3-reactivity-system ...
- [DB] HDFS
体系架构 NameNode HDFS主节点.管理员 接收客户端(命令行.Java程序)的请求:创建目录.上传.下载.删除数据 管理和维护HDFS的日志和元信息 日志文件(edits文件) 二进制文件, ...
- Linux占用swap分区过高,物理内存还有剩余
Linux占用swap分区过高,物理内存还有剩余 问题分析 Swap配置对性能的影响 分配太多的Swap空间会浪费磁盘空间,而Swap空间太少,则系统会发生错误.如果系统的物理内存用光了,系统就会跑得 ...
- 自动做bond的脚本
#!/bin/bash # 先备份原来的网卡配置文件 find /etc/sysconfig/network-scripts/ -type f -name "ifcfg*"|xar ...
- Linux 操作系统(三) 添加用户、切换用户、删除用户
以下命令均已在 Kali Linux 验证. 1.添加用户 --1-- useradd -m username //username 代表你所添加的用户名 --2-- passw ...
- MySQL 查询操作
目录 基本语法 查询常量 查看表达式 查询函数 查询指定字段 查询所有列 列别名 表别名 条件查询 条件查询运算符 逻辑查询运算符 排序与分页 排序查询(order by) 排序方式 limit 分组 ...
- Linux服务之nginx服务篇二(搭建)
一.简易搭建安装步骤 0.检查环境 1.配置yum源 使用yum list nginx 检查yum源中是否有nginx安装包 #官方网络源需要安装epel-* #或使用251的adv源(老师的yum源 ...
- strcpy和memcpy的区别-(转自stone Jin)
strcpy和memcpy都是标准C库函数,它们有下面的特点.strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符. 已知strcpy函 ...
- Windows上能看朋友圈的微信来了 | 附下载地址
昨天的时候,电脑端的微信提示更新就顺手更新了一下,更新完成后习惯性的点了下设置,纳尼,居然被灰到了测试版本? 带着好奇,赶快看了下更新了什么内容: 支持浏览朋友圈 "搜一搜"支持搜 ...