Apro le danze
Il microcontrollore è un dispositivo programmabile in grado di memorizzare, eseguire e gestire informazioni di dati. Ne consegue che i microcontrollori sono adatti a gestire situazioni di ogni genere. Possono acquisire dati dall’esterno, processarli ed agire di conseguenza compiendo operazioni che noi abbiamo prefissato in fase di programmazione. In sostanza, lui fa ciò che noi gli diciamo di fare.
Il microcontrollore è un sistema completo formato da diversi elementi:
CPU (Central Processor Unit); il cervello del sistema.
ALU (Aritmetich Logic Unit); unità che effettua le operazioni logiche */+-.
FLASH MEMORY; memoria che contiene il nostro programma. Può essere scritta e sovrascritta.
RAM (Random Access Memory); memoria dove custodire i dati temporanei usati dal nostro programma.
EEPROM (Electrically Erasable Programmable Read-Only Memory); memoria che può essere usata per scriverci dati e conservarli anche a micro disalimentato. I dati posso essere letti e riscritti in qualsiasi momento.
TIMER; unità che gestisce i tempi di operazione del micro ed i tempi di esecuzione.
PORTE I/O; porte Input/Output di comunicazione con l’esterno.
REGISTRI; speciali “pagine” che gestiscono le unità interne ed i loro modi di funzionamento. Possono essere letti e scritti.
Il solo ed unico linguaggio che i microcontrollori capiscono, è il codice macchina, ovvero una serie di istruzioni in codice binario che sono state impostate di targa dal costruttore.
Per rendere più malleabile il codice macchina, i produttori forniscono uno “pseudo-codice” chiamato ASSEMBLY che consiste in abbreviazioni letterali che saranno poi convertite in codice macchina da appositi programmi chiamati ASSEMBLER.
Anche il codice Assembly è abbastanza ostico e non sempre facile da ricordare a livello sintattico-mnemonico. Per agevolare il lavoro agli addetti, oggi possiamo usare i più comuni linguaggi di programmazione (come il C, C++ o il vecchio Basic) tramite programmi chiamati COMPILATORI.
Ricapitolando, possiamo scrivere il nostro programma in C++ ed il COMPILATORE lo trasformerà direttamente in codice macchina tramite un ASSEMBLER interno, per poi essere a sua volta scritto nella FLASH MEMORY del micro.
--------------------------------------------------------------------------------------------------------------------------
Il modo più semplice ed immediato per affacciarsi al mondo dei microcontrollori è l’uso di schede di prototipazione tipo Arduino, che non solo sono già belle e montate, ma sono anche interfacciate via USB con il computer che contiene il compilatore/programmatore.
Ci sono diverse tipologie di schede che si differenziano principalmente nella quantità di memoria FLASH (dove si scrive il nostro programmino). Fondamentalmente i comandi ed il modo di programmazione sono pressoché identici, rendendo “trasportabili” i vari programmi (chiamati sketch) da una scheda all’altra senza grandi cambiamenti se non qualche piccolo adattamento software.
La scheda base, se così possiamo chiamarla, è l’Arduino UNO. Questa scheda monta a bordo un controllore con una frequenza di clock di 16MHz. Ha tredici pin di ingresso/uscita digitali (0-5 volt) e di questi, due pin possono essere usati per la comunicazione seriale TTL (ovvero con valori 0-5V). Sempre di questi tredici pin, sei pin possono essere usati per generare un segnale PWM, ovvero un’onda quadra con duty-cycle variabile. Proseguendo, abbiamo sei ingressi analogici con cui misurare tensioni massime di 5V. Il convertitore A/D (analogico/digitale) è a 10 bit.
Per il momento tralasciamo gli altri pin che vedremo in seguito a cosa servono.
Il microcontrollore è un dispositivo programmabile in grado di memorizzare, eseguire e gestire informazioni di dati. Ne consegue che i microcontrollori sono adatti a gestire situazioni di ogni genere. Possono acquisire dati dall’esterno, processarli ed agire di conseguenza compiendo operazioni che noi abbiamo prefissato in fase di programmazione. In sostanza, lui fa ciò che noi gli diciamo di fare.
Il microcontrollore è un sistema completo formato da diversi elementi:
CPU (Central Processor Unit); il cervello del sistema.
ALU (Aritmetich Logic Unit); unità che effettua le operazioni logiche */+-.
FLASH MEMORY; memoria che contiene il nostro programma. Può essere scritta e sovrascritta.
RAM (Random Access Memory); memoria dove custodire i dati temporanei usati dal nostro programma.
EEPROM (Electrically Erasable Programmable Read-Only Memory); memoria che può essere usata per scriverci dati e conservarli anche a micro disalimentato. I dati posso essere letti e riscritti in qualsiasi momento.
TIMER; unità che gestisce i tempi di operazione del micro ed i tempi di esecuzione.
PORTE I/O; porte Input/Output di comunicazione con l’esterno.
REGISTRI; speciali “pagine” che gestiscono le unità interne ed i loro modi di funzionamento. Possono essere letti e scritti.
Il solo ed unico linguaggio che i microcontrollori capiscono, è il codice macchina, ovvero una serie di istruzioni in codice binario che sono state impostate di targa dal costruttore.
Per rendere più malleabile il codice macchina, i produttori forniscono uno “pseudo-codice” chiamato ASSEMBLY che consiste in abbreviazioni letterali che saranno poi convertite in codice macchina da appositi programmi chiamati ASSEMBLER.
Anche il codice Assembly è abbastanza ostico e non sempre facile da ricordare a livello sintattico-mnemonico. Per agevolare il lavoro agli addetti, oggi possiamo usare i più comuni linguaggi di programmazione (come il C, C++ o il vecchio Basic) tramite programmi chiamati COMPILATORI.
Ricapitolando, possiamo scrivere il nostro programma in C++ ed il COMPILATORE lo trasformerà direttamente in codice macchina tramite un ASSEMBLER interno, per poi essere a sua volta scritto nella FLASH MEMORY del micro.
--------------------------------------------------------------------------------------------------------------------------
Il modo più semplice ed immediato per affacciarsi al mondo dei microcontrollori è l’uso di schede di prototipazione tipo Arduino, che non solo sono già belle e montate, ma sono anche interfacciate via USB con il computer che contiene il compilatore/programmatore.
Ci sono diverse tipologie di schede che si differenziano principalmente nella quantità di memoria FLASH (dove si scrive il nostro programmino). Fondamentalmente i comandi ed il modo di programmazione sono pressoché identici, rendendo “trasportabili” i vari programmi (chiamati sketch) da una scheda all’altra senza grandi cambiamenti se non qualche piccolo adattamento software.
La scheda base, se così possiamo chiamarla, è l’Arduino UNO. Questa scheda monta a bordo un controllore con una frequenza di clock di 16MHz. Ha tredici pin di ingresso/uscita digitali (0-5 volt) e di questi, due pin possono essere usati per la comunicazione seriale TTL (ovvero con valori 0-5V). Sempre di questi tredici pin, sei pin possono essere usati per generare un segnale PWM, ovvero un’onda quadra con duty-cycle variabile. Proseguendo, abbiamo sei ingressi analogici con cui misurare tensioni massime di 5V. Il convertitore A/D (analogico/digitale) è a 10 bit.
Per il momento tralasciamo gli altri pin che vedremo in seguito a cosa servono.
Commenta