kuroの覚え書き

96の個人的覚え書き

コンパス



;方角表示サブルーチン
;
DIR
BTFSS PORTB,2 ;RB2のスイッチをチェック
CALL PTRN1 ;0(オン)ならパターン1の処理へ
BTFSS PORTB,1
CALL PTRN2
BTFSS PORTB,0
CALL PTRN3 ;110
CALL PTRN4 ;111
RETURN
PTRN1
BTFSS PORTA,2
CALL PTRN5
BTFSS PORTA,1
CALL PTRN6 ;010
CALL PTRN7 ;011
RETURN
PTRN2
BTFSS PORTA,1
CALL PTRN8 ;100
CALL PTRN9 ;101
RETURN
PTRN5
BTFSS PORTA,1
CALL PTRN10 ;000
CALL PTRN11 ;001
RETURN
PTRN3
MOVLW 0BDH ;表示位置を指定
CALL LCD_CMD ;
MOVLW 'N' ;北向いてます
CALL LCD_DATA
RETURN
PTRN4
MOVLW 0BDH ;
CALL LCD_CMD ;
MOVLW 'N' ;北西向いてます
CALL LCD_DATA
MOVLW 'W'
CALL LCD_DATA
RETURN
PTRN6
MOVLW 0BDH ;
CALL LCD_CMD ;
MOVLW 'N' ;北東向いてます
CALL LCD_DATA
MOVLW 'E'
CALL LCD_DATA
RETURN
PTRN7
MOVLW 0BDH ;
CALL LCD_CMD ;
MOVLW 'E' ;東向いてます
CALL LCD_DATA
RETURN
PTRN8
MOVLW 0BDH ;
CALL LCD_CMD ;
MOVLW 'S' ;南西向いてます
CALL LCD_DATA
MOVLW 'W'
CALL LCD_DATA
RETURN
PTRN9
MOVLW 0BDH ;
CALL LCD_CMD ;
MOVLW 'W' ;西向いてます
CALL LCD_DATA
RETURN
PTRN10
MOVLW 0BDH ;
CALL LCD_CMD ;
MOVLW 'S' ;南向いてます
CALL LCD_DATA
RETURN
PTRN11
MOVLW 0BDH ;
CALL LCD_CMD ;
MOVLW 'S' ;南東向いてます
CALL LCD_DATA
MOVLW 'E'
CALL LCD_DATA
RETURN