[PIC programování] – Úvod
Ahoj! V tomto seriálu bych vás chtěl seznámit s mikrokontroléry PIC.
Převážně budu používat PIC16F1705, který patří mezi mé nejoblíbenější. Jedná se o osmibitový mikrokontrolér s mnoha funkcemi, které nám pro tuto sérii bohatě postačí. Všechny informace o tomto mikrokontroléru najdete zde: http://www.microchip.com/wwwproducts/en/PIC16F1705
Co předpokládám, že umíte:
- Jak obecně funguje počítač (že procesor zpracovává instrukce, používá jako dočasné úložiště mezivýsledků paměť RAM, a podobné kecy z informatiky, však to znáte 🙂 … nebo taky ne 😀 )
- Základy elektroniky (ze začátku nám postačí dioda, spínač; Ohmův zákon, Kirchhoffovy zákony)
Ale co je to vlastně mikrokontrolér?
Mikrokontroléry jsou programovatelné integrované obvody. Hodí se k jednoúčelovým řešením. Najdete je v zařízeních jako jsou ovladače k televizi, periferie k počítači, roboti, ledničky, pračky, myčky, auta, atd. V podstatě se dá říct, že zahrnují tyto části: samotný procesor (CPU), operační paměť (RAM), paměť pro samotný program (dnes EEPROM nebo FLASH), vstupně výstupní porty; dále může obsahovat další EEPROM paměť k dispozici programátorovi, vnitřní (interní) oscilátor, sériové a paralelní sběrnice (více v budoucím článku o sériových a paralelních komunikacích), AD a DA převodníky, komparátory, časovače a další. (O všech věcech si povíme, až na ně přijde čas 🙂 )
Pojmy
Pojďme si pro jistotu zopakovat některé pojmy….
- procesor – mozek počítače/mikrokontroléru, vykonává příkazy, které mu dá programátor 🙂
- paměť typu RAM – tzv. operační paměť, do ní si programátor ukládá mezivýsledky, po přerušení dodávky el. proudu tato paměť ztratí veškerá uložená data
- paměť typu EEPROM/FLASH – tyto paměti jsou pomalejší, co se týká ukládání a načítání dat; narozdíl od paměti RAM si však svá data uchovají i po přerušení dodávky el. proudu
- vstupně výstupní porty – je to většina “těch nožiček,” co vedou z mikrokontroléru; pomocí nich budeme ovládat připojené součástky, komunikovat s ostatními mikrokontroléry, atd.
- programátor (zařízení, ne člověk – dosud jsem mluvil jen o člověku 😀 ) – je zařízení, které nám pomůže náš program nahrát do mikrokontroléru
To by asi pro začátek stačilo… Časem přidám další.
Co budete pro tuto sérii potřebovat?
Pro začátek si pořiďte tyto věci…
- PICkit3 nebo PICkit2, je to v podstatě jedno – jedná se právě o programátor – zároveň nám poslouží i jako zdroj el. proudu
- PIC16F1705 mikrokontrolér
- nějaké rezistory (třeba 50Ω, 100Ω; 470Ω; 1kΩ; 2kΩ; 4kΩ; 8kΩ; 12kΩ – ale pokud si pořídíte jen např. 4kΩ, bohatě vám do začátku postačí)
- LEDky (Light Emitting Diode) – barvy dle libosti 😉
- breadboard – pokud nevíte, o co se jedná, je to taková destička k propojování součástek; dosti usnadňuje práci – tady je první obrázek, který jsem našel: Breadboard
- pokud seženete zvonkový drát, je to perfektní věc k propojování součástek na breadboardu; pokud ne, dá se alternativně použít vazačský drát, nebo můžete vytahat dráty z datových kabelů :), na eBayi můžete sehnat “jumper wires,” které jsou dělané přímo pro naše účely, ale mě se moc neosvědčily
- tlačítka – jaká, to už nechám na vás 🙂
PIC16F1705 mikrokontrolér můžete objednat na webu http://www.microchip.com/ (stejně tak PICkit), nebo v nějakém specializovaném obchodě s elektronikou. Pokud vám nevadí čekat, doporučuji objednávat na eBayi nebo AliExpressu. Často tam narazíte na nižší ceny než v českých obchodech. Totéž platí pro breadboard…
Softwarové vybavení
Jediný program, který zatím budeme používat, je MPLAB X IDE. Ten stáhnete na stránkách Microchipu. Tím, jak tento program nainstalovat, se zde zabývat nebudu. Berte to jako jistý test – kdo nenainstaluje, nepokračuje 🙂
V případě, že pracujete na Linuxu (jako já 🙂 ), je dostupná i verze pro Linux…
To je pro úvod vše, v prvním díle této série si ukážeme, co to je datasheet a jak s ním pracovat, vysvětlíme si základní strukturu mikrokontroléru PIC16F1705 a uděláme si nějaký malý prográmek v Assembleru.
Zde je breadboard:
PICkit3:
mikrokontrolér PIC16F1705:
MPLAB X IDE: