
日立HD44780 LCDコントローラは、 1980年代に日立が開発した英数字ドットマトリックス 液晶ディスプレイ(LCD)コントローラです。コントローラの文字セットには、 ASCII文字、日本語かな文字、および2行の40文字のいくつかの記号が含まれています。拡張ドライバを使用すると、デバイスは最大80文字を表示できます。[1]多数のサードパーティディスプレイが16ピンインターフェイスと命令セットと互換性があるため、人気があり安価なLCDドライバになっています。[2]
建築

日立 HD44780 LCD コントローラはモノクロテキスト表示に限定されており、コピー機、ファックス機、レーザープリンタ、産業用テスト機器、およびルータやストレージデバイスなどのネットワーク機器でよく使用されます。
互換性のある LCD 画面は、いくつかの標準構成で製造されています。一般的なサイズは、1 行 8 文字 (8×1)、および 16×2、20×2、20×4 形式です。より大きなカスタム サイズは、32、40、80 文字で、行数は 1、2、4、または 8 です。最も一般的に製造される大きな構成は 40×4 文字ですが、1 つの HD44780 チップでは最大 80 文字しかアドレス指定できないため、拡張チップを備えた個別にアドレス指定可能な HD44780 コントローラーが 2 つ必要です。
文字 LCD には、LED、蛍光灯、またはエレクトロルミネセンスのバックライトが付いている場合があります。 LED バックライトの公称動作電圧は、最大輝度で 5V ですが、低電圧では LED の色などの詳細に応じて調光されます。 LED 以外のバックライトでは、通常、より高い電圧が必要になります。
インタフェース

文字 LCD は 16 接点インターフェイスを使用し、通常は0.1 インチ (2.54 mm) 間隔のピンまたはカード エッジ接続を使用します。バックライトのないものは、ライトに電力を供給する 2 つのピンを省略して 14 ピンのみになる場合があります。このインターフェイスは、2 つのアドレス ピンのみを使用してIntel MCS-51 XRAM インターフェイスに簡単に接続できるように設計されており、簡単な MOVX コマンドを使用して LCD にテキストを表示できるため、デバイスにテキスト表示を追加するためのコスト効率の高いオプションを提供します。[引用が必要]
主なピン配置は次のとおりです (例外もあります)。
注:
- Vee (V0 とも呼ばれる): これはアナログ入力で、通常はポテンショメータに接続されます。温度や、場合によっては海抜の高さなどによって変化するディスプレイの視認性を最適化するために、ユーザーは他のすべての調整とは無関係にこの電圧を制御できる必要があります。調整を誤ると、ディスプレイが誤動作するように見えます。
- R/ W : ほとんどのアプリケーションでは、HD44780 からの読み取りは必要ありません。その場合、このピンは永久にグランドに接続することができ、これを制御するためにプロセッサ ピンを割り当てる必要はありません。
モード選択

8 ビット モードでは、すべての転送はイネーブル ピン (E) の 1 サイクルで行われ、データ バスには 8 ビットすべてが存在し、RS ピンと R/ Wピンは安定しています。4ビットモードでは、データは上位データ ピン D7 ~ D4 で 4 ビットの「ニブル」のペアとして転送され、2 つのイネーブル パルスと RS ピンと R/ Wピンは安定しています。最初に最上位 4 ビット (7 ~ 4) を書き込んでから、最下位 4 ビット (3 ~ 0) を書き込む必要があります。高/低シーケンスは毎回完了する必要があります。そうしないと、コントローラはそれ以上のコマンドを正しく受信できません。
4ビットまたは8ビットモードを選択するには、コマンドを慎重に選択する必要があります。考慮すべき主な点が2つあります。まず、D3~D0が未接続の場合、内部プルアップMOSFETがあるため、HD44780にはこれらのラインが常にハイ(バイナリ1111)として表示されます。[3]次に、LCDは最初は次の3つの状態のいずれかになります。
- 状態1: 8ビットモード
- 状態2: 4ビットモード、最初の4ビットセットを待機中
- 状態3: 4ビットモード、2番目の4ビットセットを待機中
たとえば、HD44780 が 4 ビット モードのときに、コマンドの最初の 4 ビットのみを送信した後に以前の制御が中止された場合に、状態 3 が発生する可能性があります。
次のアルゴリズムにより、LCD が目的のモードになっていることが保証されます。
同じコマンドが 3 回送信されます。8 ビット インターフェイスの関数セット D7 ~ D4 = バイナリ 0011、下位 4 ビットは「don't care」で、単一の有効化パルスを使用します。コントローラが 4 ビット モードの場合、下位 4 ビットは無視されるため、インターフェイスが既知のサイズ構成になるまで送信できません。
状態 1 (8 ビット構成) から開始します。
- 機能設定コマンドを送信します。コマンドが実行され、8 ビット モードが設定されます。
- 機能設定コマンドを送信します。コマンドが実行され、8 ビット モードが設定されます。
- 機能設定コマンドを送信します。コマンドが実行され、8 ビット モードが設定されます。
状態 2 から開始 (4 ビット構成、最初の 4 ビット転送を待機):
- 機能設定コマンドを送信します。最初の 4 ビットを受信しました。
- 機能設定コマンドを送信します。最後の 4 ビットでコマンドが受け入れられ、8 ビット モードが設定されます。
- 機能設定コマンドを送信します。コマンドが実行され、8 ビット モードが設定されます。
状態 3 (4 ビット構成、最後の 4 ビット転送を待機) から開始します。
- 機能設定コマンドを送信します。最後の 4 ビットは不明なコマンドが実行されたことを示します。
- 機能設定コマンドを送信します。8 ビット モードではコマンドが実行され、それ以外の場合は最初の 4 ビットが受信されます。
- 機能設定コマンドを送信します。8 ビット コマンドが実行されるか、前のコマンドの最後の 4 ビットが実行され、8 ビット モードが設定されます。
3 つの開始ケースすべてにおいて、バス インターフェイスは 8 ビット モード、1 行、5×8 文字になっています。異なる構成の 8 ビット モードが必要な場合は、8 ビット バスの機能設定コマンドを送信して、完全なパラメータを設定する必要があります。4 ビット モードが必要な場合は、バイナリ 0010 を単一の有効化パルスとともに D7 ~ D4 に送信する必要があります。これで、コントローラは 4 ビット モードになり、完全な 4 ビット バスの機能設定コマンド シーケンス (後続のサイクルでコマンド ビット 7 ~ 4 と 3 ~ 0 による 2 つの有効化) によって、機能設定レジスタの構成が完了します。
命令セット
HD44780の命令セットは以下の通りである。[4]
DDRAMはディスプレイデータRAM、CGRAMはキャラクタジェネレータRAMです。[5] DDRAMは80バイト(行あたり40バイト)で、2行の間にギャップを設けてアドレス指定されています。最初の行は10進数で0〜39、16進数で0〜27のアドレスです。2番目の行は10進数で64〜103、16進数で40〜67のアドレスです。
CGRAM は、文字ジェネレーターで最大 8 文字をエンコードするために使用される読み取り/書き込みメモリです。アドレス 0 から 3F の 16 進数の 64 のフィールドで構成されます。各フィールドは、各文字のピクセルの行にマッピングされる 5 ビットです。CGRAM の各 8 つのフィールドは、各文字に使用されます。0 ~ 7 および 8 ~ 15 の文字コードの下位 3 ビットは、CGRAM メモリの 8 つのフィールドのグループを選択します。
DDRAM の読み取りと書き込みは、バス転送中に RS 入力をハイに設定することによって行われます。また、DDRAM は、アクセスする DDRAM を選択し、DDRAM アクセスの開始アドレスも設定する Set DDRAM address コマンドを使用して選択する必要があります。
同様に、CGRAM の読み取りと書き込みは、バス転送中に RS 入力をハイに設定することによって行われます。CGRAM は、アクセスする CGRAM を選択し、CGRAM アクセスの開始アドレスも設定する Set CGRAM address コマンドによっても選択する必要があります。
この表に記載されている実行時間は、発振器周波数 270 kHz に基づいています。データシートによると、V CC =5 V で 91 kΩ の抵抗器の場合、発振器は 190 kHz から 350 kHz の間で変化し、待機時間は 37 μs ではなく 52.6 μs と 28.6 μs になります。推奨されている 91 kΩ の抵抗器を備えたディスプレイが 3.3 ボルトから電源供給されている場合、発振器ははるかに低速で動作します。ビジー ビットが使用されず、命令が外部回路によってタイミングされる場合は、これを考慮する必要があります。
フォント
オリジナルの HD44780 文字ジェネレータ ROM には、5×8 ドット マトリックスに 208 文字、5×10 ドット マトリックスに 32 文字が含まれています。最新の互換チップは、より高い解像度で提供されており、より多くのピクセルを備えたディスプレイに適合しています。[引用が必要]
ROMには2つのバージョンが開発されている: [5]
- HD44780UA00、カタカナ文字とギリシャ文字および数学記号を含む標準(日本語)バージョン
- HD44780UA02、ギリシャ文字、キリル文字、西ヨーロッパ文字(発音区別符号付き)の完全なセットを含むヨーロッパ版
日本語版の7 ビットASCIIサブセットは非標準です。通常バックスラッシュ文字が使用される場所に円記号が使用され、チルダと消去文字の代わりに左矢印記号と右矢印記号が使用されます。
特別なコマンドを使用して、限られた数のカスタム文字をビットマップ形式でデバイスにプログラムできます。これらの文字は揮発性メモリに保存されるため、デバイスの電源を入れるたびにデバイスに書き込む必要があります。
参照
- LCD Smartie – Microsoft Windows 用のオープンソース ディスプレイ ドライバー
- JIS X 0201 – 日本語標準の 7 ビットおよび 8 ビット文字エンコーディング
参考文献
- ^ サンチェス&カントン 2007、275 ページ
- ^ 「ArduinoでHitachi HD44780を使用する」。Best-Microcontroller-Projects 。 2023年1月2日閲覧。
- ^ 「HD44780U (LCD-II)」(PDF) . 日立. 54 ページ. 2023年1月5日閲覧。
- ^ 黄 2009、326 ページ
- ^ ab "HD44780U データシート" (PDF) . 2021年12月23日閲覧。
