« PICのお勉強(9) 二進数カウンタ | トップページ | PICのお勉強(11) LEDのPWM制御 »

2012年1月 6日 (金)

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へ送るわけです。

| |

« PICのお勉強(9) 二進数カウンタ | トップページ | PICのお勉強(11) LEDのPWM制御 »

PICマイコン」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: PICのお勉強(10) 二進数カウントアップ&ダウン:

« PICのお勉強(9) 二進数カウンタ | トップページ | PICのお勉強(11) LEDのPWM制御 »