PWM10ADC- CONVERTITORE
A/D a 10 bit - 2
|
|||
|
|||
|
|||
L'algoritmo di conversione Facciamo quindi riferimento alla routine PWM10SADC.asm in cui e' riportato l'algoritmo implementato secondo il linguaggio assembler del micro. Le variabili di uscita della routine sono i registri a 8 bit CCPR1L<7:0>,CCP1CON<5:4> che sono i registri che definisco il duty cycle del segnale PWM. In realtà solo 10 bit dei 16 bit sono utili essendo i rimanti 6 bit sono posti a zero. L'algoritmo di conversione è strutturato nel seguente modo:
Quando l'algoritmo esce al punto 4.1 il valore digitale della tensione Vin è funzione del valore dei registri CCPCON[7:0], CCPR1L[5:4] che sappiamo definire il duty cycle per il modulo.
Il file PWM10ADC.asm contiene il sorgente della routine che può essere inserita nel programma principale di un eventuale progetto mediante l'istruzione direttiva : include PWM10ADC.ASM Bisogna avere cura di settare, nel programma principale, i registri di configurazione relativi al modula CCP e quelli ad essa collegati per la modalità PWM. All'interno della routine e' riportato il modo come settare i registri. Inoltre e' possibile intervenire sul numero di onde che concorrono alla formazione della tensione di confronto Vref. La variabile che definisce tale numero e’ NPULSE. Maggiore è NPULSE migliore sarà la precisione della conversione ma maggiore sarà il tempo di conversione. |
|
||
|
|||
|
|||
|