Vysoká škola Báňská Technická univerzita Ostrava Fakulta strojní Katedra automatizační techniky a řízení Tvorba vývojového modulu pro jednočipové počítače Creation of Evaluation Module for Microcontrollers Student: Vedoucí bakalářské práce: Ostrava 2015 Ing. Jaromír Škuta, Ph.D.
Anotace PAWLENKA, T. Tvorba vývojového modulu pro jednočipové počítače: Bakalářská práce. Ostrava: VŠB - technická univerzita Ostrava, Fakulta strojní, Katedra automatizační techniky a řízení, 2015, Vedoucí práce: Škuta, J. Bakalářská práce se zaměřuje na tvorbu vývojového modulu pro jednočipové počítače. Jako hlavní řídící jednotka byl zvolen jednočipový mikroprocesor PIC16F873A od firmy Microchip Technology. Konstrukčně je tento mikroprocesor vyřešen jako samostatná deska plošných spojů, která se dá pomocí USB rozhraní připojit k počítači. Tímto způsobem je možno mikroprocesor programovat. K programování je využíván software MikroC od firmy MikroElektronika. Pro realizaci a programování určitých úloh pomocí tohoto procesoru je nutno na výstupy této desky připojit prvky, které chceme řídit. K tomuto účelu byla vytvořena zkušební deska, do které se tento řídicí modul zasune. Zkušební deska obsahuje prvky jako LED diody, sedmi-segmentové displeje, maticový displej, nebo zvukové signalizační zařízení, na kterém je možné testovat pulzně-šířkovou modulaci PWM. Klíčová slova: vývojový modul, programování, mikroprocesor, sériová komunikace, pulzně-šířková modulace
Obsah 1 Úvod... 4 2 Vývojová prostředí pro programování jedno-čipových počítačů... 4 3 Jednočipové počítače Arduino... 4 3.1 Arduino Uno... 4 4 Jednočipové počítače PIC... 5 4.1 Návrh a realizace desky s jednočipovým počítačem PIC16F873A... 5 4.1.1 Obvod pro stabilizaci napětí na 5V... 6 4.1.2 Zapojení procesoru PIC16F873A... 6 5 Srovnání ATMega328 a PIC16F873A... 7 6 Programování modulu Arduino Uno... 7 7 Programování modulu s PIC16F873A... 7 8 Systémový návrh vývojového modulu... 7 9 Návrh a realizace modulu pro vývoj aplikací... 8 10 Tvorba aplikací pro vývojový modul... 9 11 Tvorba webových stránek pro vývojový modul... 10 12 Závěr... 12 13 Použitá literatura... 13
1 Úvod Nejprve bylo nutné se zaměřit na vývojová prostředí pro programování jednočipových počítačů. Dále bylo nutné se seznámit s jednotlivými typy mikroprocesorů, jako jsou PIC a desky Arduino, využívající převážně mikroprocesory Atmel, a s možnostmi jejich programování. Pro seznámení s programováním mikroprocesorů byl využit modul Arduino Uno s mikroprocesorem ATMega328, který je nutné programovat pomocí vývojového prostředí Arduino 1.0.6 od této firmy. Následně se budeme zabývat návrhem a realizací řídicího modulu, který bude pracovat se zvoleným mikroprocesorem PIC16F873A. Tento typ procesoru je možné programovat v programu MikroC od firmy MikroElektronika. Poté budou rozebrány rozdíly mezi mikroprocesorem řady PIC a mikroprocesorem ATMega328, který je součástí modulu Arduino Uno. Také budou popsány příklady vytvořené pro tyto typy procesorů. Následně bude proveden předpokládaný systémový návrh celého vývojového modulu, což spočívá ve vysvětlení principu funkčnosti na blokovém schématu, ve zvolení prvků, které budou ve vývojovém modulu obsaženy a řízeny, a také v koncepci, jak bude řídicí modul s rozšiřujícím propojen. Poté bude následovat návrh a realizace celého vývojového modulu. Jakmile bude ověřena funkčnost vývojového modulu jako celku, budou vytvořeny pro tento modul programy, pomocí nichž bude mikroprocesor dané prvky řídit. Nakonec budou vytvořeny webové stránky, které budou obsahovat informace o vývojovém modulu a popis jeho částí a také zde budou umístěny vytvořené aplikace pro tento modul pro podporu výuky. 2 Vývojová prostředí pro programování jednočipových počítačů Pro programování jednočipových počítačů se používá mnoho vývojových prostředí. Volba vhodného prostředí závisí také na typu jednočipového počítače, který bude programován, jelikož každé vývojové prostředí je určeno pro určitý typ mikroprocesoru. Pro jednočipové mikroprocesory PIC můžeme zmínit prostředí mikroc PRO for PIC nebo MPLAB X IDE a pro jednočipové počítače Arduino program Arduino 1.0.6. 3 Jednočipové počítače Arduino Arduino je platforma založená na programování mikrokontroléru. Desku Arduino si můžeme buď sestavit a upravit dle vlastních potřeb sami, nebo ji lze jednoduše zakoupit již hotovou. Jedná se tedy o desku s mikrokontrolérem, kterou lze dále programovat pomocí vývojového prostředí Arduino. K této desce je možno dále připojovat různé výstupy jako například LED diody či motorky, jejichž chování lze tímto způsobem ovlivňovat. Hlavní výhodou těchto jednočipových mikroprocesorů je snadná programovatelnost a jednoduché zapojení. Spojení desky a osobního počítače se provádí zpravidla pomocí standartního kabelu typu USB. To je však podmíněno typem desky. Spojení může probíhat i pomocí micro USB a mini USB. Arduino nabízí celou řadu desek různých typů. Příkladem může být Arduino Uno. 3.1 Arduino Uno Deska Arduino Uno je založena na mikroprocesoru ATmega328 od firmy Atmel. Obsahuje 14 digitálních vstupů a výstupů, 6 analogových vstupů, keramický rezonátor s taktovací frekvencí 16 MHz, USB připojení, napájecí konektor, ICSP a resetovací tlačítko. Spojení s počítačem, který zároveň desku napájí, je realizováno pomocí standartního USB kabelu. Deska může být také napájena pomocí AC/DC adaptéru nebo Tvorba vývojového modulu pro jednočipové počítače 4
baterie. Deska může být napájena externím zdrojem v rozmezí od 6 do 20 V. Doporučený rozsah je však uváděn od 7 do 12 V. Jestliže je deska napájena více než 12V, může docházet k přehřátí a poškození desky. Procesor ATmega328 je vybaven flash pamětí o velikosti 32 KB, statickou pamětí SRAM o velikosti 2 KB a elektricky mazatelnou paměť EEPROM velikosti 1 KB, viz [ARDUINO 2014]. Arduino Uno obsahuje množství prvků pro komunikaci, proto je schopno komunikovat s počítačem, s další deskou Arduino, nebo s jiným mikrokontrolérem. Procesor ATmega328 poskytuje sériovou komunikaci UART TTL. Ta je dostupná na digitálních pinech označených číslicemi 0 (Tx) a 1 (Rx), viz [ARDUINO 2014]. 4 Jednočipové počítače PIC Jednočipovým počítačem PIC, nazývaný také jako mikrokontrolér PIC nebo jednočipový mikroprocesor PIC, označujeme polovodičovou součástku, která je obsažena v mnoha současných elektronických zařízeních. Příkladem mohou být domácí spotřebiče nebo automobilová technika. Jedná se o integrovaný obvod, který lze naprogramovat běžným uživatelským rozhraním pomocí vývojového prostředí tomu určeného. Tyto mikroprocesory vynikají svou malou velikostí a nízkou cenou a také jsou energeticky velmi výhodné. Stavba paměti je založena na tzv. Harvardské architektuře, což znamená, že datová paměť a programová paměť jsou od sebe odděleny. Obr. 1 Hardvardská architektura Další vlastnosti mikrokontrolérů PIC, viz [ŠPRINGL, V. 2011]: Redukovaná instrukční sada (procesor RISC) Vykonávání instrukcí v jediném cyklu Zásobník pro ukládání návratových adres Konfigurační registry a periferie jsou mapovány do paměti dat. Jediný pracovní registr W slouží k vykonání aritmeticko-logických operací. 4.1 Návrh a realizace desky s jednočipovým počítačem PIC16F873A Pro tuto desku byl použit mikroprocesor PIC16F873, což je osmibitový mikroprocesor firmy Microchip Technology. Tento typ procesoru je vybaven programovou pamětí typu flash o velikosti 7 KB. Rychlost procesoru dosahuje 5 MIPS (million instructions per second) a maximální kmitočet je 20 MHz. Dále obsahuje paměť dat RAM o velikosti 192 B a paměť pro zálohu důležitých dat EEPROM o velikosti 128 B. Dokáže pracovat v rozmezí teplot od -40 do 85 C. Celkově obsahuje 28 pinů a pracuje s napětím od 2 do 5,5V. PIC16F873A je vybaven dvěma PWM výstupy, třemi časovači, z toho 2 jsou osmibitové a jeden šestnáctibitový, a jsou zde také implementovány rozhraní pro sériovou komunikaci USART a MSSP. Tyto rozhraní slouží pro komunikaci s dalšími periferními zařízeními nebo mikroprocesory, viz [MICROCHIP TECHNOLOGY INC 1998]. Tvorba vývojového modulu pro jednočipové počítače 5
4.1.1 Obvod pro stabilizaci napětí na 5V Celý modul byl navržen tak, aby ho bylo možné napájet pouhým připojením napájecího kabelu. Obsahuje tedy napájecí obvod, který přívodní napětí stabilizuje na potřebných 5V, což je napětí, se kterým je tento mikroprocesor schopen pracovat. Jedná se o nejjednodušší konstrukci stabilizačního obvodu. Využívá třísvorkový lineární stabilizátor typu 7805, který se zpravidla montuje na chladič, jelikož větší část energie se vyzařuje do prostoru jako teplo. To je způsobeno velkým rozdílem vstupního a výstupního napětí. Čím menší je tedy rozdíl vstupního a výstupního napětí, tím větší je účinnost stabilizátoru, viz [ILČÍK, V. 2008]. 4.1.2 Zapojení procesoru PIC16F873A Samotné zapojení jednotlivých pinů pro mikroprocesor PIC16F873A bylo provedeno dle datasheetu, který je určen pro sérii mikroprocesorů PIC16F87x. Tato série může pracovat ve čtyřech oscilačních módech, viz [MICROCHIP TECHNOLOGY INC 1998]: LP nízkonapěťový krystal XT krystal/rezonátor HS vysokorychlostní krystal/rezonátor RC rezistor/kondenzátor Pro oscilační módy typu LP,XT a HS je krystal nebo keramický kondenzátor připojen mezi piny OSC1 a OSC2. Toto zapojení zajišťuje oscilaci, viz [MICROCHIP TECHNOLOGY INC 1998]. Pro konfiguraci oscilátoru byl zvolen krystal typu HS s frekvencí 20 MHz a kondenzátory 22 pf. Obr. 2 Realizace schéma zapojení a desky plošných spojů procesoru PIC16F873A Tvorba vývojového modulu pro jednočipové počítače 6
5 Srovnání ATMega328 a PIC16F873A Procesor ATMega328 od firmy Atmel, který je obsažen na desce Arduino Uno, je velmi podobný procesoru PIC16F873A od Microchip Technology. Jedná se o osmibitové mikroprocesory s maximálním kmitočtem 20MHz a provozním napětím od 2 do 5V. Co se týká sériové komunikace, oba obsahují rozhraní USART. Procesor od Atmelu má pouze o jeden I/O pin více. Mírně se však liší v počtu PWM výstupů. ATMega328 jich má 6, kdežto PIC16F873A pouze 2, viz [MICROCHIP TECHNOLOGY INC 1998]. 6 Programování modulu Arduino Uno Pomocí softwaru Arduino 1.0.6 byla programována deska Arduino Uno s mikroprocesorem ATmega328 od firmy Atmel. Na výstupy byly připojeny jako zobrazovače LED diody, na nichž bylo odzkoušeno několik jednoduchých úloh. Zapojení bylo realizováno pomocí nepájivého pole. 7 Programování modulu s PIC16F873A Pro vytvořený modul bylo naprogramováno několik příkladů v prostředí MikroC pro otestování funkčnosti výstupů. Byla odzkoušena také sériová komunikace a výstupy PWM. Pro testování byly použity LED diody a siréna. Zapojení těchto prvků bylo realizováno pomocí nepájivého pole. Pro nahrávání programu do mikroprocesoru slouží aplikace PIC Bootloader+, ve které je nutno vybrat HEXA soubor, který se vytváří spolu s projektem. Zde je potřeba správně zvolit port pro komunikaci a další parametry. Pro sériovou komunikaci s procesorem slouží text box, do kterého zadáváme znaky z klávesnice. Komunikaci mezi počítačem a mikroprocesorem zprostředkovává adaptér od firmy Arduino, který převádí rozhraní USB na 5V sériové TX a RX kanály, viz [GM ELEKTRONIC 1990]. 8 Systémový návrh vývojového modulu Pro dokončení celého vývojového modulu pro výukové účely je nutné vytvořit rozšiřující modul, který bude sloužit pro programování určitých úloh. Může obsahovat prvky jako sedmi-segmentové displeje, led diody, tlačítka nebo piezoelektrickou sirénku. Po navržení bude modul zhotoven a osazen jmenovanými prvky a spolu s již vytvořeným řídicím modulem bude tvořit celek, který bude pomocí počítače programován. Obr. 3 Blokové schéma návrhu celého vývojového modulu Tvorba vývojového modulu pro jednočipové počítače 7
9 Návrh a realizace modulu pro vývoj aplikací Pro návrh rozšiřujícího modulu pro vývoj aplikací jsou využity dva sedmi-segmentové displeje, jejichž zobrazené číselné hodnoty obstarává BCD dekodér. Dále je využito osm LED diod, osm tlačítek, maticový displej a piezoelektrická sirénka, která je napojená na PWM výstup procesoru. Samotný návrh byl proveden pomocí programu pro tvorbu schémat EAGLE. Nejprve bylo nutné navrhnout, jak bude vývojový modul sestaven jako celek, resp. jak bude řídicí modul propojen s rozšiřujícím modulem. Myšlenka byla taková, že rozšiřující modul bude obsahovat stejné rozmístění konektorů tak, aby bylo možné řídicí modul do rozšiřujícího jednoduše zasunout. Následně bylo možné provést návrh schématu zapojení pro všechny použité prvky. Maticový displej byl zapojen tak, že řádky využívají bránu B mikroprocesoru a sloupce využívají bránu A a jeden výstup brány C. Všechny vstupy maticového displeje jsou zapojeny přes switch, aby bylo možné displej odpojit. LED diody jsou také přes rezistory zapojeny na bránu B a paralelně k nim jsou zapojeny tlačítka, které slouží pro reset daného výstupu. Brána B je také spojena s větví pro 5V přes tzv. pull-up rezistory. Další prvek piezo siréna byla zapojena přes rezistor na PWM výstup RC2 a pro správnou funkčnost bylo nutné k sirénce a rezistoru zapojit paralelně kondenzátor. Pro zapojení sedmisegmentových displejů bylo nutné zjistit, za jakých podmínek displej svítí a jak je potřeba zapojit dekodér BCD kódu. Byly využity displeje, přičemž každý má na vstupu rezistory a svůj dekodér. První dekodér využívá první 4 bity brány B a druhý zbylé 4 bity. Dekodéry dále obsahují vstupy BI/RBO, RBI a LT, které byly zapojeny podle datasheetu buď na 5V nebo na zem. Také jsou mezi dekodéry switche, které umožňují využití pouze jednoho dekodéru pro oba displeje. Aktivace displejů je řešena pomocí NPN tranzistorů, které mají bázi napojenou na výstupy RA4 a RA5 mikroprocesoru a kolektor napojený na 5V. Jelikož je výstup RA4 typu open-drain, bylo nutné tuto větev připojit přes rezistor na 5V. Obr. 4 Schéma zapojení zkušební desky Po dokončení schématu zapojení bylo nutné navrhnout desku plošných spojů také v programu EAGLE. Nejprve bylo nutné vyřešit přesnou polohu konektorů pro zapojení Tvorba vývojového modulu pro jednočipové počítače 8
řídicího modulu. K tomu bylo potřeba v programu EAGLE konektory řídicí desky přesně odkrokovat a zjistit přesnou polohu konektorů vůči sobě a následně ji takto realizovat v návrhu desky rozšiřujícího modulu. Poté bylo možno začít s návrhem všech plošných spojů jak ze spodní strany (modré cesty), tak ze strany součástek (červené cesty). Obr. 5 Deska plošných spojů rozšiřujícího modulu Po kompletním navržení bylo nutné desku vyleptat a osadit zvolenými součástkami. 10 Tvorba aplikací pro vývojový modul Po dokončení a otestování funkčnosti celého vývojového modulu bylo možné začít s vývojem aplikaci pro tento modul, které budou podrobněji rozebrány. Pro programování sedmi-segmentových displejů se využívají výstupy RA4 a RA5. Aby bylo možné RA4 použít jako výstup, bylo nutné v příslušných programech nastavit parametr CMCON na 6. Zobrazování dvojciferných čísel V této úloze lze na sedmi-segmentových displejích zobrazit všechna dvojciferná čísla pomocí sériové komunikace. Princip spočívá v tom, že zadávané znaky se ukládají do proměnné, která je následně ukládána do pole do té doby, než bude pole naplněno dvěma hodnotami. Jestliže jsou v poli uloženy dvě hodnoty, dochází k resetu proměnných a jednotlivé znaky pole jsou uloženy do dalších proměnných a převedeny na číslo a následně jsou tyto čísla vyslány na bránu B. Obr. 6 Hlavní část programu pro zobrazení dvojciferných čísel Tvorba vývojového modulu pro jednočipové počítače 9
Jednoduché stopky V této úloze jsou naprogramovány stopky, kdy vybranými klávesami pomocí sériové komunikace můžeme stopky spustit, zastavit a resetovat. V programu je také zapojena piezoelektrická siréna, která vyšle zvukový signál po každých deseti sekundách. Princip spočívá v tom, že hodnota na displeji jednotek se každou sekundu zvyšuje o jedničku a po deseti cyklech se přičte jednička na displeji desítek. Obr. 7 Hlavní část programu pro stopky 11 Tvorba webových stránek pro vývojový modul Pro vývojový modul byly vytvořeny webové stránky technologií PHP + HTML5 a pro design technologie CSS. Webové stránky obsahují hlavní horizontální menu, kde lze nalézt sekce jako Úvodní stránka, Řídicí modul, Zkušební deska, Programování a Literatura. Pod hlavním menu se pak zobrazují jednotlivé sekce a dále je zde zápatí, které je pevně připnuto k dolnímu okraji okna webového prohlížeče. Úvodní stránka obsahuje základní informace o tomto vývojovém modulu a obrázek reálného zařízení. Obr. 8 Ukázka navržených webových stránek Tvorba vývojového modulu pro jednočipové počítače 10
Sekce řídicí modul obsahuje základní popis tohoto modulu s procesorem PIC16F873A, seznam použitých součástek, schéma zapojení a návrh desky plošných spojů v programu EAGLE. Sekce zkušební deska obsahuje taktéž základní popis, seznam použitých součástek, schéma zapojení a návrh desky plošných spojů v programu EAGLE a je zde navíc realizace plošných spojů z jedné a druhé strany, jelikož se jedná o oboustranný tištěný plošný spoj. V obou těchto sekcích je také možnost si veškerá schémata zobrazit v plné velikosti. V další sekci programování jsou popsány všechny vytvořené programy pro tento vývojový modul a jejich zdrojový kód je přehledně umístěn v boxech s rolovací lištou. Také je zde možnost si u každého příkladu celý zdrojový kód v jazyce C stáhnout do počítače. Pro převedení zdrojového kódu do HTML stránky byl využit nástroj Export to html přímo v programu mikroc. Po převedení kódu se však vyskytl problém s kódováním, kdy převedený kód nebylo možné uložit s kódováním UTF-8. To bylo nutné řešit tak, že se vytvořil nový soubor HTML, který již bylo možné s tímto kódováním uložit. Obr. 9 Ukázka řešeného příkladu na webových stránkách Pro tvorbu těchto webových stránek byl použit software NETBEANS IDE. Aby bylo možné průběžně kontrolovat vzhled webových stránek, bylo potřeba nainstalovat řídicí panel XAMPP a v něm zapnout Apache HTTP server. Jakmile je server zapnut, lze využít nástroje k zobrazení náhledu webové stránky přímo v programu NETBEANS IDE. Po kliknutí na tento nástroj se zobrazí náhled ve výchozím webovém prohlížeči. Obr. 10 Cesta k webové stránce s využitím APACHE HTTP serveru Tvorba vývojového modulu pro jednočipové počítače 11
12 Závěr Cílem této práce bylo seznámit se s jednotlivými typy jednočipových počítačů, s vývojovým prostředím pro programování, s možnostmi programování jednočipových počítačů, vytvořit systémový návrh vývojového modulu pro vybraný typ procesoru, vývojový modul realizovat a vytvořit pro něj jednoduché programy, které budou sloužit pro výukové účely. Pro zahájení tvorby této bakalářské práce bylo nejprve nutné se seznámit s různým vývojovým prostředím pro programování mikroprocesorů. Jako ukázkové byly rozebrány programy MPLAB X IDE v2.20, MikroC PRO for PIC a Arduino 1.0.6. Následně bylo potřeba se seznámit s jednotlivými typy procesorů řady PIC a Arduino. Byla rozebrána základní architektura mikroprocesorů a jednotlivé části byly popsány. Poté bylo popsáno rozdělení mikroprocesorů PIC. Pro seznámení s programováním jednočipových počítačů byl využit modul Arduino Uno. Pomocí nepájivého pole bylo realizováno zapojení několika LED diod, které bylo pomocí tohoto modulu programováno. V další fázi této práce byl vytvářen modul s mikroprocesorem PIC16F873A. Nejprve byl proveden návrh schématu zapojení mikroprocesoru v programu EAGLE. Poté byl vytvořen návrh desky plošných spojů ze schématu. Nakonec byla deska vyleptána a osazena v laboratoři. Po vyleptání a osazení desky bylo vytvořeno několik příkladů pro otestování funkčnosti všech výstupů a sériové komunikace s počítačem, která byla zprostředkována pomocí USB adaptéru od firmy Arduino. Jako příklad otestování sériové komunikace může být uvedeno zobrazování čísel od 0 do 255 v binární soustavě pomocí LED diod, kdy čísla byla zadávána do okna pro sériovou komunikaci a odesílána klávesou enter. Jako příklad kontroly funkčnosti PWM výstupu může být uvedena postupná změna výšky tónu u sirény. Pro zapojení bylo opět využito nepájivé pole. Následně byl vytvořen systémový návrh celého vývojového modulu jako směr dalšího řešení a na blokovém schématu byl vysvětlen předpokládaný princip funkčnosti celého vývojového modulu. Další fáze byla tedy zaměřena na návrh a realizaci rozšiřujícího modulu pro vývoj aplikací. Nejprve bylo nutné vyřešit zapojení řídicího modulu do zkušební desky. Bylo zvoleno přímé spojení pomocí konektorů. Následně bylo možné v programu EAGLE nakreslit schéma zapojení a z něho vytvořit desku plošných spojů. Po důkladné kontrole byla deska vyleptána v laboratoři a osazena. Navržený rozšiřující modul obsahuje LED diody, sedmi-segmentové displeje, BCD dekodéry pro tyto displeje, tlačítka, piezoelektrickou sirénu a také maticový displej. Po dokončení rozšiřujícího modulu pro vývoj aplikací byly vytvořeny programy pro řízení již zmíněné použité prvky. Pro obsluhu, popis a programování celého vývojového modulu byly nakonec vytvořeny webové stránky s využitím technologií PHP + HTML5. Tyto stránky obsahují odborný popis vývojového modulu a jsou zde také umístěny a popsány veškeré příklady, které byly pro vývojový modul vytvořeny. Tyto webové stránky vznikly hlavně za účelem podpory výuky studentů, kde mohou najít pomoc při programování tohoto vývojového modulu nebo obecně mikroprocesorů PIC. Tvorba vývojového modulu pro jednočipové počítače 12
13 Použitá literatura ARDUINO. Arduino [online]. 2014 [cit. 2014-10-19]. Dostupné z: http://arduino.cc HORÁČEK, Oldřich. CzechDUINO [online]. 2012 [cit. 2014-10-19]. Dostupné z: http://czechduino.cz/ ŠPRINGL, Vít. Mikrokontroléry PIC [online]. 2011 [cit. 2014-10-19]. Dostupné z: http://mikrokontrolery-pic.cz/ MICROCHIP TECHNOLOGY INC. Microcontrollers [online]. 1998 [cit. 2014-11-13]. Dostupné z:http://www.microchip.com/ ILČÍK, Václav. Moderní napájecí zdroje [online]. 2008 [cit. 2014-11-14]. Dostupné z:http://www.technika.ilcik.cz MIKROELEKTRONIKA. MikroElektronika [online]. 1998 [cit. 2015-01-13]. Dostupné z: http://www.mikroe.com/ GM ELECTRONIC. GM Elektronic [online]. 1990 [cit. 2015-01-13]. Dostupné z: http://www.gme.cz/ BOYER, S. A. 1999. SCADA: Supervisory Control and Data Acquisition, 2nd Edition. New York (USA): ISA, 1999. 215 p. ISBN 1-55617-660-0. VLACH, J. Počítačová rozhraní, přenos dat a řídicí systémy. Praha, BEN-technická literatura, 1997, ISBN 80-85940-17-4. WHITT, M. D. 2003. Successful Instrumentation and Control Systems Design. New York (USA): ISA, 2003. 360 p. ISBN 1-55617-844-1. Tvorba vývojového modulu pro jednočipové počítače 13