Vad är ett inbäddat C-program och dess struktur för nybörjare

Prova Vårt Instrument För Att Eliminera Problem





Tidigare utvecklades många inbäddade applikationer med hjälp av programmering på monteringsnivå. De gav dock inte bärbarhet. Denna nackdel övervinndes genom tillkomsten av olika högnivåspråk som C, Pascal och COBOL. Det var dock C-språket som fick omfattande acceptans för inbäddade system, och det fortsätter att göra det. C-koden som skrivs är mer pålitlig, skalbar och bärbar och faktiskt mycket lättare att förstå. Inbäddad C-programmering är själen hos processorn som fungerar inuti varje och en inbyggda system vi stöter på i vårt dagliga liv, till exempel mobiltelefoner, tvättmaskiner och digitalkameror. Varje processor är associerad med inbäddad programvara. Det första och främsta är den inbäddade programvaran som bestämmer sig för att fungera i det inbäddade systemet. Inbäddat C-språk används oftast programmera mikrokontrollern .

Vad är C-språk?

C-språk utvecklades av Dennis Ritchie 1969. Det är en samling av en eller flera funktioner, och varje funktion är en samling uttalanden som utför en specifik uppgift.
C-språk är ett mellannivåspråk eftersom det stöder applikationer på hög nivå och applikationer på låg nivå. Innan vi går in i detaljerna om inbäddad C-programmering bör vi veta om RAM-minnesorganisation.




Huvuddragen i C-språket inkluderar följande.

  • C-språk är programvara utformad med olika nyckelord, datatyper, variabler, konstanter etc.
  • Inbäddad C är en generisk term som ges till ett programmeringsspråk skrivet i C, vilket är associerat med en viss hårdvaruarkitektur.
  • Inbäddad C är ett tillägg till C-språket med några ytterligare rubrikfiler. Dessa rubrikfiler kan ändras från styrenhet till styrenhet.
  • De mikrokontroller 8051 #include används.

Vad är en inbäddad C-programmering

I alla inbäddade systembaserade projekt spelar Embedded C-programmering en nyckelroll för att få mikrokontrollern att köra och utföra de föredragna åtgärderna. För närvarande använder vi normalt flera elektroniska enheter som mobiltelefoner, tvättmaskiner, säkerhetssystem, kylskåp, digitalkameror etc. Styrningen av dessa inbäddade enheter kan göras med hjälp av ett inbäddat C-program. Till exempel i en digitalkamera, om vi trycker på en kameraknapp för att ta ett foto kommer mikrokontrollen att utföra den funktion som krävs för att klicka på bilden och för att lagra den.



Inbäddad C-programmering

Inbäddad C-programmering

Inbyggd C-programmering bygger med en uppsättning funktioner där varje funktion är en uppsättning uttalanden som används för att utföra vissa specifika uppgifter. Både de inbäddade C- och C-språken är desamma och implementeras genom vissa grundläggande element som en variabel, teckenuppsättning, nyckelord, datatyper, deklaration av variabler, uttryck, uttalanden. Alla dessa element spelar en nyckelroll när du skriver ett inbäddat C-program.

De inbäddade systemdesignerna måste känna till hårdvaruarkitekturen för att skriva program. Dessa program spelar en framträdande roll för övervakning och kontroll av externa enheter. De fungerar också direkt och använder den interna arkitekturen i mikrokontrollern, såsom avbrottshantering, timers, seriell kommunikation och andra tillgängliga funktioner.


Inbyggd systemprogrammering

Som vi diskuterade tidigare kan designen av ett inbäddat system göras med hjälp av hårdvara och programvara. Till exempel, i ett enkelt inbäddat system är processorn huvudmodulen som fungerar som hjärtat i systemet. Här är en processor inget annat än en mikroprocessor, DSP, mikrokontroller, CPLD & FPGA. Alla dessa processorer är programmerbara så att det definierar hur enheten fungerar.

Ett inbyggt systemprogram gör att hårdvaran kan kontrollera ingångarna och styra utgångarna i enlighet med detta. I den här proceduren kan det inbäddade programmet behöva kontrollera processorns interna arkitektur direkt som Timers, Interrupt Handling, I / O-portar, seriellt kommunikationsgränssnitt etc.

Så inbyggd systemprogrammering är mycket viktigt för processorn. Det finns olika programmeringsspråk tillgängliga för inbäddade system som C, C ++, monteringsspråk, JAVA, JAVA-skript, visual basic osv. Så detta programmeringsspråk spelar en nyckelroll när man skapar ett inbäddat system men att välja språk är mycket viktigt.

Steg för att bygga ett inbäddat C-program

Det finns olika steg involverade i utformningen av ett inbäddat c-program som följande.

  • Kommentarer
  • Direktörer från Processor
  • Konfiguration av port
  • Globala variabler
  • Kärnfunktion / huvudfunktion
  • Variabelförklaring
  • Programmets logik

Kommentarer

På programmeringsspråk är kommentarer mycket viktiga för att beskriva programmets funktion. Koden för kommentarerna kan inte köras men används för att tillhandahålla programdokumentation. För att förstå programmets funktion blir detta en enkel metod för att förstå programmets funktion. I inbäddat C finns kommentarer tillgängliga i två typer, nämligen en rad och huvudlinjekommentar.

I ett inbäddat C-programmeringsspråk kan vi placera kommentarer i vår kod som hjälper läsaren att förstå koden enkelt.

C = a + b / * lägg till två variabler vars värde lagras i en annan variabel C * /

Enkelradskommentar

Generellt sett för programmeringsspråk är kommentarer i en rad mycket användbara för att klargöra en bråkdel av programmet. Dessa kommentarer börjar med ett dubbelt snedstreck (//) och det kan placeras var som helst inom programmeringsspråket. Genom att använda detta kan hela raden ignoreras i ett program.

Flerradskommentar

Flera linjekommentarer börjar med ett enda snedstreck (/) och en asterisk (/ *) på programmeringsspråken, vilket förklarar ett kodblock. Dessa typer av kommentarer kan ordnas var som helst inom programmeringsspråket och används huvudsakligen för att ignorera ett helt kodblock i ett program.

Direktörer från Processor

Raderna som ingår i programkoden kallas förprocessordirektiv som kan följas genom en hash-symbol (#). Dessa rader är förbehandlingsdirektiven men inte programmerade uttalanden.
Koden kan undersökas genom en förprocessor innan verklig kodsamling startar och löser dessa direktiv innan de genererar en kod genom vanliga uttalanden. Det finns flera speciella förprocessordirektiv finns tillgängliga även om två direktiv är extremt användbara inom programmeringsspråket

som följande.

#omfatta
#omfatta
Sbit LED = P2 ^ 3
Main ()
{
LED = 0x0ff
Dröjsmål()
LED = 0x00
}
#definiera
#omfatta
#define LED P0
Main ()
{
LED = 0x0ff
Dröjsmål()
LED = 0x00
}

I ovanstående program används #include-direktivet vanligtvis för att omfatta standardbibliotek som studier och. h används för att tillåta I / O-funktioner med hjälp av biblioteket 'C'. #Define-direktivet används vanligtvis för att beskriva serien av variabler och fördelar värdena genom att utföra processen i en viss instruktion som makron.

Konfiguration av port

Microcontroller innehåller flera portar där varje port har olika stift. Dessa stift kan användas för att styra gränssnittsanordningarna. Deklarationen av dessa stift kan göras inom ett program med hjälp av nyckelord. Nyckelorden i det inbäddade c-programmet är standard såväl som fördefinierade som en bit, sbit, SFR som används för att ange bitarna och enstiftet i ett program.

Det finns vissa ord som är reserverade för att göra specifika uppgifter. Dessa ord kallas nyckelord. De är standard och fördefinierade i Embedded C. Nyckelord skrivs alltid med gemener. Dessa nyckelord måste definieras innan huvudprogrammet skrivs. Nyckelordens huvudfunktioner inkluderar följande.

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

sbit

Detta är en typ av datatyp som används för att komma åt en enda bit i ett SFR-register.

Syntaksen för denna datatyp är: sbit variabelnamn = SFR-bit

Exempel: sbit a = P2 ^ 1

Om vi ​​tilldelar p2.1 som “a” -variabel kan vi använda “a” istället för p2.1 var som helst i programmet, vilket minskar komplexiteten i programmet.

Bit

Denna typ av datatyp används huvudsakligen för att tillåta det bitadresserbara minnet i random access-minne som 20h till 2fh.

Syntaxen för denna datatyp är: namn på bitvariabel

Exempel: bit c

Det är en bitserieinställning inom en liten dataregion som huvudsakligen används med hjälp av ett program för att memorera något.

SFR

Denna typ av datatyp används för att erhålla de perifera portarna i SFR-registret genom ett ytterligare namn. Så deklarationen av alla SFR-register kan göras med versaler.

Syntaxen för denna datatyp är: SFR-variabelnamn = SFR-adress för SFR-register

Exempel: SFR-port0 = 0 × 80

Om vi ​​tilldelar 0 × 80 som 'port0' kan vi därefter använda 0 × 80 istället för port0 var som helst i programmeringsspråket för att minska programmets svårighet.

SFR-register

SFR står för Special Function Register. I 8051-mikrokontroller innehåller det RAM-minne med 256 byte, vilket är uppdelat i två huvudelement: det första elementet på 128 byte används huvudsakligen för lagring av data medan det andra elementet på 128 byte huvudsakligen används för SFR-register. Alla kringutrustning som timers, räknare och I / O-portar lagras i SFR-registret och varje element innehåller en enda adress.

Globala variabler

När variabeln deklareras innan nyckelfunktionen kallas den globala variabeln. Denna variabel kan tillåtas för alla funktioner i programmet. Den globala variabelns livslängd beror främst på programmeringen tills den når sitt slut.

#omfatta
Osignerad int a, c = 10
Main ()
{
……………
………… ..
}

Kärnfunktion / huvudfunktion

Huvudfunktionen är en central del när du kör något program och den börjar med huvudfunktionen helt enkelt. Varje program använder bara en huvudfunktion eftersom om programmet innehåller över en huvudfunktion kommer kompilatorn att förvirras när programmet körs.

#omfatta
Main ()
{
……………
………… ..
}

Variabelförklaring

Namnet som variabeln används för att lagra värdena men denna variabel bör först deklareras innan den används i programmet. Variabeldeklarationen anger dess namn samt en datatyp. Här är datatypen ingenting annat än representation av lagringsdata. I inbäddad C-programmering använder den fyra grundläggande datatyper som heltal, float, tecken för att lagra data i minnet. Datatypens storlek, såväl som intervallet, kan definieras beroende på kompilatorn.

Datatypen hänvisar till ett omfattande system för att deklarera variabler av olika typer som heltal, karaktär, flyt, etc. Den inbäddade C-programvaran använder fyra datatyper som används för att lagra data i minnet.

'Char' används för att lagra ett enstaka tecken 'int' används för att lagra heltalsvärde och 'float' används för att lagra valfritt precisionsflytpunktsvärde. Storleken och räckvidden för olika datatyper på en 32-bitars maskin anges i följande tabell. Storlek och intervall kan variera på maskiner med olika ordstorlekar.

  • Char / signerad char datatypstorlek är 1 byte och dess intervall är från -128 till +128
  • Den osignerade char-datatypstorleken är 1 byte och dess intervall är från 0 till 255
  • Int / signerad int datatypstorlek är 2 byte och dess intervall är från -32768 till 32767
  • Onsignerad int datatypstorlek är 2 byte och dess intervall är från 0 till 65535

Main ()
{
Osignerad int a, b, c
}

Strukturen för ett inbäddat C-program visas nedan.

  • kommentarer
  • förbehandlingsdirektiven
  • globala variabler
  • huvudfunktion

{

  • lokala variabler
  • uttalanden
  • ………… ..
  • ………… ..

}

  • kul (1)

{

  • lokala variabler
  • uttalanden
  • ………… ..
  • ………… ..

}

Programmets logik

Programmets logik är en plan för banan som visas i teorin bakom & förutsägbara resultat av programmets åtgärder. Det förklarar påståendet annars teori om varför det inbäddade programmet fungerar och visar de erkända effekterna av åtgärder annars resurser.

Main
{
LED = 0x0f
fördröjning (100)
LED = 0x00
fördröjning (100)
}

Huvudfaktorerna för Embedded C-programmet

De viktigaste faktorerna som ska beaktas när du väljer programmeringsspråk för att utveckla ett inbäddat system inkluderar följande.

Programstorlek

Varje programmeringsspråk upptar något minne där inbäddad processor som mikrokontroller innehåller en extremt mindre mängd random access-minne.

Programmets hastighet

Programmeringsspråket ska vara mycket snabbt, så det bör köras så snabbt som möjligt. Hastigheten på inbäddad hårdvara bör inte minskas på grund av den långsamma programvaran.

Bärbarhet

För de olika inbäddade processorerna kan sammanställningen av liknande program göras.

  • Enkel implementering
  • Enkelt underhåll
  • Läsbarhet

Skillnader mellan C-programmet och Embedded C-programmet

Skillnaden mellan inbäddad C- och C-programmering är egentligen inte mycket bortsett från driftsmiljön och vissa tillägg. Dessa programmeringsspråk är ISO-standarder och har också ungefär lika syntax, funktioner, datatyper etc. De viktigaste skillnaderna mellan C-programmering och inbäddad c-programmering inkluderar följande.

C Språk

Inbäddat C-språk

Generellt används detta språk för att utveckla skrivbordsbaserade applikationer

Inbäddat C-språk används för att utveckla mikrokontrollerbaserade applikationer.
C-språk är inte ett tillägg till något programmeringsspråk utan ett allmänt programmeringsspråkInbäddad C är en förlängning av C-programmeringsspråket som innehåller olika funktioner som adressering av I / O, fastpunktsräkning, adressering med flera minnesmärken etc.

Det bearbetar naturlig utveckling i naturenDet bearbetar korsutveckling i naturen
Det är oberoende för hårdvaruarkitekturDet beror på hårdvaruarkitekturen för mikrokontrollern och andra enheter
Kompilatorerna för C-språk beror på operativsystemetInbäddade C-kompilatorer är OS-oberoende
På C-språk används standardkompilatorerna för att köra ett programI inbäddat C-språk används specifika kompilatorer.
De populära kompilatorerna som används på detta språk är GCC, Borland turbo C, Intel C ++, etc.De populära kompilatorerna som används på detta språk är Keil, BiPOM Electronics & green hill
Formatet för C-språket är fritt formatDess format beror främst på vilken typ av mikroprocessor som används.
Optimering av detta språk är normaltOptimering av detta språk är en hög nivå
Det är väldigt enkelt att ändra och läsaDet är inte lätt att ändra och läsa
Bug fixing är enkeltFelkorrigering av detta språk är komplicerat

Inbäddade C-programexempel

Följande är några enkla inbäddade C-program som används för mikrokontrollerbaserade projekt .

Exempel 1

Exempel 1

Exempel 2

Exempel 2

Exempel 3

Exempel 3

Exempel 4

Exempel 4

Fördelar

De fördelar med inbäddat c-program g inkludera följande.

  • Det är väldigt enkelt att förstå.
  • Den utför en liknande uppgift kontinuerligt så det finns inget krav på att ändra hårdvara som ytterligare minne annars lagringsutrymme.
  • Den utför bara en enda uppgift på en gång
  • Kostnaden för hårdvaran som används i den inbäddade c är vanligtvis så mycket låg.
  • Tillämpningarna av inbäddade är extremt lämpliga i industrier.
  • Det tar kortare tid att utveckla ett applikationsprogram.
  • Det minskar programmets komplexitet.
  • Det är lätt att verifiera och förstå.
  • Den är bärbar från en styrenhet till en annan.

Nackdelar

De nackdelar med inbäddad c-programmering inkluderar följande.

  • Det körs bara en uppgift åt gången men kan inte utföra flera uppgifter
  • Om vi ​​byter program måste vi också byta maskinvara
  • Den stöder endast hårdvarusystemet.
  • Det har ett skalbarhetsproblem
  • Det har en begränsning som begränsat minne annars datorns kompatibilitet.

Tillämpningar av Embedded C Program

De tillämpningar av inbäddad c-programmering inkluderar följande.

  • Inbäddad C-programmering används i branscher för olika ändamål
  • Programmeringsspråket som används i applikationerna är hastighetskontroll på motorvägen, kontroll av trafikljus, kontroll av gatubelysning, spårning av fordonet, artificiell intelligens, hemautomation och automatisk intensitetskontroll.

Vi hoppas att vi har lyckats ge ett enkelt och lättillgängligt sätt för nybörjare Inbäddad C-programmering . Förståelse för Embedded C-programmering är den viktigaste förutsättningen för att utforma inbäddade projekt. Utöver detta hjälper en bättre förståelse och korrekt kunskap om inbäddad C-programmering studenter oerhört i valet av en givande karriär.

Vi uppmuntrar och välkomnar frågor, förslag och kommentarer från våra läsare. Därför kan du skicka dina frågor och feedback om den här artikeln i kommentarfältet nedan. Följ länken nedan för Lödfria projekt