先日よりプログラムの説明となり、かなりマニアックな内容となっております。
興味のない方は頭が痛くなるような内容なのでスルーして下さいね(^^)
前回は初期設定を済ませたので、各部の制御を行います。
まずは、オープニングデモとしてタコメーターをMAX値で表示させることから始まりです。
前回同様に太文字がプログラムソースです。
;***********************
;オープニングデモ;
;***********************
;オープニングデモ;
;***********************
BTFSC OPNF,0
GOTO LOW700 ;1だったらスキップ;
BSF OPNF,0
MOVLW D'3' ;オープニングデモ10000rpm 3秒間;
MOVWF OPN
ウォッチドッグやエンストなどでオープニングデモが繰り返さないようにフラグを立て監視。
OPENING
MOVLW D'166' ;;
MOVWF OPN2
OPENING2
BSF GPIO,5
CALL T03mS ;1ms待つ;
CALL T03mS ;2ms待つ;
CALL T03mS ;3ms待つ;
MOVLW D'166' ;;
MOVWF OPN2
OPENING2
BSF GPIO,5
CALL T03mS ;1ms待つ;
CALL T03mS ;2ms待つ;
CALL T03mS ;3ms待つ;
BCF PIR1,3
BCF CMCON0,3
BTFSC PIR1,3
GOTO LOW50
BCF CMCON0,3
BTFSC PIR1,3
GOTO LOW50
BCF PIR1,3
BSF CMCON0,3
BTFSC PIR1,3
GOTO LOW500
BSF CMCON0,3
BTFSC PIR1,3
GOTO LOW500
BCF GPIO,5
CALL T03mS ;1ms待つ;
CALL T03mS ;2ms待つ;
CALL T03mS ;3ms待つ;
CLRWDT
BCF PIR1,3
BCF CMCON0,3
BTFSC PIR1,3
GOTO LOW50
BCF PIR1,3
BSF CMCON0,3
BTFSC PIR1,3
GOTO LOW500
BSF CMCON0,3
BTFSC PIR1,3
GOTO LOW500
BTFSC PIR1,3
GOTO LOW1
DECFSZ OPN2
GOTO OPENING2
DECFSZ OPN
GOTO OPENING
BCF GPIO,5
オープニングデモを3秒間保持するまで繰り返し。
LOW700
BCF PIR1,3
BCF CMCON0,3 ;GP1選択;
BTFSC PIR1,3
GOTO LOW50
BCF PIR1,3
BCF CMCON0,3 ;GP1選択;
BTFSC PIR1,3
GOTO LOW50
BCF PIR1,3
BSF CMCON0,3 ;GP0選択;
BTFSC PIR1,3
GOTO LOW500
GOTO LOW700
BSF CMCON0,3 ;GP0選択;
BTFSC PIR1,3
GOTO LOW500
GOTO LOW700
オープニングデモ完了後のピックアップ信号入力待ち。
続く(^^)