Ik heb vanmiddag een poos aan dit stukje gewerkt. Hiervoor had ik niet meer gedaan dan een ledje laten knipperen dus ik moest de halve datasheet bestuderen. Maar ik krijg hem echt niet aan de praat.. Ik zie het betreffende ledje echt heeel zwak knipperen maar dat is alles. Weet iemand wat ik fout doe? Dit is de code:
PROCESSOR 16F819
#include "p16f819.inc"
__config 0x3f54
ORG 0x00
goto Main
ORG 0x04
goto Main
Main banksel CCP1CON
clrf CCP1CON ;alles nul
bsf CCP1CON, CCP1M3 ;stel register in
bsf CCP1CON, CCP1M2 ;op pwm
banksel PR2
movlw 0xFF
movwf PR2
banksel TRISB
clrf TRISB
banksel T2CON
clrf T2CON
clrf TMR2
bsf T2CON, TMR2ON ;Zet timer2 aan
bsf T2CON, T2CKPS1 ;Zet prescaler op 16 zodat freq = 3.05 kHz
movlw 0x00
movwf CCPR1L
clrf TMR0
clrf INTCON
bsf STATUS,RP0
banksel OPTION_REG
movlw b'00010100' ;Zet prescaler timer0 op 32 zodat het na ongeveer 4.1 ms overloopt
movwf OPTION_REG
banksel INTCON
bsf INTCON, TMR0IE
bsf INTCON, GIE
Loop btfss INTCON, TMR0IF ;Bij overflow, ga verder en
goto Loop
incf CCPR1L,1 ;verhoog waarde duty cycle
bcf INTCON, TMR0IF ;zet flag uit
goto Loop ;Keer weer terug
End
Ik gebruik gpasm en picprog onder linux ipv mplab en icprog oid, maar denk niet dat dat verschil zal maken 