[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:
Breadboard

PICkit3:
PICkit3

mikrokontrolér PIC16F1705:
PIC16F1705

MPLAB X IDE:
MPLAB X IDE

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.