По-рано бяха разработени много вградени приложения, използващи програмиране на ниво сборка. Те обаче не осигуриха преносимост. Този недостатък беше преодолян от появата на различни езици на високо ниво като C, Pascal и COBOL. Въпреки това, езикът C получи широко приложение за вградени системи и продължава да го прави. Написаният C код е по-надежден, мащабируем и преносим и всъщност много по-лесен за разбиране. Вграденото C програмиране е душата на процесора, функциониращ във всеки един от тях вградена система срещаме се в ежедневието си, като мобилни телефони, перални машини и цифрови фотоапарати. Всеки процесор е свързан с вграден софтуер. Първото и основно нещо е вграденият софтуер, който решава да функционира на вградената система. Вграденият език C се използва най-често програмирайте микроконтролера .
Какво е C език?
Езикът C е разработен от Денис Ричи през 1969 г. Това е колекция от една или повече функции и всяка функция е колекция от изявления, изпълняващи определена задача.
Езикът C е език от средно ниво, тъй като поддържа приложения на високо ниво и приложения на ниско ниво. Преди да влезем в детайлите на вграденото програмиране на C, трябва да знаем за организацията на RAM паметта.
Основните характеристики на езика C включват следното.
- C език е софтуер, проектиран с различни ключови думи, типове данни, променливи, константи и др.
- Embedded C е родов термин, даден на програмен език, написан на C, който е свързан с определена хардуерна архитектура.
- Embedded C е разширение на езика C с някои допълнителни заглавни файлове. Тези заглавни файлове могат да се променят от контролер на контролер.
- The микроконтролер 8051 Използва се #include.
Какво е вградено C програмиране
Във всички проекти, базирани на вградена система, програмирането на Embedded C играе ключова роля, за да накара микроконтролера да работи и да изпълнява предпочитаните действия. Понастоящем обикновено използваме няколко електронни устройства като мобилни телефони, перални машини, системи за сигурност, хладилници, цифрови фотоапарати и др. Управлението на тези вградени устройства може да стане с помощта на вградена програма C. Например в цифров фотоапарат, ако натиснем бутона на камерата, за да заснемем снимка, тогава микроконтролерът ще изпълни необходимата функция, за да щракне върху изображението, както и да го съхрани.
Вградено C програмиране
Вграденото C програмиране изгражда с набор от функции, където всяка функция е набор от изрази, които се използват за изпълнение на някои конкретни задачи. И двата вградени езика C и C са еднакви и се прилагат чрез някои основни елементи като променлива, набор от знаци, ключови думи, типове данни, деклариране на променливи, изрази, изрази. Всички тези елементи играят ключова роля, докато пишат вградена програма C.
Вградените системни дизайнери трябва да знаят за хардуерната архитектура за писане на програми. Тези програми играят видна роля в наблюдението и контрола на външни устройства. Те също така работят директно и използват вътрешната архитектура на микроконтролера, като например обработка на прекъсвания, таймери, серийна комуникация и други налични функции.
Вградено системно програмиране
Както обсъждахме по-рано, проектирането на вградена система може да се извърши с помощта на Хардуер и софтуер. Например, в проста вградена система, процесорът е основният модул, който работи като сърцето на системата. Тук процесорът не е нищо друго освен микропроцесор, DSP, микроконтролер, CPLD и FPGA. Всички тези процесори са програмируеми, така че да определят работата на устройството.
Вградена системна програма позволява на хардуера да проверява съответно входовете и управлява изходите. При тази процедура вградената програма може да се наложи да контролира вътрешната архитектура на процесора директно като таймери, обработка на прекъсвания, I / O портове, интерфейс за серийна комуникация и т.н.
Така че вграденото системно програмиране е много важно за процесора. Налични са различни езици за програмиране за вградени системи като C, C ++, асемблерен език, JAVA, JAVA скрипт, visual basic и др. Така че този програмен език играе ключова роля при създаването на вградена система, но изборът на език е много важен.
Стъпки за изграждане на вградена програма C
Има различни стъпки, свързани с проектирането на вградена програма c, както следва.
- Коментари
- Директиви на процесора
- Конфигуриране на порт
- Глобални променливи
- Основна функция / Основна функция
- Декларация за променлива
- Логиката на Програмата
Коментари
В езиците за програмиране коментарите са много важни за описание на функцията на програмата. Кодът на коментарите е неизпълним, но се използва за предоставяне на програмна документация. За да разберете функцията на програмата, това ще направи прост метод за разбиране на функцията на програмата. Във вградения C коментарите са налични в два типа, а именно едноредов и главен коментар.
Във вградения език за програмиране на C можем да поставяме коментари в нашия код, което помага на читателя да разбере кода лесно.
C = a + b / * добавете две променливи, чиято стойност се съхранява в друга променлива C * /
Едноредов коментар
Като цяло, за езиците за програмиране, едноредовите коментари са много полезни за изясняване на част от програмата. Тези коментари започват с двойна наклонена черта (//) и могат да бъдат разположени навсякъде в езика за програмиране. Използвайки това, целият ред може да бъде игнориран в рамките на програма.
Многоредов коментар
Многоредовите коментари започват с една наклонена черта (/) и звездичка (/ *) в програмните езици, което обяснява блок код. Този тип коментари могат да бъдат подредени навсякъде в езика за програмиране и главно да се използват за игнориране на цял блок код в рамките на програма.
Директиви на процесора
Редовете, включени в програмния код, се наричат препроцесорни директиви, които могат да бъдат следвани чрез хеш символ (#). Тези редове са директивите на препроцесора, но не програмирани инструкции.
Кодът може да бъде изследван чрез препроцесор, преди реалното компилиране на код да стартира и разреши тези директиви, преди да генерира код чрез обикновени изрази. Налични са няколко специални директиви за препроцесор, въпреки че две директиви са изключително полезни в езика за програмиране
като следното.
#include
#include
Sbit LED = P2 ^ 3
Основна ()
{
LED = 0x0ff
Забавяне ()
LED = 0x00
}
#define
#include
#define LED P0
Основна ()
{
LED = 0x0ff
Забавяне ()
LED = 0x00
}
В горната програма директивата #include обикновено се използва, за да включва стандартни библиотеки като study и. h се използва за разрешаване на I / O функции, използвайки библиотеката на „C“. Директивата #define обикновено се използва за описване на поредицата променливи и разпределя стойностите чрез изпълнение на процеса в рамките на определена инструкция като макроси.
Конфигуриране на порт
Микроконтролерът включва няколко порта, където всеки порт има различни пинове. Тези щифтове могат да се използват за управление на взаимодействащите устройства. Декларирането на тези щифтове може да се направи в рамките на програма с помощта на ключови думи. Ключовите думи във вградената програма c са стандартни, както и предварително дефинирани като bit, sbit, SFR, които се използват за посочване на битовете и единичния пин в рамките на програма.
Има определени думи, които са запазени за изпълнение на конкретни задачи. Тези думи са известни като ключови думи. Те са стандартни и предварително дефинирани в Embedded C. Ключовите думи винаги се пишат с малки букви. Тези ключови думи трябва да бъдат дефинирани преди писането на основната програма. Основните функции на ключовите думи включват следното.
#include
Sbit a = P 2 ^ 2
SFR 0x00 = PoRT0
Бит С
главен ()
{
…………… ..
…………… ..
}
sbit
Това е един вид тип данни, използван за достъп до един бит в SFR регистър.
Синтаксисът за този тип данни е: sbit име на променлива = SFR бит
Пример: sbit a = P2 ^ 1
Ако зададем p2.1 като променлива „a“, тогава можем да използваме „a“ вместо p2.1 навсякъде в програмата, което намалява сложността на програмата.
Бит
Този тип данни се използва главно за разрешаване на битово адресируемата памет на паметта с произволен достъп като 20h до 2fh.
Синтаксисът на този тип данни е: име на битова променлива
Пример: бит c
Това е настройка на битова серия в малък регион с данни, който се използва главно с помощта на програма за запаметяване на нещо.
SFR
Този тип данни се използва за получаване на периферни портове на регистъра SFR чрез допълнително име. Така декларирането на всички SFR регистри може да стане с главни букви.
Синтаксисът на този тип данни е: SFR име на променлива = SFR адрес за SFR регистър
Пример: SFR порт0 = 0 × 80
Ако разпределим 0 × 80 като „port0“, след това можем да използваме 0 × 80 вместо port0 навсякъде в езика за програмиране, за да намалим трудността на програмата.
SFR регистър
SFR означава регистър със специални функции. В микроконтролера 8051 той включва RAM паметта с 256 байта, която е разделена на два основни елемента: първият елемент от 128 байта се използва главно за съхранение на данните, докато другият елемент от 128 байта се използва главно за SFR регистри. Всички периферни устройства като таймери, броячи и I / O портове се съхраняват в SFR регистъра и всеки елемент включва един адрес.
Глобални променливи
Когато променливата е декларирана преди ключовата функция е известна като глобална променлива. Тази променлива може да бъде разрешена за всяка функция в програмата. Продължителността на живота на глобалната променлива зависи главно от програмирането, докато достигне своя край.
#include
Неподписано int a, c = 10
Основна ()
{
……………
………… ..
}
Основна функция / Основна функция
Основната функция е централна част при изпълнение на всяка програма и тя започва с основната функция просто. Всяка програма използва само една основна функция, тъй като ако програмата включва над една основна функция, следващият компилатор ще бъде объркан в началото на изпълнението на програмата.
#include
Основна ()
{
……………
………… ..
}
Декларация за променлива
Името като променливата се използва за съхраняване на стойностите, но тази променлива трябва първо да бъде декларирана, преди да бъде използвана в програмата. Декларацията на променливата посочва нейното име, както и тип данни. Тук типът на данните не е нищо друго освен представяне на данни за съхранение. Във вграденото програмиране C той използва четири основни типа данни като цяло число, плувка, символ за съхраняване на данните в паметта. Размерът на типа данни, както и обхватът, могат да бъдат определени в зависимост от компилатора.
Типът данни се отнася до обширна система за деклариране на променливи от различни типове като цяло число, символ, плаващ и др. Вграденият софтуер C използва четири типа данни, които се използват за съхраняване на данни в паметта.
„Char“ се използва за съхраняване на всеки един символ, „int“ се използва за съхраняване на целочислена стойност, а „float“ се използва за съхраняване на всяка прецизна стойност с плаваща запетая. Размерът и обхватът на различни типове данни на 32-битова машина са дадени в следващата таблица. Размерът и обхватът могат да варират при машини с различни размери на думи.
- Размерът на типа данни char / подписан char е 1 байт и обхватът му е от -128 до +128
- Неподписаният размер на типа данни char е 1 байт и обхватът му е от 0 до 255
- Размерът на типа данни int / подписан тип int е 2 байта и обхватът му е от -32768 до 32767
- Неподписаният размер на типа данни int е 2 байта и обхватът му е от 0 до 65535
Основна ()
{
Неподписани int a, b, c
}
Структурата на вградена програма C е показана по-долу.
- коментари
- директиви на препроцесора
- глобални променливи
- Главна функция
{
- локални променливи
- изявления
- ………… ..
- ………… ..
}
- забавно (1)
{
- локални променливи
- изявления
- ………… ..
- ………… ..
}
Логиката на Програмата
Логиката на програмата е план на лентата, който се появява в теорията зад и предсказуеми резултати от действията на програмата. Той обяснява твърдението по друг начин теорията за това защо вградената програма ще работи и показва разпознатите ефекти от действията в противен случай ресурси.
Основна
{
LED = 0x0f
забавяне (100)
LED = 0x00
забавяне (100)
}
Основни фактори на вградената програма C
Основните фактори, които трябва да се имат предвид при избора на език за програмиране за разработване на вградена система, включват следното.
Размер на програмата
Всеки език за програмиране заема известна памет, където вграденият процесор като микроконтролера включва изключително малко количество памет с произволен достъп.
Скорост на програмата
Езикът за програмиране трябва да бъде много бърз, така че трябва да работи възможно най-бързо. Скоростта на вградения хардуер не трябва да се намалява поради бавно работещия софтуер.
Преносимост
За различните вградени процесори може да се направи компилация на подобни програми.
- Просто изпълнение
- Лесна поддръжка
- Четливост
Разлики между програма C и вградена програма C
Разликата между вграденото C и C програмиране всъщност не е много отделна от операционната среда и някои разширения. Тези езици за програмиране са ISO стандарти и също имат приблизително сходен синтаксис, функции, типове данни и др. Основните разлики между програмирането C и вграденото програмиране c включват следното.
C Език | Вграден език C |
Като цяло този език се използва за разработване на приложения, базирани на десктоп
| Вграденият C език се използва за разработване на базирани на микроконтролер приложения. |
Езикът C не е разширение на който и да е език за програмиране, а език за програмиране с общо предназначение | Embedded C е разширение на езика за програмиране C, включващ различни функции като адресиране на вход / изход, аритметика с фиксирана точка, адресиране с множество памет и др.
|
Той обработва местното развитие в природата | Той обработва кръстосаното развитие в природата |
Той е независим за хардуерна архитектура | Това зависи от хардуерната архитектура на микроконтролера и други устройства |
Компилаторите на език C зависят от операционната система | Вградените C компилатори са независими от операционната система |
На език C, стандартните компилатори се използват за изпълнение на програма | Във вградения език C се използват специфични компилатори. |
Популярните компилатори, използвани на този език, са GCC, Borland turbo C, Intel C ++ и др | Популярните компилатори, използвани на този език, са Keil, BiPOM Electronics и green hill |
Форматът на езика C е свободен формат | Форматът му зависи главно от вида на използвания микропроцесор. |
Оптимизирането на този език е нормално | Оптимизацията на този език е високо ниво |
Много е лесно да се променя и чете | Не е лесно да се променя и чете |
Поправянето на грешки е лесно | Поправянето на грешки на този език е сложно |
Примери за вградена програма C
Следват няколко прости програми за Embedded C, използвани за проекти, базирани на микроконтролер .
Пример-1
Пример-2
Пример-3
Пример-4
Предимства
The предимства на вградения c programmin g включват следното.
- Много е лесно да се разбере.
- Той изпълнява подобна задача непрекъснато, така че няма изискване за промяна на хардуер като допълнителна памет, в противен случай място за съхранение.
- Той изпълнява само една задача наведнъж
- Цената на хардуера, използван във вградения c, обикновено е толкова ниска.
- Приложенията на вградените са изключително подходящи в индустриите.
- Отнема по-малко време за разработване на приложна програма.
- Намалява сложността на програмата.
- Лесно е да се провери и разбере.
- Преносим е от един контролер на друг.
Недостатъци
The недостатъци на вграденото c програмиране включват следното.
- В даден момент той изпълнява само една задача, но не може да изпълни многозадачите
- Ако променим програмата, тогава трябва да сменим и хардуера
- Той поддържа само хардуерната система.
- Има проблем с мащабируемостта
- Той има ограничение като ограничена памет, иначе съвместимост на компютъра.
Приложения на вградена програма C
The приложения на вграденото c програмиране включват следното.
- Вграденото C програмиране се използва в индустрии за различни цели
- Езикът за програмиране, използван в приложенията, е проверка на скоростта на магистралата, управление на светофари, управление на улични светлини, проследяване на автомобила, изкуствен интелект, автоматизация на дома и автоматичен контрол на интензивността.
Надяваме се, че успяхме да осигурим лесен и достъпен начин за начинаещите на Вградено C програмиране . Разбирането на вграденото C програмиране е най-съществената предпоставка за проектиране на вградени базирани проекти. В допълнение към това, по-доброто разбиране и правилните познания за вграденото програмиране на C помагат на учениците изключително много при избора на възнаграждаваща кариера.
Ние насърчаваме и приветстваме запитвания, предложения и коментари от нашите читатели. Следователно можете да публикувате вашите запитвания и отзиви за тази статия в раздела за коментари, даден по-долу. Следвайте връзката по-долу за Проекти без запояване