Tvorba vývojového modulu pro jednočipové počítače Creation of Evaluation Module for Microcontrollers



Podobné dokumenty
PIC PROGRAMÁTOR Milan Obrtlílk 4. ročník SŠPH Uh. Hradiště

PŘÍLOHY. PRESTO USB programátor

Návrh konstrukce odchovny 2. dil

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

ČEMU ROZUMÍ MIKROPROCESOR?

EduKitBeta Uživatelská příručka

FREESCALE TECHNOLOGY APPLICATION

Jízda po čáře pro reklamní robot

DIGI Timer 8 8 kanálové stopky se záznamem dat

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

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

Témata profilové maturitní zkoušky

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Elektronická stavebnice: Teploměr s frekvenčním výstupem

Arduino Martin Friedl

PVKpro vývojový kit s programátorem pro mikrokontrolér PIC16F84 Připojení k PC: paralelní port Uživatelská příručka

AVR TESTBOARD. Karel Babický. SPŠ a VOŠ Písek Karla Čapka 402, Písek

Návod k obsluze výukové desky CPLD

MIKROKONTROLÉRY. Jednočipový počítač nebo také angl. Microcontroller (Mikrokontrolér, MCU, µc)

Sériový programátor SI Prog

Integrovaná střední škola, Sokolnice 496

Vývojové kity Mega48,

Mikrokontrolery. Úvod do obvodů Atmega 328 a PIC16F88

Integrovaná střední škola, Sokolnice 496

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

Zadání projektu č.2. Digitální binární hodiny

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

BEZDRÁTOVÉ ZABEZPEČOVACÍ ZAŘÍZENÍ

Logické řízení s logickým modulem LOGO!

Microchip. PICmicro Microcontrollers

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

ETC Embedded Technology Club setkání 3, 3B zahájení třetího ročníku

Příloha č. I: Schéma zapojení vývojové desky PVK-PRO

Virtualizace v architekturě počítačů Virtualization in architecture of computers

Středoškolská technika Meteostanice

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Středoškolská odborná činnost

Střídací tabule na fotbal

VUT EBEC2017 Projekt. Wiping Turn Indicator Audi TT

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

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIII Paměti konstant

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

MSP 430F1611. Jiří Kašpar. Charakteristika

PVK. Uživatelská příručka. Zařízení určené k odlaďování aplikací s mikrokontroléry PIC16C5x, PIC16C71 a PIC16F84. Strana 1 / 9

Students for Automotive (S4A)

VÝVOJOVÁ DESKA PRO JEDNOČIPOVÝ MIKROPOČÍTAČ PIC 16F88 A. ZADÁNÍ FUNKCE A ELEKTRICKÉ PARAMETRY: vstupní napětí: U IN AC = 12 V (např.

MI1249. Video rozhraní pro vozidla Citroen C5 a Peugeot 508

Studentská tvůrčí a odborná činnost STOČ 2017

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

Deska sběru chyb a událostí

PRESTO. USB programátor. Uživatelská příručka

STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST

uz80 Embedded Board ver. 1.0 uz80 Vestavná Řídící Deska ver. 1.0

Řízení a vizualizace elektropneumatických

FVZ K13138-TACR-V004-G-TRIGGER_BOX

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

Students for Automotive (S4A)

I N V E S T I C E D O R O Z V O J E V Z D Ě L Á V Á N Í. výstup

Zařízení pro měření teploty, atmosférického tlaku a nadmořské výšky

Kódový zámek k rodinnému domu

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

Uživatelská příručka

Uživatelská příručka

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

LED zobrazovač. Úvod. Jak to pracuje? Popis zapojení. Autor: Ing.Tomáš Pavera / OK2TPQ Datum: Revize: 1.0

Projekt BROB B13. Jízda po čáře pro reklamní robot. Vedoucí projektu: Ing. Tomáš Florián

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce

Rozšiřující desce s dalšími paralelními porty Rozšiřující desce s motorkem Elektrickém zapojení Principu činnosti Způsobu programování

Kompaktní procesní stanice

Oscilátory. Návod k přípravku pro laboratorní cvičení v předmětu EO.

Témata profilové maturitní zkoušky

Elektronická stavebnice: Deska s jednočipovým počítačem

PK Design. MB-ATmega16/32 v2.0. Uživatelský manuál. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 (21.12.

STABILIZACE PROUDU A NAPĚTÍ

Návod k regulátoru ZMC Univerzální modul vstupů a výstupů ZMC-DIO-485 v1.20

Univerzální jednočipový modul pro řízení krokových motorů

Univerzální řídící modul LePIC

Maturitní témata - PRT 4M

Návod pro použití snímače tlaku s rozhraním IO-Link

Návrh zabezpečovacího systému na bázi mikroprocesorů PIC

PGSM-M10 - GSM/GPRS moduly s M10

WiFi LED informační panel

Praktické měřící rozsahy , , , ot/min Přesnost měření 0.02%

Inovace a zkvalitnění výuky směřující k rozvoji odborných kompetencí žáků středních škol CZ.1.07/1.5.00/

Středoškolská technika SCI-Lab

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Digitální odpalovací pult HELENA Firing 93

Analyzátor sériového rozhraní RSA1B

Modelová úloha Zabezpečení a správa budovy

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

Úvod do mobilní robotiky AIL028

UniPi 1.1 Lite Technologická dokumentace

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Displej DT20-6. Update firmware řadiče. Simulační systémy Řídicí systémy Zpracování a přenos dat TM 2012_10_

Ethernetový komunikátor ETH-BOX1

KONEKTOROVÝ BLOK PRO BASLER ACE

Merkur perfekt Challenge Studijní materiály

TECHNICKÁ DOKUMENTACE

Transkript:

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