list p=12c509 include ;変数の定義 WP1 EQU 07H WP2 EQU 08H ;初期設定 RESET GOTO START ORG 04H START MOVLW 09FH OPTION ;################ここまでは、おまじない################# MOVLW 08H ;0000 1000 TRIS GPIO ;2,3,5,6,7番ピンを出力。4番ピンを入力にする SETUP MOVLW 08H ;0000 1000 MOVWF GPIO ;出力をすべてLoにする ;################ここからプログラムの開始################# LOOP1 ;1番目の動作の始まり BSF GPIO, 0 ;7番ピンをHiにする BCF GPIO, 1 ;6番ピンをLoにする BCF GPIO, 2 ;5番ピンをLoにする BSF GPIO, 4 ;3番ピンをHiにする BCF GPIO, 5 ;2番ピンをLoにする CALL T250M ;0.25秒待つ ;###############2番目の動作の始まり BSF GPIO, 0 ;7番ピンをHiにする BCF GPIO, 1 ;6番ピンをLoにする BCF GPIO, 2 ;5番ピンをLoにする BCF GPIO, 4 ;3番ピンをLoにする BSF GPIO, 5 ;2番ピンをHiにする CALL T250M ;0.25秒待つ ;###############3番目の動作の始まり BCF GPIO, 0 ;7番ピンをLoにする BSF GPIO, 1 ;6番ピンをHiにする BSF GPIO, 2 ;5番ピンをHiにする BSF GPIO, 4 ;3番ピンをHiにする BCF GPIO, 5 ;2番ピンをLoにする CALL T250M ;0.25秒待つ ;###############4番目の動作の始まり BCF GPIO, 0 ;7番ピンをLoにする BSF GPIO, 1 ;6番ピンをHiにする BSF GPIO, 2 ;5番ピンをHiにする BCF GPIO, 4 ;3番ピンをLoにする BSF GPIO, 5 ;2番ピンをHiにする CALL T250M ;0.25秒待つ GOTO LOOP1 ;LOOP1の動作に戻る ;#################ここからサブルーチン T250M ;250ミリ秒待つルーチン MOVLW 0F2H MOVWF WP1 MOVLW 0FFH MOVWF WP2 L1 CALL W1 DECFSZ WP1, F GOTO L1 RETLW 00H W1 NOP DECFSZ WP2, F GOTO W1 RETLW 00H END