8279-プログラム可能なキーボード
8279プログラマブルキーボード/ディスプレイコントローラーは、キーボードをCPUに接続するIntelによって設計されています。キーボードは最初にキーボードをスキャンし、キーが押されたかどうかを識別します。次に、押されたキーの相対応答をCPUに送信し、その逆も同様です。
キーボードがCPUとインターフェースする方法はいくつありますか?
キーボードは、割り込みモードまたはポーリングモードのいずれかでインターフェイスできます。の中にInterrupt mode、いずれかのキーが押された場合にのみプロセッサにサービスが要求されます。それ以外の場合、CPUはメインタスクを続行します。
の中に Polled mode、CPUは定期的に8279の内部フラグを読み取り、キーを押してもキーが押されているかどうかを確認します。
8279キーボードはどのように機能しますか?
キーボードは最大64個のキーで構成されており、キーコードを使用してCPUとインターフェイスします。これらのキーコードはデバウンスされ、CPUからアクセスできる8バイトのFIFORAMに格納されます。FIFOに8文字を超える文字が入力されている場合は、一度に8つを超えるキーが押されていることを意味します。これは、オーバーランステータスが設定されている場合です。
FIFOに有効なキーエントリが含まれている場合、CPUは割り込みモードで割り込まれます。それ以外の場合、CPUはポーリングのステータスをチェックしてエントリを読み取ります。CPUがキーエントリを読み取ると、FIFOが更新され、キーエントリがFIFOからプッシュされて、新しいエントリ用のスペースが生成されます。
アーキテクチャと説明
I / O制御とデータバッファ
このユニットは、マイクロプロセッサを介したデータの流れを制御します。Dが低い場合にのみ有効になります。そのデータバッファは、システムの外部バスをマイクロプロセッサの内部バスに接続します。ピンA0、RD、およびWRは、コマンド、ステータス、またはデータの読み取り/書き込み操作に使用されます。
制御およびタイミングレジスタとタイミング制御
このユニットには、キーボード、表示モード、およびCPUによってプログラムされたその他の操作を格納するためのレジスタが含まれています。タイミングおよび制御ユニットは、回路の動作のタイミングを処理します。
スキャンカウンター
2つのモードがあります。 Encoded modeおよびデコードモード。エンコードモードでは、カウンターは、キーボードとディスプレイのスキャンラインを提供するために外部でデコードされるバイナリカウントを提供します。
の中に decoded scan mode、カウンタは内部最下位2ビットをデコードし、デコードされた1 SLにスキャン4から提供0 -SL 3。
リターンバッファ、キーボードデバウンス、および制御
このユニットは、最初にキークロージャーを行方向にスキャンし、見つかった場合は、キーボードデバウンスユニットがキーエントリをデバウンスします。同じキーが検出された場合、そのキーのコードは、SHIFT&CONTROLキーのステータスとともにセンサーRAMに直接転送されます。
FIFO /センサーRAMとステータスロジック
このユニットは、8バイトの先入れ先出し(FIFO)RAMとして機能し、押されたすべてのキーのキーコードがシーケンスに従ってRAMに入力されます。ステータスロジックは、FIFOが空になるまで、各FIFO読み取り操作の後に割り込み要求を生成します。
スキャンされたセンサーマトリックスモードでは、このユニットはセンサーRAMとして機能し、各行に対応するセンサー行のステータスがマトリックスに読み込まれます。センサーの状態が変化すると、IRQラインがHighに変化し、CPUに割り込みます。
ディスプレイアドレスレジスタとディスプレイRAM
このユニットは、CPUがディスプレイRAMとの間で現在読み書きしているワードのアドレスを保持するディスプレイアドレスレジスタで構成されています。
8279-ピンの説明
次の図は、8279 −のピン配列を示しています。
データバスライン、DB 0 -DB 7
これらは、CPUとの間でデータを転送するために使用される8つの双方向データバスラインです。
CLK
クロック入力は、マイクロプロセッサが必要とする内部タイミングを生成するために使用されます。
リセット
名前が示すように、このピンはマイクロプロセッサをリセットするために使用されます。
CSチップセレクト
このピンをローに設定すると、読み取り/書き込み操作が可能になります。それ以外の場合は、このピンをハイに設定する必要があります。
A 0
このピンは、コマンド/ステータス情報の転送を示します。低い場合は、データの転送を示します。
RD、WR
この読み取り/書き込みピンにより、データバッファはデータバスを介してデータを送受信できます。
IRQ
FIFOセンサーRAMにデータがある場合、この割り込み出力ラインはハイになります。FIFO RAMの読み取り操作ごとに、割り込みラインがローになります。ただし、FIFO RAMにCPUが読み取るキーコードエントリがさらに含まれている場合、このピンは再びHighになり、CPUへの割り込みが生成されます。
V ss、V cc
これらは、マイクロプロセッサのグランドおよび電源ラインです。
SL 0 − SL 3
これらは、キーボードマトリックスをスキャンして数字を表示するために使用されるスキャンラインです。これらのラインは、モード制御レジスタを使用して、エンコードまたはデコードとしてプログラムできます。
RL 0 − RL 7
これらは、キーの一方の端子に接続されているリターンラインであり、キーのもう一方の端子はデコードされたスキャンラインに接続されています。これらの行は、いずれかのキーが押されると0に設定されます。
シフト
シフト入力ラインのステータスは、スキャンされたキーボードモードのFIFOにすべてのキーコードとともに保存されます。キークロージャーで低くなるまで、内部で引き上げて高く保ちます
CNTL / STB-制御/ストロボI / Pモード
キーボードモードでは、このラインは制御入力として使用され、キーを閉じるとFIFOに保存されます。このラインは、ストローブ入力モードでデータをFIFORAMに入力するストローブラインです。内部プルアップがあります。キークロージャーでラインが引き下げられます。
BD
空白表示の略です。桁切り替え時に表示をブランクにするために使用します。
OUTA 0 - OUTA 3及びOUTB 0 - OUTB 3
これらは、2つの16x4または1つの16x8内部ディスプレイリフレッシュレジスタの出力ポートです。これらのラインからのデータは、ディスプレイとキーボードをスキャンするためにスキャンラインと同期されます。
8279の動作モード
8279には2つの動作モードがあります- Input Mode そして Output Mode。
入力モード
このモードはキーボードからの入力を処理し、このモードはさらに3つのモードに分類されます。
Scanned Keyboard Mode−このモードでは、キーマトリックスは、エンコードされたスキャンまたはデコードされたスキャンのいずれかを使用してインターフェイスできます。エンコードされたスキャン、8×8キーボード、またはデコードされたスキャンでは、4×8キーボードをインターフェースできます。SHIFTおよびCONTROLステータスで押されたキーのコードはFIFORAMに保存されます。
Scanned Sensor Matrix−このモードでは、エンコーダースキャンまたはデコーダースキャンのいずれかを使用して、センサーアレイをプロセッサーと接続できます。エンコーダースキャンでは、8×8センサーマトリックスまたはデコーダースキャンで4×8センサーマトリックスをインターフェースできます。
Strobed Input −このモードでは、制御ラインが0に設定されている場合、リターンラインのデータはバイトごとにFIFOに格納されます。
出力モード
このモードは、ディスプレイ関連の操作を処理します。このモードはさらに2つの出力モードに分類されます。
Display Scan −このモードでは、8/16文字の多重化ディスプレイをデュアル4ビット/シングル8ビットディスプレイユニットとして編成できます。
Display Entry −このモードでは、右側/左側からデータを入力して表示できます。