Mis on manustatud C-programm ja selle struktuur algajatele

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Varem töötati välja palju manustatud rakendusi koostetaseme programmeerimise abil. Kuid need ei pakkunud teisaldatavust. Sellest puudusest sai jagu erinevate kõrgetasemeliste keelte, nagu C, Pascal ja COBOL, ilmumisega. Kuid just C-keel sai manustatud süsteemidele laialdase heakskiidu ja teeb seda ka edaspidi. Kirjutatud C-kood on usaldusväärsem, mastaapsem ja kaasaskantav ning tegelikult palju lihtsam mõista. Sisseehitatud C-programmeerimine on protsessori hing, mis toimib igaühe sees sisseehitatud süsteem puutume kokku oma igapäevases elus, näiteks mobiiltelefonid, pesumasinad ja digikaamerad. Iga protsessor on seotud manustatud tarkvaraga. Esimene ja peamine asi on manustatud tarkvara, mis otsustab manustatud süsteemi toimimise. Kõige sagedamini kasutatakse manustatud C-keelt programmeerige mikrokontroller .

Mis on C keel?

C-keele töötas välja Dennis Ritchie 1969. aastal. See on ühe või mitme funktsiooni kogu ja iga funktsioon on teatud ülesannet täitvate lausete kogu.
C-keel on kesktaseme keel, kuna see toetab kõrgetasemelisi ja madalatasemelisi rakendusi. Enne manustatud C-programmeerimise üksikasjade uurimist peaksime teadma RAM-mälu korralduse kohta.




C-keele põhijooned hõlmavad järgmist.

  • C keel on tarkvara, mis on loodud erinevate märksõnade, andmetüüpide, muutujate, konstantide jms abil.
  • Manustatud C on üldine termin, mis antakse programmeerimiskeelele, mis on kirjutatud tähega C, mis on seotud konkreetse riistvaraarhitektuuriga.
  • Manustatud C on C-keele laiendus koos mõne täiendava päisefailiga. Need päisefailid võivad muutuda kontrollerist kontrolleriks.
  • The mikrokontroller 8051 Kasutatakse #include.

Mis on sisseehitatud C-programmeerimine

Igas manustatud süsteemipõhises projektis mängib manustatud C programmeerimine võtmerolli, et panna mikrokontroller eelistatud toiminguid käivitama ja sooritama. Praegu kasutame tavaliselt mitut elektroonikaseadet, näiteks mobiiltelefone, pesumasinaid, turvasüsteeme, külmikuid, digikaameraid jne. Sisseehitatud seadmeid saab juhtida manustatud C-programmi abil. Näiteks kui digikaameras vajutame foto jäädvustamiseks kaameranuppu, täidab mikrokontroller nõutavat funktsiooni nii pildil klõpsamiseks kui ka selle salvestamiseks.



Manustatud C programmeerimine

Manustatud C programmeerimine

Manustatud C programmeerimine koosneb funktsioonide komplektist, kus iga funktsioon on lausete kogum, mida kasutatakse mõne konkreetse ülesande täitmiseks. Nii sisseehitatud C- kui ka C-keel on ühesugused ja neid rakendatakse mõne põhielemendi kaudu, nagu muutuja, märgistik, märksõnad, andmetüübid, muutujate deklaratsioon, avaldised, avaldused. Kõik need elemendid mängivad manustatud C-programmi kirjutamisel võtmerolli.

Manustatud süsteemidisainerid peavad programmide kirjutamiseks teadma riistvaraarhitektuuri. Nendel programmidel on välisseadmete jälgimisel ja juhtimisel silmapaistev roll. Samuti juhivad ja kasutavad nad mikrokontrolleri sisemist arhitektuuri, näiteks katkestuste käsitlemist, taimereid, jadasidet ja muid saadaolevaid funktsioone.


Sisseehitatud süsteemi programmeerimine

Nagu me varem arutlesime, saab manustatud süsteemi kujundada riistvara ja tarkvara abil. Näiteks lihtsas manustatud süsteemis on protsessor peamine moodul, mis töötab nagu süsteemi süda. Siin pole protsessor muud kui mikroprotsessor, DSP, mikrokontroller, CPLD ja FPGA. Kõik need protsessorid on programmeeritavad, nii et see määratleb seadme töö.

Manustatud süsteemi programm võimaldab riistvaral vastavalt kontrollida sisendeid ja väljundeid. Selles protseduuris võib manustatud programm juhtida protsessori sisemist arhitektuuri nagu Taimerid, Katkestuskäsitlus, I / O-pordid, jadaliidese liides jne.

Seega on sisseehitatud süsteemi programmeerimine protsessori jaoks väga oluline. Manustatud süsteemide jaoks on saadaval erinevad programmeerimiskeeled, näiteks C, C ++, assamblee keel, JAVA, JAVA skript, Visual Basic jne. Nii et see programmeerimiskeel mängib manustatud süsteemi loomisel võtmerolli, kuid keele valimine on väga oluline.

Manustatud C-programmi koostamise sammud

Manustatud c-programmi kujundamisel on erinevad toimingud, näiteks järgmine.

  • Kommentaarid
  • Töötleja direktiivid
  • Pordi seadistamine
  • Üldised muutujad
  • Põhifunktsioon / põhifunktsioon
  • Muutuja deklaratsioon
  • Programmi loogika

Kommentaarid

Programmeerimiskeeltes on kommentaarid programmi funktsiooni kirjeldamiseks väga olulised. Kommentaaride kood ei ole käivitatav, kuid seda kasutatakse programmi dokumentatsiooni esitamiseks. Programmi funktsiooni mõistmiseks saab sellest lihtsa meetodi programmi funktsiooni mõistmiseks. Manustatud C-s on kommentaarid saadaval kahte tüüpi, nimelt ühe rea ja pealiini kommentaarid.

Sisseehitatud C-programmeerimiskeeles saame oma koodi lisada kommentaare, mis aitavad lugejal koodi hõlpsasti mõista.

C = a + b / * lisage kaks muutujat, mille väärtus on salvestatud teise muutujasse C * /

Ühe rea kommentaar

Üldiselt on programmeerimiskeelte jaoks üherealised kommentaarid programmi murdosa selgitamiseks väga kasulikud. Need kommentaarid algavad topeltkriipsuga (//) ja need võivad asuda programmeerimiskeeles kõikjal. Seda kasutades saab kogu rida programmis eirata.

Mitmerealine kommentaar

Mitmerealised kommentaarid algavad programmeerimiskeeltes ühe kaldkriipsu (/) ja tärniga (/ *), mis selgitab koodiploki. Seda tüüpi kommentaare saab korraldada kõikjal programmeerimiskeeles ja kasutada peamiselt terve koodiploki eiramiseks programmis.

Töötleja direktiivid

Programmikoodis olevaid ridu nimetatakse eeltöötleja direktiivideks, mida saab järgida räsisümboli (#) kaudu. Need read on eeltöötleja direktiivid, kuid mitte programmeeritud avaldused.
Koodi saab enne eelprotsessorit uurida enne, kui reaalne koodi kompileerimine algab ja lahendab need direktiivid enne koodi genereerimist tavaliste avalduste abil. Saadaval on mitu eeltöötleja eridirektiivi, kuigi programmeerimiskeeles on kaks direktiivi väga kasulikud

meeldib järgmine.

# kaasata
# kaasata
Sbit LED = P2 ^ 3
Peamine ()
{
LED = 0x0ff
Viivitus ()
LED = 0x00
}
#define
# kaasata
#define LED P0
Peamine ()
{
LED = 0x0ff
Viivitus ()
LED = 0x00
}

Ülaltoodud programmis kasutatakse #include-i direktiivi tavaliselt selliste standardraamatukogude nagu õppetöö ja. h-d kasutatakse sisend- / väljundfunktsioonide lubamiseks, kasutades ‘C’ teeki. Direktiivi #define kasutatakse tavaliselt muutujate seeria kirjeldamiseks ja väärtuste jaotamiseks, käivitades protsessi kindlas käsus, näiteks makros.

Pordi seadistamine

Mikrokontroller sisaldab mitut porti, kus igal pordil on erinevad tihvtid. Neid tihvte saab kasutada liideseseadmete juhtimiseks. Nende tihvtide deklareerimise saab märksõnade abil teha programmi sees. Manustatud c-programmi märksõnad on nii standardsed kui ka eelnevalt määratletud nagu bit, sbit, SFR, mida kasutatakse programmi bitide ja ühe tihvti märkimiseks.

On teatud sõnu, mis on reserveeritud konkreetsete ülesannete täitmiseks. Neid sõnu tuntakse märksõnadena. Need on standardsed ja eelnevalt määratletud manustatud C. Märksõnad kirjutatakse alati väikeste tähtedega. Need märksõnad tuleb enne põhiprogrammi kirjutamist määratleda. Märksõnade põhifunktsioonid hõlmavad järgmist.

# kaasata
Sbit a = P 2 ^ 2
SFR 0x00 = PoRT0
Bitt C
peamine ()
{
…………… ..
…………… ..
}

sbit

See on ühte tüüpi andmetüüp, mida kasutatakse ühele bitile juurdepääsuks SFR-registris.

Selle andmetüübi süntaks on: sbit muutuja nimi = SFR bitt

Näide: sbit a = P2 ^ 1

Kui määrame muutujaks p2.1, siis võime programmis ükskõik kus programmis p2.1 asemel kasutada tähte a, mis vähendab programmi keerukust.

Natuke

Seda tüüpi andmetüüpe kasutatakse peamiselt juhusliku juurdepääsuga mälu, näiteks 20h kuni 2fh, bitiaadressitava mälu lubamiseks.

Selle andmetüübi süntaks on: bitimuutuja nimi

Näide: bitt c

See on väike seeria seade väikeses andmesidepiirkonnas, mida kasutatakse peamiselt programmi abil millegi meelde jätmiseks.

SFR

Seda tüüpi andmetüüpi kasutatakse SFR-registri perifeersete portide saamiseks täiendava nime kaudu. Seega saab kõigi SFR-i registrite deklareerida suurtähtedega.

Selle andmetüübi süntaks on: SFR muutuja nimi = SFR registri SFR aadress

Näide: SFR-port0 = 0 × 80

Kui eraldame 0 × 80 nagu ‘port0’, siis võime pärast programmi keerukuse vähendamiseks kasutada port0 asemel 0 × 80 kõikjal programmeerimiskeeles.

SFR register

SFR tähistab spetsiaalsete funktsioonide registrit. 8051 mikrokontrolleris sisaldab see 256-baidist RAM-mälu, mis on jagatud kaheks põhielemendiks: esimest 128-baidist elementi kasutatakse peamiselt andmete salvestamiseks, teist 128-baidist elementi aga peamiselt SFR-registrite jaoks. Kõik välisseadmed, näiteks taimerid, loendurid ja sisend- / väljundportid, on salvestatud SFR-i registrisse ja iga element sisaldab ühte aadressi.

Globaalsed muutujad

Kui muutuja deklareeritakse enne, kui põhifunktsioon on tuntud kui globaalne muutuja. Selle muutujaga saab lubada mis tahes programmi funktsiooni. Globaalse muutuja eluiga sõltub peamiselt programmeerimisest kuni selle lõpuni.

# kaasata
Märkimata int a, c = 10
Peamine ()
{
……………
………… ..
}

Põhifunktsioon / põhifunktsioon

Põhifunktsioon on mis tahes programmi käivitamisel keskne osa ja see algab lihtsalt põhifunktsioonist. Iga programm kasutab lihtsalt ühte peamist funktsiooni, sest kui programm sisaldab ühe suurema funktsiooni kohal, on järgmine kompilaator programmi täitmise alustamisel segaduses.

# kaasata
Peamine ()
{
……………
………… ..
}

Muutuja deklaratsioon

Nime nagu muutuja kasutatakse väärtuste salvestamiseks, kuid see muutuja tuleks kõigepealt deklareerida, enne kui seda programmis kasutada. Muutuja deklaratsioonis märgitakse nii oma nimi kui ka andmetüüp. Siin pole andmetüüp muud kui salvestusandmete esitus. Manustatud C-programmeerimisel kasutab see andmete mällu salvestamiseks nelja põhilist andmetüüpi, nagu täisarv, ujuk, märk. Andmetüübi suuruse ja vahemiku saab määrata sõltuvalt kompilaatorist.

Andmetüüp viitab ulatuslikule süsteemile erinevat tüüpi muutujate deklareerimiseks, näiteks täisarv, märk, ujuk jne. Manustatud C tarkvara kasutab nelja andmetüüpi, mida kasutatakse andmete salvestamiseks mällu.

Märki „char” kasutatakse mis tahes üksiku märgi salvestamiseks. „Int” kasutatakse täisarvu salvestamiseks ja sõna „float” kasutatakse suvalise täpsusega ujukoma väärtuse salvestamiseks. Erinevate andmetüüpide suurus ja ulatus 32-bitises masinas on toodud järgmises tabelis. Suurus ja vahemik võivad erineda sõnasuuruste masinate korral.

  • Andmetüübi char / signeeritud char suurus on 1 bait ja selle vahemik on -128 kuni +128
  • Allkirjastamata tähe andmetüübi suurus on 1 baiti ja selle vahemik on 0–255
  • Int / sign int int andmetüübi suurus on 2 baiti ja selle vahemik on -32768 kuni 32767
  • Allkirjastamata int andmetüübi suurus on 2 baiti ja selle vahemik on 0 kuni 65535

Peamine ()
{
Allkirjastamata int a, b, c
}

Allpool on toodud manustatud C-programmi struktuur.

  • kommentaare
  • eeltöötleja direktiivid
  • globaalsed muutujad
  • main () funktsioon

{

  • kohalikud muutujad
  • avaldused
  • ………… ..
  • ………… ..

}

  • lõbus (1)

{

  • kohalikud muutujad
  • avaldused
  • ………… ..
  • ………… ..

}

Programmi loogika

Programmi loogika on raja plaan, mis ilmneb programmi tegevuste ja prognoositavate väljundite taga olevas teoorias. See selgitab väidet muidu teooria kohta, miks manustatud programm töötab, ja näitab toimingute tunnustatud mõju muidu ressursse.

Main
{
LED = 0x0f
viivitus (100)
LED = 0x00
viivitus (100)
}

Manustatud C programmi peamised tegurid

Peamised tegurid, mida arvestada manustatud süsteemi väljatöötamisel programmeerimiskeele valimisel, on järgmised.

Programmi suurus

Igas programmeerimiskeeles on osa mälust, kus sisseehitatud protsessor nagu mikrokontroller sisaldab äärmiselt vähem suvalist mälu.

Programmi kiirus

Programmeerimiskeel peaks olema väga kiire, nii et see peaks töötama nii kiiresti kui võimalik. Aeglaselt töötava tarkvara tõttu ei tohiks manustatud riistvara kiirust vähendada.

Teisaldatavus

Erinevate manustatud protsessorite puhul saab koostada sarnaseid programme.

  • Lihtne rakendamine
  • Lihtne hooldus
  • Loetavus

Erinevused C-programmi ja manustatud C-programmi vahel

Sisseehitatud C- ja C-programmide erinevus ei erine tegelikult enam kui töökeskkond ja mõned laiendused. Need programmeerimiskeeled on ISO standardid ja neil on ka umbes sarnane süntaks, funktsioonid, andmetüübid jne. Peamised erinevused C-programmeerimise ja manustatud c-programmeerimise vahel hõlmavad järgmist.

C Keel

Manustatud C keel

Üldiselt kasutatakse seda keelt töölauapõhiste rakenduste arendamiseks

Manustatud C keelt kasutatakse mikrokontrolleril põhinevate rakenduste väljatöötamiseks.
C-keel ei ole ühegi programmeerimiskeele laiendus, vaid üldotstarbeline programmeerimiskeelManustatud C on C-programmeerimiskeele laiendus, mis sisaldab erinevaid funktsioone, nagu sisend- / väljundiaadress, fikseeritud punktiga aritmeetika, mitme mäluga adresseerimine jne.

See töötleb looduses looduslikku arengutSee töötleb looduses ristarengut
See on riistvaraarhitektuurist sõltumatuSee sõltub mikrokontrolleri ja muude seadmete riistvaraarhitektuurist
C-keele koostajad sõltuvad operatsioonisüsteemistManustatud C kompilaatorid pole OS-st sõltumatud
C-keeles kasutatakse programmi käivitamiseks standardseid kompilaatoreidManustatud C-keeles kasutatakse konkreetseid kompilaatoreid.
Selles keeles kasutatavad populaarsed kompilaatorid on GCC, Borland turbo C, Intel C ++ jneSelles keeles kasutatavad populaarsed koostajad on Keil, BiPOM Electronics & green hill
C-keele formaat on vabas vormingusSelle formaat sõltub peamiselt kasutatava mikroprotsessori tüübist.
Selle keele optimeerimine on normaalneSelle keele optimeerimine on kõrge tase
Seda on väga lihtne muuta ja lugedaSeda pole lihtne muuta ja lugeda
Veaparandus on lihtneSelle keele veaparandus on keeruline

Manustatud C programmi näited

Järgnevalt on toodud mõned lihtsad manustatud C programmid, mida kasutatakse mikrokontrolleril põhinevad projektid .

Näide 1

Näide 1

Näide 2

Näide 2

Näide 3

Näide 3

Näide 4

Näide 4

Eelised

The sisseehitatud c-programmini eelised g sisaldavad järgmist.

  • Sellest on väga lihtne aru saada.
  • See täidab sarnast ülesannet pidevalt, nii et pole vaja riistvara vahetamist, näiteks lisamälu, muidu salvestusruumi.
  • See täidab lihtsalt ühe ülesande korraga
  • Sisseehitatud c-s kasutatava riistvara maksumus on tavaliselt nii madal.
  • Manustatud rakendused on tööstuses äärmiselt asjakohased.
  • Rakendusprogrammi väljatöötamine võtab vähem aega.
  • See vähendab programmi keerukust.
  • Seda on lihtne kontrollida ja mõista.
  • See on teisaldatav ühelt kontrollerilt teisele.

Puudused

The varjatud c-programmeerimise puudused sisaldama järgmist.

  • Korraga täidab see ainult ühte ülesannet, kuid ei saa mitut ülesannet täita
  • Kui muudame programmi, peame muutma ka riistvara
  • See toetab ainult riistvarasüsteemi.
  • Sellel on mastaapsuse probleem
  • Sellel on selline piirang nagu piiratud mälu, vastasel juhul sobib arvuti ühilduvusega.

Manustatud C programmi rakendused

The manustatud c-programmeerimise rakendused sisaldama järgmist.

  • Manustatud C-programmeerimist kasutatakse tööstuses erinevatel eesmärkidel
  • Rakendustes kasutatav programmeerimiskeel on kiiruse kontroll maanteel, fooride juhtimine, tänavatulede juhtimine, sõiduki jälgimine, tehisintellekt, koduautomaatika ja automaatne intensiivsuse kontroll.

Loodame, et oleme olnud algajatele lihtsa ja ligipääsetava viisi pakkumisel edukad Manustatud C programmeerimine . Manustatud C-programmeerimise mõistmine on manustatud põhiprojektide kujundamise kõige olulisem eeldus. Lisaks aitab parem arusaamine ja asjakohased teadmised manustatud C-programmeerimisest üliõpilastele tohutult tasuva karjääri valimisel.

Julgustame lugejate päringuid, ettepanekuid ja kommentaare tervitama. Seetõttu saate oma artikli kohta päringud ja tagasiside postitada allpool toodud kommentaaride jaotisesse. Järgige allolevat linki Jooteta projektid