- ベストアンサー
13進カウンタについて
(1)74LS161を使用して、13進カウンタになるようLOAD信号生成回路を作成するには、どのような手順を踏み、そしてその回路はどのようになるのでしょうか?(実験でこのカウンタの動作確認をし、タイミングチャートを作成したのですが、なぜその回路が使えるということが理論的によく分かりませんでした) (2)(1)で作成したカウンタと同じ機能になるように、Clear信号生成回路を作成するにはどのような手順を踏み、そしてその回路はどのようになるのでしょうか?また、このときのタイムチャートはどのようになるのでしょうか?(先生の説明では、カウンタ出力がゼロに戻る部分でタイミングチャートで(1)と違う点がでるというのですがよく分かりませんでした) 教科書やネットで調べたのですがよく分かりませんでした。基本的なこととは思いますが、どなたが教えてください。お願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#1です。すみません、まず訂正です。 #1回答で回路図中 NAND と書いたのは間違いでした。この図だと AND でないとダメでした。 #2のmonovaさん、ありがとうございました。私は回答に自信がなかったので、(1)についてはOKだと伺って、少しホッとしました。 また(2)についてはタイミングに問題ありとのご指摘ありがとうございます(そうなんです、実はこの辺が苦手で、思うように動かない回路を時々作ってしまうことがあります)。 どうもありがとうございました。……って、質問者さんに代わって私がお礼を言うのも変ですね(^_^)。 ご指摘に従って回路を考えてみましたが、ただ、D-FFを1個だけ使うと、カウント13のサイクルで目一杯161のCLEARに"L"が入力されてしまい、それはそれで問題のような気がしましたので、D-FFをもう1個使ってCLOCKとNANDを取ることでCLEAR入力信号の幅を狭くしてみましたが、こんなのでよろしいものでしょうか。……って、私がここで質問するのも変ですね(^_^) いずれにせよ、大変勉強になったQ&Aでした。 おまけの回路図です。○=AND、◇=NOTです。エディタなどにペーストして等幅フォントでごらん下さい。 (1)-1 (phobosの当初案) ┯GND ┌────┐ │ ┌─┴─┐ │ ├─┤6 9 15├◇─┘ │ │ │ └─┤5 ├ │ │ ┌─┤4 ├ │ │ │ ├─┤3 ├ │ └─┬─┘ ┷VCC 74LS161 (1)-2 (monovaさんの第2案) 74LS161┌──────┐ ┌─┴─┐ │ ┌─┤6 9 11├─┐ │ │ │ │ ○┐ │ ├─┤5 12├─┘│ │ │ │ │ ○─┘ ├─┤4 13├◇┐│ │ │ │ ○┘ ├─┤3 14├◇┘ │ └─┬─┘ ┷GND (2)(monovaさんの案の改良版?) 74LS161┌────────◇───────┐ ┌─┴─┐ │ ┤6 1 11├─┐ │ │ │ ○┐ 74LS74 74LS74 │ ┤5 12├◇┘│ ┌──┐ ┌──┐ │ │ │ ○─┤D Q├─┤D Q├┐│ ┤4 13├─┐│ │ │ │ │││ │ │ ○┘┌┤>CK │┌┤>CK │○┘ ┤3 2 14├─┘ │└──┘│└──┘│ └─┬─┘ │ │ │ CLOCK>─┴─────┴────┴────┘
その他の回答 (3)
- phobos
- ベストアンサー率49% (515/1032)
あらら…… このQ&A回答欄は、投稿文中の連続した半角スペースや行頭の半角スペースが自動的に削除されてしまうようですね。回路図が無茶苦茶になってしまいました。エディタにコピペしたら適宜半角スペースを挿入してください。すみません。どうぞよろしく。
- monova
- ベストアンサー率68% (68/100)
(1)は、No1様の回答と同じ意見です。 もしくは、ロードするタイミングを"C"で出力し、"0"をロードしても 同じ動作をすると思います。(これだと、ゲート数が多くなりますが) また、質問者様の >理論的によく分かりませんでした と、言うのは、どの辺が解らなかったのでしょうか? もう少し、具体的に説明していただくともう少し詳しく答えられるかも しれません。 (2)はNo1様のやり方ですと、"D"になった瞬間に、リセットが動作し 正しいタイミングで出力されないと思います。 これは、161のクリアが非同期だからです。(これが、(1)と違う点なのでは ないでしょうか?) また、非同期クリアにゲート出力を直接つなげると、意図しない時に クリアが発生する事があり、誤動作の原因になります。 クリアを使って正しく動作させるには、DFFを一段通して、クリアに 接続するのが、望ましいです。 この場合、カウンタ出力が"B"の時パルスを発生して、 161のクロックと同じクロックでDFFを動作させます。 この、DFFの出力を161のクリアに入力します。
お礼
詳しく説明頂き有難うございます。大変分かりやすく感謝です。
- phobos
- ベストアンサー率49% (515/1032)
こんばんはcemeteryさん。 私は74LS161は使ったことがないし、素人ですので全く見当はずれの間違った答えかもしれませんので、詳しい方、専門家の方のフォローを待ちたいと思いますが……。 とりあえず、以下のような回答で答えになってるでしょうか? (1) pin6,5(D,C入力)を"L"に、pin4,3(B,A入力)を"H"にしておき(→0b0011="3"をプリセット)、15pin(RIPPLE CARRY)出力を反転させてpin9(LOAD)に加える。(→0x3~0xFまでカウントして桁上がりの時に"3"を初期値として読み込む) (2) pin11,12,13,14(D,C,B,A出力)が"H","H","L","H"になった時に"L"を出力するような論理回路(下図参照)をNAND素子で作ってpin11~14に接続する。その"L"出力をpin1(CLEAR)に加える。(カウンタ出力が 0b1101=0xD=13になったときカウンタをクリアする) ↓回路図のつもり(T字型ジャンクションはNAND、◆はNOTを意味します。等幅フォントでご覧ください) pin11(QD) ─┓ ┣─┓ pin12(QC) ─┛ ┣─◆─→pin1(CLEAR)へ pin13(QB) ◆┓ ┃ ┣─┛ pin14(QA) ─┛
お礼
何回も回答していただき有難うございます。非常に分かりやすく、カウンタについてよく理解できたと思います。とても参考になりました。