2013年7月11日木曜日

PIC C18 メモ(LCD 画面上で編集)

-----------------------------
LCD 画面の表示数値の編集
-----------------------------
【条件】
  • 20文字 x 4行の LCD
  • 表示されている数値をアップダウンで増減して編集したい
  • 該当箇所までカーソルを送る
  • 小数点付加前の整数値で10の位と、1の位を増減(100,10の位でも可)
  • 必要なボタンは図のように6つあるといいが、最低4つ(UP,DOWN,NEXT,ENTER)でもOK
【手順】
  1. AddValue = 0
  2. カーソル位置に対応する増減分(10 or 1)の取得
  3. UP ボタン押下時 AddValue = AddValue +10( or +1)
    DOWN ボタン押下時 AddValue =  AddValue -10( or -1)
  4. 加算結果が制限範囲内(下図)かチェックし、超えたら制限値を AddValue に代入する
  5. 確定したら(カーソルが次の項目に移動するか、次の画面へ切り替わったら)
    保存する CurrentValue = CurrentValue + AddValue



【制限範囲のチェック】
  • 上図は、編集される側の値( CurrentValue )が、測定値に対する上下限判定値として用いられる場合を表している。この範囲内に測定値があったら"良品"として判定する
  • 引数として、増減値とUP/DOWNのサインをもらう
  • UP/DOWNの違いは、加算部分は増減値の極性が違うだけなので共通にできるが、値をチェックする部分は別れる
  • サインに応じて、上図のように AddValue の制限が必要

カーソル移動で編集できる項目は、複数になる。増減値やカーソル位置などの関連情報は構造体を使って一括管理する。



2008.11 - 2013.07.12