MATLAB课程设计-BCD码仿真_第1页
MATLAB课程设计-BCD码仿真_第2页
MATLAB课程设计-BCD码仿真_第3页
MATLAB课程设计-BCD码仿真_第4页
MATLAB课程设计-BCD码仿真_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

贵州航天职业技术学院MATLAB课程设计题目:BCD码编码器电路仿真姓名:洪霞学号:A093GZ053010101班级:09级计算机应用技术指导老师:周庆国 日期:2011-6-3前言MATLAB是目前国际上最流行,应用最广泛的科学与工程计算软件,具有语言简洁紧凑,使用方便,编程效率高,图形功能强,工具箱全面等特点,深受广大科技工作者的喜爱。随着MATLAB/Simulink通信、信号处理专业函数库和专业工具箱的成熟,它们逐渐为广大通信技术领域的专家学者和工程师所熟悉,在通信理论研究、算法设计、系统设计、建模仿真和性能分析验证等方面的应用也更加广泛。Simulink可视化仿真工具能够以非常直观的框图方式形象地对通信系统进行建模,并以“实时”和动画的方式来将模型仿真结果(如波形、频谱、数据曲线等)显示出来,更便于对通信系统的物理概念和运行过程的直观理解,所以近年来在通信工程专业中得到了广大师生的重视和广泛应用,在理论教学、课程实践环节,以及理论和技术前沿的研究中发挥了重要作用。在这次的课程设计中,我所介绍的是MATLAB应用于数字电路设计。主要是设计一个8421BCD编码器并对电路进行仿真。将会对MATLAB语言和simulink仿真进行介绍,还有在做8421BCD编码器并对电路进行仿真的过程中遇到一些问题和怎么解决的,如何仿真,仿真参数如何设置进行一些介绍。目录一、MATLAB概述 -3-1、MATLAB的简介 -3-2、MATLAB程序设计: -4-3、simulink仿真 -4-二、课程设计的目的及意义 -5-1、二-十进制编码器逻辑电路分析: -5-1.1、二-十进制编码器的真值表: -5-1.2、根据真值表写出逻辑函数式 -6-1.3、根据函数式得出电路图 -6-2、

二-十进制编码器逻辑电路原理及设计: -7-四、Simulink仿真 -7-1、Simulink启动 -7-2、Simulink模块库及模块操作 -8-3、仿真参数设定: -9-五、仿真实现编码器的过程 -9-1、运行MATLAB -9-2利用模块中的脉冲激励源连接电路证实逻辑函数图是否正确 -10-3、连线及其系统仿真(根据逻辑式完成连线) -11-六、课程设计总结 -18-七、参考文献 -19-

题目:设计一个BCD码编码器并对电路进行仿真一、MATLAB概述1、MATLAB的简介MATLAB语言是当今国际上科学界(尤其是自动控制领域)最具影响力、也是最有活力的软件。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。MATLAB语言在各国高校与研究单位起着重大的作用MATLAB的含义是矩阵实验室(MATRIXLABORATORY),主要用于方便矩阵的存取,其基本元素是无须定义维数的矩阵。MATLAB自问世以来,就是以数值计算称雄。MATLAB进行数值计算的基本单位是复数数组(或称阵列),这使得MATLAB高度“向量化”。经过十几年的完善和扩充,现已发展成为线性代数课程的标准工具。由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。美国许多大学的实验室都安装有MATLAB供学习和研究之用。在那里,MATLAB是攻读学位的大学生硕士生、博士生必须掌握的基本工具。MATLAB中包括了被称作工具箱(TOOLBOX)的各类应用问题的求解工具。工具箱实际上是对MATLAB进行扩展应用的一系列MATLAB函数(称为M文件),它可用来求解各类学科的问题,包括信号处理、图象处理、控制系统辨识、神经网络等。随着MATLAB版本的不断升级,其所含的工具箱的功能也越来越丰富,因此,应用范围也越来越广泛,成为涉及数值分析的各类工程师不可不用的工具。MATLAB7.0中包括了图形界面编辑GUI,改变了以前单一的“在指令窗通过文本形的指令进行各种操作”的状况。这可让使用者也可以象VB、VC、VJ、DELPHI等那样进行一般的可视化的程序编辑。在命令窗口(matlabcommandwindow)键入simulink,就出现(SIMULINK)窗口。以往十分困难的系统仿真问题,用SIMULINK只需拖动鼠标即可轻而易举地解决问题,这也是近来受到重视的原因所在。2、MATLAB程序设计:MATLAB有两种工作方式:一种是命令式的交互方式:另一种是M文件的程序工作方式。在前一种工作方式下,MATLAB被当作一种高级数学演算纸和图形表现器来使用,MATLAB提供一套完整的而易于使用的编程语言,为用户提供了二次开发的工具,下面主要介绍MATLAB控制语句和程序设计的基本方法。用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命令窗口输入该命令文件的名字,就会顺序执行命令文件中的命令。3、simulink仿真Sinulink是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入。其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编辑上。二、课程设计的目的及意义主要是设计一个8421BCD编码器并对电路进行仿真。主要是认识二-十进制编码器,知道为什么要用二-十进制编码器。因为人们习惯用十进制,以启动卷标提供库存信息的过程。而数字电路只识别二进制,对于可以预测需要与否的单元,则需要相互转换。认识二-十进制编码器,将0~9十个十进制数转换为二进制代码的电路。根据输出逻辑函数画出逻辑电路图。并在MATLAB上利用Simulink仿真对电路进行仿真。三、课程设计的思路及可行性1、二-十进制编码器逻辑电路分析:1.1、二-十进制编码器的真值表:当编码器某一个输入信号为1而其它输入信号都为0时,所以在扇区内大量采用并不会增加扰码。则有一组对应的数码输出,2009)。如I7=1时,如果代码大小减少4%,Y3Y2Y1Y0=0111。这样新的呼叫就可以在指定语音信道上进行。输出数码各位的权从高位到低位分别为8、4、2、1。直至识别出所有标签。很难使用当前的工具得出这些信息。该编码器输入I0~I9这10个编码信号也是相互排斥的。5、文件做数字签名ESPU0912内部存储的文件用私钥做数字签名后。1.2、根据真值表写出逻辑函数式1.3、根据函数式得出电路图8421BCD码编码器需要编码的10个输入信号:这是保护医疗设施内病患安全及确保应用时不可或缺的关键要求。I0~I9输出4位二进制代码:AD5791具有±1LSBDNL的相对精度规范,Y3、Y2、Y1、Y02、

二-十进制编码器逻辑电路原理及设计:将二进制数码0和1按一定规律编排起来,用来表示某种信息含义的一串符号称为编码,具有编码功能的逻辑电路称为编码器。二-十进制编码器是将十进制数码0~9编成二进制代码的电路。输入的是0~9十个数码,输出的是对应的四位二进制代码。这些二进制代码又称二-十进制代码,简称BCD(Binary-Coded-Decimal)码。

四位二进制代码共有0000~1111十六种状态,其中任何十种状态都可表示0~9十个数码,方案很多。最常用的是8421编码方式,就是在四位二进制代码的十六种状态中取出前面十种状态0000~1001表示0~9十个数码,后面六种状态1010~1111去掉。二进制代码各位的1所代表的十进制数从高位到低位依次为8,4,2,1,称之为“权”,而后把每个数码乘以各位的“权”,相加,即得出该二进制代码所表示的一位十进制数。

8421码与十进制数之间的转换是按位进行的,即十进制数的每一位与四位二进制编码对应。例如

(369)10=(001101101001)8421BCD

(0010000001001000)8421BCD=(2048)10

8421BCD编码器真值表如图所示。I0~I9是十个输入变量,分别代表十进制数码0~9,因此,它们中任何时刻仅允许一个有效(为1)。当输入某一个十进制数码时,只要使相应的输入端为高电平,其余各输入端均为低电平,编码器的四个输出端就将出现一组相应的二进制代码。四、Simulink仿真仿真要运用到Simulink,下面是关于Simulink的介绍。1、Simulink启动Simulink有四种启动方法:在MATLAB的命令窗口中输入Simulink,结果是在桌面上出现一个称为SimulinkLibraryBrowser的窗口,在这个窗口中列出了按功能分类的各种模块的名称;在MATLAB的命令窗口中输入Simulink3,结果是在桌面上出现一个用图标形式显示的Library:simulink3的simulink模块库窗口;可以通过单击MATLAB主窗口工具条上的simulink图标打开;可以通过单击MATLAB主窗口菜单选择File→New→Model,弹出一个Untitled的simulink模型窗口,在选择View→ShowLibraryBrowser,弹出SimulinkLibraryBrowser模块库窗口。2、Simulink模块库及模块操作Simulink模块库按照功能分类可分为:连续模块、离散模块、查表模块和用户定义函数模块、数学模块、非线性模块、信号通路模块、接收器模块、输入源模块、特别模块、其他常用方块组及工具箱。在模型窗口中,选中模块,则其4个角会出现黑色标记,此时可以对模块进行以下的基本操作:移动:选中模块,然后按鼠标左键将其拖拽到所需的位置即可。若要脱离线而移动,可按住Shift键,在进行拖拽。复制:选中模块,然后按住鼠标右键进行拖拽即可复制同样的一个功能模块。删除:选中模块,按住Delete键即可。若要删除多个模块,可以同时按住Shift键,再用鼠标选中多个模块,然后Delete键即可。也可以用鼠标选中某区域,再按Delete键就可以把该区域中的所有模块和线等全部删除。转向:为了能够顺序连接功能模块的输入和输出端,功能模块有时需要转向。在菜单Format→FilpBlock旋转180度,Format→RotateBlock顺时针旋转90度。改变大小:选中模块,对鼠标移到角上出现↔,进行拖拽即可。模块命名:先用鼠标在要更改的名称上单击一下,然后直接更改即可。名称在功能模块上的位置也可以变换180度,可以用Format→FilpName来实现,也可以直接通过鼠标拖拽。HideName可以隐藏模块名称。颜色设定:Format→ForegroundColor改变模块的前景颜色,BackgroundColor改变模块的背景颜色;而模型窗口的颜色可以通过ScreenColor来改变。参数设定:用鼠标双击模块,就可以进入模块的参数设定窗口,从而对模块进行参数设定。或点击鼠标右键,选择Blockparameters参数设定窗口包含了该模块的基本功能帮助。通过对模块的参数设定,就可以获得需要的功能模块。3、仿真参数设定:构建好一个系统的模型后,接下来的事情就是运行模型,得出仿真结果。运行一个仿真的完整过程分为三个步骤:设置仿真参数,启动仿真和仿真结果分析。选择Simulation菜单下的Parameters命令,就会弹出一个仿真参数对话框,它主要用三个页面来管理仿真的参数:Solver页,它允许用户设置仿真开始和结束的时间,选择解法器,说明解法器参数及选择一些输出选项;WorkspaceI/O页,作用是管理模型从MATLAB工作空间的输入和对他的输出;Diagnostics诊断页,允许用户选择Simulink在仿真中显示的警告信息的等级。五、仿真实现编码器的过程1、运行MATLAB新建一个模型文件,根据二-十进制编码器电路图添加模块。如下图:2利用模块中的脉冲激励源连接电路证实逻辑函数图是否正确下图是利用了脉冲激励源而连接的电路图(这个图是为了来表明电路连接图是否正确以及验证逻辑函数图是否正确)I0到I9这十个编码信号输入端根据编码器的设计要求分别代表十进制数码0~9,因此,它们中任何时刻仅允许一个有效(为1)。当输入某一个十进制数码时,只要使相应的输入端为高电平,其余各输入端均为低电平。周期设为10,脉冲宽度为1,相位延迟依次是0-9(I0为0、I1为1、I2为2…)。幅度和采样时间采用默认值。编码器输出的波形:这个图很好的说明了我所列出来的逻辑函数表达式是正确的下图是编码器输入的波形(所代表的是这十个的脉冲信号)3、连线及其系统仿真(根据逻辑式完成连线)当设置输入全部为高电平的时候图示编码器输入波形如下图:编码器输入波形(脉冲信号)如下图:当设置输入全部为低电平的时候图示编码器的输入波形如下图:3.2仿真结果实例分析:1、当IO的输入信号为1时。其他的为O时它相应的输出代码是0000。如下图:2、当I1的输入信号为1时。其他的为O时它相应的输出代码是0001。如下图:3、当I2的输入信号为1时。其他的为O时它相应的输出代码是0010。如下图:4、当I3的输入信号为1时。其他的为O时它相应的输出代码是0011。如下图:5、当I4的输入信号为1时。其他的为O时它相应的输出代码是0100。如下图:6、当I5的输入信号为1时。其他的为O时它相应的输出代码是0101。如下图:7、当I6的输入信号为1时。其他的为O时它相应的输出代码是0110。如下图:8、当I7的输入信号为1时。其他的为O时它相应的输出代码是0111。如下图:9、当I8的输入信号为1时。其他的为O时它相应的输出代码是1000。如下图:10、当I9的输入信号为1时。其他的为O时它相应的输出代码是1001

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论