毕业论文-基于matlab的逻辑电路设计与仿真(37页).doc
《毕业论文-基于matlab的逻辑电路设计与仿真(37页).doc》由会员分享,可在线阅读,更多相关《毕业论文-基于matlab的逻辑电路设计与仿真(37页).doc(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-毕业论文-基于matlab的逻辑电路设计与仿真-第 36 页基于MATLAB的逻辑电路设计与仿真重庆工商大学 计算机科学与信息工程学院 电子信息工程 2008级2班 果佳指导教师: 蔡忠见摘要MATLAB具有强大的图形处理功能、符号运算功能和数值计算功能。MATLAB工具几乎涵盖了整个科学技术运算领域。其中系统的仿真(Simulink)工具箱是从底层开发的一个完整的仿真环境和图形界面。在这个环境中,用户可以完成面向框图系统仿真的全部过程,并且更加直观和准确地达到仿真的目标。此次,以数字电路中的逻辑电路为线索来学习Simulink,了解了许多数字电路中常用模块的使用方法.电路中除具有逻辑运算功
2、能的组合电路外,还必须有能够记忆电路状态的存储单元或延迟单元,这些存储或延迟单元主要由本次设计所用到的触发器来实现。D触发器、RS触发器、JK触发器等这些时序逻辑电路中常用的器件在Simulink中都有相应的仿真模块,除此之外,用户还可以自行设计封装模块来一步一步完成更大的电路系统,实现更强大的逻辑功能。 利用MATLAB 软件,通过设计图形用户界面(GUI),说明Matlab功能强大、简单实用、调节容易、可视性好,可大大提高计算效率,缩短编程时间,是一种简便实用的计算工具,可成功地应用于信号处理中,在教学和研究等领域具有广泛的应用前景和一定的推广价值。关键词:MATLAB、Simulink、
3、逻辑电路、GUIAbstractMATLAB has a powerful graphics processing capabilities, symbolic computing and numerical computing functions. MATLAB tools are covering almost the entire scientific and technical computing. One system simulation toolbox is from the bottom of the development of a complete simulation e
4、nvironment and the graphical interface. In this environment, the user can complete system simulation block diagram for the entire process and achieve a more intuitive and accurate simulation of goal. This time, with digital circuits in the logic circuits for clues to learn Simulink, learned a lot in
5、 common digital circuit module is used. Sequential circuits, in addition to features with a logical combination of the circuit, but also must be able to remember the state of the circuit memory cell or delay unit, the storage or delay units primarily used in the design of this flip-flop to achieve.
6、D flip-flops, RS flip-flop, JK flip-flop sequential logic circuits such as those commonly used in devices in Simulink, the simulation has a corresponding module, in addition, Users can also design their own package module step by step to complete a larger circuit system to achieve more powerful logi
7、c function. Through the design of graphical user interface (GUI) by Using Matlab,we can learn that Matlab is powerful, simple, practical, easy adjustment, visibility, and can greatly improve the computational efficiency and shorten the programming time is a simple and practical tool,can be successfu
8、lly applied to signal processing, in the teaching and research in areas such as the application of a wide range of prospects and the promotion of a certain value.Keywords: MATLAB, Simulink, logic circuits,GUI目录摘要1Abstract2第一章 绪论- 5 -第二章 设计目的、内容和思想- 5 -2.1设计的目的和内容- 5 -2.1.1设计目的- 5 -2.1.2 设计的内容- 5 -2.
9、2设计思想- 6 -第三章 MATLAB简介- 6 -3.1 MATLAB程序设计- 8 -3.2 Simulink仿真- 8 -3.2.1 Simulink 启动- 9 -3.2.2 Simulink 模块库及模块操作- 9 -3.2.3 仿真参数设置- 10 -3.3图形用户界面(GUI)- 11 -第四章 逻辑电路及其设计- 11 -4.1 组合逻辑电路- 12 -4.1.1 8线3线编码器- 12 -4.1.2 3线8线译码器- 13 -4.1.3 7段数码管- 14 -4.1.4 4选1数据选择器- 15 -4.2 时序逻辑电路- 16 -4.2.1 并行寄存器- 16 -4.2.2
10、 移位寄存器- 17 -4.2.3 双向移位寄存器的设计- 18 -4.2.4 扭环计数器- 21 -第五章 基于MATLAB的组合逻辑电路仿真- 22 -5.1 8线3线编码器的设计及仿真- 22 -5.1.1 M文件程序设计- 22 -5.1.2 Simulink仿真- 23 -5.2 3线8线译码器的设计及仿真- 24 -5.2.1 M文件程序设计- 24 -5.2.2 Simulink仿真- 25 -5.3 7段数码管- 26 -5.3.1 M文件程序设计- 26 -5.3.2 Simulink仿真305.4 数据选择器的设计及仿真315.4.1 M文件程序设计315.4.2 Simu
11、link仿真31第六章 基于MATLAB的时序逻辑电路仿真326.1 并行寄存器的电路设计与仿真326.1.1 并行寄存器的电路设计326.1.2 并行寄存器的电路参数设置与仿真336.2 移位寄存器的电路设计与仿真346.2.1 移位寄存器的电路设计346.2.2 移位寄存器的电路参数设置与仿真356.3 双向移位寄存器的电路设计与仿真356.3.1 双向移位寄存器的设计356.3.2 双向移位寄存器电路设置与仿真376.4 扭环计数器的电路设计与仿真386.4.1 扭环计数器内部电路和封装的设计386.4.2 顶层仿真电路的设计396.4.3 扭环计数器的参数设置与仿真39第七章 图形用户
12、界面(GUI)的实现407.1 GUI界面设计概述407.2 GUI总界面41总结与心得体会43致谢45参考文献46第一章 绪论本设计利用MATLAB及Simulink仿真软件强大的图形处理功能,符号运算功能和数值计算功能,实现常见的逻辑电路如编码器、译码器、数据选择器、触发器、锁存器等逻辑电路的设计及仿真。本设计通过Simulink仿真软件使用常见的与、或、非等基本逻辑单元,延时信号、时钟信号等信号源和示波器完成以上各种逻辑电路的设计和仿真,同时通过MATLAB汇编语言实现以上各基本逻辑电路的逻辑表达式,并在给定输入信号的情况下完成并验证各基本逻辑电路的功能。通过程序设计和波形输入输出仿真两
13、种方法来共同完成各种基本的逻辑电路的设计。第二章 设计目的、内容和思想2.1设计的目的和内容2.1.1设计目的(1)在了解MATLAB语言的基础上进一步掌握和精通MATLAB;(2)利用MATLAB强大的程序设计和仿真分析功能完成常见的逻辑电路的设计及仿真。 (3)学会使用Sinulink和GUI的基本应用和设置。2.1.2 设计的内容深入研究和掌握数字逻辑电路的理论知识,并根据已知条件利用MATLAB的强大的图形处理功能,符号运算功能和数值计算功能,实现以下逻辑电路的设计和仿真:(1)组合逻辑电路设计与仿真8线3线编码器3线8线译码器7段数码管四选一数据选择器 (2)时序逻辑电路的设计与仿真
14、 2位并行寄存器 4位移位寄存器 双向移位寄存器 扭环计数器2.2设计思想本设计以Simulink仿真系统中的基本逻辑元件、时钟信号和示波器为核心进行编码器、译码器、数据选择器及 2位并行寄存器、4位移位寄存器、双向移位寄存器、扭环计数器的输入输出波形的设计和仿真,同时以MATLAB汇编语言和各种基本组合逻辑电路的逻辑表达式为基础实现组合逻辑电路的设计并验证其逻辑功能。第三章 MATLAB简介 MATLAB的名称源自Matrix Laboratory,它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学
15、计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB产品以提高产品自身的竞争能力MATLAB是MATLAB产品家族的基础,它提供了基本的数学算法,例如矩阵运算、数值分析算法,MATLAB集成了2D和3D图形功能,以完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言M语言,利用M语言可以通过编写脚本或者函数文件实现用户自己的算法。 利用M语言还开发了相应的MATLAB专业工具箱函数供用户直接使用。这些工具箱应用的算法是开放的可扩展的,用户不仅可以查看其
16、中的算法,还可以针对一些算法进行修改,甚至允许开发自己的算法扩充工具箱的功能。目前MATLAB产品的工具箱有四十多个,分别涵盖了数据采集、科学计算、控制系统设计与分析、数字信号处理、数字图像处理、金融财务分析以及生物遗传工程等专业领域。 Simulink是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,它的 建模范围广泛,可以针对任何能够用数学来描述的系统进行建模,例如航空航天动力学系统、卫星控制制导系统、通讯系统、船舶及汽车动力学系统等等,其中包括连续、离散,条件执行,事件驱动,单速率、多速率和混杂系统等等。Simulink提供了利用鼠标拖放的方法建立系统框图模型
17、的图形界面,而且Simulink还提供了丰富的功能块以及不同的专业模块集合,利用Simulink几乎可以做到不书写一行代码完成整个动态系统的建模工作。 Stateflow是一个交互式的设计工具,它基于有限状态机的理论,可以用来对复杂的事件驱动系统进行建模和仿真。Stateflow与Simulink和MATLAB紧密集成,可以将Stateflow创建的复杂控制逻辑有效地结合到Simulink的模型中。 在MATLAB产品族中,自动化的代码生成工具主要有Real-Time Workshop(RTW)和Stateflow Coder,这两种代码生成工具可以直接将Simulink的模型框图和State
18、flow的状态图转换成高效优化的程序代码。利用RTW生成的代码简洁、可靠、易读。目前RTW支持生成标准的C语言代码,并且具备了生成其他语言代码的能力。整个代码的生成、编译以及相应的目标下载过程都可以自动完成,用户需要做的仅仅使用鼠标点击几个按钮即可。MathWorks公司针对不同的实时或非实时操作系统平台,开发了相应的目标选项,配合不同的软硬件系统,可以完成快速控制原型(Rapid Control Prototype)开发、硬件在回路的实时仿真(Hardware-in-Loop)、产品代码生成等工作。 另外,MATLAB开放性的可扩充体系允许用户开发自定义的嵌入式系统目标,利用Real-Tim
19、e Workshop Embedded Coder能够直接将Simulink的模型转变成效率优化的产品级代码。代码不仅可以是浮点的,还可以是定点的。 MATLAB开放的产品体系使MATLAB成为了诸多领域的开发首选软件,并且,MATLAB还具有300余家第三方合作伙伴,分布在科学计算、机械动力、化工、计算机通讯、汽车、金融等领域。接口方式包括了联合建模、数据共享、开发流程衔接等等。 MATLAB结合第三方软硬件产品组成了在不同领域内的完整解决方案,实现了从算法开发到实时仿真再到代码生成与最终产品实现的完整过程。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技
20、应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。3.1 MATLAB程序设计MATLAB有两种工作方式:一种是交互式的命令行工作方式;另一种是M文件的程序工作方式。在前一种工作方式下,MATLAB被当做一种高级数学演算纸和图形表现器来使用,MATLAB提供了一套完整的而易于使用的编程语言,为用户提供了二次开发的工具,下面主要介绍MATLAB控制语句和程序设计的基本方法。用MATLAB语言编写的程序,称为M文件。M文件有两类
21、:命令文件和函数文件。两者区别在于:命令文件没有输入参数,也不返回输出参数;而函数文件可以输入参数,也可以返回输出参数。命令文件对MATLAB工作空间的变量进行操作,而且函数文件中定义的变量为局部变量,当函数文件执行完毕时,这些变量被清除。M文件可以使用任何编辑程序建立和编辑,而一般常用的是使用MATLAB提供的M文件窗口。首先从MATLAB命令窗口的File菜单中选择New菜单项,在选择M-file命令,将得到的M文件窗口。在M文件窗口输入M文件的内容,输入完毕后,选择此窗口File菜单的save as命令,将会得到save as 对话框。在对话框的File 框中输入文件名,再选择OK按钮即
22、完成新的M文件的建立。然后在从MATLAB 命令窗口的File 菜单中选择Open对话框,则屏幕出现Open对话框,在Open对话框中的File Name 框中输入文件名,或从右边的directories框中打开这个M文件。在M文件所在的目录,再从File Name 下面的列表框中选中这个文件,然后按OK按钮即打开这个M文件。在M文件窗口可以对打开的M文件进行编辑修改。在编辑完成后,选择File菜单中的Save命令可以把这个编辑过的M文件报存下来。当用户要运行的命令较多或需要反复运行多条命令时,直接从键盘逐渐输入命令显得比较麻烦,而命令文件则可以较好地解决这一问题。我们可以将需要运行的命令编辑
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 基于 matlab 逻辑电路 设计 仿真 37
限制150内