Jiøí Hrbáèek Moderní uèebnice programování jednoèipových mikrokontrolérù PIC 1. díl První krùèky pøi tvorbì aplikace Praha 2004
První díl uèebnice se zabývá úplnými základy programování. Výuka probíhá na mikrokontroléru PIC16F84. Postupnì se nauèíme, co je tøeba k tomu, aby mikrokontrolér pracoval a mohli jste si k nìmu pøipojit ty nejjednodušší, ale nejèastìji používané obvody s tlaèítky a LED. Vysvìtlíme si, jak psát programy ve vývojovém prostøedí MPLAB. Poznáme základní skupinu instrukcí tohoto mikrokontroléru. Nauèíme se zde ovládat jeho paralelní vstupy/výstupy. Protože všechny mikrokontroléry PIC mají základní funkce stejné, tak vše, co se zde nauèíme, bude platit pro ostatní typy tìchto mikrokontrolérù. Výuka je vedena na množství pøíkladù a animací, takže je od samého zaèátku zajímavá a bez zbyteènì dlouhých teoretických úvodù. Až prostudujeme tento díl, budeme schopni sami navrhnout jednoduchý obvod s mikrokontrolérem (s tlaèítky a LED), napsat jednoduchý program, ten pøenést do mikrokontroléru a celý systém oživit. Jiøí Hrbáèek Moderní uèebnice programování jednoèipových mikrokontrolérù PIC 1. díl První krùèky pøi tvorbì aplikace Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnožována jakoukoli formou (tisk, fotokopie, mikrofilm nebo jiný postup), zadána do informaèního systému nebo pøenášena v jiné formì èi jinými prostøedky. Autor a nakladatelství nepøejímají záruku za správnost tištìných materiálù. Pøedkládaná zapojení a informace jsou zveøejnìny bez ohledu na pøípadné patenty tøetích osob. Nároky na odškodnìní na základì zmìn, chyb nebo vynechání jsou zásadnì vylouèeny. Všechny registrované nebo jiné obchodní známky použité v této knize jsou majetkem jejich vlastníkù. Uvedením nejsou zpochybnìna z toho vyplývající vlastnická práva. Veškerá práva vyhrazena. Ing. Jiøí Hrbáèek, 2004 Nakladatelství BEN technická literatura, Vìšínova 5, Praha 10 Jiøí Hrbáèek: Moderní uèebnice programování jednoèipových mikrokontrolérù PIC 1. díl BEN technická literatura, Praha 2004 1. vydání ISBN 80-7300-136-5
OBSAH Co najdete na doprovodném CD... 4 Úvod... 5 Jak studovat uèebnici... 6 Teoretická èást 1 Co je to mikrokontrolér a k èemu se používá... 7 2 Co budeme pøi výuce potøebovat... 9 3 Vytvoøení prvního fungujícího zaøízení... 13 3.1 Co je tøeba, aby mikrokontrolér pracoval... 13 3.2 Jak se chovají vstupy a výstupy mikrokontroléru z pohledu konstruktéra elektronika... 15 3.3 Jak pracujeme se vstupy a výstupy pøi programování... 21 3.4 Návrh systému... 25 Popis chování systému... 25 Návrh zapojení systému... 25 Podrobná analýza chování systému... 27 Psaní programu v assembleru... 30 Instalace programu MPLAB... 33 Vytváøení nového projektu... 36 Psaní nového programu... 41 Pokraèování v psaní již rozepsaného programu... 42 Pøeklad napsaného programu... 45 Nejèastìjší hlášení chyb pøekladaèem... 46 Naprogramování mikrokontroléru... 48 4 Základní instrukèní soubor mikrokontroléru... 51 Závìr 1. dílu uèebnice... 68 Praktická èást Práce s mikrokontrolérem... 69 Realizace zapojení pro odzkoušení funkce systému... 69 Použití modulù pro snadnìjší práci... 71 Jaké souèástky budeme pøi výuce používat... 73 Realizace systému na kontaktním poli... 74 Postup realizace systému na plošném spoji... 75 Øešení úkolù... 77
Co najdete na doprovodném CD Doprovodné CD vhodnì doplòuje uèebnici. Doporuèujeme, abyste spustili automatickou instalaci, která vám urychlí manipulaci s CD. V hlavním adresáøi CD naleznete tyto programy: SETUP.exe program pro spuštìní èeské/slovenské verze; Modul1.exe program èeské verze; Modul1sl.exe program slovenské verze. Program Modul1 spouští MPLAB, jeho instalaci, simulátor PIC16C54, 56 a vysvìtlující animace. Instaluj MPLAB nainstaluje MPLAB verzi 4.12.12 na náš poèítaè a na pracovní ploše vytvoøí adresáø PICCVIC. Do tohoto adresáøe jsou automaticky ukládány programy pokud, spouštíme MPLAB z programu doprovázejícího tuto uèebnici. Jestliže nejde spustit SETUP.exe, je tøeba zkopírovat soubor MSVBVM50.DLL do adresáøe C:\WINDOWS\SYSTEM. Soubor je na CD v adresáøi LIB. Struèný popis jednotlivých adresáøù: ANIMACE Animace v èeském jazyce. ANIMACESL Animace ve slovenském jazyce. BEN Off-line verze www stránek nakladatelství BEN technická literatura (aktualizováno ke konci srpna 2004), jejichž souèástí je poèítaèová verze tištìného katalogu Edièního plánu záøí 2004 a samostatného pøehledu naší produkce. LIB Adresáø se soubory DLL potøebnými pro èinnost programù uèebnice. MPLAB MPLAB ve verzi 4.12.12 Pozn. red.: Protože jsme v redakci zaznamenali poptávku ètenáøù po starším systému MPLAB, umístili jsme do shodného adresáøe i verzi MPLAB 3.31. TOOLS Pøekladaè MPASMWIN v. 2.30.07 assembleru pro mikrokontroléry PIC, pracující pod operaèním systémem Windows. V podadresáøi MPASM23 nalezneme pøekladaè MPASM v. 2.30 assembleru pro mikrokontroléry PIC, pracující pod operaèním systémem MS-DOS. V podadresáøi MPSIM52 nalezneme simulátor MPSIM v. 5.20 pro mikrokontroléry PIC, pracující pod operaèním systémem MS-DOS. ZDROJ Zdrojové soubory pøíkladù v assembleru (*.ASM). 4 Jiøí Hrbáèek: Moderní uèebnice programování PIC 1. díl A
Úvod Mikrokontroléry zaujímají nesmírnì dùležité místo v moderních elektronických systémech. Použití mikrokontrolérù velmi zjednodušuje tyto systémy a zvyšuje jejich schopnosti. Dá se bez nadsázky øíct, že návrh a realizace elektronických systémù s použitím mikrokontrolérù patøí mezi základní znalosti a dovednosti souèasných elektronikù. Uèebnice je psána tak, že umožòuje velmi efektivní zpùsob samostudia. Pro úspìšné zvládnutí výuky postaèují pouze nejzákladnìjší znalosti elektroniky a základní uživatelskou znalost práce s poèítaèem. Uèebnici lze s výhodou využívat i v prezenèní výuce. Výuka je vedena na osmibitových mikrokontrolérech PIC firmy Microchip, protože jsou z hlediska výuky nejvhodnìjší. Také spousta profesionálních systémù tyto mikrokontroléry bohatì využívá. Patøí mezi nejvýkonnìjší osmibitové mikrokontroléry. Jsou vyrábìny od nejjednodušších typù až po typy bohatì vybavené integrovanými periferiemi. Souèástí každého dílu uèebnice je doprovodné CD, kde se nacházejí vysvìtlující programy a animace. Probírané uèivo je vysvìtlováno na velkém množství praktických pøíkladù. Toto vše umožní snadné pochopení probírané látky. Je zde také místo pro vlastní poznámky. Jednotlivé uèebnice na sebe promyšlenì navazují. Postupnì se nauèíme navrhovat systémy s mikrokontroléry od nejjednodušších až po složité inteligentní systémy s více mikrokontroléry, které spolu vzájemnì komunikují, vèetnì jejich komunikace s PC. Ke každému dílu si lze u autora objednat a zakoupit kompletní vybavení pro výuku a snadnou realizaci praktických úloh. Vybavení pro jednotlivé díly postupnì vytvoøí ucelený soubor prostøedkù pro realizaci i složitých systémù. Tento první díl uèebnice nás nauèí používat mikrokontrolér, jeho paralelní vstupy/ výstupy, základní skupinu instrukcí a základní zásady psaní programù v assembleru s využitím MPLABu. * * * V druhém dílu, který na tento bude navazovat, se postupnì seznámíme s dalšími instrukcemi mikrokontroléru, se základní èinností programù pro èekací smyèky, seznámíme se s èítaèem/èasovaèem a datovou EEPROM, které jsou implementovány v mikrokontroléru PIC16F84. Nauèíme se simulaci programù, která velmi usnadní vyhledávání chyb ve složitìjších programech. Bude zde vysvìtlena technika psaní programù s využitím podprogramù. Nauèíme se psát složitìjší programy. Další pøipravované díly uèebnice se budou vìnovat tvorbì složitìjších systémù (použití klávesnic, expandérù výstupù, rùzných zobrazovacích jednotek, využití inteligentních obvodù, komunikace mikrokontrolérù apod.), pøevodu již hotových programù pro použití s jinými typy mikrokontrolérù PIC, a jednoduššími, tak i složitìjšími. A První krùèky pøi tvorbì aplikace èást 1. 5
Jak studovat uèebnici Nejdøíve si dobøe prostudujeme text, pøíklady a prohlédneme obrázky až po úkoly, oznaèené ikonou úkoly. Je-li vedle textu umístìna ikona animace, je pod ní èíslo. Spustíme si z CD program, který má stejné èíslo. Program simuluje nebo názornì ukazuje vysvìtlovanou látku v textu a slouží pro její lepší pochopení. Pokud je vedle textu ikona praktické øešení, pod èíslem, které se nachází pod ikonou, naleznete v pøíloze praktických øešení pøíslušné øešení vysvìtlovaného tématu, užiteèné praktické rady a pøipomínky. V textu jsou použity následující ikony: Výklad Upozornìní Praktické øešení Poznámky Úkoly Animace Øešené pøíklady Po dùkladném prostudování probírané látky pøistoupíme k øešení úkolù. Úkoly jsou jak teoretické, tak i velmi èasto praktické. Èinnost programù si vždy ovìøujeme v konkrétním zapojení na praktické aplikaci. Ve studiu nepokraèujeme dále, dokud dokonale neporozumíme pøedchozí látce. 6 Jiøí Hrbáèek: Moderní uèebnice programování PIC 1. díl A