Choď na obsah Choď na menu
 

PIC1

Škola programování PIC 1

V tomto seriálu se pokusím vysvětlit funkci procesorů PIC (především se zaměřením na oblíbený typ 16F84) a jejich programování tak, aby to pochopili i úplní začátečníci!

Než začneme, je potřeba vysvětlit některé základní věci:

1) jaký je rozdíl mezi BITEM a BYTEM
1 BIT = jedna logická hodnota, tedy buď logická 0 (0V), nebo logická jednička 1 (5V)
1 BYT = [jeden bajt] 8 bitů, neboli osm logických hodnot. Například 10100101, nebo 00101101 atd.

2) základní číselné soustavy a jejich převod
Před programováním potřebujeme znát alespoň tři základní soustavy: binární, hexadecimální a dekadickou.

Tak nejprve dekadická, neboli desítková. To je ta, co běžně používáme (1, 2, 3, 28, 247…) a jistě ji všichni dobře známe.

Jako další bych popsal binární (dvojkovou) soustavu. S ní jsme se dnes již také setkali. Je to ta, která obsahuje pouze jedničky a nuly (například číslo "10011101b" (b=binární)). Její převod na běžnou dekadickou soustavu je jednoduchý a je naznačen na obrázku. Vezme se binární číslo a od zadu (zprava) se nad každý jeho znak napíše jeho hodnota. Začíná se číslem 1 a pokračuje se vždy násobky dvěma: 1, 2, 4, 8, 16, 32… Poté se již jen sečtou hodnoty čísel, pod kterými je jednička (na obrázku jsou pro jistotu podtrženy).

Poslední je hexadecimální (šestnáctková) soustava. Ta obsahuje pouze tyto znaky: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. Ano, obsahuje jen 16 znaků, načež dvouciferná čísla (10 a výše) jsou nahrazeny písmeny ze začátku abecedy. Tak například 9h, další je Ah atd. Jelikož jeden tento znak = 4 bity, používají se častěji dvouciferná čísla jako třeba B5h (h=hexa).
Převod z binární do hexadecimální soustavy se provádí podobně jako převod na dekadickou soustavu, jen s tím rozdílem, že se převádí binární čísla po čtyřech bitech (0000b). Opět se zprava nad každý bit napíše jeho hodnota (1,2,4,8) a opět se sečtou ty hodnoty, pod nimiž je jednička. Pokud vyjde číslo jako 5, 8 a podobně, je vše v pořádku. Pokud ale vyjde číslo 10 až 15, musí se ještě převést na jedno písmeno ze začátku abecedy (10=A, 11=B, 12=C…15=F).

3) Registr
Registr, jako samostatná součástka, slouží jako malá jednobitová (případně i větší) paměť. Hodnota, kterou do ní vložíme v ní zůstane tak dlouho, dokud ji dalším zápisem nezměníme.
Zde se registrem nazývá místo (část paměti nebo i samostatný blok), který obsahuje 8 bitů. Takže když má například paměť RAM kapacitu 64 bytů (64×8bitů), znamená to, že má 64 registrů. Takže je to vlastně jiný název pro 1 byt.
Registry ale nejsou jen rozdělená paměť, ale jsou i jako samostatné bloky, které ale jako malá paměť slouží. Například obvody jako Výstupní registr (to je malá paměť, jejíž obsah je k dispozici na pinech procesoru).

4) Přerušení
Nejprve co a k čemu to vlastně je.
Přerušení je podobné resetu a vykoná se vždy, když se NĚCO stane. Tím něco se dá nastavit například přetečení čítače, změna hodnoty na nějakém vývodu a podobně.
Při zapnutí nebo resetu procesoru se tedy začne číst z jeho programové paměti program od adresy 00h. Přerušení se od resetu odlišuje tím, že procesor neskočí zpět na první řádek programu, ale až na čtvrtý (adresa 04h) !!!
Jak to využít? Jednoduše. Na první řádek programu se vloží příkaz, aby procesor skočil na nějaké jiné místo, kde začíná vlastní program a na čtvrtý řádek se vloží jiný odkaz, který donutí procesor, který se dostal sem, aby skočil na místo, kde je umístěn podprogram využívající toto přerušení.
Samozřejmě se neodpočítávají řádky, ale slouží k tomu přímo speciální příkazy. Vše bude ale později ještě podrobně popsáno.

5) Ostatní slova
Instrukce = jeden příkaz (řádek) v programu
Přetečení časovače = znamená jen to, že čítač dočítal do konce (celý se naplnil) a přetekl

Tak to by bylo pro začátek všechno, teď co vůbec budeme potřebovat.
Tak předně potřebujeme nějaké PC. Úplně stačí nějaké obyčejné na kterém běží DOS a má volný (a funkční) jeden sériový port pro připojení programátoru. Na něm budeme psát programy v běžném textovém editoru, výsledné soubory budeme poté programem MPASM převádět do souborů potřebných k programátoru a hlavně tedy ještě potřebujeme vlastní programátor. Dále je dobré mít na PC nějaký simulátor těchto procesorů, například jednoduchý, ale přehledný program PSIM. Všechny tyto programy, návod na instalaci a zapojení jednoduchého programátoru si můžete stáhnout jako jeden soubor v Download sekci.