目次→PIC回路集→サインボード 2→ソフトウェア→メイン処理
サインボード 2 メイン処理 処理説明 |
タイトル ;******************************************************** ; ; The signboard control 2 processing ; ; Author : Seiichi Inoue ;******************************************************** コメント(;)を使用してプログラムのタイトルを書きました。 LIST および INCLUDE疑似命令 list p=pic16f84a include p16f84a.inc
PIC16F84Aの標準ラベル定義をINCLUDEコマンドで組み込みます。 includeファイルの変更については「サインボード ソフト処理説明」を参照して下さい。 または、ERRORLEVELコマンドで警告メッセージを表示しないようにすることができます。 コンフィギュレーションワード __config _hs_osc & _wdt_off & _pwrte_on & _cp_off
オペランドの内容については「サインボード ソフト処理説明」を参照して下さい。
デバックモード定義 ;************** Debugging mode setting **************** ;For debugging mode, ";" of next line should be removed. ;#define _debug
今回の場合には、デバッグ時にタイマー処理をスキップしてデバッグが行い易くしています。その都度、ソースプログラムの内容を変更しても良いのですが、今回は'_debug'のラベルが定義されているかいないかでアッセンブルする内容が変わるようにしました。 詳細は「ソフトデバック説明」のページを参照して下さい。 ラベル定義 ;**************** Label Definition ********************
プログラム開始 ;**************** Program Start ***********************
初期化処理 ;**************** Initial Process *********************
PORTAおよびPORTBを全て出力モードに設定 周囲LEDを右回転に設定 表示部のLEDを全て消灯 メイン処理 ;****************** Main Process **********************
最後は先頭に戻して連続して表示されるようにします。 表示効果処理 ;******************************************************** ;* Required effect processings are put below. * ;******************************************************** ;******************************************************** ;* Required effect processings are put above. * ;********************************************************
このように書く必要はないのですが、他のページで紹介している表示効果処理はこの間に挿入するようにしています。 表示効果処理で使用するラベル定義もこの中で行っています。 割り込み処理 ;*************** Interruption processing **************
LED点灯制御サブルーチン ;************* LED control Subroutine *****************
PORTBの制御は8ビット同時に行われるので、RB7(周囲LED回転情報)を保持したまま、7ビットのデータだけを書き換えています。 PORTBおよびPORTAにデータを設定した後、ハードウェアの動作時間を保証するために約100μ秒の待ちを入れています。この待ち時間はCPLDの動作時間によってはもっと短くてもかまいません。 タイマーサブルーチン ; <<< Timer Subroutine for 10MHz clock >>>
LED制御待ち時間タイマー 1ミリ秒タイマー 100ミリ秒タイマー 500ミリ秒タイマー 1秒タイマー タイマーサブルーチンについては「LEDフラッシャー ソフト処理説明」のタイマーサブルーチンを参照して下さい。 コーディングの終了 ;******************************************************** ; END of signboard control processing ;******************************************************** end
|