Troligen ett nybörjarfel eller skit bakom spakarna
En "kitscan" hittade iden på madmodders sida
12 st charlieplexkopplade led på gp1,2,4,5. gp0 ska kopplas till en pot för att justera hastighet, gp3(mclr) ska kopplas till hdd-led
är inte helt säker på syntaxen på bsf och bcf, har provat att köra med
movlw b'001011'
movwf GPIO
men får exact samma felmeddelande
Kod: Markera allt
#include <p12F683.inc>
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _IESO_OFF & _FCMEN_OFF)
org 0
Start:
bsf STATUS,RP0
movlw b'00000111' ;init timer0 med max prescale
movwf OPTION_REG
movlw b'001001' ;1245 ut, 3/mclr in, 0 analog in
tris GPIO
bcf STATUS,RP0
Mainloop:
call par12 ;kör led-par 12
call par24 ;kör led-par 24
call par45 ;osv..
call par14
call par25
call par15 ;sista paret, byt håll
call par25
call par14
call par45
call par24
goto Mainloop
;tri 0 och 3 alltid höga 001001
par12
bsf STATUS,RP0
movlw b'001111' ;3210
tris GPIO
bcf STATUS,RP0
bsf GP1 ;fram
bcf GP2
call delay1
bcf GP1 ;tillbaka
bsf GP2
call delay1
return
par24
bsf STATUS,RP0
movlw b'011101' ;4320
tris GPIO
bcf STATUS,RP0
bsf GP2
bcf GP4
call delay1
bcf GP2
bsf GP4
call delay1
return
par45
bsf STATUS,RP0
movlw b'111001' ;5430
tris GPIO
bcf STATUS,RP0
bsf GP4
bcf GP5
call delay1
bcf GP4
bsf GP5
call delay1
return
par14
bsf STATUS,RP0
movlw b'001111' ;3210
tris GPIO
bcf STATUS,RP0
bsf GP1
bcf GP4
call delay1
bcf GP1
bsf GP4
call delay1
return
par25
bsf STATUS,RP0
movlw b'101101' ;5320
tris GPIO
bcf STATUS,RP0
bsf GP2
bcf GP5
call delay1
bcf GP2
bsf GP5
call delay1
return
par15
bsf STATUS,RP0
movlw b'101011' ;3210
tris GPIO
bcf STATUS,RP0
bsf GP1
bcf GP5
call delay1
bcf GP1
bsf GP5
call delay1
return
delay1
btfss INTCON,T0IF
goto $-1
bcf INTCON,T0IF
;om gp3 hög kör delay2
return
delay2
btfss INTCON,T0IF
goto $-1
bcf INTCON,T0IF
return
end