Just därför skulle du välja micro-styrenheter för ett projekt, är att du siktar för minimal hårdvara i de inbäddade projekt du försöker genomföra. Mikrokontrollanter är användbara eftersom de innehåller de flesta processor-relaterade resurser (minne, / o-portar, etc.) på processorchip själv. De har andra gemensamma kringutrustning ingår också. En UART eller liknande seriell kommunikationsenheten är oftast gemensamma kringutrustning. Vanligtvis beror vad som finns på vad tillverkarna anser lämpligt för marknadssegmentet enheten riktar sig till. Vissa analoga kringutrustning är ofta tillgängliga i-chip. Således, det allra första steget är att se till den kringutrustning du behöver finns på chip.
Även om vi talar om åtgärder som innebär en sekventiell process, det är inte strikt så. Du kan behöva gå över stegen fram och tillbaka några gånger.
Samtidigt med detta steg kommer att du behöva bestämma om du behöver en 8 bitars/16 bit eller 32 bit enhet för ditt projekt. 8 bitars enheter är de billigaste alternativ ofta, men nyare enheter kan vara mindre strömkrävande. Du kan komma undan med en 8-bitars enhet om din ansökan inte behöver göra mycket siffertuggande. Det är främst en kontroll typ av ansökan, och 8-bitars portarna är tillräckligt för att styra externa enheter som behöver kontrolleras. Finns ofta flera portar, och som ska ta hand om situationen att det finns mer än 8 objekt kontrolleras i projektet. En annan relaterad aspekt skulle vara att kontrollera för stödet som är tillgängligt för vissa av de standardiserade gränssnitt. Dessa kommer att omfatta USB, I2C, PWM, etc.
16 och 32 bitarsenheter kan du hantera ett större utbud av siffror. Med en 8-bitars enhet kommer att sakta ner dig för en jämförbar klockfrekvens på en 16-bitars eller 32 bitars enhet. Andra fördelar som dessa enheter skulle ge kommer att vara förmågan att adress större minne. Det är vanligtvis det inbyggda minnet. Dessa enheter kommer att kunna hantera externt minne också, om det behövs.
Beslutar familjen controller, kommer att du behöva begränsa till vissa specifika medlemmar från familjerna som mål. Familjemedlemmarna skiljer sig i storleken på resurserna (även faktiska resurser). Till exempel mängden icke-flyktiga och flyktiga minne skiljer sig från medlem till medlem.
När du väljer en familj, är en av de viktigaste aspekterna av att göra ett val om mikro-controller att kontrollera utveckling programvara stöd är tillgänglig. Vanligtvis är skulle vad du behöver vara en kompilator att köra på en utveckling system (oftast din PC eller Mac). Medan assembler programmering görs ibland, utvecklar oftast du programvaran i någon hög nivå språk som C eller C++. Länka och andra anläggningar för att generera en fullt belastningsbara objektmodul krävs. Lika skulle viktig anläggning vara möjligheten att läsa in koden i målet hårdvara. Debug stöd för kod körs på plats i målet hårdvara kommer att krävas alltför.