当前位置: 首页 > news >正文

数字电子技术基础(五十六)——JK触发器

目录

1 JK触发器

2 使用Digital软件来绘制JK触发器


1 JK触发器

对于D触发器来说,其功能是过于简单了,D触发器只有置0和置1的操作,而JK触发器相对于D触发器处理原来的保持、置位和复位的操作,还增加了翻转操作。JK触发器通过优化SR触发器的输入逻辑,允许在J=K=1发生翻转,而不是进入不确定状态。

JK触发器的电路图如下所示:

图1 JK触发器的电路图

基于原来的电平触发SR触发器改进的JK触发器,原来输入端S、R分别为J\overline{Q^n}K'Q^n所代替,因此输入端S、R和输入端J、K的关系如下所示:

                                                             S=J\overline{Q^n}

                                                            R=K'Q^n

当CLK=1时,JK触发器的输出如下所示:

                                                     Q^{n+1}=J\overline{Q^n}+K'Q^n

对于上面的电路图,当输入端CLK为0的时候,与D触发器类似,输入端J和K为任何值都不会使输出端发生改变。当CLK=1、J=K=0时,无论Q为何值输出都保持不变;当CLK=1、J=0、K=1时,无论Q为何值输出都为0;当CLK=1、J=1、K=0时,无论Q为何值输出都为1;当CLK=1、J=0、K=1时,无论Q为何值输出均为翻转情况,即如果Q=1,则Q*=0,如果Q=0,则Q*=1。

总结:

  • 当CLK=0时,此时Q和Q*保持不变。
  • 当CLK=1、J=0、K=0时,Q和Q*保持不变。
  • 当CLK=1、J=0、K=1时,输出均为0(即置“0”)。
  • 当CLK=1、J=1、K=0时,输出均为1(即复位)。
  • 当CLK=1、J=1、K=1时,输出相对于Q发生了翻转。

JK触发器的图形符号如下所示:

图2 JK触发器的图形符号

对于JK触发器的特性表如下所示:

图3 JK触发器的特性表

通过上图可以通过转换过程推断输入端J和K的状态,如下所示:

图4 通过转换判断J和K的状态表

状态转换图如下所示:

图5 JK触发器的状态转换图

2 使用Digital软件来绘制JK触发器

使用Digital软件来绘制JK触发器,电路如下所示:

图6 使用Digital软件来绘制JK触发器

下面开始运行该电路,当CLK=1、J=1时,电路输出情况如下所示:

图7 JK触发器运行验证图1

可以看到输出结果为Q=1,Q'=1。此时将电路设计为单步设计(单步设计是一种逐步执行、调试和验证数字电路 的方法,通常用于仿真工具。它允许用户手动控制仿真进程,一次只执行一个步骤,以便观察信号如何传播,从而更精准地分析电路行为),点击Digital上面的仿真选项,然后在仿真选项栏中选择单门仿真选项栏,点击仿真选项栏之后,此时Q=1、Q'=0,将输入端CLK、J和K全部设置为高电平:

图8 JK触发器运行验证图2

使用单步模式运行该电路,结果如下所示:

图9 JK触发器运行验证图3

可以看到输出结果发生了翻转。此时将输入端K、CLK设置为高电平:

图10 JK触发器运行验证图4

使用单步模式运行该电路,结果如下所示:

图11 JK触发器运行验证图5

可以看到输入结果没有发生改变。此时再将输入端CLK、J和K全部设置为高电平:

图12 JK触发器运行验证图6

使用单步模式运行该电路:

图13 JK触发器运行验证图7

可以看到输出结果发生了翻转。接下来将CLK接高电平,输入信号J和K接低电平:

图14 JK触发器运行验证图8

结果如下所示:

图15 JK触发器运行验证图9

可以看到结果没有发生改变。如果将输入端CLK接低电平,而输入端J和K接高电平:

图16 JK触发器运行验证图10

可以看到输出结果没有发生改变。 

http://www.xdnf.cn/news/342973.html

相关文章:

  • crawl4ai能替代scrapy等传统爬虫框架吗?
  • windows 部署 Kafka3.x KRaft 模式 不依赖 ZooKeeper
  • FPGA_Verilog实现QSPI驱动,完成FLASH程序固化
  • 学习黑客 MAC 地址深入了解
  • 解决社区录音应用横屏状态下,录音后无法播放的bug
  • 信息学奥赛一本通 1511:【SCOI2011】糖果 | 洛谷 P3275 [SCOI2011] 糖果
  • ProfiNet与CANopen:新能源时代的“语言翻译官”
  • Kotlin与Java企业级开发实战:从零到一掌握最新语法与技术精髓
  • Office宏病毒钓鱼-打点突破
  • ROS2基本操作1
  • js常用的数组遍历方式
  • HypotMAX7705771077157720HIPOT美国ASSOCIATEDRESEARCH耐压测试仪
  • 1分区 1-113 多线不起总线启
  • 使用pytorch保存和加载预训练的模型方法
  • Spring Boot 中 MongoDB @DBRef注解适用什么场景?
  • 深入理解软件测试覆盖率:从概念到实践
  • SpringBoot的自动配置和起步依赖原理
  • Java 文件监听与热更新机制封装
  • 【LeetCode 42】接雨水(单调栈、DP、双指针)
  • 日拱一卒 | RNA-seq数据质控(1)
  • ERC-20与ERC-721:区块链代币标准的双星解析
  • Spring MVC 中Model, ModelMap, ModelAndView 之间有什么关系和区别?
  • Spring AI Alibaba-04- Spring AI + RAG + ToolCalling 智能对话应用开发全流程
  • # 如何使用 PyQt5 创建一个简单的警报器控制界面
  • Linux基础(最常用基本命令)
  • 用kompose将docker-compose文件转换为K8S资源清单
  • WHAT - ahooks vs swr 请求
  • Qt获取CPU使用率及内存占用大小
  • 基于STM32、HAL库的CP2104 USB转UART收发器 驱动程序设计
  • Node.js 技术原理分析系列9——Node.js addon一文通