Što je ugrađeni C program i njegova struktura za početnike

Isprobajte Naš Instrument Za Uklanjanje Problema





Ranije su mnogi ugrađeni programi razvijeni pomoću programiranja na razini montaže. Međutim, nisu osigurali prenosivost. Taj je nedostatak prevladao pojavom različitih jezika visoke razine poput C, Pascala i COBOLA. Međutim, jezik C dobio je opće prihvaćanje za ugrađene sustave i nastavlja to činiti. Napisani C kod pouzdaniji je, skalabilan i prenosiv, a zapravo je puno lakši za razumijevanje. Programiranje na ugrađenom C duša je procesora koji funkcionira unutar svakog pojedinog ugrađeni sustav susrećemo se u našem svakodnevnom životu, poput mobilnih telefona, perilica rublja i digitalnih fotoaparata. Svaki procesor povezan je s ugrađenim softverom. Prva i najvažnija stvar je ugrađeni softver koji odlučuje funkcionirati u ugrađenom sustavu. Ugrađeni jezik C najčešće se koristi programirati mikrokontroler .

Što je C jezik?

Jezik C razvio je Dennis Ritchie 1969. To je zbirka jedne ili više funkcija, a svaka funkcija je zbirka izjava koje izvršavaju određeni zadatak.
C jezik je jezik srednje razine jer podržava aplikacije na visokoj i niskoj razini. Prije ulaska u detalje ugrađenog C programiranja, trebali bismo znati o organizaciji RAM memorije.




Glavne značajke jezika C uključuju sljedeće.

  • C jezik je softver dizajniran s različitim ključnim riječima, vrstama podataka, varijablama, konstantama itd.
  • Embedded C je generički pojam koji se daje programskom jeziku napisanom na C, a koji je povezan s određenom hardverskom arhitekturom.
  • Embedded C je proširenje jezika C s nekim dodatnim datotekama zaglavlja. Te se datoteke zaglavlja mogu mijenjati od kontrolera do kontrolera.
  • The mikrokontroler 8051 Koristi se #include.

Što je ugrađeno C programiranje

U svim projektima temeljenim na ugrađenom sustavu, programiranje Embedded C igra ključnu ulogu u pokretanju i izvršavanju željenih radnji mikrokontrolera. Trenutno obično koristimo nekoliko elektroničkih uređaja poput mobilnih telefona, perilica rublja, sigurnosnih sustava, hladnjaka, digitalnih fotoaparata itd. Upravljanje tim ugrađenim uređajima može se izvršiti uz pomoć ugrađenog C programa. Na primjer, u digitalnom fotoaparatu, ako pritisnemo gumb fotoaparata za snimanje fotografije, tada će mikrokontroler izvršiti potrebnu funkciju da klikne na sliku i da je pohrani.



Ugrađeno C programiranje

Ugrađeno C programiranje

Ugrađeno C programiranje gradi s nizom funkcija gdje je svaka funkcija skup naredbi koje se koriste za izvršavanje nekih određenih zadataka. Oba ugrađena jezika C i C jednaka su i implementirana kroz neke temeljne elemente poput varijable, skupa znakova, ključnih riječi, tipova podataka, deklaracije varijabli, izraza, izraza. Svi ti elementi igraju ključnu ulogu tijekom pisanja ugrađenog C programa.

Dizajneri ugrađenih sustava moraju znati o hardverskoj arhitekturi za pisanje programa. Ovi programi igraju istaknutu ulogu u praćenju i kontroli vanjskih uređaja. Također izravno upravljaju i koriste unutarnju arhitekturu mikrokontrolera, poput upravljanja prekidima, odbrojavanja, serijska komunikacija i druge dostupne značajke.


Programiranje ugrađenog sustava

Kao što smo ranije razgovarali, dizajniranje ugrađenog sustava može se izvršiti pomoću hardvera i softvera. Na primjer, u jednostavnom ugrađenom sustavu, procesor je glavni modul koji radi poput srca sustava. Ovdje procesor nije ništa drugo nego mikroprocesor, DSP, mikrokontroler, CPLD i FPGA. Svi se ti procesori mogu programirati tako da definiraju rad uređaja.

Ugrađeni sistemski program omogućuje hardveru da u skladu s tim provjeri ulaze i upravlja izlazima. U ovom postupku, ugrađeni program možda će morati kontrolirati unutarnju arhitekturu procesora izravno poput odbrojavanja vremena, rukovanja prekidima, I / O portova, serijskog komunikacijskog sučelja itd.

Dakle, programiranje ugrađenog sustava vrlo je važno za procesor. Dostupni su različiti programski jezici za ugrađene sustave kao što su C, C ++, montažni jezik, JAVA, JAVA skripta, visual basic itd. Dakle, ovaj programski jezik igra ključnu ulogu prilikom izrade ugrađenog sustava, ali odabir jezika je vrlo bitan.

Koraci za izgradnju ugrađenog C programa

Postoje različiti koraci uključeni u dizajniranje ugrađenog c programa poput sljedećih.

  • Komentari
  • Smjernice procesora
  • Konfiguracija luke
  • Globalne varijable
  • Osnovna funkcija / glavna funkcija
  • Izjava o varijabli
  • Logika Programa

Komentari

U programskim jezicima, komentari su vrlo bitni za opisivanje funkcije programa. Kôd komentara se ne može izvršiti, ali koristi se za pružanje programske dokumentacije. Da bi se razumjela funkcija programa, ovo će napraviti jednostavnu metodu za razumijevanje funkcije programa. U ugrađenom C komentari su dostupni u dvije vrste, naime u jednom retku i glavnom komentaru.

U ugrađenom programskom jeziku C možemo u naš kôd smjestiti komentare koji pomažu čitatelju da lako razumije kôd.

C = a + b / * dodajte dvije varijable čija je vrijednost pohranjena u drugoj varijabli C * /

Jednoredni komentar

Općenito, za programske jezike jednoredni komentari vrlo su korisni za pojašnjavanje dijela programa. Ovi komentari započinju dvostrukom kosom crtom (//) i mogu se nalaziti bilo gdje unutar programskog jezika. Korištenjem toga, cijeli se redak može ignorirati unutar programa.

Komentar s više linija

Višeredni komentari započinju jednom kosom crtom (/) i zvjezdicom (/ *) u programskim jezicima što objašnjava blok koda. Te se vrste komentara mogu organizirati bilo gdje unutar programskog jezika i uglavnom se koriste za ignoriranje cijelog bloka koda unutar programa.

Smjernice procesora

Redovi obuhvaćeni programskim kodom nazivaju se pretprocesorskim direktivama koje se mogu slijediti kroz hash simbol (#). Ovi su redovi smjernice pretprocesora, ali nisu programirani izrazi.
Kôd se može ispitati putem pretprocesora prije nego što započne sastavljanje stvarnog koda i riješi ove direktive prije generiranja koda kroz redovite izraze. Dostupno je nekoliko posebnih direktiva o pretprocesoru, iako su dvije direktive izuzetno korisne u programskom jeziku

poput sljedećeg.

#include
#include
Sbit LED = P2 ^ 3
Glavni()
{
LED = 0x0ff
Odgoditi()
LED = 0x00
}
#definirati
#include
#define LED P0
Glavni()
{
LED = 0x0ff
Odgoditi()
LED = 0x00
}

U gornjem programu, direktiva #include obično se koristi da obuhvaća standardne knjižnice poput studija i. h se koristi za omogućavanje I / O funkcija pomoću knjižnice 'C'. Direktiva #define obično se koristi za opisivanje niza varijabli i dodjeljuje vrijednosti izvršavanjem procesa unutar određene upute poput makronaredbi.

Konfiguracija luke

Mikrokontroler uključuje nekoliko priključaka gdje svaki priključak ima različite pinove. Te se igle mogu koristiti za upravljanje uređajima za povezivanje. Izjava ovih pribadača može se izvršiti unutar programa uz pomoć ključnih riječi. Ključne riječi u ugrađenom programu c standardne su i unaprijed definirane poput bit, sbit, SFR koje se koriste za navođenje bitova i pojedinačnog pina unutar programa.

Postoje određene riječi koje su rezervirane za obavljanje određenih zadataka. Te su riječi poznate kao ključne riječi. Oni su standardni i unaprijed definirani u ugrađenom C. Ključne riječi uvijek se pišu malim slovom. Ove ključne riječi moraju se definirati prije pisanja glavnog programa. Glavne funkcije ključnih riječi uključuju sljedeće.

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

sbit

Ovo je jedna vrsta podataka koja se koristi za pristup jednom bitu unutar SFR registra.

Sintaksa za ovaj tip podataka je: sbit naziv varijable = SFR bit

Primjer: sbit a = P2 ^ 1

Ako p2.1 dodijelimo kao varijablu 'a', tada možemo koristiti 'a' umjesto p2.1 bilo gdje u programu, što smanjuje složenost programa.

Bit

Ova vrsta podataka uglavnom se koristi za omogućavanje bitova adresirane memorije slučajne memorije poput 20h do 2fh.

Sintaksa ovog tipa podataka je: naziv bitne varijable

Primjer: bit c

To je postavka malog niza u maloj podatkovnoj regiji koja se uglavnom koristi uz pomoć programa za pamćenje nečega.

SFR

Ova vrsta podataka koristi se za dobivanje perifernih priključaka SFR registra putem dodatnog imena. Dakle, deklaracija svih SFR registara može se izvršiti velikim slovima.

Sintaksa ovog tipa podataka je: SFR naziv varijable = SFR adresa za SFR registar

Primjer: SFR priključak0 = 0 × 80

Ako dodijelimo 0 × 80 poput „port0“, nakon toga možemo koristiti 0 × 80 umjesto port0 bilo gdje u programskom jeziku kako bismo smanjili poteškoću programa.

SFR registar

SFR je kratica za Registar posebnih funkcija. U mikrokontroleru 8051 uključuje RAM memoriju s 256 bajtova, koja je podijeljena u dva glavna elementa: prvi element od 128 bajtova uglavnom se koristi za spremanje podataka, dok se drugi element od 128 bajtova uglavnom koristi za SFR registre. Svi periferni uređaji poput mjerača vremena, brojača i I / O priključaka pohranjeni su unutar SFR registra i svaki element sadrži jednu adresu.

Globalne varijable

Kada je varijabla deklarirana prije nego što je funkcija ključa poznata kao globalna varijabla. Ova varijabla može biti dopuštena na bilo kojoj funkciji u programu. Životni vijek globalne varijable uglavnom ovisi o programiranju dok ne dođe do kraja.

#include
Nepotpisani int a, c = 10
Glavni()
{
……………
………… ..
}

Osnovna funkcija / glavna funkcija

Glavna funkcija je središnji dio tijekom izvršavanja bilo kojeg programa i započinje s glavnom funkcijom jednostavno. Svaki program koristi samo jednu glavnu funkciju, jer ako program uključuje iznad jedne glavne funkcije, sljedeći će prevodilac biti zbunjen u početku izvođenja programa.

#include
Glavni()
{
……………
………… ..
}

Izjava o varijabli

Ime poput varijable koristi se za pohranu vrijednosti, ali ovu varijablu treba prvo deklarirati prije korištenja u programu. Deklaracija varijable navodi njezino ime, kao i vrstu podataka. Ovdje vrsta podataka nije ništa drugo nego predstavljanje podataka za pohranu. U ugrađenom C programiranju koristi četiri osnovne vrste podataka poput cijelog broja, plutajućeg slova, znaka za pohranu podataka u memoriju. Veličina tipa podataka, kao i opseg, mogu se definirati ovisno o prevoditelju.

Vrsta podataka odnosi se na opsežni sustav za deklariranje varijabli različitih vrsta poput cijelog broja, znaka, plutajućeg sloja itd. Ugrađeni softver C koristi četiri vrste podataka koje se koriste za pohranu podataka u memoriju.

Znak 'char' koristi se za pohranu bilo kojeg znaka, 'int' koristi se za pohranu cijele vrijednosti, a 'float' koristi se za pohranu bilo koje precizne vrijednosti s pomičnim zarezom. Veličina i raspon različitih vrsta podataka na 32-bitnom stroju dati su u sljedećoj tablici. Veličina i raspon mogu se razlikovati na strojevima s različitim veličinama riječi.

  • Veličina tipa podataka char / potpisan char iznosi 1 bajt, a njegov raspon je od -128 do +128
  • Veličina tipa podataka s nepotpisanim znakom je 1 bajt, a raspon je od 0 do 255
  • Veličina tipa podataka Int / potpisan int iznosi 2 bajta, a opseg mu je od -32768 do 32767
  • Nepotpisana veličina tipa podataka int iznosi 2 bajta, a raspon je od 0 do 65535

Glavni()
{
Nepotpisani int a, b, c
}

Struktura ugrađenog C programa prikazana je u nastavku.

  • komentari
  • smjernice pretprocesora
  • globalne varijable
  • glavna funkcija

{

  • lokalne varijable
  • izjave
  • ………… ..
  • ………… ..

}

  • zabavno (1)

{

  • lokalne varijable
  • izjave
  • ………… ..
  • ………… ..

}

Logika Programa

Logika programa je plan traka koji se pojavljuje u teoriji iza i predvidljivih rezultata djelovanja programa. Objašnjava teoriju koja inače govori o tome zašto će ugrađeni program funkcionirati i pokazuje prepoznate učinke radnji koje inače resurse.

Glavni
{
LED = 0x0f
kašnjenje (100)
LED = 0x00
kašnjenje (100)
}

Glavni čimbenici ugrađenog C programa

Glavni čimbenici koje treba uzeti u obzir pri odabiru programskog jezika za razvoj ugrađenog sustava uključuju sljedeće.

Veličina programa

Svaki programski jezik zauzima nešto memorije gdje ugrađeni procesor poput mikrokontrolera uključuje izuzetno manje količine memorije s slučajnim pristupom.

Brzina programa

Programski jezik trebao bi biti vrlo brz, pa bi se trebao pokretati što je brže moguće. Brzina ugrađenog hardvera ne bi se trebala smanjivati ​​zbog sporog softvera.

Prijenosnost

Za različite ugrađene procesore može se izvršiti kompilacija sličnih programa.

  • Jednostavna provedba
  • Jednostavno održavanje
  • Čitljivost

Razlike između C programa i ugrađenog C programa

Razlika između ugrađenog C i C programiranja zapravo nije puno odvojena od operativnog okruženja i nekih proširenja. Ovi programski jezici su ISO standardi i također imaju približno sličnu sintaksu, funkcije, vrste podataka itd. Glavne razlike između programiranja C i ugrađenog programiranja uključuju sljedeće.

C Jezik

Ugrađeni jezik C

Općenito se ovaj jezik koristi za razvoj aplikacija zasnovanih na radnoj površini

Ugrađeni jezik C koristi se za razvoj aplikacija temeljenih na mikrokontroleru.
C jezik nije proširenje bilo kojeg programskog jezika, već programski jezik opće namjeneEmbedded C je proširenje programskog jezika C koji uključuje različite značajke kao što su adresiranje I / O, aritmetika s fiksnom točkom, adresiranje s više memorija itd.

Obrađuje prirodni razvoj u prirodiObrađuje unakrsni razvoj u prirodi
Neovisan je za hardversku arhitekturuOvisi o hardverskoj arhitekturi mikrokontrolera i ostalih uređaja
Sastavljači jezika C ovise o operativnom sustavuUgrađeni C kompajleri neovisni su o OS-u
U jeziku C koriste se standardni prevoditelji za izvršavanje programaU ugrađenom jeziku C koriste se posebni kompajleri.
Popularni kompajleri koji se koriste na ovom jeziku su GCC, Borland turbo C, Intel C ++ itdPopularni kompajleri koji se koriste na ovom jeziku su Keil, BiPOM Electronics i green hill
Format jezika C je slobodanNjegov format uglavnom ovisi o vrsti mikroprocesora koji se koristi.
Optimizacija ovog jezika je normalnaOptimizacija ovog jezika je visoka razina
Vrlo je jednostavno izmijeniti i pročitatiNije lako izmijeniti i pročitati
Ispravljanje grešaka je jednostavnoIspravljanje programskih pogrešaka ovog jezika je složeno

Primjeri ugrađenog C programa

Slijedi nekoliko jednostavnih programa Embedded C za koje se koristi projekti temeljeni na mikrokontroleru .

Primjer-1

Primjer-1

Primjer-2

Primjer-2

Primjer-3

Primjer-3

Primjer-4

Primjer-4

Prednosti

The prednosti ugrađenog c programa g uključuju sljedeće.

  • To je vrlo jednostavno razumjeti.
  • Sličan zadatak izvršava kontinuirano, tako da nema potrebe za promjenom hardvera, poput dodatne memorije, inače prostora za pohranu.
  • Izvršava jednostavno jedan zadatak odjednom
  • Cijena hardvera koji se koristi u ugrađenom cu obično je toliko niska.
  • Primjene ugrađenih izuzetno su primjerene u industriji.
  • Potrebno je manje vremena za razvoj aplikacijskog programa.
  • Smanjuje složenost programa.
  • Lako je provjeriti i razumjeti.
  • Prenosiv je s jednog kontrolera na drugi.

Mane

The nedostaci ugrađenog c programiranja uključuju sljedeće.

  • Istodobno izvršava samo jedan zadatak, ali ne može izvršiti više zadataka
  • Ako promijenimo program, tada moramo promijeniti i hardver
  • Podržava samo hardverski sustav.
  • Ima problem s skalabilnošću
  • Ima ograničenja poput ograničene memorije, inače kompatibilnosti računala.

Primjene ugrađenog C programa

The primjene ugrađenog c programiranja uključuju sljedeće.

  • Ugrađeno programiranje C koristi se u industrijama u različite svrhe
  • Programski jezik koji se koristi u aplikacijama je provjera brzine na autocesti, upravljanje semaforima, upravljanje uličnim svjetlima, praćenje vozila, umjetna inteligencija, automatizacija kuće i automatska kontrola intenziteta.

Nadamo se da smo uspješno pružili jednostavan i pristupačan način za početnike Ugrađeno C programiranje . Razumijevanje ugrađenog C programiranja najvažniji je preduvjet za dizajniranje ugrađenih projekata. Uz to, bolje razumijevanje i pravilno znanje o ugrađenom C programiranju neizmjerno pomažu studentima u odabiru korisne karijere.

Potičemo i pozdravljamo upite, prijedloge i komentare naših čitatelja. Stoga svoje upite i povratne informacije o ovom članku možete objaviti u odjeljku za komentare koji je naveden u nastavku. Slijedite donju vezu za Projekti bez lemljenja