User manual
- 9 -
2.3.
Alcuni microcontrollori, per bassi consumi energetici (milliwatts
o microwatts), possono funzionare a frequenze di clock più basse
di 4 Khz. Essi normalmente hanno la capacità di mantenere le loro
funzionalità in attesa di un evento tipo la pressione di un pulsante
o altro interrupt; il consumo di energia, durante la fase di sleeping
(clock della CPU e diverse periferiche spente), può essere di qualche
nanowatts, rendendo molti di questi microcontrollori adatti per
programmi dove è importante il risparmio energetico per avere
una lunga durata delle batterie. Altri microcontrollori sono utili in
applicazioni dove le prestazioni sono elevate, ad esempio quando
vengono utilizzati come processori di segnali digitali (DSP), e quindi
alta velocità di clock ed elevato consumo.
Il sistema Arduino utilizza un potente single-chip ATmega328P di
ATMEL, microcontrollore a 8-bit, 16 MHz di clock con 32Kbytes ed
stata progettata in modo che possa variare nella gamma tra 7V e 12V
DC, offrendo condizioni di funzionamento stabilizzate e protette per
il chip, inoltre linee di potenza relative al circuito comando motore
2.4.
Dal momento che una memoria programma esterna sarebbe troppo
costosa, il microcontrollore ne possiede una internamente nella quale
risiede il programma utile al suo funzionamento.
Compilatori ed assemblatori opportuni sono utilizzati per convertire
un linguaggio ad alto livello ed un linguaggio assembler in un codice
macchina compatto ed adatto per essere salvato nella memoria del
microcontrollore.
In funzione del tipo di dispositivo utilizzato, la memoria programma
può essere permanente o a sola lettura e perciò programmata dal
memoria di sola lettura cancellabile.
In origine i microcontrollori erano programmati in linguaggio
assembler, ora invece sono di uso comune linguaggi di programmazione
ad alto livello per il microcontrollore in uso.
Questi linguaggi possono essere stati progettati per uno scopo
generico come il linguaggio di programmazione C.
I fornitori di microcontrollori spesso offrono tools di sviluppo di
tipo gratuito in modo da utilizzare facilmente il loro hardware.