液晶表示コントローラ HD44780で迎撃
オリジナルデバイス:なんぎな日記(2023年5月10日)
に、HD44780が乗った液晶表示モジュールが出ていたので、
こちらからも迎撃してみます。
2種類のモジュールを発掘できました。
上側、東芝のが1987年4月製のようです。
HD44780、このサフィックスで内蔵しているキャラジェネ
のデータが変わります。
手持ちのHD44780データシート(1997年8月)、これで
示されていたのは「A00 A01 A02」の3種類。
・A00
・A01
・A02
「A01」と「A02」はずいぶん賑やかに見えます。
CG RAMエリアの8文字、コード0x00~0x07と0x08~0x0F
は同じものがは表示されます。
C言語では、0x00はnullターミネートされる文字列で
使われます。
ですので、0x08~0x0FをCG RAMの文字コードに割り当て
たいところなんですが、「BS」や「HT」「LF」「CR」の
制御コードと被ってしまいますんで、CG RAMを使う時は
ちょっと気遣いが必要です。
※関連
・液晶表示モジュールを4ビットモードで使ったときの空きピン処理
※Arduinoに絡めて
Arduinoでの液晶制御、一般には「LiquidCrystal」ライブラリを
使います。
8ビットモードだと、
LiquidCrystal(rs, E, d0~d7) :10bit
LiquidCrystal(rs, rw, E, d0~d7) :11bit
4ビットモードだと
LiquidCrystal(rs, E, d0~d3) :6bit
LiquidCrystal(rs, rw, E, d0~d3) :7bit
と、いちばん接続線数が少ない接続は
「4ビットモード」で「rs」と「E」を使った場合の
6本になります。
もう1ビット増やして「rw」を指定したら、
「busyチェックしてくれるので早くなるかも」
は、期待できません。
LiquidCrystalライブラリはbusyチェックは完全に無視。
「delayMicroseconds()」を使った時間待ちでタイミングを
作っています。
さて。。。この時間待ち。
LiquidCrystalライブラリのソース「LiquidCrystal.cpp」を
読みますと、初期化(begin)のところで、
delayMicroseconds(50000);
と「50ms待ち」をしているところがあります。
しかし、delayMicrosecondsにはこんな制限が・・・
・Arduino-UNOでのdelayMicrosecondsの設定は16383までだ!
液晶初期化のdelayMicroseconds(50000)、
・ほんとにこれでエエの?
・動いてるからエエんとちゃう。
っということしか言えません。
| 固定リンク
「電子回路工作」カテゴリの記事
- LEDドライバー、どうしよう(2023.09.04)
- 人感センサー用オフディレータイマー回路(2023.08.26)
- 『きもだめし』用の人感センサー(2023.08.25)
- 「御詠歌プレーヤー」の製作 (MP3-TF-16Pモジュールの使用例)(2023.08.10)
- 謎の回路・・・これでもスルーホールになっている(2023.07.28)
「Arduino」カテゴリの記事
- 「御詠歌プレーヤー」の製作 (MP3-TF-16Pモジュールの使用例)(2023.08.10)
- Arduino UNO R3のソケット・・思えば違和感がぁ(2023.07.07)
- 初めて買ったArduino UNO・・・今は(2023.05.25)
- 液晶表示コントローラ HD44780で迎撃(2023.05.16)
- Arduino UNOで3相モーターを回す(2023.05.01)
「電子部品」カテゴリの記事
- 入力セレクタ+VR+トーンコントロール用IC、何かないかな?(2023.10.02)
- 究極のマルチファンクション・ゲート 1G99(2023.09.12)
- マルチファンクション・ゲート 1G57,58,97,98(2023.09.11)
- テストクリップはミヤマのが好き(2023.08.23)
- 『きもだめし』に人感センサー(2023.08.19)
コメント