74HC193で3bitで0から7をカウントする制限方法

このQ&Aのポイント
  • 74HC193を使用して、3ビットで0から7までのカウントを制限する方法をご紹介します。
  • カウントアップとカウンターダウンには2つのタクトスイッチを使用し、カウントアップの上限を7、カウンターダウンの下限を0に設定します。
  • この方法を使用することで、きめ細かいカウント制限を実現することができます。
回答を見る
  • 締切済み

74hc193でカウント制限

74HC193で3bitで 0から7をカウントするように制限したいです。 またカウントアップ、カウンダウン用にそれぞれ2個タクトスイッチを使い カウントアップを7で上限カウンダウンを0で下限としたいです。 よろしくお願い致します。

noname#258626
noname#258626

みんなの回答

noname#252332
noname#252332
回答No.2

Information present on the parallel data inputs (D0 to D3) is loaded into the counter and appears on the outputs (Q0 to Q3) regardless of the conditions of the clock inputs when the parallel load (PL) input is LOW. と書いてあるので 1000→DOWN→0111→(Tplh)→1000 となるでしょうがurlのTABLE8のPL to Qnのように平均25nSほど0111が出力されてしまい仕様に合わないでしょう。。

noname#252332
noname#252332
回答No.1

 4桁の10進カウンタがあったとして、999+1を0にしたい、0-1を999にしたい場合、1000の位を無視するだけでいいです。同じように193の出力の最上位ビットを無視すればご希望に沿うことができます。それぞれ1個の(合計2個の)タクトスイッチと言いたかったのではありませんか? クロック入力は立下り(変な日本語ですが昔からこう言っています)でカウントするので、それぞれクロック入力にNANDを入れて、出力が0のときDOWNクロックを強制H、カウント値が7のときUPクロックを強制Hにすればいいです。ペリフェラルロード入力は不使用のためHに固定、リセットは起動時に0にしたいなら電源投入時に一瞬Hにするのでしょう。リセットの替わりにマスターペリフェラルロードを使えば電源投入時に任意の値にすることは可能です。 https://assets.nexperia.com/documents/data-sheet/74HC_HCT193.pdf

noname#258626
質問者

補足

ご回答ありがとうございます。 パーツをできるだけ減らしたいのですが D入力を1000 にしておきQ3の出力をPLに 接続した状態で、1000の時にカウントダウンSWを押すとどんな挙動になるのでしょうか? 1000→1111か1000→0111→1000

関連するQ&A

  • 74HC74の動作について

    74HC74で1つのタクトスイッチを押すたび、リレーのON、OFFをさせたのですが、タクトスイッチを離すとリレーが動作してしまいます。 タクトスイッチを押したときにリレーを動作させたいのですがどのような回路を組んだらいいのでしょうか? クロック入力には74HC14の出力が繋がっていて、74HC14の入力にタクトスイッチをつけてます。 文章で分かりずらい質問ですみません

  • 74HC193かHC191を2つ使ったカウンター

    74HC193かHC191を2つ使ったカウンターを作ってるのですが、下記の動作が実現できません。 ※右からbit0です。  ●=点灯(H) 〇=消灯(L) UPボタンを押す時、〇〇〇〇〇から●〇●〇〇でカウントアップして停止 DOWNボタンを押す時、●〇●〇〇から〇〇〇〇〇でカウントダウンして停止 どのような回路組めばできるでしょうか?よろしくお願いします。

  • 74HC193のカウントについて(2)

    74HC193で カウントアップswを押すと0→1→2→3→4→5→6→0→1→2→3… カウントダウンswを押すと6→5→4→3→2→1→0→6→5→4… を動作させる回路を作ったのですが、回路図書く前に作った回路を壊してしまい回路を忘れてしまいました。 2種類のゲートICを使ったと思います。 自分の不注意ですが、良かったら回路図を教えて頂けないでしょうか?

  • 74HC161でカウンター作ってますが

    74HC132と74HC161を使ってカウンタを試作してますが、タクトSW1でスタート、SW2でリセットされてストップする動作をしました。本当はタクトスイッチを3つ使って、SW1=スタート、SW2=一時停止、SW3=リセットという動作をさせたいのですが、可能でしょうか? 他の手持ちのICは74HC14もあります。

  • 74HC4017と74HC132Pを使い、LEDを1~10までタクトス

    74HC4017と74HC132Pを使い、LEDを1~10までタクトスイッチを押すたび順番に点灯しました。しかし電源を再投入すると電源を切る前のLEDの次のLEDが光ってしまうのですが、電源を再投入しても同じLEDを光らすにはどうしたらいいのでしょうか?

  • エクセルの関数でダブルカウントを避ける方法

    エクセルの関数機能で回答お願いいたします! _______A_______B_______C_______D_______E_______F 1____品名___値____設定____下限___上限 2_____AA______1______(1)______0______1.6 3_____AB_____1.5_____(2)_____1.4_____2.1 4_____AC______2______(3)_____1.8_____2.2 5_____AD______1______(4)_____2.2_____2.6 6____AE______3____(5)_____2.5_____3.1 このような表があります。   AA~AEまで5つの商品があり、 それぞれに値があります。 それらを 下限(D列)≦ 値 <上限(E列) の範囲に 当てはまる 品数 をカウントしたいのですが これをカウントし、F列に答えを返すと、 (1)0~1.6の間には  3つ (2)1.4~2.1の間には 2つ (3)1.8~2.2の間には 1つ (4)2.2~2.6の間には 0つ (5)2.5~3.1の間には 1つ となり、下限と上限の間にある値をダブッてカウントしてしまうのです。 F列の縦合計が 品名の数と同じようになるように、ダブらずに集計したいのですが ダブらないでカウントする条件を設定したいのです。 たとえば 品名ABの場合、 下限と上限の範囲には 2つヒット(設定(1)と(2))してしまうので この場合、(1)の方にカウントし、(2)にはカウントしない という風にし、絶対にダブルカウントせずに下限と上限の間の設定が2箇所ヒットした場合 常に下限が小さい方にカウントさせる方法はないでしょうか? もしもっとシンプルに以上の解決策を ご存知でしたら是非それも教えてください。 よろしくお願いいたします!!!

  • 74HC4017を用いたカウント回路

    現在モータの回転数を計数する回路を製作しています. モータとモータのドライバはオリエンタルモータ社製のBX6200A-Aというものを使用しており、 モータが1回転すると、ドライバから500pls出力されます. 3000RPMでモータを回転させると、pls数が大きくなり過ぎるため、74HC4017を5段直列につないだ回路に入力してから、OMRON社製のH7CZ-L8というカウンタにパルスを出力しています. 最初の起動時は問題なくパルスを計数していましたが、装置全体の電源を一度遮断し、時間をおいてから装置を再始動すると、ドライバからはplsが出力されているのに、カウンタが計数しなくなってしまいました.何度か電源のon/offを繰り返すと、カウンタは正常に計数を開始したため、配線異常などが原因ではないと考えます. カウントが計数しない時に、4段目と5段目の74HC4017のピンの電圧をオシロで測定すると1Hz程度の周期で0-2.5VのON/OFFを繰り返していました.そのために、カウンタが計数しないと考えました. このような現象が起こる原因は、どのようなことが考えられるでしょうか? なにとぞご助言宜しくお願い致します.

  • ブレッドボードと7セグメントLEDの電子工作

    http://pc.watch.impress.co.jp/docs/2008/1127/musashino020.htm こちらのサイトを参考に、タクトスイッチでカウントアップする回路を作成してみました。 ここにさらにもう一つタクトスイッチを追加して、追加したタクトスイッチを押すたびに 9・8・7・6・5・4・3・2・1というようにカウントダウンされるようにしたいと思っています。 (一つ目のタクトスイッチを押すと数字が増え、2つめのタクトスイッチを押すと数字が減っていくようにしたいです。) (ページ最後の自動的に数字が増えていく回路は作っていません。ページ最初の部分からバウンシングを取り除く回路までを作成しました。そこにカウントダウンを追加したいと思っています。) どのような回路にすれば良いのでしょうか

  • 遅延リレーオン・オフ回路について

    74HC74でタクトスイッチを押すたびリレーのオンオフをできるようにしました。 74HC74につながれたリレーの接点にタイマーIC(555)を繋いで遅延ONは動作しましたが、遅延オフ動作をさせたいのですが、可能なんでしょうか? 下記のような動作をさせたいです。 タクトスイッチを押すと、74HC74のリレーがオン ↓ タイマーが動作し、1秒後にタイマーICに繋がれたリレーがオン ↓ もう一度タクトスイッチを押すと74HC74のリレーがオフ (ここまでの動作は、確認できましたが、2つのICに繋がれたリレーが同時にオフになります。) リレーが同時にオフにならずにどちらか1方を遅延オフさせたいです。 このような動作はできるのでしょうか?

  • PICでのアップダウンカウンタについて

    以下のプログラムはポートAにアップカウントSWとダウンカウントSW付けて 8bitの2進数データをアップダウンさせるプログラムですが、下限と上限を決めて それ以上、以下カウントしないようにプログラムを変更したいのですが、どうすればいいと思いますか? ちなみにこのプログラムだと255(0)までカウントしたら0(255)に戻ります 下限は 0b00000000(0) 上限は 0b01100100(100) です。 コンフィギュレーション、CALL TIMELOOP1はチャタリング対策のプログラムなので省略して投稿します。 MAIN BTFSS PORTA,1;RA1のスイッチがOFF(1)なら次行をスキップ GOTO COUNTUP;カウントアップへ BTFSS PORTA,0;RA0のスイッチがOFF(1)なら次行をスキップ GOTO COUNTDOWN;カウントダウンへ BTFSS PORTA,2;RA0のスイッチがOFF(1)なら次行をスキップ GOTO MAIN;カウントダウンへ BTFSS PORTA,3;RA0のスイッチがOFF(1)なら次行をスキップ GOTO MAIN;カウントダウンへ GOTO MAIN COUNTUP BTFSS PORTA,1;RA1のスイッチがOFF(1)になったら次行をスキップ GOTO $-1;上の行へ戻る CALL TIMELOOP1;チャタリング対策 INCF COUNT,F;COUNT値を1増やして、 MOVF COUNT,W;Wレジスタに書き込み、 MOVWF PORTB;PORTBへ送る。 GOTO MAIN COUNTDOWN BTFSS PORTA,0 GOTO $-1 CALL TIMELOOP1 DECF COUNT,F;COUNT値を1減らして、 MOVF COUNT,W;Wレジスタに書き込み、 MOVWF PORTB;PORTBへ送る。 GOTO MAIN