2011年9月20日火曜日

【追記】LCDモジュールに外字登録

追記
 このコードとんでもないバグを抱えてるらしい
 壊れはしないと思うけど なんか怪しい
 ということで↓のコードは使用禁止
 できれば今日中に修正コード書きます
 が 明日朝早いので無理だったら来週まで更新できませんorz
 (水曜日~土曜の4日連続で早朝出発のイベントが...)
******************************************************

マイコンで制御できる液晶モジュール(*)に外字登録を試してみたよ

今回作った関数はこれ↓
/* *** */

void LCD_Cset(char addr, char ca[]) {
LCD_8set(0x40 + addr, 0);
putch(ca[0]);
putch(ca[1]);
putch(ca[2]);
putch(ca[3]);
putch(ca[4]);
putch(ca[5]);
putch(ca[6]);
putch(ca[7]);

LCD_clear();
}

/* *** */
使い方は
/* *** */

const char data[] = {
0b00000000,
0b00000100,
0b00000100,
0b00011111,
0b00000100,
0b00000100,
0b00011111,
0b00000000 };
LCD_Cset(0, data);

/* *** */
みたいな感じで
でも配列を使うと結構コストが高いから
配列を使わないようにしてもいいかも

putchはHI-TECHでprintf関数を使えるようにするためのもの
簡単に言うとRSを1にして1byte送信

表示する場合はaddrで指定したアドレスをRSを1にして送信すればいいです

外字登録って結構便利で
ゲームを作ってる人とかカレンダーを作ってる人もいるみたい
あとおっきな文字を表示することもできるらしい

注意点としては外字は8文字までしか登録できないみたい
8文字を超えて登録しようとした時の処理とかは書いてないから各自注意してください


ということで 覚えておくとちょっと便利な小ネタでした

*これとかこれで動作確認をしたよ

0 件のコメント:

コメントを投稿