Previous: 6.1.2.1. I2Cコントロールの関数化 |
Up: 6.1.2. テストプログラム |
Next: 6.1.2.3. 文字の表示 |
まず起動後40ms待ちます。
delay_ms(40); |
次にファンクションセット命令を2回実行します。拡張命令を使用した初期化を行いますので、ISビットを1にします。各命令の待ち時間は27μsです。
//Function Set ST7032i_Command_Write(0b00111000); delay_us(27); //Function Set ST7032i_Command_Write(0b00111001); delay_us(27); |
バイアスと発振周波数を設定します。これは使用する液晶モジュール毎に固定のパラメータだと考えておいて事実上問題ありません。深く考えずに0100と設定しておきましょう。
//Bias and OSC frequency ST7032i_Command_Write(0b00010100); delay_us(27); |
コントラスト(液晶上での表示の濃度)は6ビットで設定しています。一つの命令の中に入りきらないので2つの命令に分けて設定します。コントラストは機種や温度、周辺光量、角度によって最適値が異なってきます。とりあえずは以下のように100000と設定しておくのがよいでしょう。最初の命令で下位の0000、次の命令で上位の10を設定しています。
Ionビットはアイコンの表示設定です。アイコンを使用しないときは0にしておきましょう。Bonビットは内部のブースト回路の設定です。今回実験に使用した液晶ではいずれも1(on)で使用してください。
//Contrast set ST7032i_Command_Write(0b01110000); delay_us(27); //Power/Icon/Contrast control ST7032i_Command_Write(0b01010110); delay_us(27); |
フォロワ回路の設定をします。これもモジュール毎に固定的な値と考えて、1100を設定しておいてください。
//Follower control ST7032i_Command_Write(0b01101100); delay_ms(200); |
ここで一旦拡張命令をオフにしておきます。もっともその後の設定でも拡張命令を意識したプログラミングができるのであれば、オンのままでも構いません。HD44780互換のプログラムを流用する可能性があるのであればオフにしておきましょう。
//Function Set ST7032i_Command_Write(0b00111000); |
初期化シーケンスはこれで終了です。なお初期化シーケンスそのものではありませんが、この後のデータの表示のため、表示をオンにし、画面をクリアしておきます。画面クリアには時間(2ms)がかかります。
//Display control : on ST7032i_Command_Write(0b00001100); delay_us(27); //Clear ST7032i_Command_Write(0b00000001); delay_ms(2); |
Previous: 6.1.2.1. I2Cコントロールの関数化 |
Up: 6.1.2. テストプログラム |
Next: 6.1.2.3. 文字の表示 |