|
setup diary |
数年前からやろうと思って時間が無くてできなかったが、液晶の表示に成功した。AVRでプログラムを組んでいると、バグがあっても状態を出力する手段がほとんど無いので、バグを発見するのに非常に苦労する。液晶で状態を表示できるようになれば、非常に快適になると思っている。
今回使ったのは、秋月で300円で売っていた16文字の液晶モジュールで、HD44780準拠の標準的なものだ。ライブラリを書いている人もたくさんいるので、これを使っても良いのだが、それでは面白くないので、自分で適当に書いてみた。8bit通信と4bit通信ができるのだが、pinを節約するために、4bit通信を選択する。それでも制御信号が3pin必要なので、7pinも費やしてしまうことになる。tiny2313の通常使える17pinから7pin使うと、残りは10pinになってしまう。
いくつかトラブったことろはあるが、一応の表示には成功した。まず、文字コードを書き込むだけでは表示が消えてしまい、その後で表示オンの指示を出さないといけなかった。マニュアルにはそんな記述は見当たらない気がするんだけどな。あと、busyの読み込みにはなぜか失敗してしまうので、適当なwaitの後で次のコマンドを送るようにした。
面倒なのは、16文字のアドレスが連続していないことだ。他の液晶との互換性のためだろうが、少し処理を書き加えないといけない。
バックライトはないけど、別に見にくいわけではないし、一応の表示ができるようになったので良しとしよう。