キャラクタ型液晶の使い方 ノートPCなどの液晶と違って,コマンドを送ると文字を書いてくれる液晶 フォントなどをマイコンに設定する必要がないので,簡単に文字を表示できる 例) SC1602BS-B(XA) DB7 DB5 DB3 DB1 E (Enable Signal) RS (Register Select) VSS(0V) DB6 DB4 DB2 DB0 R/W (Read/Write) コントラスト調整 VDD(5V) データ転送は8bitモードと 4bitモードがある。 4bitモードの時は、DB0~3は 使わない キャラクタ型液晶の使い方 データの書き込み RS R/W E DB0~7 (or DB0~3) time レジスタを選択 =0 … コントロール =1 … データ 書き込みたいデータ を出力する R/W = 0にする E = 1 → 0とする と書き込まれる キャラクタ型液晶の使い方 データの読み込み RS R/W E DB0~7 (or DB0~3) time レジスタを選択 =0 … コントロール =1 … データ 読み出す R/W = 1にする E = 0 → 1とする とデータが出力さ れる キャラクタ型液晶の使い方 4ビットモードでの使用法 1バイト(8bit)のデータを、2回に分けて出力する。 最初に上位4ビット、次に下位4ビットを転送する。(使用するデータ線はDB4~7) 例)0x7Aを転送したいとき(2進数では01111010) RS R/W E DB7 0 1 DB6 1 0 DB5 1 1 DB4 1 0 time キャラクタ型液晶の使い方 初期化 1. 電源投入後15ms以上待つ 2. RS=0, RW=0として、DB[7:4]に0011を出力する 3. 4.1ms以上待つ 4. RS=0, RW=0として,DB[7:4]に0011を出力する 5. 100us以上待つ 6. RS=0, RW=0として,DB[7:4]に0011を出力する 7. 1ms待つ 8. RS=0, RW=0として,DB[7:4]に0011を出力する(ここから先は4ビットモードになる) 9. データシートのレジスタ表をみて,欲しい機能のセッティングを行う. (これ以降は,BF(ビジーフラグ)が使えるようになるので,BFを見て,書き込みできるかどうか判断 できる.BFを使わないなら,ひとつの書き込みが終わった後,固定時間待つようにする. 動作がおかしい場合は,この,待ち時間が短いことが多いので,適宜調整してみる.) キャラクタ型液晶の使い方 データの書き込み void LCD_putc(char dat){ int i; dat 0 LCD_WAIT(); 0 0 0 1 1 1 1 LCD_D_MASK LCD_D = (LCD_D & ~LCD_D_MASK) | (LCD_D_MASK & (dat>>4) ); //Upper 4 bits LCD_RS = 1; LCD_RW = 0; LCD_E = 1; asm("nop"); LCD_E = 0; LCD_D = (LCD_D & ~LCD_D_MASK) | (LCD_D_MASK & dat ); //Lower 4 bits asm("nop"); RS LCD_E = 1; asm("nop"); R/W LCD_E = 0; } E DB0~7 (or DB0~3) キャラクタ型液晶の使い方 文字列を出力したい場合は,↓のような関数を使うとべんり int LCD_puts(char* str, int num){ while(*str){ LCD_putc(*str); ここで,1文字出力 str++; if( ! (num--)) break; } return 0; }
© Copyright 2025 ExpyDoc