この世のCPUを食べ尽くすのだ! 第2章 第4節 第1項
~あんたCPUなんか創ってどうするのよ?! Vol.3~
2018/10/8
技術書典5 け39
第2章 第4節 第1項 テンキーによる入力回路
本プロジェクトの目的は電卓を作ることです。世の電卓のほとんどは0~9までの数字ボタンと、+、–、×、÷ の4つの演算ボタン、そして = ボタンを備えています。
このテンキーをTD4EX3用に用意するにあたり、いろいろ探した結果、筆者はaitendoで売っていた4個×4個のスイッチ基盤を使用することにしました。基盤に合うスイッチもキートップもaitendoで入手できるので手軽です。
この基盤は8ピンの入出力端子があり、うち4本が縦、残りの4本が横のマトリックスになっているのでTD4EX3に最適です。CPUからのOUT命令で縦一列を選択し、縦に並んだ4つのボタンのどれが押されているかをIN命令でチェックするようにします。押されたボタンがテンキーのどの数字や記号に相当するのかは自前でデコードする必要がありますが、TD4EX3には4KBものプログラム領域があるので、全部ソフトウエアにやらせれば使用IC数も少なくて済みます。
このテンキーのために出力用の74HC161を1個と、入力用の74HC573を1個使用しました。
メモリマップドI/Oであるため、16語あるRAMアドレスのうち1ヶ所をこのテンキー用に割り当て、OUT命令で縦一列を選択し、IN命令で縦4個のうちのどのボタンが押されたのかを検出します。