我是靠谱客的博主 粗暴宝马,最近开发中收集的这篇文章主要介绍MATLAB之Simulink(三)全加器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

##matlab之Simulink(三)
##全加器

今天给大家分享的是利用simulink搭建一个全加器,首先来认识一下全加器:

两个多位二进制数相加时,除了最低位外,每一位都应考虑来自低位的进位,即将两个对应位的加数和来自低位的进位三个数相加,这种运算称为全加,实现全加运算的电路成为全加器。

还有一点需要注意的是它与半加器的区别,半加器是将两个一位二进制数相加,所以只考虑两个加数本身,并不需要考虑由低位来的进位的运算。

在全加器中,通常用A和B分别表示加数和被加数,用Ci表示来自相邻低位的进位数,S表示全加器的和,Co表示向相邻高位的进位数。

接下来我们来列出真值表:
在这里插入图片描述

这里要注意的是,在实际应用中,Ci为前一位运算的向高位的进位,并不是人为控制输入。

根据真值表,我们来写出表达式
在这里插入图片描述在这里插入图片描述
在分析完之后,接下来就开始建立模型了:
首先新建一个空白编辑界面,步骤不再多说
在这里插入图片描述
接下来放置模块。
从表达式中我们可以知道,我们需要的运算模块有与门、或门和异或门。
拖动一个逻辑运算原件到编辑界面即可。
在这里插入图片描述这里有一个逻辑运算原件需要大家认识,XOR,就是异或。
在这里插入图片描述因为我们需要输入二进制数,所以我们还要一个可以产生周期矩形波的元件,在库中搜索"pulse"即可。
在这里插入图片描述连接电路图:
在这里插入图片描述
连接好之后,我们需要调整输入波形,并且用示波器进行验证。
首先来看输入波形的调整方法:
双击pulse
在这里插入图片描述
这里需要知道的是各个参数表示的意义:
Amplitude——振幅
Period——周期
Pulse Width——脉冲持续时间
Phase delay——相位

这里我们假设输入数据为000,001,010,011,100,101,110,111。
那么对应的设置为:
在这里插入图片描述接下来将示波器设置为三个输入,分别与三个矩形波相连,查看结果:
不会使用示波器的朋友请看我的上一篇文章https://blog.csdn.net/weixin_44936771/article/details/107885568
在这里插入图片描述
可以看出在A的一个周期内,从上往下,数据分别为000,001,010,011,100,101,110,111,符合我们的目的。

接下来再使用一个示波器与两个输出连接。
在这里插入图片描述

进行仿真,查看仿真结果:
在这里插入图片描述在这幅图中,上面是Co,下面是S,可以看出在一个周期内,输入和输出的数据与真值表相吻合,这说明我们成功了。

##以上就是本节的全部内容,后续内容会逐渐上传,相关源码也会统一上传,也可以到公众号私聊我要。
##不足之处请及时指出,相互学习
##不懂得小伙伴可以到我的公众号"歌者X"私信我,看到后会回复的,欢迎交流学习!
下面是我的公众号
在这里插入图片描述

最后

以上就是粗暴宝马为你收集整理的MATLAB之Simulink(三)全加器的全部内容,希望文章能够帮你解决MATLAB之Simulink(三)全加器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部