LCD制御関数です。4ビット/8ビットのインターフェースを使用できます。ピン配置は独立設定でき連続している必要性がありません。
関数名 内容 void InitLCD() LCDの初期化 void PutCmdLCD(char a) コマンド1文字出力 void PutDatLCD(char a) データ1文字出力 char GetCmdLCD() コマンド1文字入力 char GetDatLCD() データ1文字入力 void ClsLCD() 画面クリア void LocateLCD(int x, int y) 表示位置指定、起点は(0,0) void PutsLCD(char *buffer) 文字列出力、文字列はNULLターミネート(\0)
- LCD.hをインクルードしてください。
- デフォルトは4ビット・インターフェースです。8ビット・インターフェースの場合LCD.hファイル内でコメントアウトしてください。
//#define EIGHT_BIT_INTERFACE- LCD.hファイル内でLCDの表示タイプを選択してください。
//#define DISPLAY_8x1 //#define DISPLAY_8x2 //#define DISPLAY_10x1 //#define DISPLAY_10x4 //#define DISPLAY_16x1 #define DISPLAY_16x2 //#define DISPLAY_16x4 //#define DISPLAY_20x2 //#define DISPLAY_20x4 //#define DISPLAY_24x2 //#define DISPLAY_40x2 //#define DISPLAY_40x4- LCD.hファイル内でピン配置を設定してください。(書き込みピンとしてdsPICではPORTxbitsを指定しますが、PIC24ではLATxbitsを指定します。)
DATA_PIN_x CFG_DATA_PIN_x READ_PIN_x TRIS_DATA_PIN_x E_PIN WR_PIN RS_PIN- LCD.hファイル内で初期モードINIT_MODEを設定してください。
#define INIT_MODE (FOUR_BIT & TWO_LINE & DOTS_5x10)
- LCDのビジーフラグ(BF)を読まずにタイミング処理しています。
- そのため内部でWait.cを使用します。
- LCDの内部クロックは270KHzをベースにしています。(190KHz-350KHzの幅があります)
LCD.zip(C)2009 All rights reserved by Einstein.
- LCD.h
- LCD.c
- Sample.c