游客你好,登录后能编辑wiki哦!
全站通知:
电路实例教学(基础篇)
刷
历
编
阅读
2020-03-31更新
最新编辑:逗比的马老师
阅读:
更新日期:2020-03-31
最新编辑:逗比的马老师
跳到导航
跳到搜索
,请注意文章时效!
摘要:
- 【概述】电路基础教程,认识脉冲信号与信号处理,理解存储器原理并运用存储器实现更多需求。
- 【关键字词】教程;电路;基础;脉冲信号;存储器
- 【说明】这一篇内容比较多,也开始有一定难度,不过也是最关键的一篇。
- 掌握之后绝大多数的电路需求都可以轻松完成。
- 我讲的啰嗦些,尽量能更多的人理解。请耐心读完。
- 如果是萌新,最好把上一篇入门篇阅读后再读此篇。
- 在教程之前,安利一本书《编码的奥秘》。
- 我对这本书让我见识到了什么叫深入浅出。
- 让我这种菜鸡文科生都能看懂,我也是佩服作者。
- 不过提前说,看完不会让你立马变大神,它主要了提供理论基础和编码思想,相当于普及读物。但可以让你学习相关知识飞速的提高。
- 我写教程也在尽量学习这本书的叙述思路。
- 不过我并没有看完,能看懂不代表不需要用脑子,懒癌晚期的我已经放弃治疗。
- 书算是冷门书,某宝白菜价,网上电子书也一大堆。
- 有兴趣的可以了解下,某豆评分9.2呢。
第一部分 深入认识信号 -- 脉冲信号与持续信号
- 上一篇解释信号时,用信号灯作为了例子。红灯表示停,绿灯表示行,不同颜色的灯表达了不同的信号,而不同的信号承载着不同信息。
- 但相同的信号也可以表达不同的意思。比如我的手机指示灯,绿灯表示电量充满,收到通知还是绿灯,但我却能清楚的分辨它们,因为收到通知时绿灯是闪烁的。
- 电量充满时,绿灯会一直亮,这被称作持续信号。
- 【持续信号:长时间稳定不变的信号】
- 收到通知时,绿灯闪烁,这被称作脉冲信号。
- 【脉冲信号:短暂或周期性的信号】←超重点
- 还是那句老话,定义仅供理解,更严谨更深入的请查阅专业解释。
- 上图,可以看到箱子始终发出(红图,1)信号,这就是游戏中持续信号。
- 传送带是一个很好的例子:
- 把传送带设置为按持续信号读取,可以看到在红图经过该格传送带期间,始终发出(红图,1)信号。
- 设置为按脉冲信号读取,你会发现只在红图进入该格传送带的一瞬间,才有一个(红图,1)信号一闪而过,如果没有灯,你可能根本没注意到(抱歉截不到图...)。
- 建成这样,可以更清楚的认识脉冲信号与持续信号的区别。
- 定义中说过周期性的信号也是脉冲信号,传送带一圈圈的转,红图一次次的被检测,灯一次次的亮,显然信号是有规律有周期的,因此上面传送带的信号也都可以称作为脉冲信号,换个时间尺度,又是一种理解,就像矛盾的对立统一一样。脉冲信号的周期性太复杂用不上,了解一下就行了,就不过多涉及。
第二部分 深入认识信号 -- 信号的计算处理
- 先从一个问题说起,
- 在图中,
- 上面的线路,传送带发送的脉冲信号(红图,1)经由6个算数运算器到达灯,算数运算器设置的都是(红图+0,红图)即不对信号进行修改。
- 中间的线路,通过电线杆直接连到灯。
- 下面的线路,经过6个机械臂到灯,机械臂未做任何设置。
- 那么,当传送带发出脉冲信号后,那个线路上灯先亮?
- 虽然脉冲信号很快,但实测时大多数厂长应该都可以直观看出来,中间和下面灯同时先亮,紧接着上面灯亮。
- 而背后的机理就是我现在要说的:信号的传输。
- 【红绿线长度不影响信号的传递。】
- 因此中间的灯最先亮,而下面的线路本质上是这样的
- 信号其实也是直接到达的,跟中间的线路没什么区别,机械臂并没有对信号产生影响。
- 信号的传输的具体机理:
- 【tick是信号处理的最小时间单位。】
- 信号不可能即时处理,在游戏中,每1tick计算一次信号。理论上,现实中的1秒=60tick。就像电影中的每一秒的本质上是24张图片一样。游戏中的所谓信号传输本质上是1秒计算了60次而已(游戏中生产,加工等等本质上也是1tick计算一次数据)。
- 【1tick时间内,运算器会处理一次信号,并将处理结果送达其他设施。】←超重点
- 注意两个关键词,“一次信号”,“送达”。
- 上一篇教程说过:信号网络中的信号会叠加。
- 也就是说,在“送达”的过程中也会进行一次计算。
- 什么是“一次信号”?这就要回到脉冲信号。
- 前面说过,传送带发出的脉冲信号一闪而过,几乎不可能看清。
- 这个“一闪”有多长?很多人可能猜到了,就是1tick时间。
- 这种1tick时间的脉冲信号就是“一次信号”。
- 那么持续信号不是“一次信号”,该怎么处理?
- 回到上面的定义:tick是信号处理的最小时间单位。
- 这个“信号处理”不单指信号的接收还指信号的发出。
- 拿传送带的持续信号说事,假如物品经过传送带的时间是1秒,那传送带就发出1秒的持续信号。但是在本质上,传送带发出的是60个1tick时间的脉冲信号。
- 那么持续信号的处理就是处理60次1tick时间的脉冲信号。
- 那传送带发出的到底是脉冲信号还是持续信号?这就要牵扯到猫的死活了。
- 不开玩笑了,这其实就是换一下理解角度,这本来就没有什么严格的定义。
- 以上内容请尽量理解,是关键的基础。
- 之后的内容,如无特殊说明,脉冲信号默认指代1tick时间的脉冲信号;tick简称t。
- 回到那个灯先亮的问题,在了解信号处理后,上面的线路就是这样的:
- (方便讲述,只画了3个运算器)
- 每1t都会进行一次处理和送达。那整个线路总共耗时:传送带1t+ 6个运算器6t+ 灯1t=8t
- 由此我们不但能知道灯亮的先后顺序,还能知道具体的耗时:
- 上面的线路:8t
- 中间的耗时:2t
- 下面的耗时:2t
- 在以后的讲述,耗时只考虑运算器产生的。
- 最后留一个问题,上面的线路在其他保持不变的情况下,这样连线:
- 不进行实测(实测用处也不大...),推想一下灯会怎么亮,精确到耗时t。这还是有一定难度的,不要问我答案,我也不知道┑( ̄Д  ̄)┍
第三部分 脉冲信号的运用 -- 没卵用的“流光”
- 有什么用?
- 放一圈灯,然后让灯一个接一个的亮和灭,让灯转着循环着亮,跟老虎机那种灯的转圈类似。
- 如下图,现在亮的是下面第5个灯,接着第5个灯灭,第6个亮,之后6灭7亮,如此循环。
- 虽然没什么卵用,但作为观赏,装下逼还勉强可以的。
- 具体怎么建?
- 首先算数运算器首尾相连,连成一个圈。运算器都设置为(红图+0,红图),还是不对信号进行修改。
- 然后放一圈灯,每个灯连一个运算器,接收运算器的信号。所有灯设置为(红图>0)。
- 最后放一段传送带(别搞成环形),其中一节连一个运算器的输入口。传送带设置为获取脉冲信号。
- 接着在传送带的起点放个红图就行了。
- 结果是:红图经过传送带时,传送带发出脉冲信号(红图,1),然后这个(红图,1)信号在“循环”的信号网络中一圈圈的转,带动灯一圈圈的亮。
- 这个实例还是很简单的,做完再来看这两句话:
- tick是信号处理的最小时间单位。
- 1tick时间内,运算器会处理一次信号,并将处理结果送达其他设施。
- 是不是有了一个直观的认识?
- 这个“流光“”显然还是很low,总不能多一个灯就加一个运算器吧,这就太臃肿了。要进行一下精简优化。
- 优化还要从信号的一个问题说起,
- 脉冲信号与持续信号要怎么转换?
- 这个问题看似没啥用,但却是很多电路中关键的一步。在以后的例子中就能看出来的。
- 比如传送带检测到“红图”时,让电闸打开一段时间。传送带的信号一闪而过,那电闸打开也会一闪而过。就算设置为持续信号也持续不了多久,根本实现不了需求。
- 现在只说一下脉冲信号转为持续信号,持续信号转脉冲信号以后用到的时候再提。
- 在编码中,有一个东西叫做SR锁存器。
- 它的功能通俗的说是这样的:
- SR锁存器有一个输入端,一个输出端,一个重置端。
- 当输入端接收到一个信号后,将此信号锁定,在输出端持续的输出该信号。
- 之后,不管输入端的接收到任何信号,都不会改变输出端的输出。
- 只有当重置端接收信号时,才会解除锁定,恢复到初始状态。
- 很显然,这个东西能完美的做到脉冲信号转为持续信号。
- 找一找游戏中的物品,然而并没有这个东西,但我们可以根据这个思想来实现功能。
- SR锁存器有一个关键的功能--锁定,也就是说将脉冲信号进行了“记录”,又或者说让脉冲信号不消失。
- 再看一下之前的“流光”,传送带发出了一个脉冲信号,这个脉冲信号在运算器之间转啊转。
- 有没有发现?这个脉冲信号并!没!有!消!失!这就是一种另类的锁定的。
- 为什么没有消失?因为这个脉冲信号在循环。
- 18个运算器组成了一个循环链。
- 18个能循环,那17个,16个……5个,4个,甚至是1个能不能组成循环?
- 答案已经出来了!
- 只要将运算器的输入端与输出端相连,设置运算器不对信号进行修改。
- 那么传入该运算器的脉冲信号就会一直循环,不会消失,而这个运算器也因此会始终发出持续信号。
- 信号“锁定”!脉冲信号转持续信号完成。
- ps:误打误撞,竟然搞了一波完美的层层递进,由浅入深……
- 接着我们来试试搞出来的“锁存器”好不好用。
- 传送带放一个物品,发出了一个脉冲信号,然后这个信号就被记录了,具体可以在电线杆或电灯上看出来。很成功。
- 不过做电路总要把尽可能多的情况考虑到。
- 再往传送带放一个物品,
- 发现“锁存器”记录的信号变成了(红图,2),这个很好理解,新发出的脉冲信号与“锁存器”中循环的脉冲信号叠加了,变成了(红图,2)。不过这样一来这个“锁存器”就不合格了,有“存”的功能,但没有“锁”的能力。因此不能还称“锁存器”,我们给它起个名叫储存器。
- 那么真正的锁存器能不能搞出来?答案是可行的,但比较麻烦,而且并没有必要,具体以后会提到。
- 【储存器:接收信号种类不同的脉冲信号,通过信号的循环将信号储存。】
- 储存器是把信号记录了,难道就这样一直记着?总要有清除办法才行。
- 锁存器有重置端来解决这个问题,而我们只能自己实现了。
- 我们知道储存是通过信号循环完成的,那只要打断这个循环,储存就自然会结束。
- 看一下存储器的电路,能找到打断循环的几个方法:
- 1.把运算器拆了重建……
- 2.把电线拆了重建……
- 3.直接更改运算器的设置,比如更改为(红图*0,红图)
- 这些方法显然都需要人亲自操作,很多时候需要的是在得到一个信号时进行重置。
- 通过信号进行重置,可以使用信号抵消的方法完成,具体怎么做就不说了,因为这是我走的弯路……
- 再找下其他方法,
- 之前说,储存器的信号循环需要设置算数运算器不对信号进行修改,设置为+0没有修改,那设置为*1也是没有修改啊。可以将算数运算器设置为(红图*A,红图),A信号的值是1,就是具有储存器功能,A信号值为0,就是储存器重置。可能有点绕,那就不用记了,因为这也是我走的弯路……
- 这个思路从一开始就有问题,
- 不对信号进行修改,判断运算器表示我也能做啊,为啥非要用算数运算器?
- 由于输入端没有X信号输入,那X=0就是始终是成立的,然后“红图”信号就始终允许通过,最后循环成立,具有了储存器的功能。
- 而进行重置也很简单,只需要向输入端发出一个X信号就行,一般是(X,1),然后X=0就不成立了,循环中断,完成重置。
- 由此可以知道储存器分算数储存器和判断存储存器,而判断运算器的功能更优秀易操作,以后的叙述,如无特殊说明,储存器默认指代判断储存器。
- 在以后的电路中,默认以X信号作为储存器重置的信号,用红电线进行连接。这是我个人的习惯,各位厂长当然也可以依自己的喜好选择,不过习惯不好改,我以后就按自己的习惯来设计电路了。还有“红图”这个东西,莫名其妙养成了这个习惯,不得不准备一箱子红图……
- 之前提到:
- 由于存储器再次接收一个相同种类的信号时,信号会叠加,因此不能称作“锁存器”只能说是存储器。
- 但这个特点恰恰能让我们利用,发挥存储器的另一个极为重要的作用——计数器。
- 【计数器:接收信号种类相同的脉冲信号,通过信号的循环将信号叠加并记录】
- 最初,红图经过传送带,发出一个(红图,1)脉冲信号,进入存储器,被记录
- 接着,红图再次经过传送带,又发出一个(红图,1)脉冲信号,进入存储器与存储器本来存储的(红图,1)信号叠加变成(红图,2)。
- 继续经过,与存储器的(红图,2)信号叠加,又变成了(红图,3)信号。
- 如此往复。
- 也就是说,最后的信号值就是红图经过传送带的次数。
- 这样就实现了计数的功能。
- 显然,存储器与计数器就是同一个东西,区别就在于怎么用。
- 这个计数器就是“流光”进行精简优化要用到的东西,说了这么多终于到了。
- 以上主要的基础知识也介绍完了,之后就以运用为主了。
- 在“流光”中,关键的需求就是灯逐一的亮起和熄灭,通过设置灯的“启用条件”,可以让灯在接收到特定的信号时亮灭,再考虑的到计数器信号值逐次增加的特点,一个更加方便的实现方法就呼之欲出了。
- 首先,将一个周期脉冲连上计数器:
- 传送带发出周期脉冲,让计数器逐增加。
- 接着更改一下计数器的重置条件,重置是根据“判断参数”决定的,我们将它改为(红图<10)
- 这样一来,当计数器的值大于9,就不符合(红图<10),循环中断,计数器自动就重置了。
- 临时先用着 10 这个值,以后根据情况再改就行了。
- 给这种计数器起个名字,叫 自重置计数器。以后再用到就不用费心说明了。
- 摆一圈灯,用信号线连一块:
- 然后,灯的启用条件逐一设置为(红图=0),(红图=1),(红图=2),(红图=3)……
- 图中有18个灯,因此最后那个灯设置的应该是(红图=17)
- 最后将灯的信号线连一下计数器的输入端。
- 到这里思路已经很明显了,计数器从(红图,0)计数到(红图,9),
- 每个值对应一个灯的亮起,这样就形成了灯逐一亮起熄灭的效果。由于有18个灯,还需要把计数器的(红图<10)改为(红图<18)。
- 等等……再减一下传送带的长度,最终就是这样的:
- 来看一下效果图:
- 说明下,这只录了部分,为保证大小不超,还进行了1/2抽帧,
- 通俗的说,GIF图是二倍速
- GIF中,即时是在二倍速下,灯的转动速度仍然不快,
- 而最初造出来的“流光”,结合tick的知识,可以知道速度是1t/1灯,达到了最快速度。
- 对于现在的“流光”,我们还要想办法提高一下速度。
- 速度是通过周期脉冲的频率进行控制的,接下来就详细说一下周期脉冲信号生成。
- 首先是用箱子和机械臂构成循环来发出周期脉冲——机械臂周期脉冲:
- 显然这种方法有很多弊端,速度也不快,因此只能算下策。
- 接下来是用传送带构成循环来发出周期脉冲——传送带周期脉冲:
- 这种方法好很多。
- 其中周期频率最快的莫过于4格极速传送带构成循环,物品放内圈。(上图右边所示)
- 还能进行一些修改,再一步提高频率,如 :
- 如果还不满意,在传送带上多放几个物品,也可以提高频率。
- 这速度似乎已经足够了
- 但这并不是我们最终要使用的,较高的频率需要在传送带多放几个物品,这样的周期脉冲并不稳定,间隔时间不一,而且并不能达到极限频率,还不够优秀,因此此方法只能算中策。
- 在编码领域,有一个东西叫做非门,
- 它的作用可以这样理解:
- 输入0,输出1;
- 输入1,输出0。
- 也就是说,它的输入与输出是相反的,
- 之所以提到它,是因为非门有一个应用方法叫非门脉冲。
- 先在游戏中把这个非门实现出来,
- 输入输出……相反?
- ……省略简单的思考过程……
- 判断运算器恰好能胜任这个工作:
- 很完美的实现了非门。
- 而非门脉冲也很简单,就是输入端与输出端相连:
- 先推演一下非门输入端与输出端相连会发生什么,这需要一点想象能力和理解能力
- 判断运算器初始是没有信号输入的,
- 第1t:
- (0)输入,输出(红图,1)并回到输入端
- 第2t
- (红图,1)输入,输出(0)并回到输入端
- 第3t:
- (0)输入,输出(红图,1)并回到输入端
- 第4t
- (红图,1)输入,输出(0)并回到输入端
- ……
- ……
- ……
- 这时,如果对其输出端的信号进行接收,获取到的信号是:
- (0)—(红图,1)—(0)—(红图,1)—(0)…………
- 这显然就是周期脉冲信号了,而且是游戏中频率最快的周期脉冲
- 两个信号的间隔最低为1t,再快间隔就是0t了,就成了持续信号。
- 我们给它接上一个电灯,再设置下电灯的启用条件(红图=1),
- 可以看到电灯迷之闪烁,不注意就跟电灯是灰色的似的,
- (由于GIF帧率限制,上图基本上是0.5倍速。)
- 由之前的1秒=60tick,可以知道这是因为电灯1秒闪烁了30次。
- 这个方法是为上策。
- 而且如果用不到这么快频率的周期脉冲,还可以精确调整频率。
- 有上策的最快的周期脉冲生成方法,那“流光”的转动速度差不多就足够了。
- 但,我们并不用这个方法……( ⊙ _ ⊙ )
- 非门脉冲每2t发出一个信号,也就是说“流光”的速度是2t/1灯,
- 而我们最初造的可是1t/1灯的速度呢,还差着呢
- 但非门脉冲已经是最快的周期脉冲了,再快就是持续信号了……◔ ‸◔?
- 对……我们不用周期脉冲,就用持续信号……(○´・д・)ノ
- 最终成品图:
- 果然是没什么卵用O__O "…
- 周期脉冲频率的调整,以后用到再提吧,这一部分就算结束了。
第三部分 实例-备用火电电路优化
这是对上一篇:电路实例教学(入门篇)
第四部分 火电供电优化的改进
第四部分 火电供电优化的改进
- 回顾:
- 用处:
- 蒸汽发电与太阳能共用时,很多时候太阳能发电明明够了,蒸汽发电仍然工作.浪费燃料,产生污染.通过电路对电网进行处理,在蓄电池没电时控制电闸使蒸汽发电站工作.使蒸汽发电作为应急电使用.
- 需求:
- 在蓄电池电量小于5%时, 接通电闸使蒸汽发电站工作.
- 关于改进
- 小于5%时工作,那对应的大于5%就不工作了。
- 接通电闸使蒸汽发电站工作后,如果蒸汽发电机站功率比较大,高于耗电量,那就会造成这样的局面:
- 小于5%,工作,
- 1秒后,大于5%,不工作
- 1秒后,小于5%,工作
- ……
- 电闸不断的开开关关,迷之鬼畜。
- 我们把需求调整为:
- 在蓄电池电量小于5%时, 接通电闸使蒸汽发电站工作,之后若蓄电池电量大于30%,则停止工作。
- 让电路效果更好些。
- 先建出来个大概
- 会发现很多问题, 明显的一个是:
- 大于30%时停止工作对应的就是小于30%开始工作,这与小于5%开始工作是冲突的
- 你可能会想到修改一下条件,比如将电闸的(Z=1)改为(Z=2)等等,但事实这并不理想。
- 问题的解决需要从需求着手,
- 分析一下需求,似乎只是在原来的基础上加了一句:之后若蓄电池电量大于30%,则停止工作。
- 让蓄电池电量在30%时停止工作很简单,但关键的是“之后”这个词,
- 也就是说在小于5%工作的前提下,才会进行大于30%停止工作。
- 更详细的说明应该是:
- 当蒸汽发电机未工作,小于5%时开始工作,大于5%时并不工作
- 当蒸汽发电机已工作,小于30%时仍然工作。大于30%时停止工作
- 也就是根据蒸汽发电机当前的状态,来决定按5%判断还是按30%判断。
- 解决问题的关键就是对蒸汽发电机当前的状态进行记录,
- 记录?这就是存储器大显身手的时候了,我们接上一个存储器。
- (X是重置信号,暂时没啥用)
- 测试一下,发现这剧本好像不对……
- 存储器的信号疯狂往上涨,这储存的毛线啊( `д′)
- 检查一下信号,发现问题是蓄电池发出的是持续信号,存储器接收的也是持续信号,存储器进行记录需要脉冲信号。
- 电路总比你想象的麻烦一些……w(゚Д゚)w
- 需求已经明确了,我们还可以找其他的实现办法……
- 不过这里就不去找了,知道一些“套路”可以用简单的思路实现需求。
- 重点知识:持续信号转脉冲信号。
- 没找到很好的例子,就不复现发现方法的过程了。
- 先看电路图:
- 是不是看起来很简单,就用了一个运算器,其实实际也很简单
- 注意一下箭头的颜色,使用的信号线要不一样。
- 用箱子发出持续信号,灯接收脉冲信号,实际建一下
- 效果图:
- 可以看到,把红图放箱子里,灯只闪了一下,说明灯只接受了一个脉冲信号。
- 来推演一下过程,说明一下其中的原理
- 第1t
- 箱子输出(红图,1)送达运算器和灯
- 第2t
- 箱子输出(红图,1)送达运算器和灯
- 灯亮
- 运算器根据(红图,1)输出(红图,-1)到达灯
- 第3t
- 箱子输出(红图,1)送达运算器和灯
- 灯接收(红图,1),(红图,-1)两个信号,不亮
- 运算器根据(红图,1)输出(红图,-1)到达灯
- 第4t
- 同第3t
- …………
- 【持续信号转脉冲信号:通过时间差进行信号抵消】
- 原信号先到达灯让灯亮,1t后负值信号到达灯,
- 两个信号抵消就没有了,灯不亮。
- 因此灯只会接收最开始的那个信号,
- 进而实现了持续信号转脉冲信号。
- 上面说的只是持续信号转脉冲信号的核心部分,
- 虽然实现了,但还要做些调整
- 接着上面的信号推演过程
- 假设在第30t时,箱子的红图拿走了,持续信号停止输出,
- 第29t
- 箱子输出(红图,1)送达运算器和灯
- 灯接收(红图,1),(红图,-1)两个信号,不亮
- 运算器根据(红图,1)输出(红图,-1)到达灯
- 第30t
- 箱子不输出信号
- 灯接收(红图,1),(红图,-1)两个信号,不亮
- 运算器根据(红图,1)输出(红图,-1)到达灯
- 第31t
- 箱子不输出信号
- 灯接收(红图,-1),不亮
- 运算器没接收到任何信号,无处理
- 第32t
- 箱子不输出信号
- 灯没有接收到任何信号,不亮
- 运算器没接收到任何信号,无处理
- 也就是说,这个电路可以将持续信号转换为脉冲信号,
- 但在持续信号结束时也会发出一个负值的脉冲信号
- 简单整理一下整个信号流程
- 有两个关键点
- 第1t,箱子开始输出持续信号(红图,1)
- 第2t,灯接收(红图,1),亮
- ……
- 第30t箱子停止输出持续信号
- 第31t,灯接收(红图,-1),不亮
- 因为除2t,31t外灯接收的一直是0信号,也就是说
- 这个电路可以将(红图,1)这个持续信号
- 转换为两个脉冲信号(红图,1)(红图,-1)
- 很显然,(红图,-1)这个脉冲信号不是我们需要的
- 我们要加一个限制器,或者说是过滤器
- 将(红图,-1)这个脉冲信号拦下。
- 这用一个判断运算器就能简单的完成
- 电路图:
- 可以想象这个电路会在很多地方用到,
- 因此要用到通配符,使电路具有适配型。
- 适配性是指在不同的情况仍然可以简单方便的使用
- 通配符是编程领域的一个名词,是游戏中的*信号
- 下一篇会详细说明通配符,
- 这里只简单的使用
- 选择黄色的*信号:
- 黄色的*信号是“每个信号”
- 可以理解为对每个信号都进行相同的操作。
- 这样不管我们想要对什么信号进行处理都可以直接用这个电路:
- 持续信号转脉冲信号,结束
- 有了持续转脉冲,就可以愉快的使用存储器了,
- 考虑到存储器(4号)只用记录两个状态——蒸汽发电工作中OR蒸汽发电未工作
- 可以将存储器改为自重置计数器
- 到目前,我们实现了这样的功能:
- 当蓄电池小于5%,发出一个脉冲信号让自重置计数器记为(Z,1),表示蒸汽发电已经工作
- 接下来,我们要实现以下功能:
- 当蓄电池大于30%,发出一个脉冲信号让自重置计数器记为(0),表示蒸汽发电已经停止工作
- 这个很简单,直接加上就行了
- 还有一些问题没有解决,
- 回到需求:
- 当蒸汽发电机未工作,小于5%时开始工作,大于5%时并不工作
- 当蒸汽发电机已工作,小于30%时仍然工作。大于30%时停止工作
- 也就是根据蒸汽发电机当前的状态,来决定按5%判断还是按30%判断。
- 蒸汽发电的工作状态我们已经获取了,接下来就要通过工作状态控制按5%判断还是按30%判断,
- 下图:
- 到此就完成了。
- 图中为了进行测试,连的是常量箱,实际应用连的是蓄电池
- ps:
- 1.最后的成品电路并非是最优的电路,主要是为了理解和讲述的方便而设计的。
- 2.这个电路有很多种实现方法,建议厂长们多多尝试,可以get到很多有用的电路技巧。
- 我采用这个方法主要是为了说明持续转脉冲,其实本来是想用来讲暂存器的,但发现除了这个例子,好像也没什么地方可以说持续转脉冲了。
- 之前那个蓄电池的只能说是教学性质的电路,这里放一个实用性质的实现方法;
- 来源不详...
- 这个电路可以看出是对存储器的高级运用.利用了存储器循环时的时差.
- 这种实现只可意会不可言传,一般伴随着沉思者雕塑,混乱的草稿纸,一闪即逝的灵感....
- 比我工业式流水线方法制作的电路不知道高到哪里
- 由于个人精力原因,
- 该贴暂定完结.
- 主要内容基本上都讲了,也就差一些无关紧要的练习了,
- 因为执行力跟不上各种各样突如其来的想法,后半段一心多用,质量已经并不能让自己满意了.
- 不太想烂尾或者让大家等着了,或许我缺少些耐心吧.
- 不过放心,我的精力仍然在异星工厂上,还是这个游戏的***粉.
- 大家以后可能会在其他方面看到我的身影.
- 最后感谢大家的支持和认可.