Шта је уграђени Ц програм и његова структура за почетнике

Испробајте Наш Инструмент За Елиминисање Проблема





Раније су многе уграђене апликације развијене помоћу програмирања на нивоу монтаже. Међутим, нису обезбедили преносивост. Овај недостатак је превазиђен појавом различитих језика високог нивоа попут Ц, Пасцал и ЦОБОЛ. Међутим, језик Ц је широко прихваћен за уграђене системе и то и даље чини. Написани Ц код је поузданији, скалабилнији и преносивији и заправо много лакши за разумевање. Програмирање на уграђеном Ц је душа процесора који функционише у сваком од њих уграђени систем сусрећемо се у нашем свакодневном животу, попут мобилних телефона, машина за прање веша и дигиталних фотоапарата. Сваки процесор је повезан са уграђеним софтвером. Прва и најважнија ствар је уграђени софтвер који одлучује да функционише уграђени систем. Уграђени језик Ц се најчешће користи програмирати микроконтролер .

Шта је Ц језик?

Језик Ц развио је Деннис Ритцхие 1969. То је збирка једне или више функција, а свака функција је збирка изјава које извршавају одређени задатак.
Ц језик је језик средњег нивоа јер подржава апликације високог и нижег нивоа. Пре него што улазимо у детаље уграђеног Ц програмирања, требали бисмо знати о организацији РАМ меморије.




Главне карактеристике језика Ц укључују следеће.

  • Ц језик је софтвер дизајниран са различитим кључним речима, типовима података, променљивим, константама итд.
  • Ембеддед Ц је генерички термин који се даје програмском језику написаном на Ц, а који је повезан са одређеном хардверском архитектуром.
  • Ембеддед Ц је проширење језика Ц са неким додатним датотекама заглавља. Ове датотеке заглавља могу се мењати од контролера до контролера.
  • Тхе микроконтролер 8051 Користи се #инцлуде.

Шта је уграђено Ц програмирање

У свим пројектима заснованим на уграђеном систему, програмирање Ембеддед Ц игра кључну улогу у покретању и извршавању жељених радњи микроконтролера. Тренутно обично користимо неколико електронских уређаја попут мобилних телефона, веш машина, сигурносних система, фрижидера, дигиталних фотоапарата итд. Управљање овим уграђеним уређајима може се извршити уз помоћ уграђеног Ц програма. На пример, у дигиталном фотоапарату, ако притиснемо дугме камере да снимимо фотографију, микроконтролер ће извршити потребну функцију да кликне на слику и да је сачува.



Програмирање на уграђеном Ц језику

Програмирање на уграђеном Ц језику

Уграђено Ц програмирање гради са скупом функција где је свака функција скуп наредби које се користе за извршавање неких одређених задатака. Оба уграђена језика Ц и Ц су иста и примењена кроз неке основне елементе попут променљиве, скупа знакова, кључних речи, типова података, декларације променљивих, израза, израза. Сви ови елементи играју кључну улогу током писања уграђеног Ц програма.

Дизајнери уграђеног система морају знати о хардверској архитектури за писање програма. Ови програми играју истакнуту улогу у надгледању и контроли спољних уређаја. Такође директно управљају и користе унутрашњу архитектуру микроконтролера, као што су руковање прекидима, тајмери, серијска комуникација и друге доступне функције.


Програмирање уграђеног система

Као што смо раније разговарали, дизајнирање уграђеног система може се извршити помоћу хардвера и софтвера. На пример, у једноставном уграђеном систему, процесор је главни модул који ради као срце система. Овде процесор није ништа друго до микропроцесор, ДСП, микроконтролер, ЦПЛД и ФПГА. Сви ови процесори су програмабилни тако да дефинишу рад уређаја.

Уграђени системски програм омогућава хардверу да у складу са тим провери улазе и излазе. У овом поступку, уграђени програм ће можда морати директно да контролише унутрашњу архитектуру процесора попут тајмера, руковања прекидима, И / О портова, серијског комуникационог интерфејса итд.

Дакле, програмирање уграђеног система је веома важно за процесор. Постоје различити програмски језици који су доступни за уграђене системе као што су Ц, Ц ++, монтажни језик, ЈАВА, ЈАВА скрипта, висуал басиц итд. Дакле, овај програмски језик игра кључну улогу приликом израде уграђеног система, али избор језика је веома важан.

Кораци за изградњу уграђеног Ц програма

Постоје различити кораци укључени у дизајнирање уграђеног ц програма, као што су следећи.

  • Коментари
  • Директиве процесора
  • Конфигурација порта
  • Глобалне променљиве
  • Основна функција / главна функција
  • Изјава о променљивој
  • Логика Програма

Коментари

У програмским језицима, коментари су веома битни за описивање функције програма. Код коментара се не може извршити, али се користи за пружање програмске документације. Да бисте разумели функцију програма, ово ће учинити једноставну методу за разумевање функције програма. У уграђеном Ц коментари су доступни у две врсте, наиме у једном реду и главном коментару.

У уграђени програмски језик Ц, можемо да ставимо коментаре у наш код, што помаже читаоцу да лако разуме код.

Ц = а + б / * додајте две променљиве чија се вредност чува у другој променљивој Ц * /

Једноредни коментар

Генерално, за програмске језике, једноделни коментари су веома корисни за разјашњење дела програма. Ови коментари почињу двоструком косом цртом (//) и могу се налазити било где у програмском језику. Користећи ово, цела линија се може занемарити у програму.

Коментар са више линија

Коментари у више редова почињу једном косом цртом (/) и звездицом (/ *) у програмским језицима што објашњава блок кода. Ове врсте коментара могу се организовати било где у програмском језику и углавном се користе за игнорисање читавог блока кода у програму.

Директиве процесора

Редови обухваћени програмским кодом називају се претпроцесорским директивама које се могу пратити кроз хеш симбол (#). Ови редови су директиве претпроцесора, али нису програмирани изрази.
Код се може испитати преко претпроцесора пре него што започне стварна компилација кода и разреши ове директиве пре него што генерише код редовним изразима. Доступно је неколико посебних директива о претпроцесору, иако су две директиве изузетно корисне у програмском језику

попут следећег.

#инцлуде
#инцлуде
Сбит ЛЕД = П2 ^ 3
Главни()
{
ЛЕД = 0к0фф
Кашњење ()
ЛЕД = 0к00
}
#дефинисати
#инцлуде
#дефине ЛЕД П0
Главни()
{
ЛЕД = 0к0фф
Кашњење ()
ЛЕД = 0к00
}

У горе наведеном програму, директива #инцлуде се обично користи да садржи стандардне библиотеке попут студи и. х се користи за омогућавање И / О функција помоћу библиотеке „Ц“. Директива #дефине обично се користи за описивање низа променљивих и додељује вредности извршавањем процеса у оквиру одређене инструкције попут макронаредби.

Конфигурација порта

Микроконтролер укључује неколико портова где сваки порт има различите пинове. Ови клинови се могу користити за контролу уређаја за повезивање. Изјава ових пинова може се извршити у оквиру програма уз помоћ кључних речи. Кључне речи у уграђеном програму ц су стандардне и унапред дефинисане као бит, сбит, СФР и користе се за навођење битова и појединачног пина у програму.

Постоје одређене речи које су резервисане за обављање одређених задатака. Ове речи су познате као кључне речи. Они су стандардни и унапред дефинисани у уграђеном Ц. Кључне речи су увек написане малим словима. Ове кључне речи морају бити дефинисане пре писања главног програма. Главне функције кључних речи укључују следеће.

#инцлуде
Сбит а = П 2 ^ 2
СФР 0к00 = ПоРТ0
Бит Ц.
главни()
{
…………… ..
…………… ..
}

сбит

Ово је једна врста података која се користи за приступ једном биту унутар СФР регистра.

Синтакса за овај тип података је: сбит име променљиве = СФР бит

Пример: сбит а = П2 ^ 1

Ако доделимо п2.1 као променљиву „а“, онда можемо било где у програму да користимо „а“ уместо п2.1, што смањује сложеност програма.

Мало

Овај тип података се углавном користи за омогућавање битова адресабилне меморије меморије са случајним приступом попут 20х до 2фх.

Синтакса овог типа података је: име битне променљиве

Пример: бит ц

То је поставка мале серије унутар малог региона података која се углавном користи уз помоћ програма за памћење нечега.

СФР

Ова врста типа података користи се за добијање периферних портова СФР регистра путем додатног имена. Дакле, декларација свих регистара СФР може се извршити великим словима.

Синтакса овог типа података је: СФР име променљиве = СФР адреса за СФР регистар

Пример: СФР порт0 = 0 × 80

Ако додијелимо 0 × 80 попут „порт0“, након тога можемо користити 0 × 80 умјесто порт0 било гдје у програмском језику да смањимо потешкоће програма.

СФР Регистар

СФР је скраћеница за Регистар специјалних функција. У микроконтролеру 8051 укључује РАМ меморију са 256 бајтова, која је подељена на два главна елемента: први елемент од 128 бајтова углавном се користи за чување података, док се други елемент од 128 бајтова углавном користи за СФР регистре. Сви периферни уређаји, попут тајмера, бројача и И / О портова, смештени су у СФР регистар и сваки елемент садржи једну адресу.

Глобалне променљиве

Када је променљива декларисана пре него што је функција кључа позната као глобална променљива. Ова променљива може бити дозвољена за било коју функцију у програму. Животни век глобалне променљиве углавном зависи од програмирања док се не заврши.

#инцлуде
Непотписани инт а, ц = 10
Главни()
{
……………
………… ..
}

Основна функција / главна функција

Главна функција је централни део током извршавања било ког програма и започиње главном функцијом једноставно. Сваки програм користи само једну главну функцију, јер ако програм укључује изнад једне главне функције, следећи компајлер ће бити збуњен у почетку извршавања програма.

#инцлуде
Главни()
{
……………
………… ..
}

Изјава о променљивој

Име попут променљиве користи се за чување вредности, али ову променљиву треба прво декларисати пре него што се користи у програму. Декларација променљиве наводи њено име као и тип података. Овде тип података није ништа друго до представљање података за складиштење. У уграђеном Ц програмирању користи четири основна типа података као што су цео број, флоат и знак за чување података у меморији. Величина типа података, као и опсег, могу се дефинисати у зависности од компајлера.

Тип података односи се на опсежни систем за декларисање променљивих различитих типова као што су цели број, знак, флоат итд. Уграђени софтвер Ц користи четири типа података који се користе за чување података у меморији.

Знак „цхар“ користи се за чување било ког појединачног знака, „инт“ се користи за чување целобројне вредности, а „флоат“ се користи за чување било које прецизне вредности са покретном зарезом. Величина и опсег различитих типова података на 32-битној машини дати су у следећој табели. Величина и опсег могу се разликовати на машинама са различитим величинама речи.

  • Величина типа података цхар / сигнед цхар је 1 бајт, а његов опсег је од -128 до +128
  • Величина непотписаног типа типа цхар је 1 бајт, а његов опсег је од 0 до 255
  • Величина типа података инт / потпис инт је 2 бајта, а опсег му је од -32768 до 32767
  • Величина непотписаног типа података инт је 2 бајта, а опсег му је од 0 до 65535

Главни()
{
Непотписани инт а, б, ц
}

Структура уграђеног Ц програма приказана је у наставку.

  • коментари
  • претпроцесорске директиве
  • глобалне променљиве
  • основна функција

{

  • локалне променљиве
  • изјаве
  • ………… ..
  • ………… ..

}

  • забава (1)

{

  • локалне променљиве
  • изјаве
  • ………… ..
  • ………… ..

}

Логика Програма

Логика програма је план трака који се појављује у теорији иза и предвидљивих резултата деловања програма. Објашњава тезу која иначе говори о томе зашто ће уграђени програм функционисати и показује препознате ефекте акција које иначе ресурсе.

Главни
{
ЛЕД = 0к0ф
кашњење (100)
ЛЕД = 0к00
кашњење (100)
}

Главни фактори уграђеног Ц програма

Главни фактори које треба узети у обзир приликом избора програмског језика за развој уграђеног система укључују следеће.

Величина програма

Сваки програмски језик заузима одређену меморију где уграђени процесор попут микроконтролера укључује изузетно малу количину меморије са случајним приступом.

Брзина програма

Програмски језик би требао бити врло брз, па би требао бити покренут што је брже могуће. Брзину уграђеног хардвера не би требало смањивати због спорог софтвера.

Преносивост

За различите уграђене процесоре може се извршити компилација сличних програма.

  • Једноставна имплементација
  • Једноставно одржавање
  • Читљивост

Разлике између Ц програма и уграђеног Ц програма

Разлика између уграђеног Ц и Ц програмирања заправо није много одвојена од оперативног окружења и неких проширења. Ови програмски језици су ИСО стандарди и такође имају приближно сличну синтаксу, функције, типове података итд. Главне разлике између Ц програмирања и уграђеног ц програмирања укључују следеће.

Ц Језик

Уграђени језик Ц.

Генерално, овај језик се користи за развој апликација заснованих на радној површини

Уграђени језик Ц користи се за развој апликација заснованих на микроконтролеру.
Ц језик није проширење било ког програмског језика, већ програмски језик опште наменеЕмбеддед Ц је проширење за програмски језик Ц који укључује различите функције као што су адресирање И / О, аритметика са фиксном тачком, адресирање са више меморија итд.

Обрађује природни развој у природиОбрађује унакрсни развој у природи
Независан је за хардверску архитектуруЗависи од хардверске архитектуре микроконтролера и других уређаја
Компајлери језика Ц зависе од оперативног системаУграђени Ц компајлери су независни од ОС-а
На језику Ц користе се стандардни компајлери за извршавање програмаУ уграђеном језику Ц користе се посебни компајлери.
Популарни компајлери који се користе на овом језику су ГЦЦ, Борланд турбо Ц, Интел Ц ++ итдПопуларни компајлери који се користе на овом језику су Кеил, БиПОМ Елецтроницс и греен хилл
Формат језика Ц је слободанЊегов формат углавном зависи од врсте микропроцесора који се користи.
Оптимизација овог језика је нормалнаОптимизација овог језика је висок ниво
Врло је лако изменити и прочитатиНије лако изменити и прочитати
Исправљање грешака је једноставноИсправљање грешака на овом језику је сложено

Примери уграђеног Ц програма

Следи неколико једноставних програма Ембеддед Ц за које се користи пројекти засновани на микроконтролеру .

Пример-1

Пример-1

Пример-2

Пример-2

Пример-3

Пример-3

Пример-4

Пример-4

Предности

Тхе предности уграђеног ц програмамин г укључују следеће.

  • То је врло једноставно разумети.
  • Сличан задатак извршава континуирано, тако да нема потребе за променом хардвера као што је додатна меморија, иначе простор за складиштење.
  • Извршава једноставно један задатак одједном
  • Трошкови хардвера који се користи у уграђеном ц-у су обично толико ниски.
  • Примене уграђених су изузетно прикладне у индустрији.
  • Потребно је мање времена за развој апликационог програма.
  • Смањује сложеност програма.
  • То је лако проверити и разумети.
  • Преносив је са једног контролера на други.

Мане

Тхе недостаци уграђеног ц програмирања укључи следеће.

  • Истовремено извршава само један задатак, али не може извршити више задатака
  • Ако променимо програм, онда морамо да променимо и хардвер
  • Подржава само хардверски систем.
  • Има проблем са скалабилношћу
  • Има ограничења попут ограничене меморије, иначе компатибилности рачунара.

Примене уграђеног Ц програма

Тхе примене уграђеног ц програмирања укључи следеће.

  • Уграђено програмирање Ц користи се у индустријама у различите сврхе
  • Програмски језик који се користи у апликацијама је контрола брзине на аутопуту, контрола семафора, контрола уличне расвете, праћење возила, вештачка интелигенција, кућна аутоматизација и аутоматска контрола интензитета.

Надамо се да смо успели у пружању лаког и приступачног начина за почетнике Уграђено програмирање Ц. . Разумевање уграђеног Ц програмирања је најважнији предуслов за дизајнирање уграђених пројеката. Поред тога, боље разумевање и правилно знање о уграђеном Ц програмирању неизмерно помажу студентима у избору каријере која награђује.

Подстичемо и поздрављамо упите, сугестије и коментаре наших читалаца. Стога своје упите и повратне информације о овом чланку можете објавити у одељку за коментаре који је дат у наставку. Пратите доњу везу за Пројекти без лемљења