loop ; スイッチ0が押される(PORTB<0>が0になる)まで待つ call waitSW ; LEDを消灯する movlw B'00100000' movwf PORTC call waitSW ; LEDを点灯する movlw B'00100001' movwf PORTC goto loop ; スイッチ0が押されるまで待つ waitSW ; スイッチ0が押される(PORTB<0>が0になる)まで待つ lp1 btfsc PORTB,0 goto $-1 call delay20ms ; 20ms待って btfsc PORTB,0 ; 再度確認する goto lp1 ; スイッチ0が離される(PORTB<0>が1になる)まで待つ lp2 btfss PORTB,0 goto $-1 call delay20ms ; 20ms待って btfss PORTB,0 ; 再度確認する goto lp2 return リスト4-17 Copyright 2005 Noriaki Mitsunaga