David Matoušek, Bohumil Brtík PROGRAMOVÁNÍ MIKROKONTROLÉRÙ S JÁDREM 8051 V JAZYCE C Názoré pøíklady a fukèí programy pro AT89S52 Bez pøedchozího písem

Podobné dokumenty
V deší dobì stále více programátorù postupì pøechází z klasického psaí kódu v assembleru a itegrovaá vývojová prostøedí a bázi jazyka C. Neí se co div




29 PØÍKLAD È. 11 VÝPIS ÈÍSLA POMOCÍ PRINTF NA MLCDGEN Nyí si ukážeme, jak upravit pøíklad è. 10 tak, abychom mohli používat fukci pritf pro výpis text





MIKROKONTROLÉRY PIC PRO POKROČILÉ



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é

APLIKACE MIKROKONTROLÉRŮ PIC32MX

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



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

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


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






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

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


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






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



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 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



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





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


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





Kniha je urèena všem zájemcùm o teorii elektrických obvodù Poslouží jako pøíruèka pro praxi, ale i jako uèebnice pro studenty støedních a vysokých ško






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Í



Základní návod na montáž venkovního schodištì

)HULWRYpMiGUR 2VFLOiWRU 'HWHNWRU.ORSQêREYRG.RQFRYêþOHQ





Zvolíme-li R 1 = 10 kω, bude R 2 = 43 kω Z øady E48 vybereme ejbližší vyrábìou hodotu R 2 = 42,2 kω Po dosazeí do (44a) dostaeme 8 () = + = + + D 8 ()

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á

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



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







Základy ultrazvuku A. ZÁKLADY ULTRAZVUKU 10



PESexcl. PODPORA PRO VÝMÌNU DAT S APLIKACÍ MICROSOFT EXCEL s využitím DDE serveru PESdde








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


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

WOJCIASZYK, Petr Ing., Katedra ATŘ-352, VŠB-TU Ostrava, 17. listopadu, Ostrava Poruba, ,


28/40VÝVODOVÝ, 8BITOVÝ CMOS MIKROKONTROLÉR S A/D PØEVODNÍKEM, FLASH PAMÌTÍ PRO PROGRAM A SRAM/EEPROM PRO DATA VLASTNOSTI Velmi výkonný kontrolér s arc

3. Sekvenční obvody. b) Minimalizujte budící funkce pomocí Karnaughovy mapy

Transkript:

David Matoušek, Bohumil Brtík PROGRAMOVÁNÍ MIKROKONTROLÉRÙ S JÁDREM 8051 V JAZYCE C Názoré pøíklady a fukèí programy pro AT89S52 Praha 2010

David Matoušek, Bohumil Brtík PROGRAMOVÁNÍ MIKROKONTROLÉRÙ S JÁDREM 8051 V JAZYCE C Názoré pøíklady a fukèí programy pro AT89S52 Bez pøedchozího písemého svoleí akladatelství esmí být kterákoli èást kopírováa ebo rozmožováa jakoukoli formou (tisk, fotokopie, mikrofilm ebo jiý postup), zadáa do iformaèího systému ebo pøeášea v jié formì èi jiými prostøedky. Autor a akladatelství epøejímají záruku za správost tištìých materiálù. Pøedkládaá zapojeí a iformace jsou zveøejìy bez ohledu a pøípadé patety tøetích osob. Nároky a odškodìí a základì zmì, chyb ebo vyecháí jsou zásadì vylouèey. Veškerá práva vyhrazea. Ig. David Matoušek, 2010 Ig. Bohumil Brtík, 2010 Nakladatelství BEN techická literatura, Vìšíova 5, Praha 10 David Matoušek, Bohumil Brtík: Programováí mikrokotrolérù s jádrem 8051 v jazyce C BEN techická literatura, Praha 2010 1. vydáí ISBN 978-80-7300-264-0

OBSAH CO NAJDETE NA DOPROVODNÉM CD-ROM... 6 O KNIZE... 6 1 Základí vlastosti mikrokotroléru AT89S52... 7 2 Vitøí zapojeí portù... 9 3 Pøípravek M8LED osmice LED... 11 4 Pøíklad è. 1 rozsvíceí LED... 12 5 Úvod do programováí v jazyce C51... 14 6 Podmíìý pøíkaz if... 18 7 Základí operátory... 19 8 Pøíklad è. 2 blikáí LED... 21 9 Cykly... 23 10 Pøípravek M7SEG 7segmetovka... 25 11 Pøíklad è. 3 obsluha 7segmetovky... 26 12 Pole... 27 13 Pøíklad è. 4 obsluha 7segmetovky pomocí pole... 29 14 Fukce... 30 15 Pøíklad è. 5 Obsluha 7segmetovky pomocí fukce... 32 16 Èítaèe/èasovaèe 0 a 1... 33 17 Pøípravek MPIEZO piezomìiè... 37 18 Pøíklad è. 6 geerováí tóu a MPIEZO pomocí èasovaèe... 38 19 Pøerušeí a jeho obsluha... 40 20 Pøíklad è. 7 geerováí tóu a MPIEZO pøes pøerušeí... 43 21 Pøíklad è. 8 blikáí LED pomocí èasovaèe... 44 22 Pøípravek MDYNDSP dyamicky øízeý displej... 46 23 Bitové operace... 48 24 Pøíklad è. 9 obsluha dyamicky øízeého displeje... 50 25 UART sériová lika... 53 26 Pøípravek MLCDGEN LCD modul øízeý UART... 56 A Programováí mikrokotrolérù s jádrem 8051 v jazyce C 3

27 Pøíklad è. 10 obsluha MLCDGEN... 58 28 Fukce pritf... 60 29 Pøíklad è. 11 výpis èísla pomocí pritf a MLCDGEN... 62 30 Pøípravek MLEDSW spíaèe a LED... 64 31 Pøíklad è. 12 poèítáí stiskù tlaèítka... 65 32 Pøíklad è. 13 ošetøeí zákmitù tlaèítka... 67 33 Pøípravek MMATKBD maticová klávesice... 70 34 Pøíklad è. 14 obsluha MMATKBD... 74 35 Modulárí programováí... 76 36 Pøíklad è. 15 editace zakù a MLCDGEN... 78 37 Pøípravek MLCD pøímo øízeý LCD... 82 38 Pøíklad è. 16 obsluha pøípravku MLCD... 85 39 Sériové sbìrice µwire a SPI... 89 40 Pøípravek MADC A/D pøevodík se sériovou sbìricí... 91 41 Pøíklad è. 17 otestováí pøípravku MADC... 93 42 Pøípravek MRX555 Mìøeí odporu mezipøevodem... 95 43 Reálá èísla... 98 44 Pøíklad è. 18 MRX555, mìøeí èasového itervalu... 99 45 Pøíklad è. 19 MRX555, mìøeí kmitoètu... 101 46 Sériová sbìrice I 2 C... 103 47 Pøípravek MI2CEXP... 107 48 Pøíklad è. 20 otestováí pøípravku MI2CEXP... 110 49 Pamì ové tøídy... 113 50 Pøípravek MMATDSP maticový displej... 115 51 Pøíklad è. 21 otestováí pøípravku MMATDSP... 118 PØÍLOHY... 121 A Výkresy desek plošých spojù použitých pøípravkù... 121 A.1 Pøípravek M8LED... 122 A.2 Pøípravek M7SEG... 122 A.3 Pøípravek MPIEZO... 124 A.4 Pøípravek MDYNDSP... 125 A.5 Pøípravek MLCDGEN... 126 4 Programováí mikrokotrolérù s jádrem 8051 v jazyce C A

A.6 Pøípravek MLEDSW... 130 A.7 Pøípravek MMATKBD... 132 A.8 Pøípravek MLCD... 134 A.9 Pøípravek MADC... 135 A.10 Pøípravek MRX555... 137 A.11 Pøípravek MI2CEXP... 138 A.12 Pøípravek MMATDSP... 140 A.13 Propojovací kablíky... 141 A.14 Vývojový kit USB51KIT... 141 B Istalace vývojového prostøedí Keil µvisio4... 142 C Popis dùležitých prvkù vývojového prostøedí Keil µvisio4... 144 A Programováí mikrokotrolérù s jádrem 8051 v jazyce C 5

CO NAJDETE NA DOPROVODNÉM CD-ROM DATASHEET katalogové listy ejdùležitìjších souèástek, KEIL istalace vývojového prostøedí KEIL C51 verze 9.01 vèetì prùvodce v agliètiì, VZOR vzorový projekt v prostøedí KEIL C51 (lze jej zkopírovat a používat jako výchozí prázdý projekt), PROGRAMY zdrojové texty programù è. 1 až è. 21, SPOJE podklady pro výrobu desek plošých spojù jedotlivých pøípravkù ve formátu Eagle pøípadì další potøebé soubory pro výrobu desek, USB51KIT ovládací program pro vývojový kit USB51KIT vèetì testovacího souboru a istalace ovladaèù pro Widows XP. O KNIZE Kiha je urèea široké veøejosti, která má zájem sezámit se s programováím mikrokotroléru AT89S52 v jazyce C. Pro vývoj programù je používáo vývojové prostøedí KEIL µvisio4. Výklad je vede tak, že pøed daými pøíklady probere pouze ezbytì utou teorii, takže èteáø se mùže kocetrovat a praktickou stráku vìci, tedy a samoté pøíklady. V kize ajdeme výklad základù jazyka C, takže je vhodá i pro ty èteáøe, kteøí teto programovací jazyk eovládají. Pro pøehledìjší èleìí je text rozdìle do kratších kapitol. Èteáø se postupì sezámí se základími vlastostmi mikrokotroléru AT89S52, ovládáím portù, buzeím LED, datovými typy, operátory a øídicími pøíkazy jazyka C, ovládáím sedmisegmetovky, použitím polí a fukcí, stavbou a použitím èítaèù/èasovaèù 0 a 1, použitím pøerušeí, obsluhou dyamicky øízeého displeje, sériovou likou, formátovaým výpisem zajištìým fukcí pritf, obsluhou tlaèítek a maticové klávesice, rozdìleím programu do meších celkù (modulárím programováím), øízeím LCD modulu, sériovými sbìricemi Wire resp. SPI a I 2 C (kokrétì se pracuje s obvody TLC549 A/D pøevodík a MCP23016 expader pro 16 vstupù/výstupù), použitím obvodu NE555 pro mìøeí odporu a kapacity mezipøevodem a èasový iterval ebo kmitoèet. Jako posledí pøíklad je pøedvedea obsluha maticového displeje. Pro doplìí a zpøehledìí textu byly do pøílohy A zaøazey kostrukèí ávody pøípravkù, které jsou použity v textu. Pøíloha B iformuje o istalaci vývojového prostøedí KEIL µvisio4 a pøíloha C je struèým popisem tohoto prostøedí, dùraz je klade hlavì a vysvìtleí práce s ladicím modulem (debuggerem). 6 Programováí mikrokotrolérù s jádrem 8051 v jazyce C A