Микроконтролери Поглавје 2
Текст на микроконтролерите Поглавје 2
02.08.2019 година Микроконтролери Поглавје 2

Меморијата е дел од микроконтролерот чија функција е складирање на податоци. Најдобар начин да го објасните е да го опишете како голем плакар со многу фиоки. Ако претпоставиме дека фиоките се обележани на таков начин што не се збунети, секоја од нивните содржини ќе биде лесно достапна. Доволно е да се знае името на фиоката и така неговата содржина сигурно ќе ни биде позната.
Компонентите на меморијата се точно аа. За одреден запис ја добиваме содржината на именуваната мемориска локација и тоа е тоа. Присутни се два нови концепта: адреса и локација на меморија. Меморијата се состои од сите мемориски локации, а адресерот не е ништо друго освен да избере една од нив. Ова значи дека мора да ја избереме локацијата
меморија на едниот и на другиот крај треба да ја чекаме содржината на таа локација. Освен што одлучува од локацијата на меморијата, меморијата мора да дозволи и пишување на неа. Ова се прави со обезбедување на дополнителна линија наречена контролна линија. Ние ќе ја наречеме оваа линија R/W (читање/запишување). Контролната линија се користи на следниов начин: ако се чита R/W = 1, idac R/W = 0 тогаш запишете на локацијата на меморијата. Меморијата е првиот елемент, но потребни ни се други за да работи нашиот микроконтролер.
1.2 Централна единица за обработка
Да додадеме уште 3 мемориски локации за специфичен блок што ќе има вградена функција на собирање, множење, поделба, одземање. Делот што штотуку го додадов се нарекува „централна единица за обработка“ (CPU). Неговите мемориски локации се нарекуваат регистри.
02.08.2019 година Микроконтролери Поглавје 2
Затоа, регистрите се мемориски локации чија улога е да помогнат со извршување на разни математички или други операции со податоци каде и да се најдат податоци. Да ја разгледаме моменталната состојба. Имаме два независни ентитети (меморија и процесор) кои се меѓусебно поврзани, и затоа секоја размена на информации е скриена, како и нејзината функционалност. Ако, на пример, сакаме да додадеме
содржината на две мемориски локации и да го вратиме резултатот назад во меморијата, ќе ни треба врска помеѓу меморијата и процесорот. Едноставно кажано, треба да имаме одредена „патека“ низ која кружат круговите од еден во друг блок.
Патеката се нарекува "автобус" - автобус. Физички, таа претставува група од 8, 16 или повеќе нишки.Постојат два вида на автобуси: магистрала за адреси и шина за податоци. Првиот се состои од онолку редови колку што е адресата на меморијата (во битови) што сакаме да ја адресираме, а другата е широка како и податоците, во нашиот случај 8 бита или линијата за поврзување. Првиот служи за пренесување на адресите од процесорот до меморијата, а вториот за поврзување на сите блокови во микроконтролерот.
Во однос на функционалноста, ситуацијата е подобрена, но исто така се појави и нов проблем: имаме единица што е во состојба да работи сама, но нема контакт со надворешниот свет, или со нас! За да го надминеме овој недостаток, да додадеме блок што содржи вредности на меморијата чија единствена глава е поврзана со шината за податоци, а другата има врска со магистралата за податоци.
излезни линии на микроконтролер што може да се видат со голо око како пинови на електронската компонента.
02.08.2019 година Микроконтролери Поглавје 2
Овие локации што ги додадовме се нарекуваат „пристаништа“. Постојат различни типови на пристаништа: влезни, излезни или двонасочни пристаништа. Кога работите со пристаништа, пред сè, потребно е да изберете со кое пристаниште ќе работите, а потоа да испраќате податоци или да земате податоци од пристаништето.
Кога работите со него, портот се однесува како локација на меморија. Нешто е едноставно напишано или прочитано од него, и лесно е да се забележи ова на пиновите на микроконтролерот.
Со ова, на веќе постојната единица ја додадов можноста за комуникација со надворешниот свет, меѓутоа, овој начин на комуникација има свои недостатоци. Еден од основните недостатоци е бројот на линии што треба да се користат за пренос на податоците. Што ако требаше да бидат префрлени на неколку километри? Бројот на линии помножено со бројот на километри не
ветува ефективен проект. Сè што треба да сториме е да го намалиме бројот на линии до тој степен што не ја намалуваме функционалноста. Да претпоставиме дека работиме само со 3 линии, а една линија се користи за испраќање податоци, друга за прием и третата се користи како референтна линија и за влезниот и за излезниот дел. За да работи ова, треба да воспоставиме правила за размена на податоци. Овие правила се нарекуваат протокол. Протоколот е дефиниран однапред за да нема недоразбирање меѓу нив
можности кои комуницираат едни со други. На пример, ако едно лице зборува француски, а друго зборува англиски јазик, тешко дека ќе се разберат брзо и ефикасно едни со други. Да претпоставиме в
го имаме следниот протокол.Логичката единица „1“ е поставена на далекуводот сè додека не започне преносот. Еднаш
започнува преносот, ние ја спуштаме далекуводот до логички „0“ за одреден временски период (што ќе го назначиме како Т), така што страната што прима ќе знае дека треба да се примаат податоците, така што ќе го активира механизмот за примање. Ајде сега да се вратиме на делот за менувачот и да започнеме со ставање нули и единици
на далноводот по редослед, од најмалку значаен малку до најзначаен. Нека секој бит остане на линијата за одреден временски период еднаков на Т, и на крајот, или по 8-от бит, да ја вратиме логичката единица „1“ на линијата што ќе го означи крајот на преносот на податоците. -опишано е повикано во стручната литература NRZ (Non-Return to Zero).
02.08.2019 година Микроконтролери Поглавје 2
02.08.2019 година Микроконтролери Поглавје 2
Се разбира, кога ова ќе се случи со компјутер, ние едноставно го ресетираме и продолжуваме да работиме. Сепак, нема копче за ресетирање што треба да го притиснете во случај на микроконтролер за да го решите нашиот проблем. За да се надмине оваа пречка, треба да воведеме уште еден блок наречен чувари. Овој блок е всушност уште еден слободен бројач каде што нашата програма мора да напише нула кога и да е извршена правилно. Во случај програмата да не биде „продирана“, нулата нема да биде запишана и бројачот ќе се ресетира сам. достигнувајќи ја својата максимална вредност. Ова ќе предизвика програмата да работи повторно и да го коригира овој пат цело време. Ова е важен елемент на секоја програма што мора да биде сигурен за човечки надзор.
1.8 Аналоген-дигитален конвертор
Бидејќи сигналите од периферните уреди се значително различни од оние што можат да бидат погрешно разбрани од контролорот (нула и еден), тие мора да се конвертираат на начин на кој контролорот не може да се разбере. Оваа задача ја извршува блок за аналогна-дигитална конверзија или АД-конвертор. Овој блок е одговорен за претворање на информации за одредена аналогна вредност во бинарен број и за пренесување на истиот до блок на процесорот во форма што
блокот на процесорот може да го процесира.
Така, микроконтролерот сега е завршен и останува само да се постави во електронска компонента каде што ќе има пристап до внатрешните блокови преку надворешните пинови. Сликата подолу покажува како изгледа микроконтролерот внатре.
Физичката конфигурација на внатрешноста на микроконтролерот
02.08.2019 година Микроконтролери Поглавје 2
Тенките линии што одат одвнатре настрана од микроконтролерот претставуваат природна врска на внатрешните блокови со игличките на капсулата на микроконтролерот. Следниот дијаграм го претставува централниот дел на микроконтролерот.
За вистинска апликација, единствен микроконтролер не е доволен. Покрај микроконтролерот, потребна ви е програма и неколку други елементи што претставуваат логичен интерфејс на елементите за извршување (за што ќе се дискутира во следните поглавја).
02.08.2019 година Микроконтролери Поглавје 2
Пишувањето програма е посебна област на работа за микроконтролерот и се нарекува „програмирање“. Ајде да се обидеме да напишеме мала програма што самите ќе ја креираме и која секој ќе може да ја разбере.
STARTREGISTER1 = MEMORY LOCATION_AREGISTER2 = MEMORY LOCATION_BPORTA = РЕГИСТЕР1 + РЕГИСТЕР2END
Програмата ја собира содржината на две мемориски локации и ја гледа нивната сума на пристаништето А.
Првата линија на програмата е да ја премести содржината на мемориската локација "А" во еден од регистрите на централната единица за обработка. Бидејќи ни се потребни другите податоци, ние исто така ќе ги преместиме во другиот регистар на централната единица за обработка.
Следната инструкција ја инструира централната единица за обработка да ја собере содржината на двата регистри и да го испрати резултатот до портата А, така што збирот на овој склоп да биде видлив.
за сите надвор. За покомплексен проблем, програмата за работа на нејзино решавање ќе биде подолга.
Програмирање може да се направи на повеќе јазици како што се „Асемблер“, „Ц“ и „Основни“ кои се најчесто користени јазици. Асемблерот им припаѓа на јазиците на ниско ниво што се програмираат бавно, но користат најмал простор за меморија и даваат најдобри резултати кога се разгледува брзината на извршување на програмата.
Бидејќи тој е најкористениот јазик во програмирањето на микроконтролерот, за него ќе се дискутира во подоцнежното поглавје. Програмите на Ц-јазик се полесни за пишување, полесно се разбираат, но тие се подобри во работењето отколку програмите на Асемблер. Основното е најлесно да се научи, неговите упатства се најблиску до начинот на размислување на човекот, но како јазик на
Програмирањето C е исто така побавно од „Асемблер“-