Info logica di programmazione
Salve a tutti!
Vorrei qualche consiglio sulla logica di programmazione.
Devo fare un light dimmer a 4 canali, ho già realizzato il circuito per rilevare lo zero crossing e funziona molto bene.
Per il progetto uso un pic18f2455 con quarzo da 20mhz ed userò gli 8bit della PORTA per eseguire la selezione delle tempistiche di accensione.
Volevo sapere se la logica per la programmazione del PIC possa in qualche modo funzionare o se devo rivederla da capo.
Avevo pensato di programmare il PIC in questo modo:
1-Imposto il timer per avere circa 12ms all'overflow.
2-Arriva l'impulso dal circuito zero crossing
3-Spengo le 4 uscite con i triac
4-avvio il timer
5-quando il valore del timer è uguale a quello impostato dalla PORTA innesca i triac
6-Leggi il valore di portA
7- ricomincia dal punto 2
Chiaramente il tutto avviene in polling in quanto uso il compilatore MIKROBASIC e purtroppo con applicazioni time sensitive sono un po' legato.
Grazie a tutti!
Vorrei qualche consiglio sulla logica di programmazione.
Devo fare un light dimmer a 4 canali, ho già realizzato il circuito per rilevare lo zero crossing e funziona molto bene.
Per il progetto uso un pic18f2455 con quarzo da 20mhz ed userò gli 8bit della PORTA per eseguire la selezione delle tempistiche di accensione.
Volevo sapere se la logica per la programmazione del PIC possa in qualche modo funzionare o se devo rivederla da capo.
Avevo pensato di programmare il PIC in questo modo:
1-Imposto il timer per avere circa 12ms all'overflow.
2-Arriva l'impulso dal circuito zero crossing
3-Spengo le 4 uscite con i triac
4-avvio il timer
5-quando il valore del timer è uguale a quello impostato dalla PORTA innesca i triac
6-Leggi il valore di portA
7- ricomincia dal punto 2
Chiaramente il tutto avviene in polling in quanto uso il compilatore MIKROBASIC e purtroppo con applicazioni time sensitive sono un po' legato.
Grazie a tutti!
