什么是JKE觸發(fā)器?
FF_JKE是一個(gè)具有異步設(shè)置(SET)和重置(RST)輸入的邊緣觸發(fā)的JK觸發(fā)器(JK Flip-Flop), 僅SET=1時(shí),輸出Q=1;只要RST=1,輸出Q=0。RST=SET=0時(shí),在CLK上升沿到來時(shí),則:
- 當(dāng)J=K=0 ,輸出Q保持不變;
- 當(dāng)J=1 且 K=0 ,輸出Q=1;
- 當(dāng)J=0 且 K=1 ,輸出Q=0;
- 當(dāng)J= K=1 ,輸出Q取反;
時(shí)間圖如下:
特征表如下:
其中: CLK:時(shí)鐘, RST:重置, SET: 設(shè)置 , J、K:輸入 , Q:輸出
- 假設(shè)最初 輸入都為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時(shí),Q=1;只要RST=1,Q=0;
ELSIF #CLK AND NOT #edge THEN
IF #J XOR #K THEN //J< >K進(jìn)入判斷
#Q := #J; //J=1時(shí),Q=J;K=1時(shí) ,Q=0;
ELSE //J=K進(jìn)入判斷
#Q := #K XOR #Q; //J=K=0時(shí),Q保持不變;J=K=1時(shí),Q取反;
END_IF;
END_IF;
#edge := #CLK;
END_FUNCTION_BLOCK
-
JK觸發(fā)器
+關(guān)注
關(guān)注
1文章
43瀏覽量
15847 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
1992瀏覽量
60976 -
RST
+關(guān)注
關(guān)注
0文章
31瀏覽量
7373 -
CLK
+關(guān)注
關(guān)注
0文章
126瀏覽量
17089
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論