振動(傾き)を検出
振動スイッチを活用振動スイッチを活用
ボールが移動
a)オン時
b)オフ時オンからオフ時の観察
処理の流れ(フローチャート)
振動スィッチの
オン /オフ状態を
調べる
LOOP0 MOVLW D'20' MOVWF KAISU MOVLW D'0' MOVWF HENKACHECK1 BTFSC PORTA,5 GOTO CHECK2 CALL WAIT1 BTFSC PORTA,5
INCF HENKA,1
GOTO CHECK9 CHECK2 CALL WAIT1
BTFSS PORTA,5
INCF HENKA,1
CHECK9 DECFSZ KAISU,1
GOTO CHECK1
LOOP0 MOVLW D'20'
MOVWF KAISU MOVLW D'0'
MOVWF HENKACHECK1 BTFSC PORTA,5 GOTO CHECK2 CALL WAIT1 BTFSC PORTA,5
INCF HENKA,1
GOTO CHECK9 CHECK2 CALL WAIT1
BTFSS PORTA,5
INCF HENKA,1
CHECK9 DECFSZ KAISU,1
GOTO CHECK1
LOOP0 MOVLW D'20'
MOVWF KAISU MOVLW D'0'
MOVWF HENKACHECK1 BTFSC GPIO,4 GOTO CHECK2 CALL WAIT1 BTFSC GPIO,4
INCF HENKA,1
GOTO CHECK9 CHECK2 CALL WAIT1
BTFSS PORTA,5
INCF HENKA,1
CHECK9 DECFSZ KAISU,1
GOTO CHECK1
MOVLW X
機能: X の値を W レジスタに記憶
「 W=X 」
命令語1
LOOP0 MOVLW D'20'
MOVWF KAISU MOVLW D'0'
MOVWF HENKACHECK1 BTFSC GPIO,4 GOTO CHECK2 CALL WAIT1 BTFSC GPIO,4
INCF HENKA,1
GOTO CHECK9 CHECK2 CALL WAIT1
BTFSS PORTA,5
INCF HENKA,1
CHECK9 DECFSZ KAISU,1
GOTO CHECK1
MOVWF X
機能: W の値を X レジスタに記憶
「 X = W 」
命令語2
LOOP0 MOVLW D'20'
MOVWF KAISU MOVLW D'0'
MOVWF HENKACHECK1 BTFSC PORTA,5 GOTO CHECK2 CALL WAIT1 BTFSC PORTA,5
INCF HENKA,1
GOTO CHECK9 CHECK2 CALL WAIT1
BTFSS PORTA,5
INCF HENKA,1
CHECK9 DECFSZ KAISU,1
GOTO CHECK1
LOOP0 MOVLW D'20'
MOVWF KAISU MOVLW D'0'
MOVWF HENKACHECK1 BTFSC PORTA,5 GOTO CHECK2 CALL WAIT1 BTFSC PORTA,5
INCF HENKA,1
GOTO CHECK9 CHECK2 CALL WAIT1
BTFSS PORTA,5
INCF HENKA,1
CHECK9 DECFSZ KAISU,1
GOTO CHECK1
命令語3BTFSC X, N
機能: X レジスタの N ビットを調べ、
0 ( )ならば次の命令をスキップクリア
LOOP0 MOVLW D'20'
MOVWF KAISU MOVLW D'0'
MOVWF HENKACHECK1 BTFSC PORTA,5 GOTO CHECK2 CALL WAIT1 BTFSC PORTA,5
INCF HENKA,1
GOTO CHECK9 CHECK2 CALL WAIT1
BTFSS PORTA,5
INCF HENKA,1
CHECK9 DECFSZ KAISU,1
GOTO CHECK1
命令語4GOTO ラベル
機能:指定のラベル行へジャンプ
(処理を移行)
LOOP0 MOVLW D'20'
MOVWF KAISU MOVLW D'0'
MOVWF HENKACHECK1 BTFSC PORTA,5 GOTO CHECK2 CALL WAIT1 BTFSC PORTA,5
INCF HENKA,1
GOTO CHECK9 CHECK2 CALL WAIT1
BTFSS PORTA,5
INCF HENKA,1
CHECK9 DECFSZ KAISU,1
GOTO CHECK1
LOOP0 MOVLW D'20'
MOVWF KAISU MOVLW D'0'
MOVWF HENKACHECK1 BTFSC PORTA,5 GOTO CHECK2 CALL WAIT1 BTFSC PORTA,5
INCF HENKA,1
GOTO CHECK9 CHECK2 CALL WAIT1
BTFSS PORTA,5
INCF HENKA,1
CHECK9 DECFSZ KAISU,1
GOTO CHECK1
命令語5CALL ラベル
機能:指定ラベルのサブルーチンを
呼び出す(終了後は次の命令に戻る)
LOOP0 MOVLW D'20'
MOVWF KAISU MOVLW D'0'
MOVWF HENKACHECK1 BTFSC PORTA,5 GOTO CHECK2 CALL WAIT1 BTFSC PORTA,5
INCF HENKA,1
GOTO CHECK9 CHECK2 CALL WAIT1
BTFSS PORTA,5
INCF HENKA,1
CHECK9 DECFSZ KAISU,1
GOTO CHECK1
命令語6INCF X, 1
機能:レジスタ X の値を+1する
LOOP0 MOVLW D'20'
MOVWF KAISU MOVLW D'0'
MOVWF HENKACHECK1 BTFSC PORTA,5 GOTO CHECK2 CALL WAIT1 BTFSC PORTA,5
INCF HENKA,1
GOTO CHECK9 CHECK2 CALL WAIT1
BTFSS PORTA,5
INCF HENKA,1
CHECK9 DECFSZ KAISU,1
GOTO CHECK1
LOOP0 MOVLW D'20'
MOVWF KAISU MOVLW D'0'
MOVWF HENKACHECK1 BTFSC GPIO,4 GOTO CHECK2 CALL WAIT1 BTFSC PORTA,5
INCF HENKA,1
GOTO CHECK9 CHECK2 CALL WAIT1
BTFSS PORTA,5
INCF HENKA,1
CHECK9 DECFSZ KAISU,1
GOTO CHECK1
命令語7BTFSS X, N
機能: X レジスタの N ビットを調べ、
1 ( )ならば次の命令をスキップセット
LOOP0 MOVLW D'20'
MOVWF KAISU MOVLW D'0'
MOVWF HENKACHECK1 BTFSC PORTA,5 GOTO CHECK2 CALL WAIT1 BTFSC PORTA,5
INCF HENKA,1
GOTO CHECK9 CHECK2 CALL WAIT1
BTFSS PORTA,5
INCF HENKA,1
CHECK9 DECFSZ KAISU,1
GOTO CHECK1
LOOP0 MOVLW D'20'
MOVWF KAISU MOVLW D'0'
MOVWF HENKACHECK1 BTFSC GPIO,4 GOTO CHECK2 CALL WAIT1 BTFSC PORTA,5
INCF HENKA,1
GOTO CHECK9 CHECK2 CALL WAIT1
BTFSS PORTA,5
INCF HENKA,1
CHECK9 DECFSZ KAISU,1
GOTO CHECK1
命令語8DECFSZ X, 1
機能: X レジスタの値を -1 し、
0( ゼロ ) ならば次の命令をスキップ
LOOP0 MOVLW D'20' MOVWF KAISU MOVLW D'0' MOVWF HENKACHECK1 BTFSC PORTA,5 GOTO CHECK2 CALL WAIT1 BTFSC PORTA,5
INCF HENKA,1
GOTO CHECK9 CHECK2 CALL WAIT1
BTFSS PORTA,5
INCF HENKA,1
CHECK9 DECFSZ KAISU,1
GOTO CHECK1