人気ブログランキング | 話題のタグを見る

LCD液晶を極める!


一日中、プログラミングしていると、意外と多くのプログラムをコーディングできるみたいだwww

LCDのプログラムを朝から晩まで、作り続けていたw

今日一日でここまで作ることが出来た。

void LCD_Init(void);//LCDの初期化
char LCD_Read(char RS);//LCDの読み込みサイクル
void LCD_Write(char RS,char lcd_data);//LCDの書き込みサイクル
void LCD_Write_DATA( char RS , char lcd_data );//LCDの4ビットデータを2回送信
char LCD_Read_DATA( char RS);//LCDの4ビットデータを2回受信
void LCD_Clear (void);//LCDのクリア
void LCD_Stear (void);//LCDのスタート
void LCD_Position (char Row, char Col); //LCDのポジション
void LCD_Display_Cmd (char cmd);//LCDの表示オン・オフコントロール
void LCD_Cursor_RightShift (char shift_num);//カーソルを右にシフト
void LCD_Cursor_LeftShift (char shift_num);//カーソルを左にシフト



ふぅ・・・・
ここまで作り込めば、意外と便利になったwww
カーソル表示も出来るし、クリアもポジションも思いのままw

関数の考え方とか、名前の付け方は、PSoC寄りですwwww
だけど、やっぱり自分で作るから、PSoCのプログラムより綺麗に表示できるのはなぜでしょうw
つかっててわかるが、あのPSoCのLCDプログラムには、LCDのビジーフラグを一切気にせずに実行している。
そのため、早すぎる変化にはついていけないようになっている。

R8Cとか、PSoCとか、20MHz以上のマイコンで低速なLCDなど扱う場合は、
しっかしビジーフラグを見ながら動かした方がいいと思う・・・

まぁ、その分他の動作が遅くなるんだけどね・・・・

OSっぽく、割り込み使ってタスク管理をすれば、LCD用ルーチンががががwww

LCD液晶を極める!_b0083579_22182799.jpg


半田無しの開発は、なんか新鮮で面白かったwww
ケーブルの絡みとか、プログラム中にケーブル外れてエラーに気が付かなかったりね・・・

まぁ、まだ解決できてない問題が、いくらかあるんだけどねwww

PSoC見たいに、文字列 を使ってLCDに表示したいんだけど、そうすると文字データの変換とか、メモリを考えると大変なんだよな~・・・
ん? よく見ると、このLCDのキャラクターって、ASCIIにほぼ同じだった orz
いや、正確には ASCIIコードの改良版というべきか、キャラクターコード という物だろう。
おぉ! キャラクターコードが同じだから、文字列をそのままデータとして出力できた!
な~んだ 簡単じゃないかwww
一部、表示できない特殊記号あるけど、当分使わないだろうw
キャラコードをHexで直接出力する関数作るのもいいな~www
ここを参考に見ましたw

あと、LCDは何故か、表示するには問題は無いのだが、パソコンで言う バックスペース の機能を再現するような便利なコマンドは無いのだろうか・・・
やっぱり、地道に、カーソル一つずらして文字も一文字消す って出来るだろうか・・・

これは、売れば500円ぐらいの価値にならないかなwwww

by Noise_Blog | 2008-02-04 22:02 | R8C

<< GPSを使ってみる。    While文で簡易的時間稼ぎ >>