APLIKACE MIKROKONTROLÉRŮ PIC32MX



Podobné dokumenty
MIKROPROCESOROVÁ TECHNIKA 9 Událostní systém 9.1 Události Síť ERN Časování událostí Filtrace

MIKROKONTROLÉRY PIC PRO POKROČILÉ

APLIKACE ALGORITMŮ ČÍSLICOVÉHO ZPRACOVÁNÍ SIGNÁLŮ 1. DÍL

ALGORITMY ČÍSLICOVÉHO ZPRACOVÁNÍ SIGNÁLŮ

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury Příklad PROG_


MIKROKONTROLÉRY PIC BEZ PŘEDCHOZÍCH ZNALOSTÍ

OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PŘÍKLADECH 8 Proudová knihovna 8.1 Hierarchie proudů Standardně zavedené proudy

4 DIELEKTRICKÉ OBVODY ZÁKLADNÍ POJMY DIELEKTRICKÝCH OBVODŮ Základní veličiny a zákony Sériový a paralelní

ELEKTRONICKÉ PRVKY 7 Výkonové a spínací aplikace tranzistorů 7.1 Ztrátový výkon a chlazení součástky První a druhý průraz bipolárního




Komerèní využití stavebních návodù je povoleno jen s písemným souhlasem autora a nakladatelství. Soubory na CD ROM mající pøímo vztah ke knize, které

Jan Humlhans NÁBOJOVÉ PUMPY funkce, pøehled a použití Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmno

Autor by chtìl podìkovat všem svým spolupracovníkùm a kolegùm, kteøí mu pomohli s pøípravou textu. K vydání knihy pøispìla firma Newport Electronics s


Gergelitsová, Holan: Zlatý řez pravítkem a kružítkem


Publikace prezentuje nìkteré poznatky z obsáhlé oblasti analogových soustav, které v poslední dobì prodìlávají rozvoj. Z toho dùvodu ani nemùže podat




GENEROVÁNÍ ZVUKŮ POMOCÍ MIKROKONTROLÉRŮ



David Matoušek ÈÍSLICOVÁ TECHNIKA základy konstruktérské praxe Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována ne


Základy ultrazvuku A. ZÁKLADY ULTRAZVUKU 10

Podìkování: Výsledkù publikovaných v této knize bylo dosaženo také za podpory projektù GAÈR 101/06/P108 Výzkum simulaèního a experimentálního modelová






Mikrokontroléry. Doplňující text pro POS K. D. 2001



Translation from the English language edition: Passing the marker Understanding the New Millennium Energy Copyright 2000 Lee Carroll All Rights Reserv



Monografie poskytuje v pøehledné a praktické formì znalosti a výpoèetní nástroje pro modelování šíøení rádiových vln v zástavbì, tedy vnì i uvnitø bud


Jan Hájek ELEKTRONICKÉ HLEDAÈE Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnožována jakoukoli formou


Roman Neruda a Tomáš Holan C++ BUILDER V PØÍKLADECH Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnožo


Profilová část maturitní zkoušky 2015/2016






Profilová část maturitní zkoušky 2014/2015

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

Tato kniha popisuje výchozí stanoviska psychotroniky jako potenciální vìdní disciplíny Tvoøí ucelenou pracovní hypotézu pro realizaci základního výzku

Ladislav Szántó: Maxwellovy rovnice, 2. vydání


Podrobný obsah CHARAKTERISTIKA A POROVNÁNÍ ØADY PIC16F87X A PIC16F87XA TYPY POUZDER A PØIØAZENÍ VÝVODÙ PIC16F87X TYPY POUZDER A PØIØAZENÍ





Nejčastěji pokládané dotazy


Přednáška - Čítače. 2013, kat. měření, ČVUT - FEL, Praha J. Fischer. A3B38MMP, 2013, J.Fischer, ČVUT - FEL, kat. měření 1





Mikropočítačová vstupně/výstupní jednotka pro řízení tepelných modelů. Zdeněk Oborný

FILIP SCHWANK. Katedra měření, listopad 2017


Manuál přípravku FPGA University Board (FUB)

Vývojové kity Mega48,


ČEMU ROZUMÍ MIKROPROCESOR?

EduKit84. Výuková deska s programátorem pro mikrokontroléry PIC16F84A firmy Microchip. Uživatelská příručka

Arduino Martin Friedl


POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

Použití programovatelného čítače 8253

A0M38SPP - Signálové procesory v praxi - přednáška 10 2

Témata profilové maturitní zkoušky

Mikrokontrolery. Úvod do obvodů Atmega 328 a PIC16F88

Návrh konstrukce odchovny 2. dil

Obsah. O autorovi 11 Předmluva 13 Zpětná vazba od čtenářů 14 Errata 14

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ



PŘÍLOHY. PRESTO USB programátor


MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Speciální obvody a jejich programování v C 2. díl


Direct Digital Synthesis (DDS)


Architekura mikroprocesoru AVR ATMega ( Pokročilé architektury počítačů )


Bakalářská práce Realizace jednoduchého uzlu RS485 s protokolem MODBUS

Inovace předmětu Mikroprocesorové praktikum I, II

Transkript:

David Matoušek APLIKACE MIKROKONTROLÉRÙ PIC32MX Praha 2014

David Matoušek Aplikace mikrokontrolérù PIC32MX Recenzent Bohumil Brtník 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é 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 David Matoušek, 2014 Nakladatelství BEN technická literatura, Vìšínova 5, Praha 10 David Matoušek: Aplikace mikrokontrolérù PIC32MX BEN technická literatura, Praha 2014 1. vydání ISBN 978-80-7300-504-7 (tištìná kniha) ISBN 978-80-7300-505-4 (elektronická kniha v PDF)

Obsah 1 Úvod do mikrokontrolérů PIC32MX... 1-1 1.1 Základní vlastnosti... 1-1 1.2 PIC32MX130F064-I/SP... 1-2 1.3 PICkit 3 a vývojová deska PIC32MXBOARD... 1-3 2 Konfigurace oscilátoru... 2-1 2.1 Základní vlastnosti... 2-2 2.2 Registry OSCCON, OSCTUN, REFOCON, REFOTRIM... 2-3 2.3 Soubor PIC32ConfigSet.pdf... 2-7 2.4 Funkce SYSTEMConfig... 2-9 3 Vstupně/výstupní porty... 3-1 3.1 Paralelní vstupně/výstupní porty (PIO)... 3-2 3.2 Registry CLR, SET, INV... 3-4 3.3 Výběr vývodu periferie (PPS)... 3-4 3.4 Funkce z knihovny PLIB... 3-7 4 Programová obsluha vstupně/výstupních portů... 4-1 4.1 Přípravek M8LED... 4-1 4.2 PROG_01 od založení projektu k naprogramování procesoru... 4-1 4.3 PROG_02 16bitové operace na portu B... 4-6 4.4 Ikony rychlé volby pro příkazy překladu a ladění... 4-8 5 Jednotka Timer1... 5-1 5.1 Popis činnosti... 5-1 5.2 Popis registrů... 5-2 5.3 PROG_03 použití jednotky Timer1 pro hw časování... 5-4 6 Přerušovací systém... 6-1 6.1 Popis činnosti... 6-1 6.2 Registry... 6-4 6.3 Symboly, funkce a makra... 6-7 6.4 PROG_04 použití přerušení jednotky Timer1... 6-7 7 Ošetření digitálních vstupů... 7-1 7.1 Přípravek MDYNDSP dynamický displej... 7-1 7.2 Přípravek MROTSW rotační spínač se středovým tlačítkem... 7-2 7.3 PROG_05 obsluha MROTSW v programové smyčce... 7-3 7.4 PROG_06 obsluha MROTSW pomocí přerušení časovače... 7-8 7.5 Detaily k jednotce CN a obsluze přerušení... 7-12 7.6 PROG_07 obsluha MROTSW pomocí notifikace změny vstupů... 7-12 8 Jednotky Timer2/3 a Timer4/5... 8-1 8.1 Popis činnosti... 8-1 8.2 Popis registrů... 8-3 8.3 Přípravek MRX555 generátor obdélníkového signálu... 8-5 8.4 PROG_08 měření kmitočtu v 16bitovém režimu... 8-5 8.5 PROG_09 měření kmitočtu v 32bitovém režimu... 8-9 9 Jednotky Output Compare (OC)... 9-1 9.1 Popis činnosti... 9-1 9.2 Popis registrů... 9-1 9.3 Popis režimů... 9-3 9.4 PROG_10 použití režimu PWM... 9-6 10 Jednotky Input Capture (IC)... 10-1 10.1 Popis činnosti... 10-1 10.2 Popis registrů... 10-2 10.3 PROG_11 měření periody... 10-4 10.4 PROG_12 měření šířku impulzu... 10-7 i

11 A/D převodník... 11-1 11.1 Popis činnosti... 11-1 11.2 Popis registrů... 11-2 11.3 Použitelné analogové vstupy... 11-7 11.4 MADTEST regulátor napětí pro analogový vstup... 11-8 11.5 PROG_13 automatické spouštění... 11-8 11.6 PROG_14 spouštění přes Timer3... 11-11 12 Jednotky SPI... 12-1 12.1 Popis činnosti... 12-1 12.2 Popis registrů... 12-1 12.3 Funkce pro ovládání SPI... 12-8 12.4 Konfigurace vývodů... 12-9 12.5 Integrovaný obvod MCP4921... 12-9 12.6 Přípravek MSPIDAC 12bitový D/A převodník se sběrnicí SPI... 12-11 12.7 PROG_15 ověření funkce SPI... 12-11 12.8 PROG_16 generátor signálu... 12-14 12.9 Přípravek MSPILCD LCD displej s SPI sběrnicí... 12-16 12.10 PROG_17 ověření funkce přípravku MSPILCD... 12-20 A Příloha podklady pro výrobu přípravků... A-1 A.1 Vývojová deska PIC32MXBOARD... A-1 A.2 Přípravek M8LED osmice LED... A-3 A.3 MDYNDSP dynamický displej... A-4 A.4 MROTSW rotační spínač se středovým tlačítkem... A-6 A.5 MRX555 generátor obdélníkového signálu... A-7 A.6 MADTEST regulátor napětí pro analogový vstup... A-9 A.7 MSPIDAC 12bitový D/A převodník s SPI sběrnicí... A-10 A.8 MSPILCD LCD displej s SPI sběrnicí... A-11 i

Přehled uváděných příkladů: PROG_01 programové blikání LED. PROG_02 16bitové běžící světlo na portu B. PROG_03 blikání LED s odměrem času pomocí jednotky Timer1. PROG_04 blikání LED pomocí přerušení jednotky Timer1. PROG_05 obsluha rotačního spínače v programové smyčce. PROG_06 obsluha rotačního spínače pomocí přerušení časovače. PROG_07 obsluha rotačního spínače pomocí notifikace změny vstupů. PROG_08 měření kmitočtu v 16bitovém režimu čítače. PROG_09 měření kmitočtu ve 32bitovém režimu čítače. PROG_10 generování PWM signálu. PROG_11 měření periody impulzu vnějšího signálu. PROG_12 měření šířky impulzu vnějšího signálu. PROG_13 automatické spouštění A/D převodu. PROG_14 spouštění A/D převodu řízené jednotkou Timer3. PROG_15 ověření funkce jednotky SPI pomocí D/A převodníku MCP4921. PROG_16 generování harmonického signálu pomocí SPI a MCP4921. PROG_17 výpis textu na řádkovém LCD, který je připojen přes SPI. Obsah doprovodného CD-ROM (ke stažení na www.ben.cz): INSTALACE instalační soubory pro MPLABX verze 1.85 a XC32 verze 1.21, PIC32_DOKUMENTACE dokumentace k jednotlivým jednotkám mikrokontrolérů řady PIC32, X32_HELP soubory nápovědy především k funkcím knihovny PLIB. PROGRAMY zdrojové texty jednotlivých příkladů, SPOJE podklady pro výrobu desek plošných spojů jednotlivých přípravků v Eagle verze 6.4. ii

Předmluva Tato kniha je určena všem zájemcům o programování mikrokontrolérů řady PIC32MX. Důraz je kladen na typ PIC32MX130F064B. V textu jsou interpretovány a formou příkladů předvedeny nejpodstatnější periferie. Knihu pak lze použít pro seznámení s mikrokontroléry PIC32MX a budování složitějších aplikací. Předpokládá se, že čtenář má znalosti programovacího jazyka C a orientujete se v základních pojmech mikroprocesorové techniky. Jako doporučenou literaturu pro seznámení s architekturou PIC lze uvést: C pro mikrokontroléry PIC Práce s mikrokontroléry PIC18F452 a PIC18F1220 v jazyce C z produkce BEN technická literatura. První kapitola popisuje základní vlastnosti mikrokontrolérů PIC32MX, rozmístění vývodů na pouzdře a konstrukci vývojového kitu založeného na použití vývojového nástroje PICkit 3. Ve druhé kapitole se seznámíme s konfigurací oscilátoru a s možnosti konfigurace oscilátorového systému. Třetí kapitola je věnována použití vstupně/výstupních portů. Je zmíněna konfigurace analogových a digitálních vývodů, notifikace změny vstupu, možnosti registrů CLR, SET a INV. Dále je vysvětlena funkce jednotky PPS (Peripheral Pin Select), které dovoluje mapovat signály periferií na různé vývody mikrokontroléru. Na závěr jsou uvedeny funkce z knihovny PLIB, které se pro ovládání vývodů a ostatních jednotek používají. Ve čtvrté kapitole je předveden první příklad programově řízené blikání LED. Druhý program ukazuje konfiguraci portu B pro 16bitové operace na příkladu běžícího světla. Pátá kapitola je stručným popisem jednotky Timer1 (16bitového čítače/časovače). Pro základní představu je předveden příklad blikání LED, kdy je odměr času řešen pomocí časovače. Šestá kapitola vysvětluje základní pojmy přerušovacího systému. Jako praktický příklad je doplněno blikání LED pomocí přerušení jednotky Timer1. Sedmá kapitola ukazuje různé varianty ošetření digitálních vstupů. Na příkladu obsluhy rotačního spínače je předvedeno klasické řešení, vzorkování stavu pomocí časovače a použití funkce notifikace změny vstupů. Osmá kapitola popisuje jednotky Timer2/3 a Timer4/5, které slouží jako 16/32bitové čítače/časovače. Tyto jednotky se rovněž používají ve spojitosti s jednotkami OC a IC. Jako praktické příklady je doplněno měření kmitočtu vnějšího signálu v 16bitovém a 32bitovém režimu. Devátá kapitola probírá jednotky OC (Output Compare), které slouží pro generování jednorázových impulzů nebo periodické skupiny impulzů. Jako příklad je uvedeno generování PWM signálu. Desátá kapitola je věnována jednotkám IC (Input Capture), které slouží pro měření periody a šířky impulzů. Příklady předvádějí měření periody a šířky impulzu vnějšího signálu. Jedenáctá kapitola popisuje 10bitový A/D převodník. Příklady uvádějí možnosti automatického spouštění a spouštění přes jednotku Timer3. Dvanáctá kapitola popisuje jednotku SPI (sériovou vysokorychlostní směrnici určenou pro připojování periferních obvodů). Příklady uvádějí ovládání vnějšího 12bitového D/A převodníku typu MCP4921 (ověření funkce a generování periodického signálu). Dále je popsáno připojení klasického 2řádkového displeje pomocí obvodu 74HCT595 a sériové sběrnice včetně krátkého příkladu. V příloze nalezneme schémata jednotlivých přípravků: PIC32MXBOARD (levný vývojový kit pro PIC32MX130F064B-I/SP), M8LED (osmice LED), MDYNDSP (dynamický displej), MROTSW (rotační spínač), MRX555 (generátor obdélníkového signálu), MADTEST (regulátor napětí pro analogový vstup), MSPIDAC (12bitový D/A převodník s SPI sběrnicí), MSPILCD (2řádkový displej s SPI sběrnicí). i