Perfetto, grazie a voi il problema interrupt è risolto, quindi grazie, adesso ultima domandina sulla temporizzazione......(se divento troppo palloso non rispondete....)
L'ultimo (spero) cruccio rimastomi è: se io metto un quarzo da 4 Mhz quanto dura il tempo di esecuzione di una singola istruzione?
Secondo i miei calcoli se il quarzo è da 4 Mhz, il PIC esegue 4 milioni di istruzioni al secondo, quindi una sola istruzione dovrebbe durare 1/4Mhz, cioè 250 nanosecondi, non vi sembra un valore un pò troppo basso?
Avrei realizzato questa routine di ritardo secondo me funziona ma un parere di chi ne sa più di me è gradito: eccola...
DELAY MOVLW 254
MOVWF CONTALTO2
RISTCONT MOVLW 254
MOVWF CONTALTO
RITARDO MOVLW 254
MOVWF CONTBASSO
RITARDOBASSO DECFSZ CONTBASSO
GOTO RITARDOBASSO
GOTO RITARDOALTO0
RITARDOALTO0 DECFSZ CONTALTO
GOTO RITARDO
DECFSZ CONTALTO2
GOTO RISTCONT
RETURN
P.S.
Qualcuno mi potrebbe dare un semplice programmino per far lampeggiare un led, senza usare interruttori o periferiche di temporizzazione come i Timer interni..... solo un semplice stupido Lampeggio grazie, ed è vero che con una variabile di solo 8 bit si può ottenere un ritardo massimo di 2 millisecndi?
Scusate e Grazie
|