- 締切済み
任意進数のカウンタ回路
74HC163を二つ使いClockに入力されたパルスをカウントする回数を0から100回までで、任意に指定できる回路を作りたいです。 カウントを指定する部品としてA7BSなどのサムロータリスイッチを使いたいと考えています。 現状として、固定した回数をカウントする回路(20進カウンタなど)は作れますが、カウントする回数を可変にする方法がわかりません。 どなたか教えていただけないでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- a-saitoh
- ベストアンサー率30% (524/1722)
まじめに 0~Nを数えてもいいのですが、 リプルキャリーを同期プリセット端子に接続して、N~255を数えさせるのが楽でしょう。一致回路を使わずに済みます。 負論理で考えたら、 N→0のダウンカウンタを作ったことになります。
- info22
- ベストアンサー率55% (2225/4034)
2進出力のサムロータリスイッチ(出力端子をプルアップアレイ抵抗で+Vccにプルアップして論理信号作る)で7ビットの2進出力(7ビットで127までカウント可能ですから100進以下のカウンターなら7ビットで良い)とカウンターの対応する各桁の出力とで一致論理回路を作り、N進カウンター(0~N-1までのカウントを繰り返す。)で(N-1)がカウントされた時、一致論理の負論理パルス「~con」を「~Clear」(~は負論理の意味)に加えてやれば、次のクロックの正の立上りでカウンターがゼロに戻りN進カウンタに戻ります。 カウンターはカスケード(縦続)接続し、「~con」は両方のHC163の「~Clear」に接続してやります。Clockは両方のHC163の「Clock」に接続します。 スタートをゼロカウントからはじめたければ、2つのHC163のA,B,C,D入力をGNDに接続しておいて、両方のHC163の「Load」端子に負論理のリセット信号をスイッチで作って入力すればいいでしょう。 「P」,「T」端子はHレベル(まとめて接続して抵抗で+Vccにプルアップ)にしておきます。 一致回路は排他的論理和の論理素子を使って作りますが、複数ビットの一致論理用のICが出ていると思います(探して下さい)。
ANo.1 さんに加えて。 74HC688 8bit マグニチュードコンパレータ を使うと配線が楽です。 http://www.datasheetcatalog.com/datasheets_pdf/7/4/H/C/74HC688.shtml 2つの8bit の大小比較ができます。 今回は「等しい」だけ使えばいいです。 中身はロジックダイヤグラムの通りです。
お礼
回答ありがとうございます。さっそく実践してみたいと思います。
- isoworld
- ベストアンサー率32% (1384/4204)
カウンターの各ビット出力と、サムロータリースイッチの各ビット出力をエクスクルーシブオアゲートにかけて、すべてのビットが一致したことを検出できたらカウンターをリセットしてください。
お礼
回答ありがとうございます。 >カウンターの各ビット出力と、サムロータリースイッチの各ビット出 力をエクスクルーシブオアゲートにかけて… とは、具体的には74HC163カウンタの出力Qa(=2の0乗)とサムロータリースイッチの「1」の部分のピンとをエクスクルーシブオアゲートにかける。同様にQb,Qc,Qdも同じことをする。このようなやり方でよろしいのでしょうか?
お礼
返答ありがとうございました。 がんばって作ってみようと思います。