Motivo scegliereste micro-controllori per un progetto, è che è lo scopo per hardware minimi nei progetti integrati si sta cercando di implementare. Micro regolatori sono utili in quanto contengono più processore risorse (memoria, porte i/o, ecc.) sul chip del processore stesso. Hanno altre periferiche comuni inclusi troppo. Un UART o un simile dispositivo di comunicazione seriale è solitamente un comune periferico. Solitamente, ciò che è disponibile dipende cosa pensano i produttori è adatto per il segmento di mercato, a che il dispositivo è indirizzato. Alcune periferiche analogiche sono spesso disponibili in chip. Così, il primo passo è quello di assicurarsi che le periferiche necessarie sono disponibili sul chip.
Anche se stiamo parlando di passaggi, che implicano un processo sequenza, non è assolutamente così. Potrebbe essere necessario andare oltre i passi avanti e indietro un paio di volte.
Contemporaneamente, con questo passo, si dovrà decidere se è necessario un 8bit/16bit o un dispositivo di 32 bit per il progetto. dispositivi di 8 bit hanno le opzioni più economiche, ma dispositivi più recenti possono essere meno assetati di potere. Si può ottenere via con un dispositivo di 8 bit se l'applicazione non dovete fare molto sgranocchiare numero. È principalmente una sorta di controllo dell'applicazione, e le porte di 8 bit sono sufficienti per controllare dispositivi esterni che devono essere controllati. Spesso sono disponibili porte multiple, e che dovrebbe prendersi cura della situazione che ci sono più di 8 elementi da controllare nel tuo progetto. Un altro correlato aspetto sarebbe per verificare il supporto disponibile per alcune delle interfacce standard. Questi includeranno USB, I2C, PWM, ecc.
16 e 32 bit dispositivi consentono di gestire una gamma più ampia di numeri. Utilizzando un dispositivo di 8bit rallenterà voi per una frequenza di clock paragonabili su un 16 bit o un dispositivo di 32 bit. Altri vantaggi che fornirebbero questi dispositivi sarà la capacità di memoria più grande indirizzo. In genere, è la memoria a bordo. Questi dispositivi saranno in grado di affrontare la memoria esterna troppo, se necessario.
Dopo aver deciso la famiglia di controller, sarà necessario restringere ad alcuni specifici membri appartenenti alle famiglie di destinazione. I membri della famiglia differiscono nelle dimensioni delle risorse (risorse anche effettive). Ad esempio, la quantità di memoria non volatile e volatile differirà da membro a membro.
Quando si sceglie una famiglia, uno degli aspetti più importanti di fare una scelta circa il microcontrollore è assicurarsi che il supporto di software di sviluppo è disponibile. Solitamente, ciò che sarà necessario sarebbe un compilatore da eseguire su un sistema di sviluppi (più spesso il vostro PC o Mac). Mentre la programmazione di linguaggio Assembler è fatto a volte, più spesso si sviluppa il software in un linguaggio ad alto livello come C o C++. Collegamento e altre strutture per la generazione di un modulo di oggetto completamente loadable sono richiesti. Altrettanto importante impianto sarebbe la capacità di caricare il codice nell'hardware di destinazione. Supporto di debug per l'esecuzione di codice in atto nell'hardware di destinazione sarà richiesto troppo.