基于MATLAB的组合逻辑电路设计和仿真.docx

上传人:b****7 文档编号:23522938 上传时间:2023-05-17 格式:DOCX 页数:24 大小:282.51KB
下载 相关 举报
基于MATLAB的组合逻辑电路设计和仿真.docx_第1页
第1页 / 共24页
基于MATLAB的组合逻辑电路设计和仿真.docx_第2页
第2页 / 共24页
基于MATLAB的组合逻辑电路设计和仿真.docx_第3页
第3页 / 共24页
基于MATLAB的组合逻辑电路设计和仿真.docx_第4页
第4页 / 共24页
基于MATLAB的组合逻辑电路设计和仿真.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

基于MATLAB的组合逻辑电路设计和仿真.docx

《基于MATLAB的组合逻辑电路设计和仿真.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的组合逻辑电路设计和仿真.docx(24页珍藏版)》请在冰豆网上搜索。

基于MATLAB的组合逻辑电路设计和仿真.docx

基于MATLAB的组合逻辑电路设计和仿真

课程设计任务书

学生姓名:

专业班级:

指导教师:

工作单位:

信息工程学院

题目:

基于MATLAB的组合逻辑电路设计与仿真

初始条件:

MATLAB软件微机

要求完成的主要任务:

深入研究和掌握数字电路中组合电路的理论知识。

利用MATLAB的强大的图形处理功能,符号运算功能和数值计算功能,实现组合逻辑电路的设计和仿真。

一、以编码器和译码器为例仿真下列波形

1.编码器输入输出波形(8线3线);

2.译码器输入输出波形(3线8线);

3.数据选择器输入输出波形(四选一数据选择器)

二、以译码器的级联为例实现系统的封装并仿真下列波形

译码器的输入输出波形(4线16线)

三、以七段数码管为例子完成数码管的图形输出显示

时间安排:

学习MATLAB语言的概况第1天

学习MATLAB语言的基本知识第2、3天

学习MATLAB语言的应用环境,调试命令,绘图能力第4、5天

课程设计第6-9天

答辩第10天

指导教师签名:

年月日

系主任(或责任教师)签名:

年月日

摘要

MATLAB是当今最优秀的科技应用软件之一,具有强大的科学计算与可视化功能、简单易用、开放式可扩展环境。

本文介绍了组合逻辑电路的MATLAB设计和仿真,在这种电路中,任意时刻的输出信号仅取决于当时的输入信号。

具备这种逻辑功能特点的电路叫做组合逻辑电路。

本次课程设计利用MATLAB中的M文件与SIMULINK方式完成了对组合逻辑电路的设计与仿真,初步了解与掌握了这一技能。

课程设计的主要内容包括了编码器、译码器、数据选择器的仿真及子系统的封装。

关键词:

matlab,simulink,组合逻辑电路

 

Abstract

MATLABisthemostoutstandingofsoftwaretechnologyapplicationnowadays,ithasstrongscientificcomputingandvisualfunction,anditiseasy-to-use,itcanbeextendbecauseofitsextensibleenvironment.ThispaperintroducesthehardwavecircuitdesignandsimulationofMATLAB,inthiscircuit,arbitrarymomentonlydependsontheinputsignalbefore,itscurrentstatedosenotmatter.Thiskindoflogichardwareiscalledcombinationallogiccircuit.

ThepurposeofourtrainingistostrengthentheuseofMATLABtoachievethehandlingofthe.MfilesandSimulink,includinganalyzing,designingandemulatingcombinationallogiccircuit.ItscontentcontainsEncoderanddecoder,dataselectorsimulationandtheencapsulationofthesubsystems.

Keywords:

matlab,simulink,combinationallogiccircuit

 

绪论

MATLAB和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

本设计利用MATLAB及Simulink仿真软件强大的图形处理功能,符号运算功能和数值计算功能,实现常见的组合逻辑电路如编码器、译码器、数据选择器等逻辑电路的设计及仿真。

本设计通过Simulink仿真软件使用常见的与、或、非等基本逻辑单元,延时信号、时钟信号等信号源和示波器完成以上各种逻辑电路的设计和仿真,同时通过MATLAB汇编语言实现以上各基本组合逻辑电路的逻辑表达式,并在给定输入信号的情况下完成并验证各基本组合逻辑电路的功能。

1matlab简介

1.1MATLAB程序设计

用MATLAB语言编写的程序,称为M文件。

M文件有两类:

命令文件和函数文件。

两者区别在于:

命令文件没有输入参数,也不返回输出参数;而函数文件可以输入参数,也可以返回输出参数。

命令文件对MATLAB工作空间的变量进行操作,而且函数文件中定义的变量为局部变量,当函数文件执行完毕时,这些变量被清除。

M文件可以使用任何编辑程序建立和编辑,而一般常用的是使用MATLAB提供的M文件窗口。

首先从MATLAB命令窗口的File菜单中选择New菜单项,在选择M-file命令,将得到的M文件窗口。

在M文件窗口输入M文件的内容,输入完毕后,选择此窗口File菜单的saveas命令,将会得到saveas对话框。

在对话框的File框中输入文件名,再选择OK按钮即完成新的M文件的建立。

然后在从MATLAB命令窗口的File菜单中选择Open对话框,则屏幕出现Open对话框,在Open对话框中的FileName框中输入文件名,或从右边的directories框中打开这个M文件。

在M文件所在的目录,再从FileName下面的列表框中选中这个文件,然后按OK按钮即打开这个M文件。

在M文件窗口可以对打开的M文件进行编辑修改。

在编辑完成后,选择File菜单中的Save命令可以把这个编辑过的M文件报存下来。

当用户要运行的命令较多或需要反复运行多条命令时,直接从键盘逐渐输入命令显得比较麻烦,而命令文件则可以较好地解决这一问题。

我们可以将需要运行的命令编辑到一个命令文件中,然后再MATLAB命令窗口输入该命令文件的名字,就会顺序执行命令文件中的命令。

1.2Simulink仿真

Simulink是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。

1.2.1Simulink启动

Simulink有四种启动方法:

(1)在MATLAB命令窗口中输入simulink,结果是在桌面上出现一个称为SimulinkLibraryBrowser的窗口,在这个窗口中列出了按功能分类的各种模块的名称;

(2)在MATLAB命令窗口中输入Simulink3,结果是在桌面上出现一个用图标形式显示的Library:

simulink3的Simulink模块库窗口;

(3)可以通过单击MATLAB主窗口工具条上的Simulink图标打开;

(4)可以通过单击MATLAB主窗口菜单选择FileNewModel,弹出一个Untitled的Simulink模型窗口,再选择ViewShowLibraryBrowser,弹出SimulinkLibraryBrower模块库窗口。

1.2.2Simulink模块库及模块操作

Simulink模块库按照功能分类可以分为:

连续模块、离散模块、查表模块和用户定义函数模块、数学模块、非线性模块、信号通路模块、接收器模块、输入源模块、特别模块、其他常用方块组及工具箱。

在模型窗口中,选中模块,则其4个角会出现黑色标记,此时可以对模块进行以下的基本操作:

(1)移动:

选中模块,按住鼠标左键将其拖曳到所需的位置即可。

若要脱离线而移动,可按住shift键,再进行拖曳。

(2)复制:

选中模块,然后按住鼠标右键进行拖曳即可复制同样的一个功能模块。

(3)删除:

选中模块,按Delete键即可。

若要删除多个模块,可以同时按住Shift键,再用鼠标选中多个模块,按Delete键即可。

也可以用鼠标选取某区域,再按Delete键就可以把该区域中的所有模块和线等全部删除。

(4)转向:

为了能够顺序连接功能模块的输入和输出端,功能模块有时需要转向。

在菜单FormatFlipBlock旋转180度,FormatRotateBlock顺时针旋转90度。

(5)改变大小:

选中模块,对鼠标移到角上出现,进行拖曳即可。

(6)模块命名:

先用鼠标在需要更改的名称上单击一下,然后直接更改即可。

名称在功能模块上的位置也可以变换180度,可以用FormatFlipName来实现,也可以直接通过鼠标进行拖曳。

HideName可以隐藏模块名称。

(7)颜色设定:

FormatForegroundColor改变模块的前景颜色,BackgroundColor改变模块的背景颜色;而模型窗口的颜色可以通过ScreenColor来改变。

(8)参数设定:

用鼠标双击模块,就可以进入模块的参数设定窗口,从而对模块进行参数设定。

或点击鼠标右键,选择Blockparameters参数设定窗口包含了该模块的基本功能帮助。

通过对模块的参数设定,就可以获得需要的功能模块。

1.3子系统的创建与封装

在建立的Simulink系统模型比较大或很复杂时,可将一些模块组合成子系统,这样可使

1.模型得到简化,便于连线;

2.可提高效率,便于调试;

3.可生成层次化的模型图表,用户可采取自上而下或自下而上的设计方法。

将一个创建好的子系统进行封装,也就是使子系统象一个模块一样,例如可以有自己的参数设置对话框,自己的模块图标等。

这样就使子系统使用起来非常方便。

1.3.1子系统的创建

1.通过子系统模块来建立子系统

在Simulink库浏览器,有一个子系统(Subsystems)的库模块(有的版本在Signals&Systems子库里),点击该图标即可看到不同类型的子系统模块。

2.组合已存在的模块来建立子系统

如果现有的模型已经包含了需要转化成子系统的模块,就可以通过组合这些模块的方式建立子系统。

步骤如下:

确定需建立Subsystem的模型(被选中的均标记有黑块);

点击模型窗Edit菜单下的CreateSubsystem命令,则所选定的模型组合自动转化成子系统;

双击该图标,可打开该子系统窗口,改写输入输出符号;

关闭子系统编辑窗口,设置子系统标签。

1.3.2子系统的封装

子系统可以建立自己的参数设置对话框,以避免对子系统内的每个模块分别进行参数设置,因此在子系统建立好以后,需对其进行封装。

子系统封装的基本步骤如下:

a.设置好子系统中各模块的参数变量;

b.定义提示对话框及其特性;

c.定义被封装子系统的描述和帮助文档;

d.定义产生模块图标的命令。

2组合逻辑电路及其设计

根据逻辑功能的不同,数字电路分为两大类:

一类是组合逻辑电路,另一类是时序逻辑电路。

在组合电路中,任意时刻的输出仅取决于该时刻的输入,与电路的原始状态无关。

常见的组合逻辑电路有数据选择器、编码器、译码器、数据分配器、数据比较器等典型的中规模组合逻辑器件。

在时序电路中,任意时刻的输出不仅取决于该时刻的输入,而且与该时刻之前电路的状态有关。

常见的时序电路有触发器、锁存器等中规模时序器件。

组合逻辑电路的结构具有以下特点:

输出输入之间没有反馈延迟通路;电路中不含有记忆功能的元件。

2.1编码器

用文字、符号或数码表示特定对象的过程叫做编码。

实现编码操作的电路就是编码器。

按照编码信号的不同特点和要求,常用的编码器件有二进制编码器、二-十进制编码器、优先编码器之分。

所谓优先编码器,就是按优先级别的高低进行编码的电路。

至于级别的高低,完全由设计人员根据各个输入信号的要求决定。

以8线3线优先编码器为例,其逻辑功能真值表如表2-1所示,从功能表中可以看出,该编码器有8个信号输入端,3个二进制输出端,输入和输出均以高电平作为有效电平,而且输入优先级别的次序依次I7、I6、I5、I4、I3、I2、I1、I0。

此外为方便多个芯片连接起来扩展电路的功能,还设置了高电平有效地输入使能端EI。

当EI=1时,编码器工作;而当EI=0时,禁止编码器工作,此时不论8个输入端为何种状态,3个输入端均为低电平。

功能表中1和0分别表示高、低电平,画出8线3线编码器的卡诺图并推导出各输出端的逻辑表达式:

A2=EI&(~((~I7)&(~I6)&(~I5)&(~I4)));

A1=EI&(~((~I7)&(~I6)&(I5+I4+(~I3))&(I5+I4+(~I2))));

A0=EI&(~((~I7)&(I6+(~I5))&(I6+I4+(~I3))&(I6+I4+I2+(~I1))));

表2-18线3线优先编码器真值表

输入

输出

EI

I7

I6

I5

I4

I3

I2

I1

I0

A2

A1

A0

H

×

×

×

×

×

×

×

×

Z

Z

Z

L

H

H

H

H

H

H

H

H

Z

Z

Z

L

L

×

×

×

×

×

×

×

L

L

L

L

H

L

×

×

×

×

×

×

L

L

H

H

H

H

L

×

×

×

×

×

L

H

L

L

H

H

H

L

×

×

×

×

L

H

H

L

H

H

H

H

L

×

×

×

H

L

L

L

H

H

H

H

H

L

×

×

H

L

H

L

H

H

H

H

H

H

L

×

H

H

L

L

H

H

H

H

H

H

H

L

H

H

H

2.2译码器

译码是编码的逆过程,它的功能是将具有特定含义的二进制编码进行分辨,并且转换成控制信号,具有译码功能的逻辑电路称为译码器。

常用的译码器件有二进制译码器、3线-8线译码器、4线-16线译码器、BCD译码器、七段显示译码器件等。

2.2.1二进制译码器

常见的集成二进制译码器有CMOS和TTL的定型产品,两者在逻辑功能上没有区别,只是电性能参数不同,用74x137表示两者中的任意一种。

74x139是双线译码器,两个独立的译码器封装在一个集成片中。

下面主要介绍74HC137的逻辑功能及应用。

功能表中1和0分别表示高、低电平,画出3线8线译码器的卡诺图并推导出各输出端的逻辑表达式:

Y7=EI&(~(A2&A1&A0));Y6=EI&(~(A2&A1&(~A0)));

Y5=EI&(~(A2&(~A1)&A0));Y4=EI&(~(A2&(~A1)&(~A0)));

Y3=EI&(~((~A2)&A1&A0));Y2=EI&(~((~A2)&A1&(~A0)));

Y1=EI&(~((~A2)&(~A1)&A0));Y0=EI&(~((~A2)&(~A1)&(~A0)));

74HC137是3线8线译码器,其功能表如表2-2所示。

表2-23线8线译码器真值表

输入

输出

EI

A2

A1

A0

Y7

Y6

Y5

Y4

Y3

Y2

Y1

Y0

L

×

×

×

H

H

H

H

H

H

H

H

H

L

L

L

H

H

H

H

H

H

H

L

H

L

L

H

H

H

H

H

H

H

L

H

H

L

H

L

H

H

H

H

H

L

H

H

H

L

H

H

H

H

H

H

L

H

H

H

H

H

L

L

H

H

H

L

H

H

H

H

H

H

L

H

H

H

L

H

H

H

H

H

H

H

H

L

H

L

H

H

H

H

H

H

H

H

H

H

L

H

H

H

H

H

H

H

2.2.2显示译码器

数码显示器就是用来显示数字、文字或符号的器件。

七段显示器有两种,共阴极和共阳极电路,共阴极电路中,七个发光二极管的阴极连接在一起接低电平。

共阳极显示器的驱动则刚好相反。

为了是数码管能显示十进制数,必须将十进制数的代码经译码器译出,然后经驱动去点亮对应的段。

译码器的功能就是,对应于某一段数码输入,相应的几个输出端有有效信号输出。

常用的七段显示译码器有两类,一类译码器输出高电平有效信号,用来驱动共阴极显示器,另一类输出低电平信号,以驱动共阳极显示器。

下面介绍一种常用的CMOS七段译码器,其真值表如表2-3所示。

表2-3共阴极七段译码器真值表

输入

输出

A

B

C

D

a

b

c

d

e

f

g

0

L

L

L

L

H

H

H

H

H

H

L

1

L

L

L

H

L

H

H

L

L

L

L

2

L

L

H

L

H

H

L

H

H

L

H

3

L

L

H

H

H

H

H

H

L

L

H

4

L

H

L

L

L

H

H

L

L

H

H

5

L

H

L

H

H

L

H

H

L

H

H

6

L

H

H

L

H

L

H

H

H

H

H

7

L

H

H

H

H

H

H

L

L

L

L

8

H

L

L

L

H

H

H

H

H

H

H

9

H

L

L

H

H

H

H

H

L

H

H

A

H

L

H

L

H

H

H

L

H

H

H

B

H

L

H

H

L

L

H

H

H

H

H

C

H

H

L

L

H

L

L

H

H

H

L

D

H

H

L

H

L

H

H

H

H

L

H

E

H

H

H

L

H

L

L

H

H

H

H

F

H

H

H

H

H

L

L

L

H

H

H

2.3数据选择器

数据选择器又称多路选择器(MUX)。

每次在地址输入的控制下,从多路输入数据中选择一路输出,其功能类似于一个单刀双掷开关。

常用的数据选择器有2选1、4选1、8选1、16选1等。

数据选择器的电路结构一般由与或门阵列组成,也有用传输门开关和门电路混合而成的。

下面以4选1数据选择器为例进行分析,其真值表如表2-4所示。

当输入地址为00时,输出信号为D0;当输入地址为01时,输出信号为D1;当输入地址为10时,输出信号为D2;当输入地址为11时,输出信号为D3。

根据功能表可以写出输出信号Y的表达式:

Y=((~S2)&(~S1)&D0)|((~S2)&S1&D1)|(S2&(~S1)&D2)|(S2&S1&D3);

表2-44选1数据选择器功能表

输入地址

输出

S1

S0

Y

L

L

D0

L

H

D1

H

L

D2

H

H

D3

3基于MATLAB的组合逻辑电路仿真实现

3.1以编码器和译码器为例的仿真

3.1.18线3线编码器的仿真

进入Simulink仿真界面后,按照8线3线编码器的逻辑表达式逐一拖入所需的原件,先摆置好基本位置,然后进行连接,最后得到的8线3线编码器的原理图如图3-1所示。

然后,设置好各输入脉冲后,点击

进行仿真,然后分别点击查看输入输出信号的示波器查看波形,可观察得到8线3线编码器的输入输出波形如图3-2所示。

根据波形可知所设计的8线3线编码器,在一定输入的情况下均可得到相应的正确的输出,即该设计符合设计要求。

图3-18线3线编码器组合逻辑原理图

图3-28线3线编码器输入输出仿真波形

3.2.23线8线译码器的仿真

进入Simulink仿真界面后,按照3线8线译码器的逻辑表达式逐一拖入所需的原件并进行连接如图3-3所示,设置好输入脉冲后,再仿真,然后分别点击查看输入输出信号的示波器查看波形,如图3-4所示,根据以下波形可以看出所设计的3线8线译码器,在给不同输入的情况下均可得到相应的正确的输出,即该设计符合设计要求。

图3-33线8线译码器原理图

图3-43线8线译码器输入输出仿真波形

3.3.34选1数据选择器的仿真

进入Simulink仿真界面后,按照4选1数据选择器的逻辑表达式逐一拖入的原件先摆置好基本位置,然后进行连接,最后得到的4选1数据选择器的原理图如图3-5所示。

图3-54选1数据选择器原理图

设置好输入时钟脉冲后,点击

进行仿真,然后分别点击查看输入输出信号的示波器查看波形,如图3-6所示,其中信号D3是高电平信号,信号D2为周期是2的脉冲信号,信号D1是低电平信号,信号I0为周期是0.5的脉冲信号。

根据以下波形可以看出所设计的4选1数据选择器,在给不同输入的情况下均可得到相应的正确的输出,即该设计符合设计要求。

图3-64选1数据选择器输入输出仿真波形图

3.2以译码器的级联为例实现系统的封装并仿真

3.2.13线8线译码器的封装

在设计完3线8线译码器后为了完成4线16线的设计,需要对3线8线译码器进行封装,下面将详细介绍,首先在3线8线译码器原理图上选中需要封装的部分,然后选择Edit菜单下的CreateSubsystem。

在创建好一个新的系统后需要对其进一步封装,设置其有关属性,首先选中创建好的系统后选择Edit菜单下的MaskSubsystem命令,这是就会出现一个对话框:

MaskEditor,将这个对话框设置好,模块就封装成功了。

首先需要在Icon页设置封装模块的图标,在最顶部的是封装类型,中间的编辑框是用来写如图标绘制命令,这里可以填写MATLAB的绘图命令,但更常用的是显示文本的命令:

disp、text、fprintf和port-label。

设置Icon页后还需要设置Documentation页,在该页中的三个编辑框可以分别为封装模块设置封装类型、秒数文件和帮助文件,封装类型我们已经设置好了,它将作为模块的标题出现在对话框的顶部,在模块的描述编辑框中,我们可以填入对模块的描述文本。

设置好Documentation页后对该模块点击OK键就可以看到封装后的模块了,如图3-7所示,模块的中间是输出了我们设置的文本,然后双击该模块,这次看到的不再是子系统的电路了,而是一个模块对话框,封装后的子系统如图3-7所示。

 

图3-7封装后的3-8译码器

3.2.24线16线译码器的仿真

4线16线译码器可以用2片3线8线译码器和一个反相器级联而成,其原理图如图3-8所示,

图3-84线16线级联原理图

设置好输入时钟脉冲后,点击

进行仿真,然后分别点击查看输入输出信号的示波器查看波形,如图3-9、图3-10和图3-11所示,根据以下波形可以看出所设计的4线16线译码器,在给

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1