基础强化训练.docx
《基础强化训练.docx》由会员分享,可在线阅读,更多相关《基础强化训练.docx(13页珍藏版)》请在冰豆网上搜索。
![基础强化训练.docx](https://file1.bdocx.com/fileroot1/2022-11/23/c973a3cb-0f68-4046-a057-e38579f70cff/c973a3cb-0f68-4046-a057-e38579f70cff1.gif)
基础强化训练
学号:
0121011360101
基础强化训练
题目
MATLAB在“JK触发器”中的应用
学院
自动化学院
专业
自动化
班级
自动化1001
姓名
指导教师
李浩
2012
年
7
月
7
日
摘要
MATLAB是一款功能非常强大的数学软件,主要面对科学计算、可视化以及交互式程序设计的高科技计算环境,主要包括MATLAB与simulink两大部分。
本文主要介绍MATLAB在数字电子技术方面的应用,采用MATLAB2009a(MATLAB7.8.0)为软件工具,以simulink6.0工具箱为仿真工具,以JK触发器作为主要介绍对象进行数字电路在MATLAB中的仿真运行。
通过此次仿真达到熟练运用MATLAB与simulink处理电子电路方面的问题,学会排查电路故障,强化专业技能。
关键词:
MATLABsimulink仿真JK触发器
JK触发器在MATLAB中的仿真分析
1JK触发器理论分析与归纳总结
1.1JK触发器的逻辑电路简介
JK触发器内部采用与或非电路结构,属于下降沿触发的触发器,可分为边沿JK触发器、边沿型JK触发器与主从JK触发器,它们三者的状态转移真值表、特征方程、状态转移图及激励表与主从JK触发器完全一致。
下面以主从JK触发器为例介绍JK触发器的内部结构与功能。
主从JK触发器是在主从RS触发器的基础上组成的,如图1所示。
图1
在主从RS触发器的R端和S端分别增加一个两输入端的与门G11和G10,将Q端和输入端经与门输出为原S端,输入端称为J端,将Q端与输入端经与门输出为原R端,输入端称为K端。
1.2JK触发器的逻辑功能
由上面的电路可得到S=JQ,R=KQ。
代入主从RS触发器的特征方程得到:
将所有可能情况罗列如下。
J=1K=0时,=1;
J=0K=1时,=0;
J=K=0时,=;
J=K=1时,=;
列写JK触发器的真值表,如表1所示。
表1
J
K
说明
0
0
0
0
输出状态不变
0
0
1
1
0
1
0
0
恒为0
0
1
1
0
1
0
0
1
恒为1
1
0
1
1
1
1
0
1
输出状态与原状态相反
1
1
1
0
1.3JK触发器的功能总结
对JK触发器归纳为以下几点:
JK触发器具有置位、复位、保持(记忆)和计数功能;
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
依该电路图可列出其状态方程。
,,
=+=+
画出该时序电路的状态转换表,如表2所示。
表2
C
0
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
状态转换图如图3所示。
图3
3该电路在MATLAB中的分析
3.1连接电路图
在MATLAB主界面CommendWindow中输入“Simulink”即可启动Simulink仿真工具箱。
在弹出的SimulinkLibraryBrowser窗口中寻找JK触发器(JKFlip-Flop)、逻辑与运算符(LogicalOperator)、信号源(Constant)、时钟信号(Clock)以及示波器(Scope)等子模块。
其中JK触发器在SimulinkExtra工具箱中,逻辑与运算符、信号源、时钟信号及示波器均在Simulink工具箱中。
找到各子模块后,将它们拖动到新建窗口JK中。
按照所给的电路图依次连线。
连接后如图4所示。
图4
3.2设置参数
图4的电路图仅仅只是粗糙的电路图,还需要通过修改各个参数增强其功能。
双击信号源Constent,在弹出的SourceBlockParameters:
Constant窗口中,在main框中输入“1”,在SignalAttributes框中的Outputdatatype中选择“Boolean”,表示选用布尔代数逻辑体系。
双击时钟信号Clock,在弹出的SourceBlockParameters:
Clock窗口中,在Period框中输入“2”,表示以2秒为一个周期。
双击示波器Scope,在弹出的Scope窗口中,点击上排菜单栏的第二个,弹出’Scope’parameters对话框。
在Numberofaxes中输入“5”,表示接收5个信号。
在Timelabels中选择“all”。
修改好后点击“OK”回到Scope窗口。
在窗口中出现的5个坐标图中,右键单击选择Axesproperties…。
在弹出的’Scope’properties:
axis2对话框中,Y-min中输入“-1”,Y-max中输入“1”。
在title中输入“Clock”,点击“OK”即可。
同理修改剩下的4个坐标图,只是在title中分别输入“Q0”、“Q1”、“Q2”、“C”。
这5个坐标图分别观察时钟信号、Q0、Q1、Q2、C的数值。
单击JK窗口上方simulation,选择ConfigurationParameters…。
打开后在所给窗口中的Solveroptions中的solver选项改为Discretenocontinuousstates,表示仿真对象为离散系统。
选择仿真时间为20.0秒,至此参数修改完毕。
此外为了增强电路性能,在三个JK触发器的非门输出端增加了输出端接口。
3.3完善电路
参数修改完毕后并不意味着电路已经全部正确。
此时应返回到工作的JK窗口。
此时示波器显示了5个输入端。
5个输入端按照从上往下的顺序依次连接时钟信号、Q0、Q1、Q2、C。
至此电路才算真正连接完毕。
如图5所示。
图5
4程序运行
在时序电路图中,因JK触发器的记忆功能,需要分析各JK触发器的初态值。
更改方法为依次双击各个触发器,在弹出的对话框中输入“0”或者“1”,表示其初值为逻辑低电平或者逻辑高电平。
输入后单击JK窗口菜单栏中的三角符号,表示运行仿真(Startsimulation),再双击示波器即可查看各处逻辑值。
4.1=0,=0,=0时如图6所示。
图6
4.2=0,=0,=1时如图7所示。
图7
4.3=0,=1,=0时如图8所示。
图8
4.4=0,=1,=1时如图9所示。
图9
4.5=1,=0,=0时如图10所示。
图10
4.6=1,=0,=1时如图11所示。
图11
4.7=1,=1,=0时如图12所示。
图12
4.8=1,=1,=1时如图13所示。
图13
5结果分析
以上各示波器图基本一致,只是触发器的初始值不同而导致波形向左右方向偏移。
通过观察波形图知,所得逻辑值与理论分析完美吻合,实现了数字电子器件JK触发器在MATLAB中的正确仿真,得到正确的结果,简化了手工理论计算的复杂程度,形象地展现了数字电子器件的波形图,巩固了MATLAB知识。
6心得体会
我接触MATLAB的时间比较长了,最开始是在大学里面的计算方法选修课上了解了一些,学了些基础的命令。
后来参加过一次数学建模,又自学了点。
而后由于所学的专业课程较为繁重,加上临近期末需要复习各个学科,也就很少抽出时间去认真研读MATLAB,对于MATLAB也仅仅局限于入门水平。
现在的暑期基础强化训练正好给了我学习MATLAB的好机会。
由于底气不足,所以我没有直接做题,而是在整个暑假都在看MATLAB的书籍,认真阅读各个相应知识点,并努力消化,之后再尝试做题。
在初步连接好电路图后便开始运行仿真,结果出现了很多错误,看书之后才知道自己没有进行参数的设置。
为了学会Simulink仿真工具箱的参数修改,我啃了不下五本书,真正做到了字字斟酌的地步。
最终将问题成功化简。
类似的问题还有很多,都是通过自己努力看书才学会的。
做完所有的工作,回过头来才发现自己长了不少知识。
通过此次基础强化训练,我对MATLAB的操作有了很大的进步,熟悉了各个函数的功能,学会了如何编程解决问题。
特别是在Simulink部分,真正学会了如何运用先进的数学软件处理电子方面的复杂问题,将我从繁杂的手工计算中解脱出来,体会到科技带来的无限魅力。
同时也发现各个教学软件都有相通的部分。
比如大一期间学的计算机程序设计基础的C语言,就和MATLAB的语法基本一致,因为MATLAB的内核就是采用C语言编写的,不过MATLAB的语言要比C语言简单些。
此外MATLAB还有C语言所没有的图形绘画、仿真等功能,真正实现软件一体化。
MATLAB是一款强大的数学软件,对于我所学习的电气工程专业定有非常强大的作用。
今后我要好好在MATLAB上面下功夫,争取做到娴熟运用!
参考文献
1张德丰MATLAB在电子信息工程中的应用北京:
电子工业出版社2009年6月
2苏金明阮沈勇MATLAB实用教程北京:
电子工艺出版社2008年2月
3张亮郭仕剑王宝顺贺兴华等MATLAB7.X系统建模与仿真人民邮电出版社2006年11月
4曹炎MATLABR2006a基础篇化学工业出版社2008年2月
5张志涌精通MATLABR2011a北京航空航天大学出版社2011年11月