Vitkovsky zpravodaj

. . .zapoj se a publikuj

Lekce 2 Proměnné.


Každý program potřebuje místo, kde se budou ukládat data. Procesory PIC mají pro uložení dat tři základní místa. Jejich velikost je různá podle typu procesoru:

  1. paměť EEprom – jedná se o místo v procesoru, kde se dají ukládat data a zůstanou tam i po odpojení procesoru od napájení, nebo po resetu (View ->EEPROM), ukládaní do této paměti je pomalé, paměŤ EEprom je pouze na dlouhodobé uložení dat.
  2. Paměť RAM (View -> File Registers) – paměť pro rychlé uložení dat, jejich obsah je možno měnit neustále, data se po odpojení procesoru od napájení, nebo resetu ztratí.
  3. Speciální funkčnín registry (SFR) – slouží pro různá nastavení, zjištění různých veličin (mají mnoho funkcí vysvětlím postupně)(najedme v View ->Special Function Registers)

Abychom se ve svém programu orientovali, máme možnost si své proměnné pojmenovat. Jména vybíráme vlastní, pokud možno nám srozumitelne. V žádném případě se proměnná nemůže jmenovat stejně, jako SFR, protože by došlo ke konfliktům, které by mohly mít za následek nefunkčnost programu, proto bychom předem měli tyto názvy znát

proměnné se definují příkazem equ a to  Název_proměnné equ adresa. Proměnné se definují na začátku programu, hned po hlavičce a nastavení programu, abychom je měli pohromadě a snadno je modifikovali. Adresa první proměnné u našeho typu procesoru je na adrese 26 (adresa je v hodnotě hexadecimální – dále jen hex)

Správná definice proměnných:

vysledek equ 26h ;  – definujeme proměnnou s názvem vysledek do registru paměti 26 hex

skoky equ .67 ; -definujeme do proměnné skoky statickou hodnotu v desítkové soustavě 67  (tečka před číslem určuje, že hodnota je v desítkové soustavě)

binarni equ b’00010000′ ; – definujeme do proměnné s názvem binarni statickou hodnotu v dvojkové soustavě

pet equ .5 ; lehce si zapamatujeme, že proměnná pět je uložena v názvu pet

Nesprávná definice proměnných:

hodnota equ 26h ; slovo hodnota, nebo nazev nám nic neříkají, proto si je v programu budeme těžce pamatovat

nazev equ .25

Příklad 2)

include <p16f628a.inc>

__CONFIG _CP_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT

cislopet equ .5 ; definice hodnoty cislopet (desetinné číslo 5)

promenna equ 025h ; slovo promenna bude pracovat  s registrem 25h

org 0

Prvniprogram

movlw cislopet   ;pět se uloží do speciálního pracovního registru pracovní registr se označuje jako W (nebo w)

movwf promenna ; hodnota z pracovního registru – (dále jen W) se uloží do proměnné

clrf promenna

goto Prvniprogram ; skok v programu – program skočí na odkaz s názvem Prvniprogram a pokračuje dále (nekonečná smyčka )

end

Náhled na spuštěný program mplababy jste si mohli vyzkoušet k lepšímu pochopení, jak tento program funguje, tak jej sestavte (project ->quickbuild) a můžete si ho vyzkoušet v debuggeru (debugger ->select tool ->mplab sim) s přidáním SFR (view ->special function registers) a přímo program krokovat a sledovat, co vlastně dělá, jaké proměnné se mění.

6.2.2010 - Posted by | Programování procesorů PIC

Sorry, the comment form is closed at this time.

%d bloggers like this: