V elektronických zapojeních stále více se začínají používat mikrokontroléry. S těmito obvody se budeme stále častějí setkávat v různých zapojeních, protože jejích hlavní přednosti je velmi široké využití v oblastí ovládaní, řízení, měření, zábavy, apod. Tyto výkonné (co se týče možností) součástky podle typu obsahuji v jednom pouzdře vstupně-výstupní porty, převodník A/D, D/A, synchronní seriový port, .... Při návrhu obvodu je třeba zvážit, které z těchto zařízení budeme potřebovat a podle toho vybrat typ mikrokontroléru.
Veškerá činnost prováděná mikrokontrolérem je řízená programem, který je uložen v mikrokontroléru. Uživatel si tedy sám určí, který vývod se bude používat jak vstup a který vývod jako výstup, rychlost měření A/D převodníku atd. Tento řídící program si vytváří uživatel sám v libovolném programovacím jazyce. Vytvořený program je z PC do mikrokontroléru "přenesen" pomocí programátoru mikrokontroléru. Příklady takových programátorů můžete najít ZDE na HW serveru, nebo na stránkách autora. Rychlost běhu programu je daná rychlostí připojeného oscilátoru k mikrokontroléru. Tento oscilátor je možno realizovat i pomocí RC obvodu.
Po tomto naprogramování je mikrokontrolér připraven k práci v obvodu. V případě vývoje nebo chybně napsaného programu je možné obvod znovu naprogramovat. Toto lze opakovat zhruba tisíckrát. Tato další skvělá vlastnost předurčuje tyto obvody pro amatérské využití a experimentovaní.
Pro lepší představu jsem připravil zapojení "běžící světlo" s mikrokontrolérem PIC 16F84, které vyrábí firma Microchip.Katalogový list pro tento mikrokontrolér je možno si stáhnout zde.
Základní vlastnosti PIC 16F84:
- Rychlost až 10 Mhz
- 14-ti bitové instrukce
- 8-mi bitová data
- 15 speciálních hardwarových registru (umožňují ovládat hardware)
- 8-mi úrovňový stack (umožňuje 8x zavolat instrukci CALL)
- Umožňuje 1.000.000x zapsat/vymazat datovou EEPROM paměť
- Záruka uchování dat v EEPROM je >40 let !!!
- 13 I/O pinu s individuálním ovládáním směru (vstupní/výstupní)
- TMR0 - 8-mi bitové počitadlo (časovač) s programovatelným děličem
- POR - Power on Reset - automaticky reset procesoru při spuštění
- PWRT - Power-up Timer - používá se při pomalém nárůstu napětí
- OST - Oscillator Start-up Timer - při startu chvíli čeká na naběhnuti oscilátoru
- WDT - WatchDog Timer - interní počitadlo (časovač) s interním RC obvodem
- Ochrana kódu
- Sleep mode - uvedeni chipu do úsporného režimu
- Sériová programovací metoda - po dvou drátech
- Nízká spotřeba (CMOS)
- Široka oblast operačního napětí (2-6V)
Tento typ mikrokontroléru jsem vybral pro jeho dostupnost na trhu a možnost elektricky smazat a znovu jej naprogramovat. Celkové zapojení běžícího světla je na obr.1. Toto zapojení spolu s programem v ASM vytváří postupně změnu napětí na jednotlivých výstupech RB. Po dosažení krajní hodnoty RB je "pohyb" vykonáván zpět. Jednotlivé změny na výstupech v závislosti na čase jsou patrné z diagramu na obr. 2. S využitím klasických elektronických součástek v zapojení, které by vykonávalo tutéž činnost by bylo složitější a vyžadovalo více součástek. Při malých změnách v řídicím programu lze vytvořit libovolné blikající efekty.
obr. 1 - běžící světlo
obr. 2 - časové průběhy na výstupu
Zde je jedno z možných řešení programu "běžící světlo". Tento program je napsán v ASM a je možné si jej stáhnout v první verzi, nebo druhou verzi programu, která je sice delší ale na pochopení jednodušší.
Pro představu zde uvádím kompletní výpis programu v ASM:
PORTB VLEVO VPRAVO
|
LIST
EQU CLRF |
P=16C84
6 PORTB PORTB PORTB |
;určuje počet blikajících LED ;všechny LED vypnuty |
Toto zapojení pochopitelně ani zdaleka nevyužívá všech možnosti PIC 16F84, zapojení jsem vybral pro jednoduchost a přehlednost řídicího programu. Některá jiná složitější zapojení lze nalézt na mé adrese http://www.elnes.cz. Cílem tohoto článku bylo nastínit možnosti využití mikrokontroléru v elektronických zapojeních a předvést návštěvníkům HW.CZ serveru jak jednoduše lze vytvořit zapojení blikače - běžící světlo s mikrokontrolérem.
(c) 1999 Lukáš Nestroj
- nesso@gmx.net