Har sedan ett par dagar sedan läst om och försökt programmera 16F84 utan några bra resultat. Vet inte riktigt var det blir fel, och känner nu att jag behöver lite mer hjälp från någon erfaren

Bifogar min kod först här nedan:
Kod: Markera allt
;==========================================================================
; TEST.ASM
;
; 'LED-Display räknare'
;==========================================================================
LIST P=16F84
INCLUDE "p16f84.inc"
__CONFIG _PWRTE_ON & _XT_OSC & _WDT_OFF
;==========================================================================
TIMER1 EQU H'0C' ;Timer 1, Används för delay.
TIMER2 EQU H'0D' ;Timer 2, Används för delay.
TIMER3 EQU H'0E' ;Timer 3, Används för delay.
ORG 0
GOTO RESET
DELAY1 MOVLW D'7'
MOVWF TIMER1
MOVLW D'47'
MOVWF TIMER2
MOVLW D'3'
MOVWF TIMER3
DELAY_1 DECFSZ TIMER1,F
GOTO $+2
DECFSZ TIMER2,F
GOTO $+2
DECFSZ TIMER3,F
GOTO DELAY_1
RETURN
RESET BCF STATUS,RP0
CLRF PORTB
BSF STATUS,RP0
MOVLW B'00000000'
MOVWF TRISB
BCF STATUS,RP0
GOTO LOOP
L0 MOVLW b'01110111'
MOVWF PORTB
RETURN
L1 MOVLW b'00010100'
MOVWF PORTB
RETURN
L2 MOVLW b'10110110'
MOVWF PORTB
RETURN
L3 MOVLW b'10110110'
MOVWF PORTB
RETURN
L4 MOVLW b'11010100'
MOVWF PORTB
RETURN
LOOP CALL L0
CALL DELAY1
CALL L1
CALL DELAY1
CALL L2
CALL DELAY1
CALL L3
CALL DELAY1
CALL L4
CALL DELAY1
GOTO LOOP
END
Men detta fungera alltså inte, kör kretsen i 4MHz. Jag har fått vissa färdiga program att fungera men inte detta som jag gjort själv. Skulle vara tacksam om någon kan kommentera vad som är fel, och eventuellt vad som kan göras bättre.
Postar även outputen när jag kompilerar programmet i linux.
Kod: Markera allt
gpasm -o test.hex test.asm -a inhx8m -n
test.asm:9:Warning [205] Found directive in column 1.
test.asm:40:Message [302] Register in operand not in bank 0. Ensure bank bits are correct.