nobcha23の日記

PICマイコンやArduinoを使う電子回路遊びを紹介します

i2c液晶SCG002B接続に関し、プログラムなどWEBへ

このSUNLIKE社の液晶では拡張コマンドでのコントラスト設定手法がいまいちのみこめません。
接続立ち上げ、制御についてのプログラムを作りましたので、参考まで。拡張コマンドで0x41を言うのを発行してますがなぜこのコマンドにしたのかの資料が見つからず??です。
http://chitose6thplant.web.fc2.com/
PIC12F1822のMSSPマスターの記事の中でSCG002の制御関数を扱っております。ポイントは連続バイトで拡張コマンドを利用したイニシャル処理かと思います。



その後追記 具体的なイニシャル処理です。

/*******************************
 *  LCD初期化処理 連続バイト
 *******************************/
void lcd_init2(void) {			// PCF2119マニュアル掲載お約束 
	__delay_ms(100);		// 100mS delay 電源安定まで待つ 
	lcd_cmd(0x30);			// 8bit long IF
	__delay_ms(5);			// 5mS delay
	lcd_cmd(0x30);			// 8bit
	__delay_ms(5);			// 5mS delay
	lcd_cmd(0x30);			// 8bit
	__delay_us(40);			// 40uS delay

	i2c_writeto(LCD_AD);		// LCDアドレスをOPEN
	i2c_putbyte(0x00);		// CO:0(STOP),RS:0 コマンドです

	i2c_putbyte(0x35);		// FUNCTION_set 8bit M:1:2line H:1
	i2c_putbyte(0x41);		// voltage multi
	i2c_putbyte(0x80|VLCD);		// Vlcd Va Set
	i2c_putbyte(0xC0|VLCD);		// Vlcd Vb Set
	i2c_putbyte(0x34);		// FUNCTION_set 8bit M:1:2line H:0

	i2c_stop();			// stop

	lcd_cmd(0x01);			// Clear display
	__delay_ms(100);		// 100mS待ち
	__delay_ms(100);		// 100mS待ち
	__delay_ms(100);		// 100mS待ち
	__delay_ms(100);		// 100mS待ち

	lcd_cmd(0x0F);			// DISP on, Cursor on
	lcd_cmd(0x06);			// Entry mode I_D:1 S:0

	}