信大ロボ研のブログ

信州大学ロボット研究会のブログです。

PIC16F84AによるLCD制御報告2回目

こんにちは、2年のたぬです。
アセンブラ言語を使用したPIC16F84AによってLCDを制御する計画の報告最終回になります。

本日の成果は
LCDコマンドのカーソルシフトに成功
●時間のカウントアップと3ケタ数字をASCIIコードへ変換するプログラムの制作に成功

写真は、カウントプログラムを動作させているところと、私がLCDの研究に使用したブレッドボードです。ちょうど<058>と表示されています。
0.5秒ごとにカウンターを1つ進めるプログラムです。
クリアコマンドを使わずに、カーソル移動コマンドを用いてデータを書き換えています。

2進数数字のASCIIコードへの変換が、アセンブラではガチで難しいです。面倒です。
しかし、原理さえ分かれば関数化でき、少ない量のプログラムで実現可能です。
ヒントは、ASCIIコード表を縦に見ればすぐにわかる、としか言えません。

ソースコードは、いつも通り載せません。

LCDに関しては以上です。

LCDの出力に関する技術の大まかなところはつかんだと考えています。
PIC16F84AによってLCDを制御するための関数も、出力系で必要なものは書き溜めました。

なので、本日でLCDの制御は一旦終了します。
明日からは、「モーターのオルゴールを制作する」ことをやりたいと思います。
具体的には「梵天丸の駆動モーターに、PIC16F84Aとアセンブラ言語を用いてカエルの歌を演奏させる」というテーマで個人研究を進めます。
梵天丸は、デフォルトのプログラムでカエルの歌が入っています。
モーターに音を出させる原理は簡単なので、後はPIC16F84A内臓のタイマー0と、音階の周波数を調べてプログラムを書くだけです。

……まぁ、口で言うほど簡単ではないことはここだけの秘密です。