PROGRAMOVÁNÍ MIKROKONTROLÉRÙ PIC16CXX Jiøí Hrbáèek Praha 1998, BEN
Jiøí Hrbáèek PROGRAMOVÁNÍ MIKROKONTROLÉRÙ PIC16CXX lektor: RNDr Jiøí Poš 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, 1997 1999 Nakladatelství BEN - technická literatura, Vìšínova 5, Praha 10 Jiøí Hrbáèek: Programování mikrokontrolérù PIC16CXX BEN - technická literatura, Praha 1998 1 vydání ISBN 80-86056-16-3
OBSAH ÚVOD 5 ZÁKLADNÍ POJMY 7 Architektura poèítaèové sestavy 7 Vnitøní architektura poèítaèe 8 Další pojmy, se kterými se èasto setkáváme v poèítaèích 9 Rozdìlìní poèítaèù podle jejich použití 10 Poèítaèe z pohledu jejich technického øešení 11 Rozdíl mezi èíslicovou a analogovou technikou 12 JAK PRACUJE POÈÍTAÈ 12 Provádìní instrukcí 12 Registry procesoru 14 Komunikace poèítaèe s I/O zaøízením 14 Èíselné soustavy v poèítaèích 16 Podprogram 18 Pøerušení programu 19 BASTLDESKY 20 Napájecí deska 20 Deska mikrokontrolérù PIC16C54, 56, 71 a 84 22 Deska LED8/16 - KRUH 24 Deska spínaèù a tlaèítek 26 Univerzální desky 28 PROGRAMOVÁNÍ MIKROKONTROLÉRÙ 29 PØÍKLAD 1 - Indikace stisku tlaèítka 35 PØÍKLAD 2 - Èekací smyèka 42 PØÍKLAD 3 - Elektronická hrací kostka 47 PØÍKLAD 4 - Èítaè poètu stisknutí tlaèítka 51 PØÍKLAD 5 - Mìøiè reakce 56 PØÍKLAD 6 - Pøevodník napìtí/šíøka a poèet pulsù 64 PØÍKLAD 7 - Elektronický zámek 73 ZÁVÌR 98 Programování mikrokontrolérù PIC16CXX - BEN technická literatura 3
OBSAH SHRNUTÍ Návrh zapojení s mikrokontrolérem 34 Tvorba programù 34 Ovládání I/O portù 41 Využití podprogramù s pøevodem kódu 50 Použití tlaèítek ve vstupech mikrokontroléru a pøedávání parametrù podprogramy 55 Práce s RTCC a dynamická èekací smyèka 63 Definice konstant jako symbolù, ovládání pøerušení a práce s bankou registrù 72 Ladìní složitìjších programù, režim SLEEP, práce s WDT, práce s datovou EEPROM a diagnostika 96 4 Programování mikrokontrolérù PIC16CXX - BEN technická literatura
ÚVOD Publikace poskytuje základní informace dùležité pro aplikaci jednoèipových mikrokontrolérù øady PIC16CXX Navazuje na Jednoèipové mikroøadièe PIC16CXX a vývojový kit PICSTART, ve které se nachází popis jednotlivých typù mikrokontrolérù, popis assembleru (MPALC), simulátoru (MPSIM) i programátoru mikrokontrolérù PIC16CXX (MPSTART) Zájemce v ní nalezne hlavní zásady, které je tøeba dodržovat pøi psaní programù a návod, co musí program obsahovat, aby mohl být správnì pøeložen V úvodu této publikace je vysvìtlení základních pojmù, používaných ve výpoèetní technice a zpùsob pøevodu èísel mezi dvojkovou, šestnáctkovou a desítkovou soustavou Výuka programování je nemyslitelná bez praktických zkoušek programovaných aplikací Proto je zde postupnì ukázán soubor tréninkových desek (bastldesek, jak se øíká mezi amatéry) Výroba tìchto desek je možná i ve skromných amatérských podmínkách s velmi nízkými náklady Aby mìl zájemce o výrobu tìchto desek ulehèenu práci, jsou v knize výkresy klišé v mìøítku 1:1 Výuka programování je vedena na pøíkladech od nejjednodušších až po složité systémy Na nich je ukázána funkce jednotlivých instrukcí mikrokontrolérù, zpùsob psaní programù, praktické rady k usnadnìní programování (pomocné stránky, poznámky na konci každého pøíkladu) Jsou zde popsány základní zpùsoby využívání jednotlivých èástí mikrokontrolérù, WDT, SLEEP režimu i systému pøerušení Pro programování neexistuje žádný pøedpis, kterým by bylo øeèeno, jaký má být program pro danou aplikaci Každý, kdo píše programy, má svùj zpùsob myšlení, psaní programu, a tím i zpùsob øešení daného problému V tom je programování tvùrèí èinností, a spolu se zpùsobem návrhu obvodového øešení dané aplikace nesmírnì zajímavé a nìkdy i dobrodružné Pøeji Vám mnoho zajímavých úloh, optimálních øešení i radosti z bezchybnì fungujících aplikací Chtìl bych podìkovat RNDr Jiøímu Pošovi za cenné pøipomínky a rady pøi psaní této publikace Autor Programování mikrokontrolérù PIC16CXX - BEN technická literatura 5