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

Podobné dokumenty
PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 8

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

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

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

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

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

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CVIČENÍ 9

Postupy práce se šablonami IS MPP

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

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

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

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

PREZENTACE 1.22 HYPERTEXTOVÉ ODKAZY

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

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

Desky Evb Display a Evb Keyboard

Formuláře. Téma 3.2. Řešený příklad č Zadání: V databázi formulare_a_sestavy.accdb vytvořte formulář pro tabulku student.

Tabulkový kalkulátor

Svolávací systém Uživatelský manuál

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CVIČENÍ 5

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem

Prohlížení a editace externích předmětů

Návod ke cvičení předmětu BPGA ControlLogix

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CVIČENÍ 4

František Hudek. duben Informační a komunikační technologie MS Excel Úvod do Excelu II. Základy práce s listy a buňkami.

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

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

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází

Ovládání MZK Terminalu je jednoduché a intuitivní. Terminal se ovládá pěti tlačítky.

Internetové technologie, cvičení č. 5

Administrace webových stránek

2. Najeďte si kurzorem myši do pravého spodního rohu k symbolu malého černého čtverečku kurzor myši se změní na černý nitkový kříž.

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

ANS orientace v aplikaci a pokladně

2017 CARAT "New design"

1 Filozofie knihy jízd

Návod k obsluze trenažéru

WAK INTRA. Ovládání systému. internetový informační systém. účinný nástroj pro vedení firemních agend.

Uživatelský manuál aplikace. Dental MAXweb

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Návod ke cvičení předmětu BPGA SLC 500

Uživatelský manuál. Format Convert V3.1

zobrazuje názvy polí, vložené hodnoty jednotlivých záznamů, lze v něm zadávat data (přidávat záznamy) v návrhovém zobrazení:

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

SCHÉMA aplikace ObčanServer 2 MENU aplikace Mapové kompozice

1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky

Obsah. při vyšetření pacienta. GDT souboru do programu COSMED Omnia GDT souboru z programu COSMED Omnia a zobrazení výsledků měření v programu MEDICUS

6. Formátování: Formátování odstavce

Semestrální práce 2 znakový strom

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28.

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

Ignijet_2007 Externí monitor

M E T O D I K A W I K I

Návod na používání aplikace TV DIGITAL OnGuide(EPG)

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

Podrobný návod pro administraci zákaznických účtů na portálu Czechiatour.eu

Centrální příjem (CP) požadavků, Pracovní listy (PL), Výsledky po metodách (VPM)

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CVIČENÍ 10

Soukromá střední odborná škola Frýdek-Místek, s.r.o. VY_32_INOVACE_03_IVT_MSOFFICE_02_Excel

Microsoft Word - Styly, obsah a další

Manuál byl vytvořen v rámci projekt Kruh propojení klíčových hráčů v oblasti vzdělávání dospělých v kraji Vysočina

Dotazy tvorba nových polí (vypočítané pole)

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.

Přihlášení k maturitním zkouškám

Informační a komunikační technologie Petr Zlatohlávek

METODICKÝ POKYN PŘIDÁNÍ A PŘEHRÁNÍ VIDEA V PREZENTACI

NAPOJENÍ ZAŘÍZENÍ S KOMUNIKACÍ BELIMO MP-BUS NA SÍŤ AUTOMATŮ MICROPEL

UŽIVATELSKÁ PŘÍRUČKA UČITEL

DUM 06 téma: Tvorba makra pomocí VBA

PREZENTACE ÚPRAVA POZADÍ SNÍMKU

METODICKÉ LISTY. výstup projektu Vzdělávací středisko pro další vzdělávání pedagogických pracovníků v Sokolově

LED Display Eyetv (počítačový panel)

Projekt Obrázek strana 135

Průvodce aplikací GTS Webový portál pro správce

Gymnázium Ostrava Hrabůvka, příspěvková organizace Františka Hajdy 34, Ostrava Hrabůvka

II. Elektronická pošta

Konvertor diakritiky 3. Instalace

Moje-Projekty.cz Dokumentace k aplikaci

Postup instalace přídavného modulu pro Aktuální zůstatky (CBA) v programu MultiCash KB (MCC)

Návod na práci s přípravkem a programem uscope na cvičeních

Průvodce Vyúčtování s přehledem

DUM č. 5 v sadě. 30. Inf-6 Imagine Logo a animace pro nižší gymnázium

Inovace výuky prostřednictvím šablon pro SŠ

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

LMS Moodle příručka učitele

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Naším cílem je Vaše spokojenost...

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CVIČENÍ 2

Vytvoření tiskové sestavy kalibrace

15. Projekt Kalkulačka

BARVY. Příkaz barva. Barvy TrueColor. Se objeví dialogové okno

1. Umístěte kurzor do sloupce Datový typ na řádek s polem, ve kterém vytvořit chcete seznam.

Studijní skupiny. 1. Spuštění modulu Studijní skupiny

Návod pro programovatelný ovladač

8. Laboratoř: Aritmetika a řídicí struktury programu

Google Apps. kalendář 2. verze 2012

Návod k používání eshopu Iveco

PREZENTACE MS POWERPOINT

Základní vzorce a funkce v tabulkovém procesoru

Transkript:

UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ FAKULTA APLIKOVANÉ INFORMATIKY PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 7 Využití knihoven podprogramů, displej Jan Dolinay Petr Dostálek Zlín 2013 Tento studijní materiál vznikl za finanční podpory Evropského sociálního fondu (ESF) a rozpočtu České republiky v rámci řešení projektu: MODERNIZACE VÝUKOVÝCH MATERIÁLŮ A DIDAKTICKÝCH METOD

2 Cvičení 7 Využití knihoven podprogramů, displej STRUČNÝ OBSAH CVIČENÍ: Použití knihovny podprogramů pro práci s periferiemi ovladače Ovladač displeje na vývojovém kitu Ukázkový program výpis textu na displej Úkoly k procvičení VSTUPNÍ ZNALOSTI: Toto cvičení předpokládá znalosti z předchozích cvičení. CÍL: Na tomto cvičení si ukážeme, jak se pracuje s LCD displejem na vývojovém kitu s využitím ovladače (knihovny podprogramů). Cvičení se vztahuje k těmto otázkám Přerušovací systém mikropočítače HC08 princip obsluhy přerušení, typy přerušení

3 Řešené příklady Příklad 1 Výpis textu na displej Úkol: Vytvořte program, který vypíše na první řádek displeje text Hello World a na druhý řádek vypíše znaky: U, T, B na pozicích 3, 6 a 9. Řešení Použijeme podprogramy ovladače pro vypsání textového řetězce, pro posun kurzoru a pro výpis znaku. Program je natolik jednoduchý, že zde nebudeme uvádět vývojový diagram. Postup bude takovýto: Definujeme textový řetězec, do kterého uložíme text hello world. V podstatě se jedná o pole bajtů, které obsahují konstantní hodnoty a to kódy příslušných znaků v ASCII. Zavoláme podprogram ovladače displeje dinit, který provede inicializaci displeje Zavoláme podprogram dcls který smaže displej Nastavíme kurzor na první řádek a první sloupec displeje podprogramem setcursor Vypíšeme text na displej voláním podprogramu dtext s příslušným parametrem Přesuneme kurzor na druhý řádek a třetí sloupec Vypíšeme znak U podprogramem douta Stejným postupem vypíšeme znaky T a B, vždy po přesunutí kurzoru na potřebnou pozici na displeji. Pozor: Před překladem programu je nutno přidat do projektu v Code Warrior zdrojový kód ovladače disp_gb60.asm a soubor definic funkcí ovladače disp_gb60.inc. Do našeho zdrojového kódu vložíme odkaz na soubor disp_gb60.inc pomocí direktivy include. Postup je uveden níže při popisu překladu a testování programu.

4 Vysvětlení programu Na obr. 1 je zdrojový kód programu podle zadání. MyCode: SECTION text dc.b Hello World' ; text, ktery chceme zobrazit dc.b 0 ; zakoncovaci znak main: _Startup: ldhx # SEG_END_SSTACK ; inicializace zasobniku txs cli ; povol preruseni jsr dinit ; inicializace displeje jsr dcls ; smazani displeje ldx #1 ; 1.radek lda #1 ; 1.sloupec jsr setcursor ; nastaveni kurzoru na pozadovanou pozici ldhx #text ; adresa textu do H:X jsr dtext ; zavolame funkci pro zobrazeni retezce ldx #2 ; 2.radek lda #3 ; 3.sloupec jsr setcursor ; nastaveni kurzoru na pozadovanou pozici lda #'U' jsr douta ; vypis znaku 'U' lda #6 ; 6.sloupec jsr setcursor ; nastaveni kurzoru lda #'T' jsr douta ; vypis znaku 'T' lda #9 ; 9.sloupec jsr setcursor ; nastaveni kurzoru lda #'B' jsr douta ; vypis znaku 'B' konec feed_watchdog bra konec Obr. 1 Výpis ukázkového programu obsluhy displeje pomocí ovladače

5 V programu je nejprve pomocí direktivy DC.B (vytvoř konstantu) vytvořen textový řetězec text. Jméno této proměnné samozřejmě nemusí být zrovna text, může být libovolné. Všimněte si nuly, který je vložena hned na dalším řádku v paměti bude následovat za textem a to je ona ukončující značka NULL, která označuje konec textového řetězce. Kód našeho programu pak začíná řádkem JSR dinit tj. voláním podprogramu ovladače displeje pro inicializaci displeje. Pak smažeme displej zavoláním podprogramu dcls. Poté posuneme kurzor na začátek prvního řádku pomocí podprogramu setcursor. Tento podprogram má 2 parametry, viz popis podprogramů výše, a to číslo řádku v registru X a číslo sloupce v registru A. Tedy souřadnice, kam se má nastavit kurzor. V našem případě nastavujeme kurzor na první řádek (#1 v registru X) a na první sloupec v tomto řádku (#1 v registru A). Poté vypíšeme textový řetězec podprogramem dtext, kterému předáváme v reg. H:X adresu našeho řetězce, tj. proměnné text. Všimněte si, že v istrukci LDHX #text je před názvem proměnné text mřížka (#). Takže do registru H:X se nenahrává obsah proměnné text, ale její adresa (tedy číslo reprezentované v našem programu symbolickým jménem text. Nahrát do registru H:X celý textový řetězec by ani nebylo možné, protože náš textový řetězec je dlouhý 11 bajtů a registru H:X má velikost pouze 2 bajty. Následuje nastavení kurzoru na zadanou pozici na řádek 2 a vypsání znaku U. Pro výpis znaku voláme podprogram douta, kterému v registru A předáváme kód znaku, který se má vypsat. Díky překladači můžeme místo číselné hodnoty zapsat znak v apostrofech ( U ) a překladač jej při překladu sám nahradí odpovídajícím ASCII kódem. Překlad a testování programu Předtím než začnete vytvářet nový projekt, připravte si soubory ovladače (disp_gb60.asm a disp_gb60.inc). Pak vytvořte nový projekt obvyklým způsobem, ale po vybrání typu připojení (HCS08 seriál monitor) neukončujte průvodce kliknutím na tlačítko Dokončit, ale pokračujte na další krok průvodce tlačítkem Další. Dostanete se tak do okna jaké je na obrázku 7.2, tj. přidání dalších souborů do projektu. Zde podle snímku vyberte oba soubory ovladače a přidejte je do projektu. Pak klikněte na Dokončit.

6 Všimněte si, že v levém okně Code Warrioru se nyní objeví kromě souboru main.asm i oba vložené soubory ovladače. Pokud byste nevložili ovladač do projektu tímto způsobem při vytváření aplikace, můžete jej vložit dodatečně tak, že klepnete pravým tlačítkem myši na projekt ve stromovém seznamu Files v okně Code Warrior a vyberete Add files.... Do kódu v main.asm ještě připište řádek INCLUDE 'disp_gb60.inc' a to na začátek souboru, za řádek INCLUDE 'derivative.inc', který je tam již vložen průvodcem při vytváření kostry projektu. Obr. 2 Vložení ovladače displeje do projektu Po nahrání programu do mikropočítače a spuštění by se měl na displeji objevit na prvnim řádku nápis Hello World a na druhém řádku pak písmena U T B. Příklady k procvičení 1. Vytvořte program, který provede analýzu znakové sady uložené v paměti displeje. Na prvním řádku bude postupně zobrazovat číslice od 0 do 255 a na druhém řádku bude zobrazovat odpovídající znak reprezentovaný daným číselným kódem.

7 2. Vytvořte program Stopky, který po stisku tlačítka SW1 spustí odměřování času po 1 sekundě, stiskem tlačítka SW2 se měření zastaví a stiskem tlačítka SW3 se stopky vynulují. Předpokládejte, že maximální měřený čas je 255s. Nápověda k úkolům: Úkol 1: V tomto úkolu máme na první řádek postupně vypisovat čísla od 0 do 255 a na druhý řádek pak vždy odpovídající znak ASCII tabulky (tak, jak je uložena v paměti displeje). Jde tedy o to, použít nějakou smyčku se zpožděním můžeme použít podprogram cekej z minulé lekce. Nebo můžeme využít periodické přerušení od časovače a v jeho obsluze vždy vypisovat kód a znak. Na následujícím obrázku je ukázka jak by měl vypadat výstup programu na displej. Úkol 2. Obr. 3 Příklad výstupu na displej pro úkol 1 Zde máme vytvořit stopky. Princip je tedy podobný jako v předchozím úkolu - také vypisujeme čísla od 0 do 255. Rozdíl je, že zde se dá čítání ovládat tlačítky. Pro realizaci tohoto programu je možné využít buď přerušení časovače a test kláves provádět v nekonečné smyčce, nebo provádět inkrementaci času v nekonečné smyčce (bez nároku na skutečnou reálnourychlost plynutí času) a pro detekci stisku tlačítek využít přerušení KBI, nebo použít jak přerušení KBI tak i časovače. Obr. 4 Příklad výstupu na displej pro úkol 2

8 Doplňující zdroje [1] Freescale: Firemní dokumentace pro mikropočítače HCS08, dostupné online: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=s08gb&nodeid= 01624684491437EDD5