基础强化训练.docx

上传人:b****3 文档编号:3546039 上传时间:2022-11-23 格式:DOCX 页数:13 大小:410.36KB
下载 相关 举报
基础强化训练.docx_第1页
第1页 / 共13页
基础强化训练.docx_第2页
第2页 / 共13页
基础强化训练.docx_第3页
第3页 / 共13页
基础强化训练.docx_第4页
第4页 / 共13页
基础强化训练.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

基础强化训练.docx

《基础强化训练.docx》由会员分享,可在线阅读,更多相关《基础强化训练.docx(13页珍藏版)》请在冰豆网上搜索。

基础强化训练.docx

基础强化训练

学号:

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月

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1