Mikrokontroler je računalnik v malem, saj ima poleg programskega in delovnega pomnilnika ter EEPROMA lahko vgrajeno še celo vrsto internih perifernih »naprav«, s katerimi komunicira interno, rezultate pa uporabi kot spremenljivke v katerem od podprogramov ali pa jih posreduje kot rezultat na svoje izhodne priključke.
Prek svojih vhodov je sposoben brati tudi zunanjo vhodno periferijo, prek izhodov krmiliti izhodno periferijo, v notranjosti pa izvajati logične in računske operacije. Zdaj že vemo, da različna stanja na vhodih prožijo izvajanje različnih programov, njihove končne rešitve pa mikrokontroler »objavi« na svojih izhodih. Poleg internih, vgrajenih perifernih naprav imamo lahko tudi zunanje (eksterne), ki jih mikrokontrolerju dodamo na ploščico tiskanega vezja (TIV) in z njimi potem komunicira prek vhodno/izhodnih priključkov.
Notranje periferne naprave

Pomnilnik je najpomembnejši del mikrokontrolerja, kamor spadajo FLASH pomnilnik z vpisanim programom, RAM pomnilnik, EEPROM in notranji registri. V FLASH pomnilniku ostanejo podatki (programska koda) zapisani tudi do dvajset let brez baterijske podpore. RAM pomnilnik ob izgubi napajanja sicer izgubi vso vsebino, drugače pa je RAM (random access memory) pomnilnik z možnostjo naključnega branja in med izvajanjem programa hrani spremenljivke, rezultate, ohranja vmesne rezultate med izvajanjem logičnih in računskih operacij v notranjosti mikrokontrolerja in za programski sklad, kamor se pred skokom na podprogram v nekem zaporedju »odložijo« vrednosti vseh pomembnih registrov skupaj z naslovom vrnitve. Ko se v podprogramu izvede ukaz RETURN, se vse odložene vrednosti v obratnem vrstnem redu spet »poberejo« s sklada in vpišejo v registre, iz katerih so bili pobrani. Dokler programiramo v Bascom-AVR imamo srečo, da za vse te »ceremonije« poskrbi program sam, zato vam delovanje sklada omenjam le kot zanimivost.

EEPROM je vrsta pomnilnika, ki za ohranitev zapisanih vrednosti ne potrebuje baterijske podpore. Brišemo ga in vanj vpisujemo električno. Število vpisov v EEPROM je omejeno na nekaj tisoč. Notranji funkcijski registri so pomnilne lokacije, kjer ima mikrokontroler zapisane začetne (inicialne) vrednosti osnovnega nabora funkcij za delovanje mikrokontrolerja. Register je 8-bitna pomnilna lokacija, katere vrednost se ob izgubi napajanja ne ohrani, torej se obnaša podobno kot RAM, vendar ob priključitvi dobi tudi neko (vedno enako) privzeto vrednost (initial value), ki vpliva na osnovne lastnosti mikrokontrolerja ob priključitvi napajanja. Vzemimo kot primer le en register (ADMUX, slika 3), njegovo začetno vrednost in pomen posameznih bitov v njem. Označeno je tudi to, ali je register mogoče le brati ali vanj tudi pisati.

Elektronika za začetnike – Programiranje mikrokontrolerjev III (27)


