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
MATLAB-simulink实现逻辑组合电路--全加器的更多相关文章
- Scheme实现数字电路仿真(1)——组合电路
EDA是个很大的话题,本系列只针对其中一小部分,数字电路的仿真,叙述一点概念性的东西,并不会过于深入,这方面的内容实则是无底洞.本系列并不是真的要做EDA,按照SICP里的相关内容,采用Lisp的方言 ...
- MATLAB / Simulink on BeagleBone Black
转自:beagleboard@googlegroups.com邮件组 作者:kevind I have MATLAB / Simulink working with BeagleBone Black. ...
- 无人机基于Matlab/Simulink的模型开发(连载一)
"一切可以被控制的对象,都需要被数学量化" 这是笔者从事多年研发工作得出的道理,无论是车辆控制,机器人控制,飞机控制,还是无人机控制,所有和机械运动相关的控制,如果不能被很好的数学 ...
- 基于Matlab/Simulink的模型开发(连载一)
概述 基于模型的开发将省去繁琐的代码编写步骤,只需要拖动几个模块,就像搭积木一般,轻松搭建您自己的飞控算法.飞控开发人员可以将更多的精力放在算法本身,而不需要过多关注代码实现的细节,这样将大大加快开发 ...
- 8_LQR 控制器_状态空间系统Matlab/Simulink建模分析
再线性控制器中讲到: 举例说明(线性控制器中的一个例子)博客中有说明 在matlab中:使用lqr求解K1.K2 这里希望角度(即x1)能迅速变化,所以Q矩阵中Q11为100,并没有关心角速度(dot ...
- 声反馈抑制使用matlab/simulink仿真
第一份工作时做啸叫抑制的仿真,调大0.3可以有大的啸叫产生,下图的SIMULINK仿真模型 实现移相有多种方法: 1.iir实现 2.FFT实现 3.使用FIR实现 所有信号均可以由正弦信号叠加而成.
- MATLAB/SIMULINK生成代码错误之change the default character encoding setting
SIMULINK点击生成C代码报错 错误提示: Error encountered while executing PostCodeGenCommand for model 'RTW_sc3': Cl ...
- Matlab/Simulink仿真中如何将Scope转化为Figure?
1.只需要在运行仿真后,在命令窗口内输入: ,'ShowHiddenHandle','on'); set(gcf,'menubar','figure'); scope最上方会出现一个菜单栏,选择Too ...
- Matlab Simulink
随机推荐
- Python3基础——字符串类型
Text Sequence Type - str(immutable) class str(object='') class str(object=b'', encoding='utf-8', err ...
- arduino 动态内存不足问题
亲测有用, 参考:https://blog.csdn.net/weixin_33915554/article/details/86975847 如果在代码中使用到一个数组,但是数组容量超过20000个 ...
- 《C++primerplus》第10章练习题
1.定义一个类表示银行账户.数据成员包括姓名,账号和存款.成员函数可以执行初始化数据.显示数据和取款存款的功能. //Bank.cpp #include<iostream> #includ ...
- 动态枢轴网格使用MVC, AngularJS和WEB API 2
下载shanuAngularMVCPivotGridS.zip - 2.7 MB 介绍 在本文中,我们将详细介绍如何使用AngularJS创建一个简单的MVC Pivot HTML网格.在我之前的文章 ...
- ubuntu20 使用命令安装 mysql
命令安装 mysql sudo apt-get update sudo apt-get install -y mysql-server mysql-client 查看 mysql 安装情况 servi ...
- leaflet如何加载10万数据
作为一名GIS开发者,你工作中一定遇到过这种问题,根据业务设计,需要在地图上添加1万+条数据,数据或是点.或是线.或是面.但不管哪种,当你添加到5000条时,地图操作就会出现明显的卡顿.当你添加超过1 ...
- 极简 Node.js 入门 - 5.2 url & querystring
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- OpenCV开发笔记(七十):红胖子带你傻瓜式编译VS2017x64版本的openCV4
前言 红胖子来也!!! opencv_contrib是opencv提供额外的工具,提供一些基础算法,之前编译了不带opencv_contrib的版本,不带opencv_contrib的cuda硬 ...
- 4~20mA信号采集
4-20mA信号采集 4-20mA信号采集可选卓岚ZLAN6802(485)/ZLAN6842(以太网)/ZLAN6844(无线wifi)他们不仅可以可采集4~20mA还可以采集 /0~5V/0~10 ...
- day43 Pyhton 并发编程06
一.内容回顾 线程 锁 为什么有了GIL之后还需要锁 多个线程同时操作全局变量还需要锁 当出现'非原子性操作',例如+= -= *= /= l.append(l) 原子性操作 a += 1 a= a ...