Usare i microcontrollori da zero

Usare i microcontrollori è più semplice di quanto possiate pensare. Con uno starter kit economico e possibile iniziare subito con i microcontrollori. 3 di questi tools di sviluppo subito in omaggio!

Iniziare con i microcontrollori è molto semplice sia per l'hobbista che per lo studente che si avvicina per la prima volta al real-world! I concetti esposti in questo articolo valgono per tutti i microcontrollori programmabili (detti anche flash) che possono essere cancellati e riprogrammati con un semplice click di mouse 

Tali concetti sono validi sia per microcontrollori pic, che per microcontrollori avr, anche se nell'esempio userò microcontrollori freescale. Un minimo di teoria dovete averla, ma vi assicuro che passare dalla teoria alla pratica è facilissimo.

La prima cosa che dovete avere a mente è che l'hardware è lo schema elettrico con il microcontrollore ed il firmware è il programma, da voi scritto, che gestisce il microcontrollore e che il sistema di sviluppo comprende un software per PC (in questo caso il Codewarrior) che comunica con una scheda di sviluppo (in questo caso Spyder USB) in grado di programmare il microcontrollore ed eseguire istruzione per istruzione il firmware (programma per microcontrollers). In questo modo una volta scritto il firmware in assembler oppure in linguaggio c, potete verificarne passo passo il funzionamento (debug).
E' sicuramente piu semplice a farsi che a dirsi!

Esempio accensione led con microcontrollore: se dovete accendere un led dovrete operare sia a livello hardware che a livello software (firmware). Hardware microcontroller: collegare un pin del microcontrollore ad una resistenza e poi la resitenza ad un led collegato poi a massa (gnd), il valore della resistenza dovrà essere calcolato in base alla tensione di uscita del pin del micro, per ora considerate R=1K.Firmware: per semplicità lanciare uno dei firmware demo, già con tutte le configurazioni per il microcontrollore usato e scrivere l'istruzione in assembler o C che attiva il pin della porta dove abbiamo collegato il led. Attivare un pin, significa metterlo a on, quindi significa metterlo a 1 logico e quindi in uscita si avrà la stessa tensione di alimentazione del microcontroller, in genere 5V oppure 3,3V. Tale tensione, attraverso la resistenza di prima, permetterà lo scorrere della corrente nel circuito ed il LED si accenderà!
Vi assicuro che fate prima a farlo che a leggere quanto scritto 

Schema elettrico dello Starterkit per microcontrollori

Emulatore real-time per microcontroller

Tramite lo schema proposto potete realizzare la vostra applicazione sfruttando il connettore I/O e costruendo su di esso il vostro schema, che può essere anche una resistenza ed un led.
Nel nostro caso, sfrutteremo il led già a bordo della scheda di sviluppo usb. Infatti come potete verificare, il led è collegato al pin 0 della porta A denominato PTA0.

Programma del kit di sviluppo per microcontrollori

Una volta scricato il programma Codewarrior (gratuito) dal sito Freescale, potete fare delle simulazioni, oppure installare anche il plugin per lo spyder usb, disponibile nella confezione con il kit.
Una volta lanciato il Codewarrior dovete caricare il progetto demo.mcp e poi avviare il debug tramite l'icona con la freccia verde e partirà il real-time debug per avere il pieno controllo del microcontrollore. Ecco un esempio semplice semplice di codice scritto in linguaggio c per far lampeggiare un led, il led montanto sul pin PTA0, appunto. 


/////////////////////////////////////////////////////////////////////////////////////////
// MAIN
// 
///////////////////////////////////////////////////////////////////////////////////////
void main(void)      //la parte principale del programma, il main
{
  unsigned int i;    // definisco la variabile i

  EnableInterrupts;  // abilito gli interrupt
  PeriphInit();      // abilito gli interrupt da periferica, mi serve per il timer
  
  for(;;)            // ciclo infinito, il programma rimane sempre qui dentro
  {    
    PTAD ^= 0x01;    // cambio stato al pin, se era 1 diventa 0 e viceversa

        for (i=0; i<DELAY_TIME; i++)   // ciclo definito dal DELAY_TIME
      Delay_100us(10);  // 1 ms delay
  }  // ottengo un ritardo di 1/2 secondo
}    // quindi il led lampeggerà ogni 1/2 secondo (500mS)

Facile no! Ora puoi modificare il firmware a tuo piacere, riprogrammare il micro, testare passo passo il codice da te scritto con semplici comandi, come START (F5) SINGLE STEP (F11) HALT (F6) RESET

Ti invito anche a leggere alcuni articoli tecnici di approfondimento

Inizia subito a sperimentare, puoi farlo con il sistema che vuoi, questi concetti sono universali, oppure provare a vincere uno starterkit USB Spyder! Ecco come:

Come iniziare con i microcontrollori

Vuoi ricevere gratuitamente uno dei 3 Starter Kit USB per Microcontrollori? Dimmi perche? E perche ti piace L'Elettronica e L'Elettronica Open Source!
Ma dimmelo tramite il tuo blog!

1) Scrivi un post nel tuo blog

2) Condividi il post con i tuoi amici di Facebook, Twitter e Linkedin

3) Segnalami quanto fatto tramite il modulo contact del mio profilo

I 3 migliori verranno premiati con uno starterkit usb, che riceverete direttamente al vostro indirizzo, spese di spedizione comprese! Non hai un blog? Leggi qui!

Allora, se vuoi imparare in pochissimo tempo ad usare i microcontrollori, e ricevere una chiavetta usb starterkit in omaggio, non aspettare, corri subito a scrivere sul tuo blog!

ATTENZIONE: per accontentare il maggior numero di utenti possibile, a questo contest NON possono partecipare i 5 vincitori di FTPmicro della scorsa settimana. Perdonatemi, ma con tutti i premi che abbiamo messo e che metteremo in palio nei prossimi giorni, saprò farmi perdonare  

Scarica subito una copia gratis

30 Commenti

  1. Avatar photo Bazinga 31 Maggio 2011
  2. Avatar photo Emanuele 31 Maggio 2011
  3. Avatar photo DRK 31 Maggio 2011
  4. Avatar photo Giovanni Giomini Figliozzi 31 Maggio 2011
  5. Avatar photo StratoFranz 31 Maggio 2011
  6. Avatar photo toni93 31 Maggio 2011
  7. Avatar photo Emanuele 31 Maggio 2011
  8. Avatar photo Emanuele 31 Maggio 2011
  9. Avatar photo Emanuele 31 Maggio 2011
  10. Avatar photo Trimix63 31 Maggio 2011
  11. Avatar photo Emanuele 31 Maggio 2011
  12. Avatar photo testato 31 Maggio 2011
  13. Avatar photo Emanuele 31 Maggio 2011
  14. Avatar photo Trimix63 31 Maggio 2011
  15. Avatar photo Emanuele 31 Maggio 2011
  16. Avatar photo brazov2 31 Maggio 2011
  17. Avatar photo Emanuele 31 Maggio 2011
  18. Avatar photo Emanuele 1 Giugno 2011
  19. Avatar photo Emanuele 6 Giugno 2011
  20. Avatar photo Ionela 7 Giugno 2011
  21. Avatar photo monoblocco 7 Giugno 2011
  22. Avatar photo Emanuele 8 Giugno 2011
  23. Avatar photo Ionela 9 Giugno 2011
  24. Avatar photo mirko74 9 Giugno 2011
  25. Avatar photo Emanuele 9 Giugno 2011
  26. Avatar photo Ionela 13 Giugno 2011
  27. Avatar photo Giovanni Giomini Figliozzi 16 Giugno 2011
  28. Avatar photo toni93 16 Giugno 2011

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend