Pristup portovima
Kada govorimo o pristupu portovima mikrokontrolera moramo za početak razjasniti pojam registra, način njegova grafičkog prikaza i nazivlja. Registar je zapravo skup jednobitnih logičkih pamtila (engl. flip-flop). U ovisnosti o veličini registra u registar možemo pohraniti 4, 8, 16, 32 itd. bita informacije. Grafički registar možemo prikazati kao na slijedećoj slici:
Na slici je prikazan jedan osam bitni registar. Cjelokupni registar ima definirano ime - PORTX. Također svaki bit tog registra ima svoje ime i naziva se PORTx.i gdje ''i'' zamjenjujemo brojem bita u registru (cijeli broj od 0 do 7 u našem slučaju). Znamo da u binarnom sustavu svaki bit može poprimiti dva stanja "0" ili "1". Pa tako možemo zaključiti da registar može ukupno pohraniti 2^8 različitih informacija - odnosno u dekadskom prikazu može pohraniti broj od 0 do 255.
Postavimo registar u stanje kako je prikazano na slici:
Postavimo registar u stanje kako je prikazano na slici:
Na slici vidimo kako su bitovi 7, 6, 5 i 4 postavljeni u stanje logičke jedinice, dok su bitovi 3, 2, 1 i 0 postavljeni u stanje logičke nule. Stanje tog registra možemo zapisati na dva načina. Prvi način je bit po bit:
PORTx.7 = 1 PORTx.6=1 PORTx.5=1 PORTx.4=1 PORTx.3=0 PORTx.2=0 PORTx.1=0 PORTx.0=0
Ili pak možemo primjeniti znanje o dekadskom sustavu i težinama pojedinih bitova i zapisati stanje kao:
PORTx = 1*2^7 + 1*2^6 + 1*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 0*2^1 + 0*2^0 = 128 + 64 + 32 + 15 = 239
PORTx = 239
Načini zapisa koji su ovdje prikazani bit će korišteni za pristup portovima unutar programskog jezika mikroPascal. Prednost drugog zapisa je što je kraći, ali mu je mana da dozvoljava promjenu stanja samo cijelog registra.
Kako je već rečeno, portovi mikrokontrolera mogu se korisiti od strane korisnika na razne načine. Na početku ćemo upoznati kako koristiti portove u digitalnom režimu rada. To znači da će portovi moći raditi samo s digitalnim signalima. Kako smo već rekli, u tom režimu rada postoje dva načina rada svakog izvoda mikrokontrolera, a to su ulazni režim rada i izlazni režim rada.
U ulaznom režimu rada možemo očitati stanje koje je narinuto vanjskim utjecajem na izvod mikrokontrolera (npr. stanje tipkala, senzora itd.), dok u izlaznom režimu rada možemo postaviti željeno stanje na izvod mikrokontrolera pomoću naredbe u programu mikrokontrolera.
Kako bismo postavili određeni izvod u željeni način rada koristimo TRIS registar mikrokontrolera. Svaki port mikrokontrolera ima posvećeni TRIS registar koji definira način rada pridruženom registru. Tako za PORTA imamo TRISA, za PORTB imamo TRISB itd.
Osnovno pravilo je: kada je pojedini bit TRIS registra u stanju logičke nule tada je odgovarajući izvod mikrokontrolera postavljen u izlazni režim rada.
Npr. ako kažemo TRISB=0 to znači da su svi bitovi registra PORTB u stanju "0" pa će svi izvodi na PORTB biti u izlaznom režimu rada.