I test the following and it works perfectly (an led flasher) (more below) ---------- #include "P16F84.INC" ; Include header file LIST P=16F84, R=DEC ; Use the PIC16F84 and decimal system __config _XT_OSC & _WDT_OFF & _PWRTE_ON ; Use Crystal clock, Watch dog off, Power up timer on (changed to RC for now!) ; For other oscillators change XT to LS,HS or RC. cblock 0x20 ; Declare variable addresses, start at 0x20 Counter,Loop1,Loop2 endc ORG 0 ; This tells the assembler where GOTO Start ; to put the first instruction. ; decalaration of the delay subroutine ; - the delay loop is implemented as a for loop sort of routine Delay MOVLW 250 MOVWF Loop1 Outer MOVLW 110 MOVWF Loop2 Inner NOP NOP DECFSZ Loop2,F GOTO Inner DECFSZ Loop1,F GOTO Outer RETURN ; Main Loop Start BSF STATUS,RP0 ; Select bank 1 (bit #RP0 from the status register) CLRF TRISB ; Select Output on all PORTB bits BCF STATUS,RP0 ; Select bank 0 CLRF PORTB ; Turn off all LEDs BSF PORTB,0 ; Turn on LED0 (the first RB0) CLRF Counter BCF STATUS,C ; Set carry 0 Go MOVLW 7 ; (move 7 into the acc. [111]) MOVWF Counter ; 8 LED's to light in turn (move 7 into ) Left RLF PORTB,F ; Rotate Left PORTB CALL Delay DECFSZ Counter,F GOTO Left MOVLW 7 MOVWF Counter Right RRF PORTB,F ; Last LED is on, reverse dir. CALL Delay DECFSZ Counter,F GOTO Right GOTO Go END ----- My code, the led on RB1 is NOT on! The RB1 pin goes into a 1K resistor and into the led and off to the ground. The Switch is connected to a high regularly (pulled up via 1k resistor). Press the button and it gives short to the ground. I have a RC oscillator in the circuit, but keep the oscillator in XT mode. If I switch to RC mode => flasher not work. .Sep.