基于MATLAB的组合逻辑电路设计和仿真设计.docx
《基于MATLAB的组合逻辑电路设计和仿真设计.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的组合逻辑电路设计和仿真设计.docx(20页珍藏版)》请在冰豆网上搜索。
基于MATLAB的组合逻辑电路设计和仿真设计
课程设计任务书
基于MATLAB的组合逻辑电路设计与仿真
初始条件:
MATLAB软件微机
要求完成的主要任务:
深入研究和掌握数字电路中组合电路的理论知识。
利用MATLAB的强大的图形处理功能,符号运算功能和数值计算功能,实现组合逻辑电路的设计和仿真。
一、以编码器和译码器为例仿真下列波形
1.编码器输入输出波形(8线3线);
2.译码器输入输出波形(3线8线);
3.数据选择器输入输出波形(四选一数据选择器)
二、以译码器的级联为例实现系统的封装并仿真下列波形
译码器的输入输出波形(4线16线)
三、以七段数码管为例子完成数码管的图形输出显示
时间安排:
学习MATLAB语言的概况第1天
学习MATLAB语言的基本知识第2、3天
学习MATLAB语言的应用环境,调试命令,绘图能力第4、5天
课程设计第6-9天
答辩第10天
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
摘要I
AbstractII
绪论III
1matlab简介1
1.1MATLAB程序设计1
1.2Simulink仿真1
1.2.1Simulink启动1
1.2.2Simulink模块库及模块操作2
1.3子系统的创建与封装2
1.3.1子系统的创建3
1.3.2子系统的封装3
2组合逻辑电路及其设计3
2.1编码器3
2.2.2显示译码器5
2.3数据选择器6
3基于MATLAB的组合逻辑电路仿真实现6
3.1以编码器和译码器为例的仿真6
3.1.18线3线编码器的仿真6
3.2.23线8线译码器的仿真8
3.3.34选1数据选择器的仿真9
3.2以译码器的级联为例实现系统的封装并仿真10
3.2.13线8线译码器的封装10
3.2.24线16线译码器的仿真11
3.3以七段数码管为例子完成数码管的图形输出显示13
结束语15
致16
参考文献17
摘要
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子系统的封装