LIST p=16F628 ;tell assembler what chip we are using
include "P16F628.inc" ;include the defaults for the chip
ERRORLEVEL 0, -302 ;suppress bank selection messages
__config _XT_OSC &_MCLRE_OFF & _WDT_OFF & _PWRTE_OFF & _BODEN_OFF & _LVP_OFF & _CP_OFF & _DATA_CP_OFF
cblock 0x20
CNT
endc
ORG 0x00
goto MAIN
ORG 0x04
goto ISR
MAIN
bsf STATUS, RP0
clrf TRISB
clrf TRISA
movlw b'10000101'
movwf OPTION_REG
bcf STATUS, RP0
movlw b'00000111' ;turn off comparator
movwf CMCON
movlw b'11110010'
movwf PORTB
bsf INTCON, T0IE
movlw .178
movwf TMR0
bsf INTCON,GIE
clrf CNT
LOOP
goto LOOP
ISR
movlw .178
movwf TMR0
bcf INTCON, T0IF
incf CNT, F
movlw .210
subwf CNT,W
btfss STATUS, Z
retfie
btfss PORTB,4
goto $+3
bcf PORTB,4
goto $+2
bsf PORTB,4
clrf CNT
retfie
END