Salve a tutti,
stavo scrivendo un codice assembly su avr studio e ho un dubbio sul settaggio d alcuni registri: dovrei realizzare un contatore di 10s (la freq. interna del mcu è d 4 MHz) , secondo voi va bene questo codice? Vi posto la label:
WAIT_10S:
ldi temp , 0
out TCNT0 , temp
ldi temp , 0b00001010
out OCR0 , temp
ldi temp , (1 << FOC0) | (0 << WGM00) | (1 << WGM01) | ( 1 << CS02) | ( 0 << CS01) | (1 << CS00) | ( 0 << COM00) | ( 0 << COM01)
out TCCR0 , temp
In base al datasheet (atmega8535) ho settato i bit dei reg TCCR0 , TCNT0 , OCR0 in questo modo , simulando il codice non m da errori, ma come faccio a capire ke effettivamente conta realmente 10s?
AVR TIMER_COUNTER_0
Moderatore:
Paolino
3 messaggi
• Pagina 1 di 1
0
voti
@LesStrato
per ottenere un tempo di 10 secondi generando l'interrupt overflow con un timer dell' atmega intanto dovresti utilizzare il timer1 che è a 16bit e non l'8bit (Timer0).
Poi devi impostare il prescaler a 1024 e per finire, con un clock di 4Mhz, devi settare i registri TCNT1H=67H e TCNT1L=69H, inoltre nel caso in cui usi lo stesso timer1 nella modalità CTC devi settare OCR1H=98H e OCR1L=96H.
Con questi valori otterrai un tempo pari a 10000.128 msec con un errore percentuale pari a 0.001%
ciao
per ottenere un tempo di 10 secondi generando l'interrupt overflow con un timer dell' atmega intanto dovresti utilizzare il timer1 che è a 16bit e non l'8bit (Timer0).
Poi devi impostare il prescaler a 1024 e per finire, con un clock di 4Mhz, devi settare i registri TCNT1H=67H e TCNT1L=69H, inoltre nel caso in cui usi lo stesso timer1 nella modalità CTC devi settare OCR1H=98H e OCR1L=96H.
Con questi valori otterrai un tempo pari a 10000.128 msec con un errore percentuale pari a 0.001%
ciao
3 messaggi
• Pagina 1 di 1
Torna a Firmware e programmazione
Chi c’è in linea
Visitano il forum: Nessuno e 3 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


