PICのお勉強(10) 二進数カウントアップ&ダウン
カウントアップだけでなくて,カウントダウンもできるようにしてみました。
ソースはこれ→lesson10.asm
プログラムはこんな感じです。
;============================================================
MAIN
BTFSS PORTA,1 ;RA1のスイッチがOFF(1)なら次行をスキップ
GOTO COUNTUP ;カウントアップへ
BTFSS PORTA,0 ;RA0のスイッチがOFF(1)なら次行をスキップ
GOTO COUNTDOWN ;カウントダウンへ
GOTO MAIN
COUNTUP
BTFSS PORTA,1 ;RA1のスイッチがOFF(1)になったら次行をスキップ
GOTO $-1 ;上の行へ戻る
CALL TIMELOOP1 ;チャタリング対策
INCF COUNT,F ;COUNT値を1増やして、
MOVF COUNT,W ;Wレジスタに書き込み、
MOVWF PORTB ;PORTBへ送る。
GOTO MAIN
COUNTDOWN
BTFSS PORTA,0
GOTO $-1
CALL TIMELOOP1
DECF COUNT,F ;COUNT値を1減らして、
MOVF COUNT,W ;Wレジスタに書き込み、
MOVWF PORTB ;PORTBへ送る。
GOTO MAIN
;=============================================================
RA0とRA1の2つのスイッチを監視していて,ONになったらCOUNTUPまたはCOUNTDOWNのサブルーチンへ分岐します。
押されたスイッチがOFFになるのを確認してからCONT値を+1または-1して,その値をPORTBへ送るわけです。
| 固定リンク | 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)
コメント