20文字×4行 I2Cインターフェイス キャラクタタイプ液晶 2004A をRL78_104で制御してみる 2018.12.18
■概要
20文字4桁液晶 通称2004A のI2Cインターフェイスを持った液晶がアマゾンで買えるわけですが、それにRL78マイコンで文字を表示する関数を作ってみました。電源を含めて4本の線の接続で使用できます。開発環境はルネサスエレクトロニクスの無償版CS+ for CC、CPUボードは弊社のRL78_104CPUボードです。
■2004A液晶の構造
2004A液晶は写真のように8ビットバス、RS、E、R/_W信号で構成されるよく見るHD44780互換のパラレルインターフェイスですが、
裏を見るとそこにI2C→パラレル変換ICのPCF8574が搭載されていて、外部とのインターフェイスはI2Cで行うことになります。
■プログラムの考え方
I2Cバスは8ビットずつ、データを2004A側に送ることができます。それがPCF8574で下記のようにパラレルに変換されます。データバスはD4-D7までの4本、他の4本はコントロール線として使っています。
I2Cバス上のデータの並び | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
PCF8574で変換され2004Aに出力されるデータ | D7 | D6 | D5 | D4 | BL | E | R/_W | RS |
BL:1 バックライトON 0:バックライトOFF
一度に8ビットしか送れませんので、2004A側のデータバスを4ビットモードにして、8ビットデータを書く場合、2回に分けて書き込んでいます。4ビットモードではD7-D4の線がデータバスとして使用されます。
なお、PCF8574AのI2Cアドレスは0x3fです。末尾にAが付かないPCF8574は0x27です。このプログラムでは7ビットアドレスを左に1ビットシフトさせて倍の0x7eを入れています。空いたD0はI2CのR/_W信号に使っています。
■配線
RL78_104CPUボードのCN3から2004Aまで電源+5V、GND、SCL、SDAの4本を接続します。
基板側ピンヘッダB4B-EH 対応ハウジングEHR-4 ピン BREH-001T-P0.6 メーカーJST 圧着済みのLケーブル 通販「通信ケーブル」で発売中です。
■プログラムダウンロード
プログラムダウンロード 回路図
プログラムをCS+ for CC で読み込むと上記左半分が表示されます。更に、エミュレータE1をRL78_104 CPUボードに挿入し、プログラムをボードにダウンロードした状態で「ウオッチ窓のインポート」を行うと右半分にウオッチ窓が出現し、各種変数がリアルタイムで変化するのが確認できます。電源はE1から供給します。
2004Aコントロール線とD4信号波形
■番外編
ある業者の2004AはSDA線にプルアップ抵抗が搭載されていないようで、その場合、5.1KΩ程度の抵抗をプルアップすると動作します。
■お問い合わせ
〒350-1213
埼玉県日高市高萩1141-1
有限会社ビーリバーエレクトロニクス
TEL:042-985-6982
MAIL:info@beriver.co.jp