什么是JKE触发器?

电子说

1.2w人已加入

描述

什么是JKE触发器?

FF_JKE是一个具有异步设置(SET)和重置(RST)输入的边缘触发的JK触发器(JK Flip-Flop), 仅SET=1时,输出Q=1;只要RST=1,输出Q=0。RST=SET=0时,在CLK上升沿到来时,则:

  • 当J=K=0 ,输出Q保持不变;
  • 当J=1 且 K=0 ,输出Q=1;
  • 当J=0 且 K=1 ,输出Q=0;
  • 当J= K=1 ,输出Q取反;

时间图如下:

触发器

特征表如下:

触发器

其中: CLK:时钟, RST:重置, SET: 设置 , J、K:输入 , Q:输出

  • 假设最初 输入都为0,输出 Q = 0;
  • 在t1处,J=K=0 ,输出Q保持不变;
  • 在t2处,J=1 且 K=0 ,输出Q=1;
  • 在t3处,J=0 且 K=1 ,输出Q=0;
  • 在t4处,J= K=1,输出Q取反,输出Q=1;
  • 在t5处,J=K=0 ,输出Q保持不变,输出Q=1;
  • 在t6处,J= K=1,输出Q取反,输出Q=0;
  • 在t7处,RST=1,输出Q=0;
  • 在t8处,SET=1且RST=0,输出Q=1;

触发器

源代码如下:

FUNCTION_BLOCK "FF_JKE"
TITLE = 'FF_JKE'
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
   VAR_INPUT 
      SET : Bool;
      J : Bool;
      CLK : Bool;
      K : Bool;
      RST : Bool;
   END_VAR

   VAR_OUTPUT 
      Q : Bool;
   END_VAR

   VAR 
      edge : Bool;
   END_VAR


BEGIN


IF #RST OR #SET THEN
  #Q := NOT #RST; //仅SET=1时,Q=1;只要RST=1,Q=0;
ELSIF #CLK AND NOT #edge THEN
  IF #J XOR #K THEN //J<  >K进入判断
    #Q := #J; //J=1时,Q=J;K=1时 ,Q=0;
  ELSE //J=K进入判断
    #Q := #K XOR #Q;  //J=K=0时,Q保持不变;J=K=1时,Q取反;
  END_IF;
END_IF;
#edge := #CLK;




END_FUNCTION_BLOCK
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分