1、基础强化训练学 号: 0121011360101基础强化训练题 目MATLAB在“JK触发器”中的应用学 院自动化学院专 业自动化班 级自动化1001姓 名指导教师李浩2012年7月7日摘要MATLAB是一款功能非常强大的数学软件,主要面对科学计算、可视化以及交互式程序设计的高科技计算环境,主要包括MATLAB与simulink两大部分。本文主要介绍MATLAB在数字电子技术方面的应用,采用MATLAB 2009a (MATLAB7.8.0)为软件工具,以simulink6.0工具箱为仿真工具,以JK触发器作为主要介绍对象进行数字电路在MATLAB中的仿真运行。通过此次仿真达到熟练运用MATL
2、AB与simulink处理电子电路方面的问题,学会排查电路故障,强化专业技能。关键词:MATLAB simulink 仿真 JK触发器JK触发器在MATLAB中的仿真分析1 JK触发器理论分析与归纳总结1.1 JK触发器的逻辑电路简介JK触发器内部采用与或非电路结构,属于下降沿触发的触发器,可分为边沿JK触发器、边沿型JK触发器与主从JK触发器,它们三者的状态转移真值表、特征方程、状态转移图及激励表与主从JK触发器完全一致。下面以主从JK触发器为例介绍JK触发器的内部结构与功能。主从JK 触发器是在主从RS触发器的基础上组成的,如图1所示。图1在主从RS触发器的R端和S端分别增加一个两输入端的
3、与门G11和G10,将Q端和输入端经与门输出为原S端,输入端称为J端,将Q端与输入端经与门输出为原R端,输入端称为K端。 1.2 JK触发器的逻辑功能由上面的电路可得到S=JQ,R=KQ。代入主从RS触发器的特征方程得到:将所有可能情况罗列如下。J=1 K=0时, =1; J=0 K=1时,=0; J=K=0时,=; J=K=1时, =;列写JK触发器的真值表,如表1所示。表1JK说明0000输出状态不变00110100恒为001101001恒为110111101输出状态与原状态相反11101.3 JK触发器的功能总结对JK 触发器归纳为以下几点: JK触发器具有置位、复位、保持(记忆)和计数
4、功能; JK触发器属于脉冲触发方式,触发翻转只在时钟脉冲的负跳变沿发生; 不存在约束条件,但存在一次变化现象; 产生一次变化的原因是因为在CP=1期间,主触发器一直在接收数据,但主触发器在某些条件下(Q=0,CP=1期间J端出现正跳沿干扰或Q=1,CP=1期间K端出现正跳沿干扰),不能完全随输入信号的变化而发生相应的变化,以至影响从触发器 状态与输入信号的不对应。2 电路分析在如图2所示的电路中,给图中三个JK触发器依次命名F0,F1,F2。在该数字电路图中,各JK触发器的J,K始终相等。依JK触发器的逻辑图知,J=K=1时,JK触发器输出=,为一反向器;J=K=0时,=,保持逻辑值。图2依该
5、电路图可列出其状态方程。 , =+ =+ 画出该时序电路的状态转换表,如表2所示。表2C00011111110011111100010110100001111010101001000000101100001011010001001111000110状态转换图如图3所示。图33 该电路在MATLAB中的分析3.1 连接电路图在MATLAB主界面Commend Window中输入“Simulink”即可启动Simulink仿真工具箱。在弹出的Simulink Library Browser窗口中寻找JK触发器(JK Flip-Flop)、逻辑与运算符(Logical Operator)、信号源(C
6、onstant)、时钟信号(Clock)以及示波器(Scope)等子模块。其中JK触发器在Simulink Extra工具箱中,逻辑与运算符、信号源、时钟信号及示波器均在Simulink工具箱中。找到各子模块后,将它们拖动到新建窗口JK中。按照所给的电路图依次连线。连接后如图4所示。图43.2 设置参数 图4的电路图仅仅只是粗糙的电路图,还需要通过修改各个参数增强其功能。 双击信号源Constent,在弹出的Source Block Parameters:Constant窗口中,在main框中输入“1”,在Signal Attributes框中的Output data type中选择“Bool
7、ean”,表示选用布尔代数逻辑体系。 双击时钟信号Clock,在弹出的Source Block Parameters:Clock窗口中,在Period框中输入“2”,表示以2秒为一个周期。双击示波器Scope,在弹出的Scope窗口中,点击上排菜单栏的第二个,弹出Scope parameters对话框。在Number of axes中输入“5”,表示接收5个信号。在Time labels中选择“all”。修改好后点击“OK”回到Scope窗口。在窗口中出现的5个坐标图中,右键单击选择Axes properties。在弹出的Scope properties:axis 2对话框中,Y-min中输入
8、“-1”,Y-max中输入“1”。在title中输入“Clock”,点击“OK”即可。同理修改剩下的4个坐标图,只是在title中分别输入“Q0”、“Q1”、“Q2”、“C”。这5个坐标图分别观察时钟信号、Q0、Q1、Q2、C的数值。单击JK窗口上方simulation,选择Configuration Parameters。打开后在所给窗口中的Solver options中的solver选项改为Discrete no continuous states,表示仿真对象为离散系统。选择仿真时间为20.0秒,至此参数修改完毕。此外为了增强电路性能,在三个JK触发器的非门输出端增加了输出端接口。3.3
9、 完善电路 参数修改完毕后并不意味着电路已经全部正确。此时应返回到工作的JK窗口。此时示波器显示了5个输入端。5个输入端按照从上往下的顺序依次连接时钟信号、Q0、Q1、Q2、C。至此电路才算真正连接完毕。如图5所示。图54 程序运行在时序电路图中,因JK触发器的记忆功能,需要分析各JK触发器的初态值。更改方法为依次双击各个触发器,在弹出的对话框中输入“0”或者“1”,表示其初值为逻辑低电平或者逻辑高电平。输入后单击JK窗口菜单栏中的三角符号,表示运行仿真(Start simulation),再双击示波器即可查看各处逻辑值。4.1 =0, =0, =0时如图6所示。图64.2 =0, =0,=1
10、时如图7所示。图74.3 =0,=1,=0时如图8所示。图84.4 =0,=1,=1时如图9所示。图94.5 =1,=0,=0时如图10所示。图104.6 =1,=0,=1时如图11所示。图114.7 =1,=1,=0时如图12所示。图124.8 =1,=1,=1时如图13所示。图135 结果分析 以上各示波器图基本一致,只是触发器的初始值不同而导致波形向左右方向偏移。通过观察波形图知,所得逻辑值与理论分析完美吻合,实现了数字电子器件JK触发器在MATLAB中的正确仿真,得到正确的结果,简化了手工理论计算的复杂程度,形象地展现了数字电子器件的波形图,巩固了MATLAB知识。6 心得体会我接触M
11、ATLAB的时间比较长了,最开始是在大学里面的计算方法选修课上了解了一些,学了些基础的命令。后来参加过一次数学建模,又自学了点。而后由于所学的专业课程较为繁重,加上临近期末需要复习各个学科,也就很少抽出时间去认真研读MATLAB,对于MATLAB也仅仅局限于入门水平。现在的暑期基础强化训练正好给了我学习MATLAB的好机会。由于底气不足,所以我没有直接做题,而是在整个暑假都在看MATLAB的书籍,认真阅读各个相应知识点,并努力消化,之后再尝试做题。在初步连接好电路图后便开始运行仿真,结果出现了很多错误,看书之后才知道自己没有进行参数的设置。为了学会Simulink仿真工具箱的参数修改,我啃了不
12、下五本书,真正做到了字字斟酌的地步。最终将问题成功化简。类似的问题还有很多,都是通过自己努力看书才学会的。做完所有的工作,回过头来才发现自己长了不少知识。通过此次基础强化训练,我对MATLAB的操作有了很大的进步,熟悉了各个函数的功能,学会了如何编程解决问题。特别是在Simulink部分,真正学会了如何运用先进的数学软件处理电子方面的复杂问题,将我从繁杂的手工计算中解脱出来,体会到科技带来的无限魅力。同时也发现各个教学软件都有相通的部分。比如大一期间学的计算机程序设计基础的C语言,就和MATLAB的语法基本一致,因为MATLAB的内核就是采用C语言编写的,不过MATLAB的语言要比C语言简单些
13、。此外MATLAB还有C语言所没有的图形绘画、仿真等功能,真正实现软件一体化。MATLAB是一款强大的数学软件,对于我所学习的电气工程专业定有非常强大的作用。今后我要好好在MATLAB上面下功夫,争取做到娴熟运用!参考文献1 张德丰 MATLAB在电子信息工程中的应用 北京:电子工业出版社 2009年6月 2 苏金明 阮沈勇 MATLAB实用教程 北京:电子工艺出版社 2008年2月3 张亮 郭仕剑 王宝顺 贺兴华等 MATLAB7.X系统建模与仿真 人民邮电出版社 2006年11月4 曹炎 MATLAB R2006a基础篇 化学工业出版社 2008年2月5 张志涌 精通MATLABR2011a 北京航空航天大学出版社 2011年11月
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1