目次→PIC回路集→サインボード 2→ソフトウェア→メイン処理
サインボード 2 メイン処理 処理説明 |
![]() ;******************************************************** ; ; The signboard control 2 processing ; ; Author : Seiichi Inoue ;******************************************************** コメント(;)を使用してプログラムのタイトルを書きました。 ![]() ![]() 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 *********************
![]() ![]() ![]() ![]() ;****************** Main Process **********************
最後は先頭に戻して連続して表示されるようにします。 ![]() ;******************************************************** ;* Required effect processings are put below. * ;******************************************************** ;******************************************************** ;* Required effect processings are put above. * ;********************************************************
このように書く必要はないのですが、他のページで紹介している表示効果処理はこの間に挿入するようにしています。 表示効果処理で使用するラベル定義もこの中で行っています。 ![]() ;*************** Interruption processing **************
![]() ;************* 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
![]() |