zoukankan      html  css  js  c++  java
  • MATLAB-simulink实现逻辑组合电路--全加器

    author: ZKe

    全加器的原理这里就不讲了,不知道的还是去看看数字逻辑课本吧,这里主要记录一下simulink实现逻辑组合电路的方法

    首先我们需要知道它的电路图,如下(借用慕课赵贻竹老师的PPT的图片),根据电路图做仿真

    (图片来自慕课,数字逻辑,赵贻竹老师的PPT)

    需要观察一下真值表,真值表的输入为8421码,它的simulink实现可以到我上一个关于MATLAB的博客学习(https://www.cnblogs.com/zhaoke271828/p/12752732.html),有完整实现过程,8421码的实现只需要脉冲发生器元件(Pluse Generator)和示波器(scope)就能完整仿真。比较简单,下面主要介绍一下逻辑运算原件。

    (图片来自慕课,数字逻辑,赵贻竹老师的PPT)

    从电路图可见,我们需要与门,或门,异或门即可,根据下图选中逻辑运算原件(Logical Operator),双击选中到面板上

    选中之后根据我们的需要去改变逻辑门电路的类型,如图

    将一个非门改成异或门

    需要解释的是,XOR表示异或,NOR表示或非,NAND表示与非,XNOR表示异或非,NOT自然就是非门。很有规律,前面加上X表示异,前面加上N表示非

    根据电路图连接电路即可,连接电路的详细操作还见我上一篇关于MATLAB的博客 https://www.cnblogs.com/zhaoke271828/p/12752732.html

    这里给大家介绍一下示波器scope元件的调整方法,有时候需要增加输入口,增加展示界面的个数,可以这么修改input和layout属性

    值得一提的是,可以修改逻辑元件的外观,在修改逻辑元件类型的时候有一个icon shape属性,改成distinctive变得就似乎高级一点了

    变得似乎更帅了hhhhhhhh

    以上就是半加器的仿真,双击示波器查看结果,这里我们看方形波就好了,我们有三个输入,每一个输入都是竖着看的一列,

    比如我们分别输入的是000, 001, 010, 011, 100, 101, 110, 111

    输出结果分别是00, 10, 10, 01, 10, 01, 01, 11 这和全加器的真值表时一致的,到此就大功告成了!

    author: ZKe

  • 相关阅读:
    Leetcode Binary Tree Level Order Traversal
    Leetcode Symmetric Tree
    Leetcode Same Tree
    Leetcode Unique Paths
    Leetcode Populating Next Right Pointers in Each Node
    Leetcode Maximum Depth of Binary Tree
    Leetcode Minimum Path Sum
    Leetcode Merge Two Sorted Lists
    Leetcode Climbing Stairs
    Leetcode Triangle
  • 原文地址:https://www.cnblogs.com/zhaoke271828/p/12829242.html
Copyright © 2011-2022 走看看