Steg For Steg Guide Til Microcontroller Programmering

Dette er en trinnvis guide for de som ønsker å starte Med Microcontroller Programmering. Artikkelen starter med å introdusere noen grunnleggende begreper som vil bli brukt i guiden, en liste over verktøy, programmeringsspråk og på slutten, et eksempel på en nedlastbar kode med en trinnvis veiledning som du kan bruke til å øve mikrokontroller programmering.

Men før du dykker Inn I Mikrokontrollerprogrammering. La oss definere to første grunnleggende vilkår: Maskinvare Og Programvare.

Maskinvare består av de fysiske komponentene i systemet som en chips, tastatur, en mus, en skjerm, minner, i / O-enheter. Maskinvare er vanskeligere å utvikle i forhold til programvare, den må utformes for svært spesifikke applikasjoner, og det er en svært effektiv og perfekt løsning i høyhastighetssystemer.

Programvare Er de ikke-fysiske komponentene eller programmene som kjører på maskinvaren, for eksempel operativsystemer, dataspill og nettverksapplikasjoner. Programvaren er svært konfigurerbar, enkel og raskere å bli utviklet, også veldig billig i forhold til maskinvare.

Hva Er En Mikrokontroller

for å forstå hva en mikrokontroller er, må vi først forstå hva en mikroprosessor eller EN CPU er (Sentralbehandlingsenhet). EN CPU er et hjerte i ethvert datasystem, det er som den menneskelige hjernen når du utfører en oppgave. Vi kan i utgangspunktet dele det i to viktige deler:

Kontrollenhet: denne enheten brukes til å hente dataene fra minnet.

Utførelsesenhet: denne enheten brukes til å utføre eller kjøre dataene.

Typer Prosessorer

det finnes mange kategorier prosessorer som generelle prosessorer, applikasjonsspesifikke systemprosessorer og flerprosessorsystem. Prosessor til generell bruk har mange typer:

▪ Mikroprosessor

▪ Mikrokontroller

▪ Innebygd prosessor

▪ Digital signalprosessor

Mikroprosessor er en halvlederinnretning eller en datamaskin på en chip, men ikke en fullt funksjonell datamaskin. Dens sentrale prosessorenhet inneholder

▪ ALU

▪ Programteller

▪ Registre

▪ Andre kretser (klokketid, avbryt)

en mikrokontroller er en IC som inneholder en mikroprosessor og noen eksterne enheter for å være en komplett funksjonell datamaskin, eksterne enheter, FOR EKSEMPEL ADC, RAM, ROM, DAC.

Historien Om Mikrokontroller

Opprinnelig Var Intel corporation den første produksjonen av mikrokontrollere. Den første mikrokontrolleren ble produsert I 1971 I USA. Det var en 4-bits mikrokontroller med navnet i4004. Senere produserte Intel mer sofistikerte modeller på den tiden med en 8-biters mikrokontroller, og etter det ble En 12-biters mikrokontroller utviklet av Toshiba.

Applikasjoner Av Mikrokontrollere

Mikrokontrollere har mange applikasjoner i mange bransjer, for eksempel bilindustri, medisinsk, industriell automatisering, luftfart, robotteknologi.

i bilindustrien har for eksempel moderne biler i dag mer enn 100 mikroprosessorer for systemer som air condition, ABS, EBD og OGSÅ ADAS eller avanserte kjøreassistansesystemer som adaptive curies controller og lane assist, følgende er et bilde av EN ECU eller elektronisk kontrollenhet.

i det medisinske domenet er det medisinsk utstyr som inkluderer mikrokontrollere som EN MR, glukosetestsett, bærbar EKG. Følgende bilde, er en glukose test enhet.

i luftfart har de fleste flyene blitt designet med nye avionikksystemer ved hjelp av mikrokontrollere. I tillegg er det flykontrollsystem, flytrafikkontrollsystem, navigasjon og værsystemer som alle er basert på mikrokontrollere.

Populære Mikrokontrollere

det er mange mikrokontrollere typer og plattformer, men å velge en mikrokontroller avhenger av mange faktorer:

▪ Programmet

▪ Økonomiske

▪ Ytelse

▪ Nummer av GPIO pins

▪ Minne størrelse

▪ Temperatur på driftsmiljø

▪ strømforbruk

AVR Mikrokontroller

følgende bilde viser et blokkdiagram av AVE12DA, en av de mest populære mikrokontroller famlily — AVR-mikrokontroller:

AVR mikrokontrollere er produsert av Atmel corporation (i dag: Microchip), Atmel har 6 familier av AVR mikrokontrollere, 4 familier som generelle mikrokontrollere og 2 som spesifikke mikrokontrollere. Generelle mikrokontrollere er:

▪ 8 bit-mega avr

▪ 8 bit-At Tiny

▪ 8 & 16 bit-Avr xmega

▪ 32 bit – avr

Mikrokontrollere Med spesifikke formål er:

▪ Automotive Avr

▪ Batteristyring

Automotive avr, fra navnet, det har blitt utviklet for bilindustrien. Det kan fungere under svært høye temperaturer opp til 150 Celsius, og det inkluderer beskyttelsessystemer for kortslutningsproblemer.

Batteristyring mikrokontroller er utviklet for batteristyringssystemer for å sikre lading og utladning.

Eksempler På Avr-Plattformer

▪ Arduino UNO

▪ Adafruit Blå Frukt Mikro

▪ Raspduino

▪ Digispark Pro

ARM Mikroprosessor/Mikrokontroller

ARM mikroprosessor er den mest populære prosessoren i verden, spesielt I Forbrukerapplikasjoner. Du kan ha EN ARM-prosessorbasert enhet, men du vet ikke! ARM er for det meste en nøkkelkomponent i alle vellykkede 32-bits innebygde systemer. DEN første ARMEN ble utviklet i 1985.

RISC-Teknologi

ARM brukes RISC-teknologi, RISC står for redusert instruksjonssett datamaskin, DET er en designfilosofi for å levere enkle instruksjoner innen en enkelt syklus. Det er mer avhengig av programvaren. PÅ DEN annen side er CISC-teknologien avhengig av maskinvaren.

RISC-teknologien fokuserer på å redusere instruksjonssettet til prosessoren. PÅ DEN annen side har cisc-prosessoren et ikke-fast nummer av instruksjonssettet.

ARM Funksjoner

Arm har mange funksjoner for hver innebygd system designer er ute etter, f. eks lavt strømforbruk på grunn av sin kompakte størrelse, også høy kode tetthet er en annen funksjon siden vi utvikler innebygde systemer, vil vi ha begrensede ressurser i de fleste tilfeller.

Intern struktur AV ARM-basert Mikrokontroller

denne figuren viser den interne strukturen til DE FLESTE ARM – baserte enheter:

boksene representerer funksjoner, linjene representerer busser. La oss snakke mer om hver komponent i detaljer:

▪ arm-prosessoren er kjernekomponenten DET er ansvarlig for behandlingsoperasjonene

▪ – Kontrollere brukes til å koordinere systemfunksjonene som minne-og avbruddskontrollere

▪ Periferiutstyr brukes til å gi systeminngangene og utgangene

▪ en buss brukes til å utveksle data mellom de forskjellige komponentene i systemet

EKSEMPLER PÅ ARM-plattformer

det er mange enheter og innebygde plattformer SOM HAR arm mikroprosessor f. eks.

▪ Arduino Grunn

▪ Raspberry Pi

▪ STM32F103C8T6

▪ NXP LPC1768

Andre Mikrokontroller og Plattformer

som vi sa før du valgte en mikrokontroller Eller en plattform avhenger av mange faktorer (budsjett, antall pins, etc.…). Det finnes også andre mikrokontrollere og plattformer, f. eks.

▪ PIC Mikrokontrollere

▪ 8051

▪ ESP32

▪ Motorola Mikrokontrollere

Mikrokontroller Programvare Og Maskinvareverktøy

Siden etableringen av mikrokontrolleren har det vært mange typer programvare-og maskinvareutviklingsverktøy. Selvfølgelig kan noen av verktøyene brukes på tvers av ulike mikrokontrollertyper, men noen er veldig spesifikke per mikrokontroller. Før du starter med mikrokontrollerprogrammering, vil du kanskje bli kjent med mikrokontrollerprogrammeringsverktøyene og sist men ikke minst utviklingsprosessen.

ved hjelp av innebygde utviklingsverktøy kan vi trenge verktøy som følger:

Assembler

DET er et programvareverktøy som konverterer kildekoden i montering til maskinkode, for EKSEMPEL (GNU assembler).

Compiler

Det er et program som dekker kildekoden i et høyt nivå programmeringsspråk i assembly eller maskinkode. Kompilering kan være:

▪ Opprinnelig: dette betyr at du kjører kompilatoren og den genererte koden på samme maskin

▪ Kryss: Dette betyr at du kjører kompilatoren på en maskin og den genererte koden kjører på en annen maskin (prosessorarkitektur).

Linker og Locator

en linker er et program som samler og kobler sammen kompileringene og monterer operasjoner og produserer en enkelt exe.

en locator er et programverktøy som kan brukes til å endre minnekartet til linkerutgangen.

Simulator

det er et program som imiterer ekte scenario, det gir en tilnærming av sanntidssystemene. En simulator brukes:

▪ hvis den virkelige maskinvaren ikke er tilgjengelig

▪ i farlige testmiljøer og scenarier

Debugger

Det er et program og maskinvareenhet som kan kobles til PCEN min til mitt innebygde mål. En debugger brukes:

▪ å sette stoppunkter

▪ å spore utførelse

▪ å dumpe minne

maskinvarefeilsøkeren kan være

▪ feilsøking i kretsløp

▪ programvare om bord

Flash loader

det er en program-og maskinvareenhet som kan brukes til å:

▪ Program ROM/Flash

▪ Se variabler

▪ Slette ROM/Flash

Profiler

Profiler er et verktøy for å overvåke ytelsen til programvarekoden

Integrert Utviklingsmiljø

Det er et program som har de fleste verktøyene alle i en. Det kan omfatte

▪ Tekst redaktører

▪ Kompilatorer

▪ Debuggers

▪ Profilers

▪ Simulatorer

▪ Linkers

Mikrokontroller Programvare Språk

Vi kan klassifisere dem inn i to typer:

Høyt nivå

▪ C/C++

▪ Java

▪ Ada

Bruk av denne typen vil gi en abstraksjon fra maskinvarenivået

Lavt nivå

maskinkode

Det er 0 og 1 og vanskelig å bli skrevet av Mennesker, men lett for datamaskiner å forstå

Montering

Det Er En Mnemonic Kode Og Pseudo Instruksjoner For Å Forbedre Lesbarheten

Eksempler:

en instruksjon består av mnemonic (opcode) + operander

Opcode er en operasjon tatt av en maskinprosessor

Operander er det endelige målet; opcode må ta en operasjon for.

Assembly language er lesbar og forståelig mer enn maskinkode, men du må bruke den på en bestemt prosessor og ha kunnskap om arkitekturen.

C/C++ Programmeringsspråk

språk På høyt nivå har følgende funksjoner

▪ Lett å skrive

▪ Fleksibel

▪ Prosessor uavhengig

▪ Høy produktivitet

Mikrokontrollerprogrammering Eksempel Ved Bruk AV AVR ATMEGA16

atmega 16 Har Følgende Funksjoner:

▪ 16 Kb av I-systemet Selv programmerbare flash-minne

▪ 512 Byte EEPROM

▪ 1 Kbyte Interne SRAM

▪ Programmering Lås for sikkerhet

Perifere Funksjoner

▪ Real-Time Teller med Separat Oscillator

▪ Programmerbare Seriell USART

▪ Fire PWM-Tv

▪ 8-kanal 10-bits ADC

▪ On-chip Oscillator

▪ Kraft-på Resten og Brun ut Deteksjon

▪ Interne RC Oscillator og Avbryte Kilder

▪ Spenning (fra 2,7 v til 5.5v)

Led Blinkende Programeksempel ved Bruk Av ATmeg16 og Proteus

led blinkende program i innebygde systemer som «hello world» – programmet i applikasjonsutvikling. I følgende eksempel lærer du Og bruker Proteus-simulatoren til å kjøre ditt første program. For å laste ned kildefilene, vennligst gå til denne mappen.

Skriv programmet ditt Ved Hjelp Av Atmel studio

etter nedlasting AV IDE,

mikrokontrollerprogrammering avr

åpne den og velg nytt prosjekt og velg plasseringen av hex-filen som i følgende bilde

mikrokontrollerprogrammering avr

det neste trinnet er å velge mikrokontrollerfamilien

mikrokontrollerprogrammering avr

etter det får du følgende vindu med startkode

mikrokontroller programmering avr

og nå kan du skrive følgende kode

mikrokontrollerprogrammering avr

neste trinn bygger programmet ditt ved å trykke F7

mikrokontrollerprogrammering avr

Etter det finner du hex-filen på det valgte stedet

mikrokontroller programmering avr

det neste trinnet bruker proteus simulatoren

og nå lage en skjematisk fra den valgte en mal

mikrokontroller programmering avr

og velg ikke opprett EN PCB layout

mikrokontroller programmering avr

Endelig er Vi ferdige, Men vi må legge til hex-filen som i følgende bilde

mikrokontroller programmering avr

rediger NÅ Cksel Sikringer

mikrokontroller programmering avr

lagre og klikk på play

og du kan se at lysdioden er av for 500ms (venstre side) og på for 500ms (høyre side)

Programforklaring linje for linje

for å laste ned kildefilene, gå til denne mappen.

#definer f_CPU 100000ul / / for å lage en konstant og velg prosessorhastigheten

# inkluder < avr/io.h> // for å hente noen filer for innganger og utganger

#inkluderer <avr/delay.h> // tilbakekall denne filen for å bruke forsinkelsesfunksjoner

int main(void){ // startfunksjonen og hovedprogrammet

DDRA = 0B0000001; // for å konfigurere pin a som en utgang / retning

Mens(1){ // å sløyfe for alltid

PORTA = 0B00000001; // for å gjøre pa0 = 1 og utgang 5v (led er på)

_delay_ms(500); // forsinkelse i et halvt sekund

PORTA = 0b0000000; // FOR Å gjøre PA0 = 0 og utgang 0v (LED er av)

_delay_ms (500); //forsinkelse i et halvt sekund

}

tilbake 0;

} //slutten av programmet

Konklusjon

i Dag embedded systemer brukes i viktige produkter Og kan brukes til å sikre og spare mange mennesker, som i det medisinske domenet og andre programmer. Du bør fortsette å lære etter å ha fått oversikt og introduksjon om mikrokontrollerprogrammering. Ditt neste skritt bør være å lære innebygd programvaredesign og sanntids utløste systemer.

https://www.faa.gov/regulations_policies/handbooks_manuals/aviation/phak/

Avr Microcontroller Og Embedded Systems: Pearson Ny Internasjonal Utgave: Ved Hjelp Av Montering Og C, Muhammad Ali Mazidi, DeVry University

ARM System Developer ‘ S Guide Design Og Optimalisering Av Systemprogramvare et volum I Morgan Kaufmann-Serien I Datamaskinarkitektur og Designbok • 2004

Leave a Reply

Din e-postadresse vil ikke bli publisert.