C pro mikrokontroléry PIC - Práce s mikrokontroléry PIC18F452 a PIC18F1220 v jazyce C
Autoren
Mehr zum Buch
Měření, řízení a regulace pomocí několika jednoduchých přípravků. Kniha je věnována popisu a praktickým aplikacím mikrokontrolérů PIC18F452 a PIC18F1220 v jazyce C. První kapitola uvádí základní vlastnosti obou typů mikrokontrolérů včetně stručného popisu jednotlivých zabudovaných periferií. Ve druhé kapitole jsme seznámeni s minimálními požadavky na programování. Je tedy uvedena instalace potřebných programů, popsány vývojové desky PKIT452 a PKIT1220 a jednoduchý přípravek se svítivými diodami M8LED. Následuje třetí kapitola, kde je předvedeno vytvoření prvního příkladu – blikání LED. Čtvrtá kapitola popisuje vstupně/výstupní porty, tedy jejich počet, alternativní funkci vývodů a konfiguraci. V páté kapitole jsme seznámeni se základy jazyka C, obecnou strukturou programu, datovými typy, podmíněným příkazem a základními operátory. Šestá kapitola ukazuje používání podmíněného příkazu a pole pro dekódování stavů před zobrazením. Sedmá kapitola se zabývá funkcemi, jejich zápisem a použitím. Použití je předvedeno na ovládání přípravku M7SEGBUF (7segmentovka s budičem). Následuje osmá kapitola, která popisuje konfiguraci hodinových zdrojů. Dozvíme se, že mikrokontroléry mohou kromě klasického krystalu používat rozličné zdroje taktovacích impulzů. Kapitola 9 popisuje jednotku Timer0. Jako praktické příklady použití jsou uvedeny: blikání LED řízené časovačem a běžící světlo. Kapitola 10 popisuje používání přerušovacího systému (přerušení je velmi důležité pro obsluhu zabudovaných periferií, hlavně časovačů). Je vysvětlen způsob obsluhy přerušení v jazyce C na příkladu blikání LED přes přerušení - na pozadí běžícího programu. V kapitole 11 se seznámíme s řízením displeje s časovým multiplexem, přípravku MDYNDSP (pochopitelně přes obsluhu přerušení časovače). Následuje kapitola 12, která ukazuje použití A/D převodníku. Pomocí přípravku MADTEST lze nastavit vstupní napětí a v příkladu ukážeme jeho převod na číslo a následné zobrazení. Kapitola 13 seznamuje s pokročilými řídicími příkazy jako jsou cykly a přepínač, dále je ukázáno použití struktury a sjednocení například pro snazší přístup k jednotlivým bitům řídicích registrů. V kapitole 14 je uveden popis jednotek Timer1 až Timer3, tedy dalších čítacích/časovacích jednotek. Kapitola 15 předvádí 4bitovou komunikaci s řádkovým LCD na přípravku MLCD. Jsou vytvořeny funkce pro řízení LCD a je předvedeno jejich použití. Následně je popsána funkce printf, která dokáže usnadnit výpisy číselných údajů a je předvedeno její přesměrování na displej. Pro větší univerzálnost jsou ovládací funkce umístěny do zvláštní jednotky nazvané MLCD. Následuje kapitola 16, která vysvětluje praktické aspekty měření kmitočtu, periody a střídy. Tyto informace jsou pak zužitkovány při používání přípravku MRX555 – astabilního klopného obvodu s NE555. Tento obvod dovoluje převádět kapacitu nebo odpor na kmitočet resp. časový interval. Uvedený příklad pak ukazuje měření kmitočtu. Dále je popsán přípravek MXTALCCP, který umožní předvést realizaci zdroje reálného času pomocí hodinkového krystalu a jednotky Timer1. Kapitola 17 popisuje jednotku CCP –Capture/Compare/PWM a její použití u mikrokontroléru PIC18F452. Prakticky je předveden příklad odměr trvání log. 0 pomocí záchytného registru, generování periodického signálu pomocí výstupního komparátoru, realizace monostabilního klopného obvodu a změna střídy pomocí PWM. Kapitola 18 je zaměřena na popis jednotky ECCP (vylepšené CCP jednotky) a její použití u mikrokontroléru PIC18F1220. Přípravek MBRIDGE dovoluje využít 4 kanálový PWM režim pro můstkové řízení otáček stejnosměrného motoru oběma směry. V kapitolách 19 a 20 se seznámíme s režimy SPI a I2C jednotky MSSP mikrokontroléru PIC18F452. Pomocí SPI sběrnice je řízen sériový D/A převodník MCP4921 v přípravku nazvaném MSPIDAC. Pomocí sběrnice I2C je řízen sériový D/A převodník TC1320 (v přípravku MTC1320) a dále expandér MCP23016 (v přípravku MI2CEXP). Kapitola 21 popisuje jednotku USART mikrokontroléru PIC18F452. V asynchronním režimu je pak ukázáno ovládání přípravku MLCDGEN, což je LCD vybavený přijímačem sériové linky. Tak se tedy ukazuje vysílání pomocí sériového portu. Přípravek MLCDGEN je uveden ve dvou cenových variantách, které se liší počtem znaků zobrazitelných v jednom řádku (dražší varianta 2 řádky po 16 znacích a levnější varianta se 2 řádky po 8 znacích). Pro zjednodušení výstupních operací je opět použita funkce printf. Kapitola 22 popisuje jednotku EUSART mikrokontroléru PIC18F1220. První příklad ukazuje měření kmitočtu z přípravku MRX555 a zobrazení na MLCDGEN (opět komunikujeme sériovou asynchronně řízenou linkou). Druhý příklad ukazuje přestavení jednotky EUSART do synchronního režimu pro emulaci sběrnice SPI, prakticky je ukázána komunikace se sériovým D/A převodníkem MCP4921. Následuje kapitola 23, která popisuje jednotku LVD – detektor podpětí. Kapitoly 24 a 25 jsou věnovány zvláštním rysům obou typů mikrokontrolérů. Jedná se o popis konfiguračních registrů (umožní řídit volbu hodinového zdroje, WDT a podobně). Následuje popis jednotky WDT (Watchdog) a režimů pro řízení spotřeby. Rovněž jsou popsány jednotky dvourychlostního start-upu a monitoru výpadku hodin, kterými disponuje mikrokontrolér PIC18F1220. V kapitole 26 jsou popsány jednotlivé zdroje resetu, jako jsou: reset při připojení napájecího napětí, časovač náběhu napájecího napětí, startovací časovač oscilátoru, reset při podpětí. Kapitoly 27 a 28 seznamují s organizací paměti a používání datové EEPROM. Příloha A vysvětluje základní pojmy číslicové a mikroprocesorové techniky začátečníkům. Věnuje se tedy výkladu logických hradel, základních sekvenčních obvodů, pamětí a sériového přenosu.