#INCLUDE <p18f45k20.inc>
#define Switch_Pin PORTB,RB0
#define DetectsInARow 5
config FOSC = INTIO67
config WDTEN = OFF, LVP = OFF, MCLRE = OFF
LED_Display EQU 1
Switch_Count EQU 0
CNT1 EQU 0
;メイン
ORG 0
Main
MOVLW 0FH
MOVWF ADCON1
CLRF Switch_Count
MOVLW 01H
MOVWF LED_Display
CLRF TRISD
CLRF LATD
BCF INTCON2,7
BSF WPUB,0
CLRF ANSELH
BSF TRISB,RB0
MainLoop
MOVFF LED_Display,LATD
RLNCF LED_Display
Switch_Loop
BTFSS Switch_Pin
BRA Switch_Loop
MOVLW 05H
MOVWF Switch_Count
Count_Loop1
BTFSC Switch_Pin
BRA NotZero
BRA Zero
NotZero
CLRF Switch_Count
BRA Count_Loop2
Zero
INCF Switch_Count,F
BRA Count_Loop2
Count_Loop2
RCALL TIM1msec
NOP
MOVLW DetectsInARow
CPFSLT Switch_Count
BRA MainLoop
BRA Count_Loop1
;1msecの時間稼ぎ
TIM1msec
MOVLW 031H
MOVWF CNT1
LOOP1
NOP
NOP
DECFSZ CNT1,F
BRA LOOP1
RETURN
END