LEDディスプレイ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/22 04:23 UTC 版)
8桁の7セグメントLEDはパラレルポートなどを介して表示されるという構造ではなくRAM中の特定のアドレス(83F8Hから83FFの8バイト)のデータをDMAで読み出し、各バイトの8ビットデータの値に応じて7セグメントLEDの小数点を含めた8セグメントを点灯/消灯する。これにより、小数点を含む8個のセグメントを任意のパターンで表示することができた。 データバスから読み出したメモリデータは、8212チップでラッチされる。これは8ビットラッチ/3ステートバッファのバイポーラICで、非プログラマブルI/Oポートとして8080ファミリーに含まれているチップである。回路構成からすると8212ではなく単純なラッチでも済むのであるが、トレーニングキットという性格からこのチップを使ったものと考えられる。 LEDの点灯はプログラムの動作とは関係なく555タイマーチップを使った数百Hzの信号でCPUをホールドし、そして前述の範囲でアドレスを1つずつ進め(555の出力で、3ビットのアドレス用カウンタが動作する)RAM中のデータを1バイトずつ読み出しラッチで保持し、該当桁のLEDを点灯させるというダイナミック点灯構造である。 このような構造により、プログラムは83F8Hから83FFの8バイトに適当なデータを書き込むだけで出力ルーチンを呼び出すことなくLED表示を行うことができる。またデータを16進数で表示するというルーチンがモニタ内にあり、これを使うことで簡単に数値表示を行うこともできる。 8080のような単純なプロセッサの場合、プログラムの実行ステップ数を数えることでかなり正確に時間を計ることができるがこのようなDMA処理を行うとCPUの実行速度が多少低下し時間を正確に測れなくなる。そのため110bpsの入出力処理中など、厳密な時間測定が必要な時にはDMAによるLED表示を停止することができる。これは、8255の特定のビットで制御できる。
※この「LEDディスプレイ」の解説は、「TK-80」の解説の一部です。
「LEDディスプレイ」を含む「TK-80」の記事については、「TK-80」の概要を参照ください。
- LEDディスプレイのページへのリンク