ho un progetto da fare con il 16F877A.
in pratica devo accendere led (e poi dovrò anche spegnerli) in sequenza, con l'effetto FADE. il problema, è che sia la velocità dello scorrimento (non è questo il problema), che la velocità del fade (ecco il problema!) vengono regolati dall'esterno tramite due trimmer (su RA1 la velocità di scorrimento, RA2 velocità per il FADE). (i led li collego su portb, quindi: led0=RB0)
faccio un esempio di programma (io uso mplab con hi-tech cpp) pensato:
start:
leggo valore RA1 (per vedere la velocità dello scorrimento)
leggo valore RA2 (per vedere in quanto tempo deve accendersi il LED)
accendo Led0 nel tempo letto su RA2
aspetto tempo letto su RA1
accendo Led1 nel tempo letto su RA2
aspetto tempo letto su RA1
accendo Led2 nel tempo letto su RA2
aspetto tempo letto su RA1
.... fino a 19
aspetta tot tempo con i led tutti accesi....
iniziano a spegnersi tutti i led in sequenza...
però così facendo fa in modo che deve aspettare prima che si accende completamente il led, e poi può passare al passo successivo. io invece vorrei inviare il segnale per accendere il led (che può impiegare 0uS o anche 10000!) e poi passare al passo successivo.
come potrei fare...sto cercando e cercando su internet...ma non ho trovato molto! mi servirebbe una specie di multitasking... non so, magari va con gli interrupt? però...ho 19 led da comandare!
Vi prego aiutatemi!!! Grazie mille a tutti!!! A presto...