Vysoká škola chemicko-technologická v Praze Fakulta chemicko-inženýrská Ústav počítačové a řídicí techniky. Aplikace mikroprocesorů.



Podobné dokumenty
Desky Evb Display a Evb Keyboard

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í

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 6

9. Rozšiřující desky Evb_Display a Evb_keyboard

Vysoká škola chemicko-technologická v Praze Fakulta chemicko-inženýrská Ústav počítačové a řídicí techniky. Aplikace mikroprocesorů KROKOVÝ MOTOREK

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: :01:48

Záznamník teploty ZT, ZT1ext Návod k použití

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 10

Nabíječ NiCd a NiMh článků řízený mikroprocesorem

ROZHRANÍ 4 VSTUPŮ/VÝSTUPŮ. 4x OPTICKY ODDĚLENÉ LOG. VSTUPY 4x RELÉ SPÍNACÍ VÝSTUPY OVLÁDÁNÍ: LINKA RS232


Pravidla pro získání zápočtu vytvořením individuální semestrální práce mimo cvičení

Maticová klávesnice. Projekt do předmětu Subsystémy PC. Brno, Tomáš Kreuzwieser, Ondřej Kožín

Průvodní dokumentace indikací BC - 0X BC - 4X BC - 5X BC - 6X

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

PROSTOROVÝ TERMOSTAT S MODULACÍ (e-bus)

1. Programování PLC. Programovatelné automaty II - 1 -

ŘÍZENÍ FYZIKÁLNÍHO PROCESU POČÍTAČEM

Popis instrukční sady - procesory PIC Aritmetické a logické operace

Příručka pro uživatele. Řídící jednotka Toro DDC Série s digitálním přepínačem funkcí

RE5USB programovatelné USB relé s integrovaným watchdogem ( RE5 ) Základní vlastnosti

Podprogram DELAY.INC. - konstanty časových prodlev. RB3 equ 11b DEL1MS: DEL800: DEL400: DEL200 DEL100 DELAY: ret DEL1MS

DM4.3 odmagnetovací modul

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

POZOR! Při zadávání kódu je potřeba nejdřív zadat pořadové číslo a pak kód: například uživatel 25 který má kód 1234 zadá

POKLADNÍ DISPLEJ LCD. hotline: strana 1

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 2

UŽIVATELSKÝ MANUÁL FOTOPAST ACORN LTL-5210

SOUPRAVY PRO MĚŘENÍ ÚTLUMU/VÝKONU. UŽIVATELSKÝ NÁVOD přístrojů EPM-500/ELS-500 verze 1.0

Řídící jednotka AirBasic 2

NEO NÁVOD K POUŽITÍ. Zkrácený popis funkcí ohřívače NEO

Lekce 3 Vizuální programování

Modul univerzálních analogových vstupů R560. Shrnutí

TX20RS. Měření rychlosti a směru větru. Inteligentní anemometr s RS232 a RS prosince 2014 w w w. p a p o u c h. c o m

MIKROKONTROLERY PIC16F84

MCIO2. Kompaktní I/O modul. Shrnutí. Použití Kompaktní I/O modul pro sběr dat a řízení procesů. Funkce

Displej pro solární regulátor Tracer-2215RN MT-5

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

RE8USB modul s 8 vstupy a 8 výstupy ovládaný z USB

Wind RS. Měření rychlosti a směru větru. Inteligentní anemometr s RS232 a RS dubna 2016 w w w. p a p o u c h. c o m

Návod na použití Dveřní jednotka DJ 1T, DJ 2T Stránka 1

Remote Meter: MT-5 Pro použití se solárnímy regulátory Tracer MPPT series.

Ústav fyziky a měřicí techniky Laboratoř chemických vodivostních senzorů

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Minidiktafon EDIC mini LCD

Elektronická stavebnice: Generátor frekvence s optickým a akustickým výstupem

Elektronická časomíra SH3

Minikamera s detekcí pohybu

Cvičení 2. Obsah a cíle cvičení. Obsah. A5MPL Programování mikropočítačů Digitální vstupy a výstupy - LED a tlačítka.

Hip-Hop můžete ovládat pomocí osvětlovacího pultu či vhodného kontroléru pro světla, který připojíte pomocí DMX (XLR) kabelu.

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 5

Uživatelská příručka pro program

Modul řízení otáček stejnosměrného motorku

Real time tlakový snímač

Přerušovací systém s prioritním řetězem

Uživatelský manuál JA-60 Comfort

Regulátor Komextherm PA-5

IR Kamera s nahráváním BD-300G Uživatelská příručka

Návod na použití Vnitřní jednotka/audio telefon etel

TX4. Dálkové ovládání. Instalační instrukce a upozornění. Verze 2.0 9/08. Česky

4CH kamerový systém do auta Secutron CarGuard SE- 4SDE

IMTEE Přednáška č. 11

INTELIFORM V.2 Návod ke stavbě a k použití

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

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Ekvitermní regulátor ETR 16C

SADA BIFS III ELEKTROPOHON PRO JÍZDNÍ KOLA

Centrifuga/vortex Multi-spin MSC-3000

Návod na použití Dveřní jednotka DJ 1T KEY Stránka 1

FLOOR TALKER. Uživatelský návod verze 1.0. TELSYCO s.r.o. Prostřední 627/ Praha 4.

Diktafon vhodný pro nahrávání hovorů na smartphonech včetně iphone

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

Přepínač počítačů (Klávesnice, VGA, Myš) 4:1 PS/2, elektronický CS-114A 4 port KVM přepínač Uživatelský manuál

UNIVERZÁLNÍ GSM ŘÍDÍDÍCÍ JEDNOTKA. Alpha GUARD. typ 2in3out/A. Návod k instalaci a programování v1.0

Plně hybridní videorekordér

Číslicový otáčkoměr TD 5.1 AS

Kamera do auta s IR osvětlením a podporou SD karet HQS-205A

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 7

Optické kabely - měřící přístroje

Návod na použití. Návod na použití. Dveřní jednotka PC-D244-K. Stránka 1

Zapisovač nemá síťový vypínač a zapne se připojením síťové šnůry na zdroj napájení.

OBSAH. Balení obsahuje: VYSVĚTLENÍ POJMŮ ZPROVOZNĚNÍ ZAŘÍZENÍ

dvblogic DVB-T tuner

L A B O R A T O R N Í C V I Č E N Í

Návod na instalaci termostatu devireg 850 ochrana okapů před sněhem a ledem

CDV-72BE domácí videotelefon

HC-ESC Kalibrátor/multimetr

Seznam dostupných ovladačů FAAC (frekvence 868,35 MHz):

Obchůzkový systém v reálném čase Active Guard - využívání služby Monitoring obchůzek a SW KronosNET

Domovní dorozumívací systémy. Art Videotelefon pro digitální BUS6 systém Videx VX2200

1. ÚVODNÍ USTANOVENÍ 2. NAHRÁNÍ VLOŽENÉHO PROGRAMU

Při prvním stisku se přehraje první zpráva v pořadí, při následujícím stisku se přehraje další zpráva atd.

Informace pro uživatele k likvidaci elektrických a elektronických zařízení (domácnosti)

ŘÍDÍCÍ SYSTÉM CAREL ARIA

Digitální RPM switch. se třemi nezávisle ovládanými výstupy. RS-01 (fw 1.1)

AUTOMATICKÝ POHON SERIE 930N SF zapojení

Návod k obsluze satelitního lokalizátoru GUARDYS PGT5020

Bezpečnostní centrála EMB 7200 Nastavení, přepínače, ukazatele

DVOJITÝ CD PŘEHRÁVAČ RESIDENT DJ JY-2CD, CUE, PITCH, RACK. Návod k použití

Transkript:

Vysoká škola chemicko-technologická v Praze Fakulta chemicko-inženýrská Ústav počítačové a řídicí techniky Aplikace mikroprocesorů Deska Evb IO Návod k použití Lukáš Lahoda 2010

Obsah 1 DESKA EVB IO... 2 1.1 PROPOJENÍ DESKY EVB IO S DESKOU EVBHCS08... 2 1.2 DIODY NA EVB IO... 2 1.3 TLAČÍTKA NA EVB IO... 2 2 VZOROVÉ PROGRAMY... 4 2.1 PROGRAM Č.1 BINÁRNÍ ČÍSLA... 4 2.2 PROGRAM Č.2 HAD... 5 2.3 PROGRAM Č.3 CIHLY... 6 2.4 PROGRAM Č. 4 TLAČÍTKA... 7 3 LITERATURA... 8 1

1 Deska Evb IO Deska Evb IO (IO = input/output) je univerzální vstupně/výstupní deska určená k propojení s deskou EvbHCS08. Její schéma můžete prostudovat na obr. 1. Deska obsahuje několik konektorů pro další zařízení (BNC, J1, J2), 8 tlačítek (TL1 TL8), 8 LED diod (D1 D8) a 4 osmibitové přepínače typu switch (SW1 SW4). Pokud k desce nejsou připojena žádná další zařízení, můžeme využít diody a tlačítka. 1.1 Propojení desky Evb IO s deskou EvbHCS08 Tyto desky propojte přes paralelní port pomocí plochého kabelu, který je k dispozici v laboratoři. V tomto návodu budeme předpokládat propojení desek přes port PTA desky EvbHCS08. 1.2 Diody na Evb IO Na desce se nachází 8 LED diod, které mohou sloužit jako přídavné výstupy desky EvbHCS08 a dají se využít např. jako indikátory nejrůznějších stavů. Abychom mohli přistupovat přes paralelní port k těmto diodám, musíme správně nastavit přepínače na switch SW1 až SW4. Můžeme si vybrat, a to pro každou diodu zvlášť, jestli bude svítit pří zápisu log 0, nebo log 1 na příslušný pin portu. V tohoto návodu nastavíme switche tak, aby se všechny diody rozsvěcely zápisem log 1 na příslušné piny paralelního portu desky EvbHCS08. Nastavte tedy řady přepínačů následovně: SW1, SW3 a SW4 všechny přepínače do polohy OFF, SW2 všechny přepínače do polohy ON. Takto nastavenou desku propojte s portem PTA 1 desky EvbHCS08 a v programu nastavte všechny piny tohoto portu pro zápis. Zapsáním log 1 na pin PTAx by se měla rozsvítit dioda D(x+1) (diody jsou číslovány od 1 do 8, kdežto piny portů od 0 do 7). 1.3 Tlačítka na Evb IO Máme k dispozici 8 tlačítek, které mohou sloužit jako přídavné vstupy k desce EvbHCS08. Jelikož je tato deska sama osazena pouze dvěma tlačítky, můžou být další tlačítka užitečná. Piny č. 10 všech desetipinových paralelních portů PTA až E složí jako zdroj napětí, kterým je možné napájet přídavné desky. Toto napětí nyní využijeme jako zdroj logického signálu, který budou tlačítka spínat. Sledujte následující úvahy společně se schématem na obr. 1. Abychom přivedli napětí, tedy náš logický signál, na tlačítka, musíme přepnout všechny přepínače switche SW4 do polohy ON. Tím ale zároveň přivedeme signál log 1 na piny 2 až 9 konektoru PTIO (tyto piny odpovídají pinům 0 7 zvoleného paralelního portu desky EvbHCS08), což za předpokladu, že jsme naše desky propojili přes port PTA, znamená, že při uvolněném tlačítku TL(x+1) získáme čtením pinu PTAx hodnotu log 1 (tlačítka jsou číslována od 1 do 8, kdežto piny portů od 0 do 7). Přepínače na SW3 se nyní musí všechny nacházet v poloze OFF, jinak by nám napětí touto cestou unikalo na zem. Pokud přepneme přepínače na SW2 na ON, můžeme sledovat stav tlačítek pomocí LED diod (dioda svítí = příslušné tlačítko uvolněno a naopak). SW1 zůstává v poloze OFF. Stiskem některého 1 POZOR! Na deskách EvbHCS08 přítomných v laboratoři AL02 je prohozeno označení portů PTA a PTB! 2

z tlačítek propojíme zdroj napětí se zemí a tím napětí na příslušném pinu portu, ze kterého čteme, klesne na 0. Čteme-li hodnotu pinu PTAx a má-li tento hodnotu 0, znamená to, že bylo stisknuto tlačítko TL(x+1). Obr. 1. Schéma desky Evb IO 3

2 Vzorové programy Vytvoříme nyní program, který bude v určitých časových intervalech s využitím časovače TPM1 na EvbHCS08 zapisovat data na port PTA a tím rozsvěcet/zhasínat diody na desce Evb IO. Propojte tedy obě desky pře port PTA, přepněte přepínače switch dle odst. 1.2, nastavte všechny piny portu PTA pro zápis a inicializujte časovač TPM1. void main(void) { SOPT_COPE=0; TPM1SC=0b01001010; PTAD= 0b00000000; PTADD=0b11111111; EnableInterrupts; for(;;) { Nyní budete mít za úkol vytvořit několik různých implementací funkce pro přerušení časovače, každá z nich bude představovat jeden program pro LED diody. Na závěr vytvoříme jeden program pro otestování funkčnosti tlačítek a ověření možnosti jejich použití jako přídavných vstupů. 2.1 Program č.1 Binární čísla Zadání Úkolem je ve zvoleném časovém intervalu postupně zobrazovat čísla 0 až 255 v binárním kódu pomocí 8 diod na desce Evb IO. Řešení Sestavíme funkci pro přerušení časovače TMP1. Na začátku programu máme na portu PTA zapsanou hodnotu 0b00000000, poté při každém přerušení zvýšíme tuto hodnotu o 1. Funkce obsluhující přerušení vypadá následovně: interrupt 8 void tpm1ovf (void) { TPM1SC_TOF=0; //nulování příznaku přerušení lda PTAD inca sta PTAD 4

2.2 Program č.2 Had Zadání Naprogramujte funkci pro přerušení časovače tak, aby výsledkem byl had o délce 3 diod, který se ze své počáteční pozice posune při každém přerušení o 1 pozici zvoleným směrem. Pokud had přeteče, objeví se znovu na druhém konci. Výsledkem by měla být následující sekvence (symbol x představuje rozsvícenou diodu, symbol o zhasnutou): oooooxxx ooooxxxo oooxxxoo ooxxxooo oxxxoooo xxxooooo xxooooox xoooooxx oooooxxx atd. Řešení Počáteční stav hada vytvoříme zápisem hodnoty 0b00000111 na port PTA ve funkci main. PTAD= 0b00000111; Posun hada řešíme v obslužné funkci přerušení rotací registru PTAD. Musíme si však dát pozor v okamžiku, kdy dochází k rotaci jedničky přes carry bit z bitu 7 na bit 0. Instrukce rol standardně funguje tak, že v jedné iteraci provede rotaci a hodnotu bitu 7 uloží do carry bitu. Tuto hodnotu pak až v další iteraci uloží do bitu 0. Jak ale znáte z teorie přerušení, dochází před voláním obslužné funkce k uložení hodnot registrů CPU do zásobníku, odkud jsou po návratu z obslužné funkce obnoveny. Tím dojde ke ztrátě informace v carry bitu, kam jsme v obslužné funkci dočasně uložili hodnotu bitu 7 a tato hodnota při dalším přerušení již není k dispozici. Had by nám tedy odjel za okraj a na druhé straně by se už neobjevil. Před návratem z obslužné funkce přerušení tedy musíme po rotaci zkontrolovat hodnotu v carry bitu a v případě, že je nastavena na 1, manuálně nastavit bit 0 na 1. Had se nám poté po přetečení vrací na začátek a rotuje v nekonečné smyčce. interrupt 8 void tpm1ovf (void) { rol PTAD //rotace bcc next //branch if carry bit clear lda PTAD ora #0b00000001 sta PTAD next: 5

2.3 Program č.3 Cihly Zadání Pomocí LED diod na desce Evb IO vizualizujte padání cihel na hromadu. Začněte se všemi diodami zhasnutými a poté postupně vytvářejte cihly rozsvěcením bitu 0 a následným posunem směrem k bitu 7. První cihla se zastaví na bitu 7, druhá na bitu 6 atd. až dojde k zaplnění všech osmi bitů jedničkami. Poté opět všechny bity nastavte na 0 a cyklus opakujte v nekonečné smyčce. Cílem je realizovat následující sekvenci: oooooooo ooooooox ooooooxo oooooxoo ooooxooo oooxoooo ooxooooo oxoooooo xooooooo xoooooox xoooooxo xooooxoo xoooxooo xooxoooo xoxooooo xxoooooo xxxooooo xxxxoooo xxxxxooo xxxxxxoo xxxxxxxx oooooooo atd. Řešení Řešení tohoto úkolu je ze všech nejsložitější. Kromě registru PTAD budeme muset využít 3 další bajty v paměti, a to na adresách 0x80, 0x81 a 0x82. Aktuální stav hromady budeme udržovat na adrese 0x80. Cihla bude padat na adrese 0x81, kde vždy nastavíme bit 0 na 1 a poté pomocí instrukce lsl (logical shift left) posuneme v každé iteraci cihlu o 1 pozici dolů. Pro zobrazení situace sečteme logickým součtem (ora) hromadu (0x80) s cihlou (0x81) a výsledek zapíšeme do registru PTAD, čímž dojde k rozsvícení příslušných diod. Dál je nutné kontrolovat, zda cihla již dopadla na hromadu a zareagovat zvětšením hromady o 1 cihlu, zrušením stávající cihly a vytvořením cihly nové. K tomu nám poslouží bajt na adrese 0x82, kam si vždy na začátku iterace uložíme aktuální hromadu zvětšenou o 1 cihlu a tu pak porovnáme s aktuální situací. Pokud je aktuální situace rovna se situací na adrese 0x82, došlo k dopadu cihly na hromadu a můžeme na to zareagovat. Poslední věcí, kterou je třeba v každé iteraci zkontrolovat, je zda nedošlo k zaplnění všech polí cihlami a pokud ano, hromadu zrušit a začít ji plnit od začátku. Ve funkce main inicializujte hromadu a cihlu: mov #0b00000000,0x80 //hromada cihel mov #0b00000001,0x81 //padající cihla Obslužnou funkci přerušení časovače sestavte následovně: interrupt 8 void tpm1ovf (void) { lda 0x80 lsra ora #0b10000000 sta 0x82 //hromada zvětšená o cihlu lda 0x80 ora 0x81 //hromada+padající cihla sta PTAD //zobraz situaci 6

cmp 0x82 //porovnej aktuální situaci s hromadou zvětšenou o 1 beq dopad //pokud cihla dopadla na hromadu, jdi na dopad lsl 0x81 //pád cihly = posunutí cihly o 1 pozici doleva bra end dopad: mov 0x82,0x80 //ulož zvětšenou hromadu mov #0x00000001,0x81 //vytvoř novou cihlu na startovní pozici lda 0x80 cmp #0b11111111 blt end //hromada není plná? mov #0b00000000,0x80 //vyprázdni hromadu, pokud je plná end: 2.4 Program č. 4 Tlačítka V následujícím velice krátkém příkladě ověříme funkčnost tlačítek. Nastavte desku dle odst. 1.3., propojte desky přes port PTA a vytvořte následující krátký program: void main(void) { SOPT_COPE=0; //zákaz watchdog PTADD=0b00000000; //nastavení PTA pro čtení for(;;) { if (PTAD_PTAD0==0) { lda 0b00001111; else { lda 0b11110000; Vytvořený program krokujte a sledujte hodnotu v registru A. Tato hodnota by se měla měnit v závislosti na stavu tlačítka TL1. Při stisku jakéhokoli tlačítka by zároveň mělo dojít ke zhasnutí jemu odpovídající LED diody. 7

3 Literatura [1] Freescale Semiconductor MC9S08GB/GT Data Sheet 8