ソフトウェアの概要
プログラムを作る上でデバイスの初期設定は、使い慣れていないデバイスでは誠に面倒な物ですが、CodeWarriorにはプロセッサーエキスパートという便利なツールがあるので、あまりデバイスを意識する事無く作業に取り掛かれて便利です。I/OやAD、タイマーなどもBeanを使うと作業効率は大幅にアップします。
LCD_VU_Display.C
メインプログラムです。
マイコンの初期化、LCDの初期化、CGデータの書き込みを行った後、起動メッセージを表示します。
メインループでは2チャンネル分のAD変換を3回づつ行って、平均値を格納します。次にBARテーブルでAD変換値をBARの数に変換します。
後はBARを必要数LCDに書き込んで100mS待ってからループします。この100mSの待ち時間はLCDの応答速度に依存する物で気温にもよりますがTNタイプで80mS、STNタイプでは250mS必要です。この応答速度より早く書き換えを行ってもLCDは反応しきれないので表示が綺麗に見えません。
将来I2Cバスによる表示コマンド受付も、この待ち時間に割り込みを受け付けて処理しようと考えています。
TextLCD.c
このプログラムはLCDキャラクタディスプレー用ライブラリとして製作しました。今後も拡張する予定です。
LCDの初期設定、CGデータの転送、LCDへのコマンド出力、1文字出力、文字列出力で構成されています。
ヘッダファイルにカーソルON/OFFやブリンクといったコマンドは定義してあります。
CPU.c
プロセッサーエキスパートが自動生成してくれた、マイコンの初期化プログラムです。内蔵クロック16MHzでバスクロックは4MHzです。CPU_Delay100USというウェイト関数も生成してくれます。
LCD_DB4bits.c/LCD_RS.c/LCD_E.c/Backlight.c
Beanが自動生成してくれた入出力ポート制御関数プログラムです。
CONTRAST.c
Beanが自動生成してくれたタイマ制御関数プログラムです。
VUin.c
Beanが自動生成してくれたAD変換制御関数プログラムです。
IO_Map.c/Vectors.c/Events.c
Beanが自動生成した関数プログラムです。
CodeWarriorで作成したプロジェクトフォルダをダウンロードできます。CODEフォルダに全てのソースがあります。
LCD_VU_Display.lzh ←クリックしてダウンロードしてください。