自作電子小物/TIPS/I2C接続キャラクタLCD

 
 

I2C接続型のキャラクタLCDモジュールのSB1602Bを制御する出力サブルーチンです。対応するCPUは、現在PSoC1, PIC18, MSP430F2xxxシリーズ, AVR ATmegaです。

 

SB1602B Library for PSoC1,PIC18,MSP430F2xx

2010年1月1日

主な仕様

 対応モジュール: Strowbery Linux社SB1602B

 バーグラフ表示機能: なし

 API (アプリケーションプログラムインタフェース)

      void i2c_lcd_start(void);

      void i2c_lcd_stop(void);

      void i2c_lcd_init(void);

      void i2c_lcd_position(unsigned char bRow, unsigned char bCol);

      i2c_lcd_control(c);

      i2c_lcd_writeData(d);

      void i2c_lcd_prString(char * sRamString);

      void i2c_lcd_prCString(const char * sRomString);

      void i2c_lcd_prHexByte(unsigned char bValue);

      void i2c_lcd_prHexInt(int iValue);

      void i2c_lcd_contrast(unsigned char bCont);

      void i2c_lcd_icon(unsigned char bAddr, unsigned char bFlag);

      (PSoC DesignerのLCDユーザモジュールに似せています)


ダウンロード

関連ソース全てとサンプルプログラムが入った各IDE用のプロジェクトファイル

SB1602B_Library_for_PSoC1,PIC18,MSP430F2xx_files/SDcm00_sample.zip
PSoC Designer 5用「i2c_lcd_sample.zip(644kB)
SB1602B_Library_for_PSoC1,PIC18,MSP430F2xx_files/i2c_lcd_sample_1.zip
MSP430/IAR Embedded Workbench IDE用「i2c_lcd_sample.zip(52kB)
SB1602B_Library_for_PSoC1,PIC18,MSP430F2xx_files/I2C_LCD+sample.zip
ATmega/AVR studio用「I2C_LCD+sample.zip(48kB) 2010.12.20追加

回路図のEAGLE用のプロジェクトファイル

SB1602B_Library_for_PSoC1,PIC18,MSP430F2xx_files/i2c_lcd_sample_eagle.zip
i2c_lcd_sample.zip(336kB)


サンプルの動かし方

・回路は次の物を用意 i2c_lcd_sample_PSoC.pdf i2c_lcd_sample_MSP430.pdf i2c_lcd_sample_AVR_TWI.pdf

  I2Cバスのプルアップ抵抗は、MSP430では内部の物を使っていますので、特に不要です。

・適当なディレクトリにダウンロードしたファイルを展開し、各IDEでプロジェクトとして開く。

・プロジェクトメニューからビルドして、デバイスにプログラムを書込む。

・電源3.3Vを与える。


ユーザアプリケーションプログラムでの使い方

(1)PSoC Designerの場合、ハードウエアI2CユーザモジュールH2CHWまたはソフトウエアi2CマスタユーザモジュールH2Cm配置する。以下の画面イメージを参考にしてプロパティを設定。

(2)必要となるソースファイルi2c_lcd.c, i2c_lcd.h, delay.c, delay.hをプロジェクトディレクトリにコピーしておき、プロジェクトメニューから、ソースファイルを1つづつADDする。

(3)ヘッダファイルの内容を環境に合わせてソース修正する。i2c_lcd.h内の最初の部分に、CPUとインタフェースの選択部分があるので、必要な1行のみ残し他はコメントアウトする。また、下方の定義で実態に合わない部分があれば適せん修正する。なお、PIC18とMSP430はdelay.h内に、CPUクロック数が影響するパラメタがあるので、そこも修正する必要がある。

(4)以上でビルド出来る様になる。

コントラストの設定が微妙なので、うまく初期化出来ていても、最初は全く表示が出ないと思います。ハードが原因かソフトの原因か判別出来ないので、コントラストを一番大きな値にしておくと良いでしょう。


送達確認について

このモジュールは、ステータスを得る事ができないため、コマンドが実行されたかどうかの確認ができません。正常にサブルーチンが終了したからといって、確実に表示されているとは限りません。ただし、I2Cとしての送達確認は行われています。


権利関係

GPLに準じます。他から流用したソース部分はありません。参照した情報源は以下の通り。

  1. (1) 低電圧I2C液晶モジュール(3.3V I2C接続)マニュアル - 株式会社ストロベリー・リナックス 2009年5月18日 第2版

  2. (2)低電圧I2C液晶モジュールアプリケーションノートAN001 - 株式会社ストロベリー・リナックス 2009年5月19日 第1版

  3. (3)ST7032 Serial Specification1.3 2007/11/09 - Sitronix Technology Corp.

なお、MSP430で使用する場合、TexasInstrument社のアプリケーションノート”SLAA368A Using the USI I2C Code Library”で提供しているサブルーチンライブラリを利用していますので、最終的な使用者が自分以外では注意が必要です。