• ベストアンサー

ロジックICを使ったカウンタの繰り下がり抑止

ロジックICを使ったカウンタの繰り下がり抑止 74HC193を使った簡単な非同期式アップダウンカウンタを作成しています。 アップ/ダウンの押しボタンに同期してカウントが増/減し、 カウントが0000の状態でダウンボタンを押すと、 Borrow :H→L カウント:1111 となり、繰り下がりが起こりますが、これを、 カウント:0000 を保持する回路を実現するにはどうすればよいでしょうか? ど素人の質問ですが、どうかよろしく願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • 10451198
  • ベストアンサー率61% (77/126)
回答No.1

0000からの減算だけを禁止したいわけですから、その条件を検出する論理と、 検出したあとに動作をさせる論理を追加することになります。 真正面からやるなら、0000のカウントを検出して、 そのときだけ減算の入力を受け付けないようにゲートでとめる方法か、 または0000から1111への遷移を検出して、遷移した瞬間に リセットして、0000に戻す、という方法のどちらかになるでしょう。 幸い193は各種機能ピンがあるので、それを考えます。 データシートのタイミングダイアグラムを見ると、Borrowが使えそうです。 Borrowを反転して、Clearに入れるだけですみそうです。 まあ本来のリセット回路があるでしょうから、それとは無論ORですね。

参考URL:
http://pdf1.alldatasheet.jp/datasheet-pdf/view/27708/TI/SN54ALS193A.html
mlc57485
質問者

お礼

ご回答ありがとうございます。 「Borrowを反転してClearに入力」 は試していたものの、 「本来のリセット回路と無論OR」 していませんでした! 後ほど実験結果をレポートしたいと思います。

mlc57485
質問者

補足

質問者です。 「本来のリセット回路」とORを取ることで所望の動作を得ることができました。 ご指導ありがとうございました。

その他の回答 (1)

  • inara1
  • ベストアンサー率78% (652/834)
回答No.2

「本来のリセット回路と無論OR」というのは、実際には、添付図のように、NANDを使うことになると思います。193のクリアはHレベルなので、普通はCR積分回路でリセット回路を作り(L レベルがクリア)、それをインバータで反転して 193 のCLR 端子に入れます。ANo.1さんの回答にある「Borrow を反転させてCLR と OR をとる」というのは、「CLRの反転と Borrw のNAND をとる」のと同じにことになります。 添付図のタイミングチャートは回路シミュレータの結果ですが、DOWNクロックの立上がりで状態が変化し、その結果が 0 の場合、DOWNクロックの立下がりでBorrow信号が L になるようです。Borrow が L になりると NANDの出力が H になってクリアされますが、次のDOWNクロックの立上がりで一旦 Borrw信号が消え、その後のDOWNクロックの立下がりでBorrow信号がまた L になるようです。DOWNクロックが入る度にこのような変化が起こりますがカウンタの状態は 0 のままで、所望の動作になっています。

mlc57485
質問者

お礼

補足・解説ありがとうございます。 「本来のリセット回路」をPICからのL→Hへの状態変化(CR微分回路+バッファ)で作成しているのですが、 今回は手持ちのORを使って所望の動作を得ることが出来ました。

関連するQ&A