PICでのアップダウンカウンタについて
以下のプログラムはポートAにアップカウントSWとダウンカウントSW付けて
8bitの2進数データをアップダウンさせるプログラムですが、下限と上限を決めて
それ以上、以下カウントしないようにプログラムを変更したいのですが、どうすればいいと思いますか?
ちなみにこのプログラムだと255(0)までカウントしたら0(255)に戻ります
下限は 0b00000000(0)
上限は 0b01100100(100)
です。
コンフィギュレーション、CALL TIMELOOP1はチャタリング対策のプログラムなので省略して投稿します。
MAIN
BTFSS PORTA,1;RA1のスイッチがOFF(1)なら次行をスキップ
GOTO COUNTUP;カウントアップへ
BTFSS PORTA,0;RA0のスイッチがOFF(1)なら次行をスキップ
GOTO COUNTDOWN;カウントダウンへ
BTFSS PORTA,2;RA0のスイッチがOFF(1)なら次行をスキップ
GOTO MAIN;カウントダウンへ
BTFSS PORTA,3;RA0のスイッチがOFF(1)なら次行をスキップ
GOTO MAIN;カウントダウンへ
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
お礼
つまり、もともと7は音読みで「シチ」・訓読みで「ナナ」がある。 6から7と読む場合は、「シチ」の方が発音しやすく、8から7を読む場合は「ナナ」の方が発音しやすいからそのようになったのではないかということでしょうか?