Previous: 2.3.4.5. メインルーチン |
Up: 2.3. キャラクタ液晶の利用 |
Next: 2.4. カラー液晶の利用 |
サンプルプログラム |
gpio_charlcd_function_test |
さて前項まででHD44780の使用方法の概要はつかめたのではないかと思います。ただ前項までのプログラムではその都度HD44780に各種のコマンドを送信しているため、ややこしいですし、面倒です。そこで簡単ですが、各種の操作を関数化したものを用意しました。実行のための回路は図 6?65と同じです。
以下のようにして、hd44780.h(lib/UTIL/inc)をインクルードすると各関数が使えるようになります。
#include “hd44780.h” |
使用できる関数は表 6?18の通りです。
表 6?18 HD44780用関数
void LCD_Init(void) |
GPIOをHD44780向けに初期化し、HD44780を初期化します。 |
||||||||||||
uint8_t LCD_Put_Char(int8_t Char) |
LCDにCharで指定した文字を表示します。文字を表示後のHD44780の内部アドレスが返されます。 |
||||||||||||
void LCD_cprintf(const int8_t String[]) |
LCDに文字列を表示します。 |
||||||||||||
void LCD_Clear(void) |
LCDの表示をクリアしてカーソルをホームポジションに戻します。 |
||||||||||||
void LCD_Home(void) |
LCDのカーソルをホームポジションに戻します。 |
||||||||||||
void LCD_Display(uint8_t setting) |
LCDの設定を以下のマクロの組み合わせで指定します。
|
サンプルプログラムを実行してターミナルで文字を入力すると、LCDにその文字が表示されます。ただしソースコードで指定されている制御用の大文字を入力すると、LCDの表示を操作することができます。文字と関数の対応関係は以下の通りです。
if(RxData == ‘C’) LCD_Clear(); else if(RxData == ‘H’) LCD_Home(); else if(RxData == ‘N’) LCD_Display(|| Brink_ON); else if(RxData == ‘F’) LCD_Display(| Cursor_ON |); else if(RxData == ‘S’) LCD_Display(Display_ON | Cursor_ON |); else if(RxData == ‘B’) LCD_Display(Display_ON | | Brink_OFF); |
コラム6?19半角カナ
いろいろ弊害があるのでお勧めはできないのですが、Eclipse上のソースコード入力画面で、直接半角カナを入力することもできます。半角カナは1バイトのJISコードに変換してコンパイルされます。HD44780液晶のカナ文字も1バイトJISコードなので、ソースコート中に入力した半角カナの文字も、液晶にそのまま表示されます。 半角カナの弊害については多くのドキュメントがネット上で公開されているので、一度目を通してみてください。 |
ブックガイド 14 表示デバイス
塚本勝孝他;『高輝度/パワーLEDの活用テクニック』,CQ出版社,2008年5月. 高輝度LEDを点灯させるための回路構成がいろいろと紹介されています。パワーLEDを買うのはこの本を読んで点灯方法を学んでからにしましょう。
京谷豊他;『小型液晶ディスプレイの選び方と使い方』,CQ出版社,2006年5月. キャラクタLCD、グラフィックLCD、カラーLCDの利用法が解説されています。各液晶のコントロール方法の違いを速習できると思います。 |
Previous: 2.3.4.5. メインルーチン |
Up: 2.3. キャラクタ液晶の利用 |
Next: 2.4. カラー液晶の利用 |