PIC 16f84A časovač

Myslím, že navíc myslel “časovač” softwarově … ale Balů má pravdu, všechen ten HW je v MCU (tom PICu) proto, aby nám usnadňoval práci, byla by chyba ho nevyužívat a komplikovat si to nějak softwarově. Spoustu věcí bys tak navíc ani nedokázal udělat (a nebo o hodně složitěji) než když si nastavíš příslušný hw. Lépe vybavené PICy mají např. 5 časovačů, dvě sériovky, dva SPI moduly, tři PWM, dvě úrovně přerušení… a spoustu dalšího. CELÁ práce s jakýmkoliv mikrokontrolérem (nejenom s PICy) je o tom tento HW umět správně nastavit a používat. Softwarově se dneska emulují periférie jen velmi zřídka - není to zkrátka potřeba se s tím takto drbat, portfolium různě vybavených brouků je velmi široké, brouci jsou levní, a vždy se tedy dá vybrat přesně to, co člověk potřebuje.

S tím taky souvisí typická chyba začátečníků (i já jsem ji dlouho dělal): Nesnaž se o minimalismus a vybírej si na hraní, učení - a hlavně ladění - spíš lépe vybavené a o něco větší brouky. Není chyba zvolit PIC např. s 28 vývody (což je rozumné minimum) a využít jen tři - ono je to pořád o dost lepší, než když bys nějaký další vývod (nebo jinou periférii, nebo třeba paměť) ještě potřeboval, ale už prostě nemáš kam. Po odladění programu pak můžeš (ale nemusíš) vybrat brouka dané aplikaci přesně na míru.

Zde je v přiloženém ASM souboru kód, podle kterého se dá pochopit, jak je to s HW časovačem a s přerušením (že je to pro jiný typ PICu neřeš, jsou si všechny podobné, práce s nimi je vesměs stejná). Jinak samozřejmě si - a to uděláš vždy a jako první - stáhneš datasheet k PICu, se kterým pracuješ. V datasheetu vždy najdeš úplně vše, co budeš k práci potřebovat.