TRNジュニアを拡張することでLCDモジュールを接続することができる。『トランジスタ技術SPECIAL No.29』の記事では日立製作所製「LM018L」(20文字×2行)の接続例が示されている。また、他には日立製作所製「LM016L」(16文字×2行)、シャープ製「LM162」(16文字×2行)なども接続できる。
接続されたLCDには英数字・カタカナ・特殊文字などを表示できる。
新しく必要な部品は次の通りである。
これらの汎用ロジックICはLCDモジュールだけでなく、他の拡張回路に必要になるものである。
LCDモジュールを14芯のフラットケーブルで接続する。このケーブルは14芯フラットケーブルの両端に14芯のコネクタを圧着して作る。
1:配線後はTRNジュニアの電源を入れる。
2:LCD表示面の左側にカーソルが現れたらOK。もし画面が真っ黒あるいは真っ白ならば、V0調整用の半固定抵抗器を回して最適な状態になるように調整する。もし、ROM内のモニタプログラムをバージョン2に変更していた場合、LCDに「TRNJ MONITOR 2.0」という文字列が表示されるはずである。
ここで示す初期化ルーチンは最も基本的な設定である。
1:表示をクリアし、カーソルをホーム位置(左上)に戻す。
2:ファンクションセットにより、インタフェースデータ長を8ビット、表示行数を2行、文字フォントを5×7に設定する。
これらの値を変更したければ、ドットマトリクス液晶表示コントローラドライバであるHD44780のインストラクション一覧表と比較しながら、レジスタAにセットする8ビット列の値を変更すればよい。
3:表示ON/OFFセットインストラクションにより、全表示=ON、カーソル表示=ON、カーソル位置の文字ブランク(点滅)=OFFとする。
4:エントリモードをインクリメント=ON、表示シフト=OFFに設定する。
モニタプログラムがバージョン1ならば(バージョン2ならばここは通読して、後半を参照)、LCDの初期化は、拡張モニタの初期化ルーチンの中で自動的に行われている。そのときは改めてLCDを初期化することない。
アキュムレータAのデータを液晶に表示するにはLQOUTファンクションを用いる。LQOUTファンクションのエントリアドレスは042AHである。そこで、次のような機械語(左側)を入力することで、すぐ「A」が表示されるはずである。
1 2 |
|
[補足]これは『トランジスタ技術SPECIAL No.29』で例として提示されていたものだが、それには誤植がある。『トランジスタ技術SPECIAL No.29』では2行目が「CD 26 04」となっているが、正しくは「CD 2A 04」である。なお、記録するアドレスはE000H以降などにしておけばよい。 ◇
実際の入力は次の通りである。
1:[E][0][0][0][ADR]と入力し、記録するアドレス値に移動する。
2:ここからマシン語を入力する。
3:[E][0][0][0][ADR]を入力し、アドレス値を移動して、[INC]を押していき入力したマシン語が正しいかを確認する。
4:正しいことを確認したら、[E][0][0][0][ADR]を入力し、アドレス値を移動する。そして、[RUN]を入力する。
モニタプログラムがバージョン2だと、LCDに自動的にすでに「TRNJ MONITOR 2.0」という文字列が表示されているはずである。
さらにカーソルが表示されない。そのため、この状態で上記のようにエントリアドレス042AHをコールしても、うまくいかない(ここで自分はかなりはまった)。そこで、手動で初期化プログラムと同等のことを実行すればよいと思った。LCDの初期化プログラムのアセンブリコードは『トランジスタ技術SPECIAL No.29』のP74のリスト1に記載されているので、これを参考にしてハンドアセンブルした。
1:アドレス値をE000Hに移動して、次のリストの左側のマシン語を入力していく。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
[注意]RET命令がなくても最初は問題ない挙動を示すが、一旦LCD表示の実行後にまたE000Hを実行すると変なメッセージがLCDに残ってしまう。HALT命令でもよかったのだが、これだと7セグメントLEDが消灯し、次の入力には[RES]を押す必要がある。[RES]を押すと、LCDの画面には再び「TRNJ MONITOR 2.0」が表示されてうまく解決できない。
入力後にアドレス値をE000Hに移動して、[RUN]する。すると、LCDにカーソルが表示されるはずである。
2:次に、アドレス値をE100Hに移動して、次のリストのマシン語を入力していく。
1 2 3 4 5 |
|
入力後にアドレス値をE100Hに移動して、[RUN]する。すると、LCDに「A」が表示されるはずである。
自分の所有しているTRNジュニアのモニタプログラムはバージョン2なので、1文字表示の実験のように手動でLCDのフォーマットプログラムを実行するのは約束事としておく。
次のマシン語を入力すると「AKADMEIA」という文字列がLCDに表示される。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
[独り言]AKADEMEIAのスペルミスで「E」を入れ忘れた…。E表示のための命令を入れなおすとしたら、それ以降の命令がすべてずれてしまい、再入力が必要になってしまう。これは面倒に感じたので、このままにしておいた。 ◇