PICのお勉強(8) ナイトライダー風LEDフラッシャ
前回のプログラムを少しいじって,残像を残しながら点灯LEDがぐるぐる回るナイトライダー風のフラッシャを作ってみました。
ソースはこれ→lesson8.asm
やってることはしょーもないことなんですが,紹介しておきます。
;======================================================
MAIN
CALL LED_PTN ;LED点灯パターンのサブルーチンへ
MOVWF PORTB ;LED点灯パターンをPORTBへ送る
CALL TIMELOOP1
INCF COUNT,F ;COUNTに1を足してCOUNTに格納
CALL LED_PTN
MOVWF PORTB
CALL TIMELOOP2
INCF COUNT,F
CALL LED_PTN
MOVWF PORTB
CALL TIMELOOP3
INCF COUNT,F
MOVLW D'33' ;LED点灯パターンの総数33個→Wレジスタに代入
SUBWF COUNT,W ;COUNT値-Wレジスタ値の引き算。
BTFSC STATUS,C ;STATUSレジスタのCビットが0なら次行をスキップ
CLRF COUNT ;COUNTを0に戻す
GOTO MAIN
;=========================================================
要するに,待ち時間を変えながら(長・中・短)3つで1セットのLEDの点灯パターンを読みに行ってるだけです。
これを11セット実行して,始めにもどります。まあなんとなく残像っぽく見えるでしょう?
ところでナイトライダーなんて,40~50代のオヤジしか知らないんじゃないの? 僕はオヤジだから,懐かしく思い出しましたけどね(笑)
【今日覚えた命令】 なし
| 固定リンク | 0
「PICマイコン」カテゴリの記事
- ZK-80で足し算(2020.07.23)
- TK-80互換機 ZK-80のキット(2020.07.21)
- PICのお勉強(37) C言語編 12F683でA/D変換(2015.06.02)
- UVレジンでLEDイルミネーション (2)(2015.05.15)
- PICのお勉強(35) C言語編 PWMでサーボモータを動かす(2014.10.05)
コメント