- ベストアンサー
JKフリップフロップについて
大体の教科書にはJKフリップフロップの説明として以下のようなことが書かれています。 (1)、J、K入力のどちらか一方のみが1(H)のときにクロックに同期してその入力がFFの状態として取り込まれ、それが出力される。 (2)、クロックパルス時にJ,Kがともに1のときFFの状態は反転する。 (3)、J,Kがともに0(L)のときは状態は変化しない。 と書いてあり、その真理値表は次のページあるような表が書いてあります。 http://atug2.hp.infoseek.co.jp/jx/A/4/4_3.html 自分が持っている教科書には、上のページの表のJKがHHのときの出力は日本語で「反転」と書いてあります。 ここで質問です。 (1)について Jを1、Kを0にして、入力(同ページの図のTとあるところ)に1を入れるとQには何が出力されるのですか?また、0を入れると何が出力されますか?それはなぜですか?表ではJ,Kの順で01のとき01、10のとき10と出るといっていますが、これは入力Tにはよらないということですか? (2)について 何が反転されるのですか?たとえば、Tに1を入れると、Qに0が、0を入れると1が出力されるということですか? (3)について 表ではその部分が「保持」と書いてありますが、何が保持されるのですか?たとえば、Tに1を入れれば、Qに1が、0を入れれば0が出力されるということですか? どうも教科書だけの説明ではよく理解できません。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Tが1→0→1→0…と変化するうちに、フリップフロップを動作させるスイッチとして働くのは1→0、又は0→1のいずれか一方のみです。(場合によって違う)つまりTの入力にずっと0,ずっと1の入力をすることは可能ですが、FFの意味がなくなるので、 実際そのようなことを扱う事はありません。 0と1の繰り返しの入力のみと考えてOKです。 入出力表は初期条件としてQとQバーに値が入っている事が必要です。またQとQバーの中の値は常に0,1のいずれかを出力します。 言い換えると、QとQバーという箱に0か1のどちらかが置かれていて、FFで入れ替えをしているということです。 よって入力がなくなっても、それ以前の値を出力し続けます。
その他の回答 (1)
- piricara
- ベストアンサー率30% (42/140)
Jを1、Kを0にして、Tを0->1->0と変化させたとき(以下Tの入力と省略する。)、Qが1、Qバーが0になります。 J,Kの入力が、逆の場合は、Q,Qバーも逆になります。 J,Kが共に0のとき、T入力があっても、Q,Qバーの出力は変化しません。(保持) J、Kが共に1のとき、T入力によって、以前のQ,Qバーの状態が同時に反転します。(反転) T入力がない場合は、J,Kが変化しても、Q,Qバーは変化しません。(クロック同期)
補足
(A) >Tを0->1->0と変化させたとき Tを0→1→0→1→0→1→0→1…と変化させ続けると解釈していいですか?ということは1→0→1→0→1→0→1→0…でも同じことですよね。 そういうことだとして… (B) >Jを1、Kを0にして、Tを0->1->0と変化させたとき(以下Tの入力と省略する。)、Qが1、Qバーが0になります。 Tを上記のように変化させ続けてるのにQが1、Qバーが0を出力し続けるということですよね。つまりクロック入力には関係ないということですよね。 (C) >J,Kが共に0のとき、T入力があっても、Q,Qバーの出力は変化しません。(保持) T入力の直前に出力が1だったとすると、T入力と同時に、J,Kが共に0になったとき、出力は1でその後J,Kがずっと0ならTがどんなに変化しようとも出力は1ということですか?同様に、T入力の直前に出力が0だったときも、変わらず0を出力するということですよね。 (D) >J、Kが共に1のとき、T入力によって、以前のQ,Qバーの状態が同時に反転します。(反転) たとえば、T入力が0→1→0→1→0→1→0→1…だったら、Q出力は 1→0→1→0→1→0→1→0…ということですよね。 (E) >T入力がない場合はJ,Kが変化しても、Q,Qバーは変化しません。 これはT入力がずっと0であると考えていいですか? もしくは、T入力とは、1→0→1→0→1→0→1→0…のように変化し続ける入力のことをさし、ずっと1や、ずっと0は入力がないと考えるのでしょうか?どちらでしょう? (F) また、入力がなくなる直前にQが1だったとすると、なくなった後はJ、Kによらず、ずっと1を出力し続けるのでしょうか? 同様に0だったときはQはずっと0を出力し続けますか? ご回答を一つ一つ確認するという形になってしまいますが、納得したいので確認よろしくお願いします。
お礼
回答ありがとうございます。 なるほど。その初期条件のときに、QとQバーはどちらが1を出力していて、どちらが0を出力しているかは特に決まりはなく、まったくランダムに決まっているということですか? ----------------------------------------------- つまり・・・ 入力にかかわらずQを1に、Qバーを0にしたければJを1、Kを0にすればよい。逆にQを0、Qバーを1にしたければJを0に、Kを1にすればよい。 入力の1→0→1→0…を0→1→0→1…にしたかったらJ,Kを共に1にしてやればよい。 いままで(初期条件)で出ていた出力を入力によって変えたくなければJ,Kを共に0にすればよい。 こういうことですね? 確認したいので、あってたら「そうですよ」と回答ください。間違ってたらその箇所を教えてください。 くどくてすいません。よろしくお願いします。