(。・∀・)ノ゙嗨
本文解决以下问题:
关于Proteus仿真闪退问题
Proteus上电瞬间电容初始电压设定问题
提出以下问题:
关于开关和按钮的BUG
关于Proteus仿真闪退问题的解决办法
见链接文章:
https://blog.csdn.net/weixin_44578655/article/details/106593468
总之,就是安装位置目录和数据文件目录要是同一个,否则使用数码管或是显示元件时会闪退。
Proteus上电瞬间电容初始电压设定问题
当你需要一个在上电时开始充电的电容使某点电压逐渐抬高时,你会发现当你启动Proteus仿真,电容根本没有充电的过程,直接到达了稳态!!!
可以看到上面绿线直接顶到5V
这就很令人不爽了,整个中文互联网对这个问题不要说解决方法甚至是信息都没有多少。
笔者搜集信息,整合到这里,供遇到同样问题的朋友参考:
方法1
使用特殊的电容替代:
在电容库中,有一种特殊的电容,叫“RealCap”,在库中搜索可以搜到。
使用这种电容,就可以呈现正常的电容充电现象,可以猜想,这种电容应该是模拟精度更高的电容模型。
但是问题是,我们不可能总是使用这一种电容吧,有什么办法可以使其他电容也可以在上电时正常充电呢?
方法2
Wire Label “IC = x”
这里使用网络标号"IC = 0"设定这条线的初始状态,成功使普通电容模型正确充电。
那么问题是,我们之前从来没有这样使用过网络标号,一直以来,网络标号仅仅只是将两条线逻辑上相连而已。这是什么用法?
我们在软件的使用帮助中输入"wire label"进行查找,找到了答案:
文档中如是说:
The easiest way to specify initial conditions is often to indicate the starting voltage for a particular net.
In the above circuit, this is achieved by adding a wire label with the text IC=0 to the probed net. Without this assignment, PROSPICE would compute the steady state value of the voltage on C1 i.e. 1 Volt and the graph would show VC as a horizontal straight line.
For nets which interconnect only digital components, you should use logic states for initial conditions - e.g. 1,0,H,L,HIGH,LOW,SHI,WHI,SLO,WLO or FLT and assign them to the BS (Boot State) property. For mixed nets, you should specify an initial voltage - this will be automatically propagated as a logic level to the digital components.
所以,利用这个方法,我们可以设定节点的初始状态;
设定初始电压为3V,甚至设定比供电还大的初始电压。
关于开关和按钮的BUG
关于按钮BUTTON和开关SWITCH并不是完全断开的问题,这个问题笔者尚未解决,暂不知是什么缘故。挖个坑先。