Previous: 9.4.4. 自励式ブザー |
Up: 9.4. ソフトウェアと外付け回路の詳細 |
Next: 9.4.6. キャラクタ液晶 |
図 9?9 回路図
家庭用ゲーム機のコントローラのように、たくさんのボタンを付けたいと思ったのですが、そうするとGPIOが足りなくなります。そこでパラレルインシリアルアウト型のシフトレジスタである74HC165を使用して、IOを拡張することにしました。
写真 9?27 74HC165/74HC166
***P3041030***
図 9?10 74HC165のピン配列
***再トレース***
(東芝:TC74HC165AP/AFデータシート(200-10-01)より引用)
74HC165はS/Lにパルスが入力されると、その時点でのA?Hのピンへの入力レベルを、内部のレジスタに取り込みます。その後CKにクロックパルスが入力される度に、H側に向けてシフトしていきます。Hから押し出されるビットはQHに出力されます。つまりQHのレベルを読み取ることで、HからAの順で各ピンの状態を取得できるということです。SI(Serial In)端子を備えており、クロック入力時にAのレジスタにSIのレベルを取り込むこともできます。これにより複数のシフトレジスタをカスケード接続することができます。
prvTask_ShiftRegister_Control関数によるタスクは、シフトレジスタを読み込んだ上で、マウスのボタンの処理と同じように、ソフトウェア的にチャタリング処理を行っています。
Previous: 9.4.4. 自励式ブザー |
Up: 9.4. ソフトウェアと外付け回路の詳細 |
Next: 9.4.6. キャラクタ液晶 |