Hva er et innebygd C-program og dets struktur for nybegynnere

Prøv Instrumentet Vårt For Å Eliminere Problemer





Tidligere ble mange innebygde applikasjoner utviklet ved hjelp av programmering på monteringsnivå. Imidlertid ga de ikke bærbarhet. Denne ulempen ble overvunnet av ankomsten av forskjellige språk på høyt nivå som C, Pascal og COBOL. Imidlertid var det C-språket som fikk omfattende aksept for innebygde systemer, og det fortsetter å gjøre det. C-koden som er skrevet er mer pålitelig, skalerbar og bærbar og faktisk mye lettere å forstå. Innebygd C-programmering er sjelen til prosessoren som fungerer inne i hver og en integrert system vi kommer over i vårt daglige liv, for eksempel mobiltelefoner, vaskemaskiner og digitale kameraer. Hver prosessor er tilknyttet innebygd programvare. Det første og fremst er den innebygde programvaren som bestemmer seg for å fungere i det innebygde systemet. Innebygd C-språk brukes ofte til programmer mikrokontrolleren .

Hva er C Language?

C-språk ble utviklet av Dennis Ritchie i 1969. Det er en samling av en eller flere funksjoner, og hver funksjon er en samling uttalelser som utfører en bestemt oppgave.
C-språk er et mellomnivåspråk da det støtter applikasjoner på høyt nivå og applikasjoner på lavt nivå. Før vi går inn på detaljene i innebygd C-programmering, bør vi vite om RAM-minneorganisasjon.




Hovedtrekkene i C-språket inkluderer følgende.

  • C språk er programvare designet med forskjellige nøkkelord, datatyper, variabler, konstanter, etc.
  • Embedded C er et generisk begrep gitt til et programmeringsspråk skrevet i C, som er assosiert med en bestemt maskinvarearkitektur.
  • Embedded C er en utvidelse til C-språket med noen ekstra headerfiler. Disse headerfilene kan endres fra kontroller til kontroller.
  • De mikrokontroller 8051 #include brukes.

Hva er en innebygd C-programmering

I alle innebygde systembaserte prosjekter spiller Embedded C programmering en nøkkelrolle for å få mikrokontrolleren til å kjøre og utføre de foretrukne handlingene. For tiden bruker vi vanligvis flere elektroniske enheter som mobiltelefoner, vaskemaskiner, sikkerhetssystemer, kjøleskap, digitale kameraer osv. Styringen av disse innebygde enhetene kan gjøres ved hjelp av et innebygd C-program. For eksempel i et digitalt kamera, hvis vi trykker på en kameraknapp for å ta et bilde, vil mikrokontrolleren utføre den nødvendige funksjonen for å klikke på bildet og lagre det.



Innebygd C-programmering

Innebygd C-programmering

Innebygd C-programmering bygger med et sett med funksjoner der hver funksjon er et sett med utsagn som brukes til å utføre bestemte oppgaver. Både de innebygde C- og C-språkene er de samme og implementeres gjennom noen grunnleggende elementer som en variabel, tegnsett, nøkkelord, datatyper, variabeledeklarasjon, uttrykk, utsagn. Alle disse elementene spiller en nøkkelrolle mens du skriver et innebygd C-program.

De innebygde systemdesignerne må vite om maskinvarearkitekturen for å skrive programmer. Disse programmene spiller en fremtredende rolle i overvåking og kontroll av eksterne enheter. De betjener og bruker også den interne arkitekturen til mikrokontrolleren, for eksempel avbruddshåndtering, tidtakere, seriell kommunikasjon og andre tilgjengelige funksjoner.


Innebygd systemprogrammering

Som vi diskuterte tidligere, kan utformingen av et innebygd system gjøres ved hjelp av maskinvare og programvare. For eksempel, i et enkelt innebygd system, er prosessoren hovedmodulen som fungerer som hjertet i systemet. Her er en prosessor ingenting annet enn en mikroprosessor, DSP, mikrokontroller, CPLD og FPGA. Alle disse prosessorene er programmerbare slik at den definerer hvordan enheten fungerer.

Et innebygd systemprogram gjør at maskinvaren kan kontrollere inngangene og kontrollere utgangene tilsvarende. I denne prosedyren kan det innebygde programmet være nødt til å kontrollere prosessorens interne arkitektur direkte som tidtakere, avbruddshåndtering, I / U-porter, serielt kommunikasjonsgrensesnitt, etc.

Så innebygd systemprogrammering er veldig viktig for prosessoren. Det er forskjellige programmeringsspråk som er tilgjengelige for innebygde systemer som C, C ++, monteringsspråk, JAVA, JAVA-skript, visual basic osv. Så dette programmeringsspråket spiller en nøkkelrolle mens du lager et innebygd system, men å velge språk er veldig viktig.

Fremgangsmåte for å bygge et innebygd C-program

Det er forskjellige trinn involvert i utformingen av et innebygd c-program som følgende.

  • Kommentarer
  • Direktiver fra prosessor
  • Konfigurasjon av port
  • Globale variabler
  • Kjernefunksjon / hovedfunksjon
  • Erklæring om variabel
  • Programmets logikk

Kommentarer

I programmeringsspråk er kommentarer veldig viktige for å beskrive programmets funksjon. Koden til kommentarene kan ikke kjøres, men brukes til å gi programdokumentasjon. For å forstå funksjonen til programmet, vil dette gjøre en enkel metode for å forstå funksjonen til programmet. I innebygd C er kommentarer tilgjengelig i to typer, nemlig enkeltlinje og hovedlinjekommentar.

I et innebygd C-programmeringsspråk kan vi plassere kommentarer i koden vår som hjelper leseren til å forstå koden enkelt.

C = a + b / * legg til to variabler hvis verdi er lagret i en annen variabel C * /

Enkeltlinjekommentar

Generelt, for programmeringsspråkene, er kommentarer fra en linje veldig nyttige for å avklare en brøkdel av programmet. Disse kommentarene begynner med en dobbel skråstrek (//), og den kan være hvor som helst innenfor programmeringsspråket. Ved å bruke dette kan hele linjen ignoreres i et program.

Flerlinjekommentar

Flerlinjekommentarer begynner med ett skråstrek (/) og en stjerne (/ *) i programmeringsspråkene som forklarer en blokk med kode. Disse typene kommentarer kan ordnes hvor som helst innenfor programmeringsspråket og brukes hovedsakelig til å ignorere en hel blokk med kode i et program.

Direktiver fra prosessor

Linjene som inngår i programkoden kalles preprosessor-direktiver som kan følges gjennom et hash-symbol (#). Disse linjene er prosessordirektivene, men ikke programmerte utsagn.
Koden kan undersøkes gjennom en forprosessor før ekte kodesammensetning starter og løser disse direktivene før de genererer en kode gjennom vanlige uttalelser. Det er flere spesielle forprosessordirektiver tilgjengelig, selv om to direktiver er ekstremt nyttige innen programmeringsspråket

som følgende.

#inkludere
#inkludere
Sbit LED = P2 ^ 3
Hoved()
{
LED = 0x0ff
Forsinkelse()
LED = 0x00
}
#definere
#inkludere
#define LED P0
Hoved()
{
LED = 0x0ff
Forsinkelse()
LED = 0x00
}

I programmet ovenfor brukes #include-direktivet vanligvis til å omfatte standardbiblioteker som studier og. h brukes til å tillate I / O-funksjoner ved hjelp av biblioteket til ‘C’. #Define-direktivet brukes vanligvis til å beskrive serien av variabler og tildeler verdiene ved å utføre prosessen i en bestemt instruksjon som makroer.

Konfigurasjon av port

Mikrokontrolleren inkluderer flere porter der hver port har forskjellige pinner. Disse pinnene kan brukes til å kontrollere grensesnittanordningene. Erklæringen om disse pinnene kan gjøres i et program ved hjelp av nøkkelord. Nøkkelordene i det innebygde c-programmet er standard så vel som forhåndsdefinerte som en bit, sbit, SFR som brukes til å oppgi bits & single pin i et program.

Det er visse ord som er reservert for å utføre spesifikke oppgaver. Disse ordene er kjent som nøkkelord. De er standard og forhåndsdefinerte i Embedded C. Nøkkelord skrives alltid med små bokstaver. Disse nøkkelordene må defineres før du skriver hovedprogrammet. Hovedfunksjonene til nøkkelordene inkluderer følgende.

#inkludere
Sbit a = P 2 ^ 2
SFR 0x00 = PoRT0
Bit C
hoved()
{
…………… ..
…………… ..
}

sbit

Dette er en type datatype, brukt til å få tilgang til en enkelt bit i et SFR-register.

Syntaksen for denne datatypen er: sbit variabelnavn = SFR-bit

Eksempel: sbit a = P2 ^ 1

Hvis vi tilordner p2.1 som ‘a’ -variabel, så kan vi bruke ‘a’ i stedet for p2.1 hvor som helst i programmet, noe som reduserer programmets kompleksitet.

Bit

Denne typen datatype brukes hovedsakelig for å tillate bitadresserbart minne i tilfeldig tilgangsminne som 20h til 2fh.

Syntaksen til denne datatypen er: navnet på bitvariabelen

Eksempel: bit c

Det er litt serieinnstilling i en liten dataregion som hovedsakelig brukes ved hjelp av et program for å huske noe.

SFR

Denne typen datatype brukes til å skaffe SFR-registerets perifere porter gjennom et ekstra navn. Så, deklarasjonen av alle SFR-registerene kan gjøres med store bokstaver.

Syntaksen for denne datatypen er: SFR-variabelnavn = SFR-adresse for SFR-register

Eksempel: SFR-port0 = 0 × 80

Hvis vi tildeler 0 × 80 som ‘port0’, kan vi etter det bruke 0 × 80 i stedet for port0 hvor som helst i programmeringsspråket for å redusere programmets vanskeligheter.

SFR-register

SFR står for Special Function Register. I 8051 mikrokontroller inkluderer den RAM-minne med 256 byte, som er delt inn i to hovedelementer: det første elementet på 128 byte brukes hovedsakelig til lagring av data, mens det andre elementet på 128 byte hovedsakelig brukes til SFR-registre. Alle perifere enheter som tidtakere, tellere og I / O-porter er lagret i SFR-registeret, og hvert element inkluderer en enkelt adresse.

Globale variabler

Når variabelen er deklarert før nøkkelfunksjonen er kjent som den globale variabelen. Denne variabelen kan tillates på alle funksjoner i programmet. Levetiden for den globale variabelen avhenger hovedsakelig av programmeringen til den når sin slutt.

#inkludere
Usignert int a, c = 10
Hoved()
{
……………
………… ..
}

Kjernefunksjon / hovedfunksjon

Hovedfunksjonen er en sentral del mens du utfører et hvilket som helst program, og det begynner med hovedfunksjonen ganske enkelt. Hvert program bruker bare en hovedfunksjon, siden hvis programmet inneholder over en hovedfunksjon, vil kompilatoren neste bli forvirret i begynnelsen av utførelsen av programmet.

#inkludere
Hoved()
{
……………
………… ..
}

Erklæring om variabel

Navnet som variabelen brukes til å lagre verdiene, men denne variabelen skal først deklareres før den brukes i programmet. Variabelerklæringen oppgir navn og datatype. Her er datatypen ingenting annet enn representasjon av lagringsdata. I innebygd C-programmering bruker den fire grunnleggende datatyper som heltall, flyt, tegn for å lagre dataene i minnet. Datatypestørrelsen, så vel som rekkevidden, kan defineres avhengig av kompilatoren.

Datatypen refererer til et omfattende system for å deklarere variabler av forskjellige typer som heltall, tegn, flyt osv. Den innebygde C-programvaren bruker fire datatyper som brukes til å lagre data i minnet.

'Char' brukes til å lagre et enkelt tegn 'int' brukes til å lagre heltall, og 'float' brukes til å lagre en hvilken som helst presis flytende punktverdi. Størrelsen og rekkevidden til forskjellige datatyper på en 32-bits maskin er gitt i tabellen nedenfor. Størrelse og rekkevidde kan variere på maskiner med forskjellige ordstørrelser.

  • Char / signert char datatype størrelse er 1 byte og dens rekkevidde er fra -128 til +128
  • Den usignerte char-datatypestørrelsen er 1 byte, og dens rekkevidde er fra 0 til 255
  • Int / signert int datatypestørrelse er 2 byte og rekkevidden er fra -32768 til 32767
  • Usignert int-datatypestørrelse er 2 byte og rekkevidden er fra 0 til 65535

Hoved()
{
Usignert int a, b, c
}

Strukturen til et innebygd C-program er vist nedenfor.

  • kommentarer
  • preprosessor-direktiver
  • globale variabler
  • hovedfunksjon

{

  • lokale variabler
  • uttalelser
  • ………… ..
  • ………… ..

}

  • moro (1)

{

  • lokale variabler
  • uttalelser
  • ………… ..
  • ………… ..

}

Programmets logikk

Programmets logikk er en plan for banen som vises i teorien bak og forutsigbare utganger av programmets handlinger. Det forklarer uttalelsen ellers teori om hvorfor det innebygde programmet vil fungere og viser de anerkjente effektene av handlinger ellers ressurser.

Hoved
{
LED = 0x0f
forsinkelse (100)
LED = 0x00
forsinkelse (100)
}

Hovedfaktorer for Embedded C Program

De viktigste faktorene som skal vurderes når du velger programmeringsspråk for utvikling av et innebygd system inkluderer følgende.

Programstørrelse

Hvert programmeringsspråk opptar noe minne der innebygd prosessor som mikrokontroller inneholder en ekstremt mindre mengde tilfeldig tilgangsminne.

Programets hastighet

Programmeringsspråket skal være veldig raskt, så det skal kjøre så raskt som mulig. Hastigheten til innebygd maskinvare bør ikke reduseres på grunn av programvaren som kjører sakte.

Bærbarhet

For de forskjellige innebygde prosessorene kan det gjøres utarbeidelse av lignende programmer.

  • Enkel implementering
  • Enkelt vedlikehold
  • Lesbarhet

Forskjeller mellom C-program og Embedded C-program

Forskjellen mellom innebygd C- og C-programmering er faktisk ikke mye bortsett fra driftsmiljøet og noen utvidelser. Disse programmeringsspråkene er ISO-standarder og har også omtrent lignende syntaks, funksjoner, datatyper etc. De viktigste forskjellene mellom C-programmering og innebygd c-programmering inkluderer følgende.

C Språk

Embedded C Language

Vanligvis brukes dette språket til å utvikle desktop-baserte applikasjoner

Embedded C språk brukes til å utvikle mikrokontroller-baserte applikasjoner.
C-språk er ikke en utvidelse til noe programmeringsspråk, men et generelt programmeringsspråkEmbedded C er en utvidelse til C-programmeringsspråket som inkluderer forskjellige funksjoner som adressering av I / O, fastpunktsaritmetikk, adressering med flere minne osv.

Den behandler naturlig utvikling i naturenDen behandler kryssutvikling i naturen
Det er uavhengig av maskinvarearkitekturDet avhenger av maskinvarearkitekturen til mikrokontrolleren og andre enheter
Kompilatorene for C-språk avhenger av operativsystemetInnebygde C-kompilatorer er OS-uavhengige
På C-språk brukes standard kompilatorene til å utføre et programI innebygd C-språk brukes spesifikke kompilatorer.
De populære kompilatorene som brukes på dette språket er GCC, Borland turbo C, Intel C ++, etc.De populære kompilatorene som brukes på dette språket er Keil, BiPOM Electronics & green hill
Formatet for C-språk er fritt formatFormatet avhenger hovedsakelig av typen mikroprosessor som brukes.
Optimalisering av dette språket er normaltOptimalisering av dette språket er et høyt nivå
Det er veldig enkelt å endre og leseDet er ikke lett å endre og lese
Feilsøking er enkeltFeilfiksing av dette språket er komplisert

Embedded C Program Eksempler

Følgende er noen få enkle innebygde C-programmer som brukes til mikrokontroller-baserte prosjekter .

Eksempel 1

Eksempel 1

Eksempel 2

Eksempel 2

Eksempel 3

Eksempel 3

Eksempel 4

Eksempel 4

Fordeler

De fordelene med innebygd c programmering g inkluderer følgende.

  • Det er veldig enkelt å forstå.
  • Den utfører en lignende oppgave kontinuerlig, så det er ikke noe krav for å endre maskinvare som ekstra minne ellers lagringsplass.
  • Den utfører bare en enkelt oppgave samtidig
  • Kostnaden for maskinvaren som brukes i den innebygde c er vanligvis så mye lav.
  • Applikasjonene til innebygde er ekstremt passende i bransjer.
  • Det tar kortere tid å utvikle et applikasjonsprogram.
  • Det reduserer programmets kompleksitet.
  • Det er enkelt å verifisere og forstå.
  • Den er bærbar fra en kontroller til en annen.

Ulemper

De ulemper ved innebygd c-programmering Inkluder følgende.

  • Om gangen utfører den bare en oppgave, men kan ikke utføre fleroppgavene
  • Hvis vi endrer programmet, må vi også endre maskinvaren
  • Den støtter bare maskinvaresystemet.
  • Det har et skalerbarhetsproblem
  • Den har en begrensning som begrenset minne ellers kompatibilitet med datamaskinen.

Anvendelser av Embedded C Program

De applikasjoner av innebygd c programmering Inkluder følgende.

  • Innebygd C-programmering brukes i bransjer til forskjellige formål
  • Programmeringsspråket som brukes i applikasjonene er hastighetskontroll på motorveien, kontroll av trafikklys, kontroll av gatelys, sporing av kjøretøyet, kunstig intelligens, hjemmeautomatisering og automatisk intensitetskontroll.

Vi håper at vi har lykkes med å tilby en enkel og tilgjengelig måte for nybegynnere Innebygd C-programmering . Forståelse av Embedded C programmering er den viktigste forutsetningen for å designe innebygde baserte prosjekter. I tillegg til dette, hjelper en bedre forståelse og riktig kunnskap om innebygd C-programmering studenter enormt i valg av en givende karriere.

Vi oppfordrer og ønsker spørsmål, forslag og kommentarer fra leserne våre velkommen. Derfor kan du legge inn spørsmål og tilbakemeldinger om denne artikkelen i kommentarfeltet gitt nedenfor. Følg lenken nedenfor for Loddefrie prosjekter