MODUL DISPLEJE LTN 211.

Slides:



Advertisements
Podobné prezentace
CIT Paměti Díl X.
Advertisements

Základy ukládání dat v počítači
Standardní knihovní funkce pro práci s textovými řetězci
Programování v C jazyku - SEMINÁŘ
Zásobník (LiFo) Fronta (FiFo)
Vytváření, použití dávkových souborů
SYSTÉM PŘERUŠENÍ U 68HC11.
PHP Práce se soubory v PHP - 13
Otázky k absolutoriu HW 1 - 5
Principy překladačů Mezikód Jakub Yaghob.
Tato prezentace byla vytvořena
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Programování PA - 2.
Program Programátorský model procesoru Instrukční soubor
Informatika pro ekonomy II přednáška 4
Instrukční soubor PIC16Fxxx osnova: Charakteristika instrukčního souboru Rozdělení instrukcí Časové průběhy (zpracování instrukcí)
Výukový program: Mechanik - elektrotechnik Název programu: Číslicová technika - mikroprocesory III. ročník Mikrořadiče Vypracoval : Vlastimil Vlček Projekt.
Ř ADIČ RASTROVÝ, ELEKTROLUMINISCEN ČNÍ A VEKTOROVÝ.
AVR Assembler Symboly Návěští
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Paměťové obvody a vývoj mikroprocesoru
Výukový program: Mechanik - elektrotechnik Název programu: Číslicová technika - mikroprocesory III. ročník Mikrořadiče Vypracoval : Vlastimil Vlček Projekt.
Tato prezentace byla vytvořena
Jak pracuje počítač vstupní a výstupní zařízení počítače
Počítač, jeho komponenty a periferní zařízení
CZ.1.07/1.4.00/ VY_32_INOVACE_146_IT7 Výukový materiál zpracovaný v rámci projektu Vzdělávací oblast: Informační a komunikační technologie Předmět:Informatika.
Základy Číslicové Techniky
3. Příkazy  Příkazy dělíme na jednoduché a strukturované.  Jednoduché příkazy - žádnou jejich dílčí částí neni příkaz - přiřazovací, vstupu a výstupu,
Inovace bez legrace CZ.1.07/1.1.12/
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Popis mikroprocesoru David Rozlílek ME4B.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Adresy a adresování Střední odborná škola Otrokovice Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Miloš Zatloukal.
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Tato prezentace byla vytvořena
Konečné automaty Vít Fábera.
Algoritmizace a programování Textové soubory - 13 Mgr. Josef Nožička IKT Algoritmizace a programování
Základní pojmy a části počítače Data (informace) se v počítači ukládají v pojmenovaných celcích, které se nazývají soubory. Soubory jsou dvou druhů: Programy.
Číslicový generátor Praktická zkouška z odborných předmětů 2008 Vyšší odborná škola a střední průmyslová škola elektrotechnická Olomouc M/004 Slaboproudá.
Autor:Jiří Gregor Předmět/vzdělávací oblast: Digitální technika Tematická oblast:Digitální technika Téma:Statické paměti RWM – RAM 1. část Ročník:3. Datum.
Elektrotechnika Mikroprocesorová technika
Marek Malík a František Černý, ME4A, 2012
Autor:Jiří Gregor Předmět/vzdělávací oblast: Digitální technika Tematická oblast:Digitální technika Téma:Statické paměti RWM – RAM 2. část Ročník:3. Datum.
Výrok „Vypadá to, že jsme narazili na hranici toho, čeho je možné dosáhnout s počítačovými technologiemi. Člověk by si ale měl dávat pozor na takováto.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
JUI přednáška Vstup a výstup, cykly RNDr. Jiří Dvořák, CSc.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Instrukce procesoru.
Základy programování mikropočítačů První program v jazyce symbolických adres.
Programování KONSTANTY, ČTENÍ PO JEDNOM ZNAKU GETCHAR() FORMÁTOVANÝ VÝSTUP POMOCÍ PRINTF, VÝVOJOVÉ DIAGRAMY, CYKLY.
Odborný výcvik ve 3. tisíciletí Tato prezentace byla vytvořena v rámci projektu.
Odborný výcvik ve 3. tisíciletí Tato prezentace byla vytvořena v rámci projektu.
Orbis pictus 21. století Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Interkomunikační adresní systém.
Odborný výcvik ve 3. tisíciletí Tato prezentace byla vytvořena v rámci projektu.
Software,hardware,data,biti a bajty.  Software je v informatice sada všech počítačových programů používaných v počítači, které provádějí nějakou činnost.
Makra v Excelu syntaxe. Zápis nahraného makra SubEnd Sub O klíčová slova Sub a End Sub – začátek a konec makra O komentáře O text za znakem ', až do konce.
Výukový materiál zpracován v rámci projektu
Výukový materiál zpracován v rámci projektu
ALU Aritmeticko-logická jednotka
Inicializace portů mikrokontroléru
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Výukový materiál zpracován v rámci projektu
Vypracoval-Matěj Šmíd
Jednočipové počítače – instrukční sada
Výukový materiál zpracován v rámci projektu
Mikropočítač Soubor instrukcí
Výukový materiál zpracován v rámci projektu
Funkce výstupu (2) Funkce printf: deklarována v: stdio.h
Informační a komunikační technologie 5. ročník
Projekt Anglicky v odborných předmětech, CZ.1.07/1.3.09/
Transkript prezentace:

MODUL DISPLEJE LTN 211

Modul displeje LTN 211 LTN 211 je modul dvouřádkového bodového displeje s kapalnými krystaly Obsahuje zabudovaný mikrořadič HD 4478 a tak tvoří inteligentní zobrazovací jednotku. Součástí mikrořadiče je paměť RAM s kapacitou 40 zobrazovaných znaků pro každý řádek a generátor znaků se 160 pevnými znaky v paměti ROM a osmi uživatelem programovatelnými znaky v paměti RAM.

Modul displeje LTN 211 Spolupracuje se 4-bitovými i 8-bitovými procesory Paměť zobrazovaných dat .....................80 znaků Generátor znaků ROM..................160 znaků 5x7 bodů RAM.................. 8 znaků 5x7 bodů Paměť zobrazovaných znaků i uživatelem definovaných znaků lze přečíst nadřazeným procesorem

Modul displeje LTN 211 Široký instrukční soubor, např. funkce: Smazání displeje, funkce home, zapnutí/vypnutí displeje, zapnutí/vypnutí kurzoru, blikání kurzoru, posun kurzoru/textu Vnitřní automatický reset po připojení napájecího napětí.

Modul displeje LTN 211 Modul displeje je k mikroprocesoru 68 HC11 připojen datovou sběrnicí DO - D7 a řídicími signály E, RS a R/W. Výběrový signál E je generován adresovým dekodérem: signál výběru registru RS přísluší nejnižšímu bitu adresy a signál zápis/čtení R/W je dostupný přímo z mikroprocesoru. Displej je umístěn na adrese $8000 (řídicí registr) a $8001 (datový registr)

Inicializace displeje Displej se automaticky inicializuje po připojení napájecího napětí vnitřním obvodem pro reset. Po resetu se provedou následující instrukce: Smazání displeje Nastavení konfigurace:

Inicializace displeje DL - 1.....šířka datové sběrnice 8 bitů D - 0.....vypnutý displej C - 0.....vypnutý kurzor B - 0.....vypnuté blikání I/D - 1.....automatická inkrementace adresy při zápisu S - 0.....odsouvání textu z naplněného displeje vypnuto Naplnění paměti pro zobrazované znaky hodnotou $00

Inicializace displeje Po dobu automatické inicializace displeje je nastaven příznak vnitřního zpracování (BF = 1). Doba inicializace je asi 10 ms od dosažení úrovně napájecího napětí 4,5 V.

Instrukce pro ovládání displeje Nadřazený procesor může přímo ovládat pouze dva registry mikrořadiče displeje (tj. instrukční registr IR a datový registr DR) a to pouze v době, kdy mikrořadič displeje není zaměstnán vnitřním zpracováním informace. Před každým započetím vnitřní operace mikrořadiče je do těchto registrů zapsána stavová informace. Operace mikrořadiče jsou ovládány signály DO-D7, RS a RW. Tyto signály jsou nadále nazývány instrukcemi.

Instrukce lze rozdělit na: Instrukce pro nastavení pracovního režimu Instrukce pro nastavení adresy interní paměti RWM Instrukce pro přenos zobrazovaných dat do/z interní paměti RWM

Popis jednotlivých instrukcí Smazání displeje R R D D S  W 7 0 Kód: 0 0 0 0 0 0 0 0 0 0 1 Náplní paměť pro zobrazovaný text kódem mezery ($20). Vynuluje adresový čítač, tj. nastaví kurzor na pozici prvního znaku na prvním řádku. Nastaví režim inkrementace adresového čítače (1/D = 1), režim posunu textu (S) se nemění.

Kurzor na počátek R D S W 7 Kód: 1 * Vynuluje adresový čítač, tj. nastaví kurzor na pozici prvního znaku na prvním řádku. Data v paměti zobrazovaného textu zůstávají nezměněna.

Vstupní režim Definuje chování displeje při zápisu a čtení dat. R D S W 7 Kód: 1 I/D Definuje chování displeje při zápisu a čtení dat.

Vstupní režim I/D - Při zápisu nebo čtení dat se zvyšuje (I/D = 1) nebo snižuje (I/D = 0) adresa v adresovém čítači o 1. Kurzor se přitom pohybuje doprava (I/D = 1) nebo doleva (I/D = 0). K nastavené změně adresy dochází i při zápisu či čtení do/z paměti generátoru znaků. S - Odsouvání textu. Při S = 1 se zobrazovaný text při zápisu do paměti RAM posouvá po displeji. Vypadá to jako by kurzor stál na místě a text se odsouval doprava nebo doleva v závislosti na I/D. Při čtení z paměti se text nepohybuje.

Režim displeje Nastavuje zobrazovací režim, zapíná a vypíná displej. R W 7 Kód: C B Nastavuje zobrazovací režim, zapíná a vypíná displej.

Režim displeje D - Zapnutí a vypnutí displeje. Pro D = 1 je displej zapnut. Po vypnutí displeje (D = 0) zůstávají zobrazovaná data v paměti a jsou opět zobrazena ihned po zapnutí displeje (D = 1). C - Zobrazení kurzoru. Kurzor je zobrazen jako podtržítko na osmém řádku matice znaku. Pozice kurzoru odpovídá obsahu adresového čítače. B - Blikání znaku. Je-li B = 1 znak na pozici kurzoru bliká. Blikání je provedeno záměnou zobrazovaného znaku a plného obdélníčku (znak FF hex, viz. Tabulku v příloze D) v taktu 2.5 Hz.

Posun kurzoru nebo textu D S W 7 Kód: 1 S/C R/L * - libovolná hodnota.

Posun kurzoru nebo textu Posunuje kurzor (S/C = 0) nebo text (S/C = 1) doprava (R/L = 1) nebo do leva (R/L = 0) bez zápisu nebo čtení zobrazovaných dat. Funkce je použitelná pro opravy a prohlížení zobrazovaného textu. Po přechodu za 40 znak prvního řádku kurzor přejde na řádek druhý. Při posunu textu se posunují oba řádky zároveň. Text se pohybuje pouze vodorovně, tzn., že text na druhém řádku se nemůže posunout na řádek první. Při posunu textu se nemění obsah adresového čítače.

Funkční soubor R D S W 7 Kód: 1 DL * - libovolná hodnota .

Funkční soubor Nastavení délky instrukcí. Pro osmibitové instrukce je DL = 1, pro čtyřbitové je DL = 0. Upozornění: Pro správnou součinnost modulu displeje s mikroprocesorem 68HC11 je třeba dodržet nastavení DL = 1.

Nastavení adresy v paměti RWM u generátoru znaků 7 Kód: 1 a Vyšší bity adresy Nastaví binární adresu „aaaaaa“ do adresového čítače. Po této instrukci je možné zapisovat nebo číst data definice uživatelsky programovaných znaků.

Nastavení adresy v paměti zobrazovaného textu W 7 Kód: 1 a Vyšší bity adresy Nastavení binární adresy „aaaaaaa“ do adresového čítače. Slouží k nastavení místa kam se mají zapisovat nebo odkud se mají číst zobrazovaná data. Prvnímu řádku odpovídají hexadecimálně adresy $00 - $27, druhému $40 - $67.

Čtení příznaku obsazení a adresy W 7 Kód: BF a Vyšší bity adresy

Čtení příznaku obsazení a adresy Přečtěte aktuální stav mikrořadiče displeje. Hodnota příznaku obsazení BF ukazuje stav mikrořadiče. Je-li BF = 1 mikrořadič provádí interní operace a nemůže přijmout žádnou instrukci (kromě opětovného čtení řídicího registru).

Čtení příznaku obsazení a adresy Hodnotu BF je třeba kontrolovat před každou novou instrukcí pro displej a případně vyčkat na dokončení provedení předcházející instrukce. Současně s příznakem obsazení je přečten také aktuální stav adresového čítače (bity „aaaaaaa“).

Zápis dat do paměti textu a generátoru znaků W 7 Kód: 1 d Vyšší bity adresy

Zápis dat do paměti textu a generátoru znaků Zapíše data „ddddddd“ na adresu, která se právě nachází v adresovém čítači. Adresa v čítači závisí na provedení předcházejících instrukcí (nastavení adresy), posun kurzoru, příp. zápis nebo čtení paměti). Po zápisu se automaticky zvýší nebo sníží adresa v adresovém čítači o 1 a případně dojde k posunu zobrazeného textu v závislosti na nastaveném vstupním režimu displeje.

Čtení dat z paměti textu nebo generátoru znaků S W 7 Kód: 1 d Vyšší bity adresy

Čtení dat z paměti textu nebo generátoru znaků Přečtěte data „ddddddd“ z paměti zobrazovaného textu nebo generátoru znaků. Před čtením dat je třeba nastavit adresu v adresovém čítači instrukcemi nastavení adresy příp. posun kurzoru.

Čtení dat z paměti textu nebo generátoru znaků Bez tohoto nastavení jsou první přečtená data chybná. Při čtení bloku paměti stačí nastavit adresu bloku před prvním čtením. Adresa v čítači se po každém čtení automaticky zvyšuje či snižuje (podle nastaveného vstupního režimu) a čtená data jsou platná.

PŘÍKLADY KOMUNIKACE MEZI 68HC11 A DISPLEJEM Zadání instrukce návrat na počátek (home) 1daa #$02 uložení hodnoty $02 - 00000010 bin do akumulátoru A staa $8000 zapsání této hodnoty do řídicího registru displeje Přečtení BF a adresy v čítači 1 daa $8000 přečtení obsahu řídicího registru

PŘÍKLADY KOMUNIKACE MEZI 68HC11 A DISPLEJEM Přečtení dat z 2., pozice na prvním řádku 1daa $#81 nastavení adresy #$01 tj. 2. pozice prvního staa #$8000 řádku Loop 1daa #$8000 načtení BF a adresy bita #$80 test BF bne loop je-li BF = 1, čekej 1daa #$8001 přečtení dat.

PAMĚŤOVÝ PROSTOR DISPLEJE Pro uložení kódu zobrazovaných znaků je celkem k dispozici 2x40 paměťových míst, z nichž může být vždy jen 2x16 znaků průběžně zobrazeno. Toto zobrazovací okénko lze přesouvat změnou vnitřní adresy nebo posunem kurzoru. Běžně zobrazitelné znaky jsou v této paměti reprezentovány svými ekvivalenty v kódu ASCII.

Generátor znaků Znakový generátor vytváří obrazce 5x7 bodů odpovídající kódům znaků. Kódy $00 až $07 osmi uživatelsky programovatelným znakům.

Generátor znaků Vztah mezi kódem programovatelného znaku jeho uložením v paměti generátoru znaků ukazuje tab. Naprogramování jednoho znaku sestává z nastavení inkrementálního vstupního režimu nastavení počáteční adresy umístění znaku a zapsání osmi hodnot do datového registru (inkrementace adresového čítače se děje automaticky).

Mapa paměťového prostoru pro uložení zobrazovaných kódů: 1 2 3 4 5 ............ pozice na displ. 1. řádek 00 01 02 03 04 25 26 27 adresa v paměti 2. řádek 40 41 42 43 44 65 66 67 (hexadecimálně)

POPIS OVLADAČE DISPLEJE Ovladač displeje je tvořen souborem podprogramů, které vykonávají nejběžnější příkazové sekvence, jako je inicializace, smazání, zobrazení daného znaku nebo textu na displeji apod. Ovladač se standardně ukládá od adresy $D000, ale je možné jej uložit na libovolné místo v paměti přepsáním hodnoty DSTART.

Podprogramy ovladače: dinit - inicializace displeje Parametry : žádné Návratové hodnoty: žádné Podprogram provede softwarovou inicializaci displeje, nastaví jeho režim na D/I = 1, S = 0, D = 1, C = 0, B = 0, naprogramuje znaky ý (kód $01), ř(kód $02), č(kód $03), zobrazí inicializační text: Mikroprocesorový řadič MS11 Mesit a vyčká dokončení všech vnitřních operací displeje (včetně inkrementace adresového čítače.

Podprogramy ovladače: dels - smazání displeje Parametry: žádné Návratové hodnoty: žádné Smaže displej, umístí kurzor na začátek 1. řádku, v adresovém čítači nastaví odpovídající adresu (0000000) a vyčká dokončení vnitřních operací displeje.

Podprogramy ovladače: dline1- umístění kurzoru na začátek 1. řádku Parametry: žádné Návratové hodnoty: A - obsah adresového čítače ($00) Umístí kurzor na začátek 1. Řádku bez změny v paměti zobrazeného textu. Nastaví odpovídající adresu v adresovém čítači ($00) a vyčká dokončení vnitřních operací displeje. V akumulátoru A vrátí obsah adresového čítače.

Podprogramy ovladače: dline2 - umístění kurzoru na začátek 2. řádku Parametry: žádné Návratové hodnoty: A - obsah adr. čítače ($40) Umístí kurzor na začátek 2. Řádku bez změny v paměti zobrazovaného textu. Nastaví odpovídající adresu v adresovém čítači ($40) a vyčká dokončení vnitřních operací displeje. V akumulátoru A vrátí obsah adresového čítače.

Podprogramy ovladače: Dprog - naprogramování uživatelského znaku Parametry: A - kód znaku IY - adresa definice znaku Návratové hodnoty: A - obsah adr. čítače před voláním podprogramu

Dprog Naprogramuje do paměti RWM generátoru znaků jeden znak a vyčká dokončení vnitřních operací displeje. V akumulátoru A očekává kód pod kterým bude znak uložen (0-7) a v registru IY adresu začátku definice znaku. Definice znaku odpovídá obrazci znaku v tab. Podprogram nezmění obsah adresového čítače, tedy ani pozici kurzoru. Obsah adresového čítače vrátí v akumulátoru A.

Podprogramy ovladače: Douta - zobrazení znaku na pozici kurzoru Parametry: A - kód zobrazovaného znaku Návratové hodnoty:A - obsah adresového čítače Zobrazí znak, jehož kód je v akumulátoru A na pozici kurzoru. Následný pohyb kurzoru nebo textu závisí na vstupním režimu displeje. Vyčká dokončení vnitřních operací a v akumulátoru A vrátí nový obsah adresového čítače.

Podprogramy ovladače: dtext - zobrazí řetězec znaků Parametry: A - kód znaku IY - adresa textu Návratové hodnoty: A - obsah adresového čítače

Dtext Zobrazí řetězec znaků ukončený nulovým bajtem, jehož adresa je v registru IY. Toto zobrazení provede na řádku, jehož kód je v akumulátoru A(DLN1),DLN2). Vyčká dokončení vnitřních operací displeje a v akumulátoru A vrátí obsah adresového čítače. Pokud chceme řetězec zobrazit jinde než od začátku řádku, je možné do akumulátoru A místo konstanty DLN1 nebo DLN2 umístit instrukci nastavení adresy v paměti textu s adresou odpovídající pozici, na které chceme text zobrazit.

Podprogramy ovladače: Tertext - přečtení obsahu paměti textu a jeho zobrazení na terminálu Parametry: žádné Návratové hodnoty: žádné

Tertext Přečte obsah paměti textu a vyšle jej na terminál. Ve standardním provedení program vyžaduje, aby byl spuštěn pod monitorem M-Buffalo, ve kterém je podprogram outa, vysílající znak v akumulátoru A na terminál. Pokud program není spuštěn pod monitorem M-Buffalo nebo potřebujeme znaky čtené z displeje zpracovat jiným způsobem, stačí přepsat volání podprogramu outa voláním vlastního podprogramu. Přečtený znak je předáván v akumulátoru A.

Podprogramy ovladače: bftext - vyčkání na dokončení vnitřních operací Parametry: žádné Návratové hodnoty:A - obsah adresového čítače Testuje příznak BF a čeká na jeho vynulování. V akumulátoru A vrátí obsah adresového čítače.

Podprogramy ovladače: dawait - čekání 6s Parametry: žádné Návratové hodnoty: žádné Čekací smyčka o délce 6s. Využívá se k čekání na inkrementaci adresového čítače.

PROGRAMOVÁNÍ 68HC11 V ASSEMBLERU překládá (transformuje) data nebo adresy z různých číselných soustav (např. z desítkové, osmičkové, šestnáctkové) do dvojkové a překládá i znaky do odpovídajících kódů ASCII, umožňuje programátorovi, aby rezervoval a přiděloval paměť dočasné uchování dat,

PROGRAMOVÁNÍ 68HC11 V ASSEMBLERU umožňuje programátorovi uložit konstanty na určeném místě v paměti, umožňuje programátorovi přiřadit symbolická jména paměťovým místům a vstupně-výstupním registrům, umí vykonat některé aritmetické operace jako součást procesu překladu, informuje programátora o formálních chybách v programu.

PROGRAMOVÁNÍ 68HC11 V ASSEMBLERU Zdrojové programy pro překladač (assembler) se zapisují v jazyce symbolických adres (instrukcí), který se také v praxi nazývá assembler. Zdrojový jazyk připouští použití množiny znaků, které assembler umí rozpoznat:

PROGRAMOVÁNÍ 68HC11 V ASSEMBLERU písmena anglické abecedy, číslice 0 až 9, znaky používané jako speciální prefixy: # určuje bezprostřední adresování $ určuje šestnáctkové (hexadecimální) číslo % určuje dvojkové číslo, ‘ (apostrof) určuje znak ASCII,

PROGRAMOVÁNÍ 68HC11 V ASSEMBLERU speciální znaky aritmetických operací: +,-, *,/, čtyři speciální znaky jako oddělovače: mezera horizontální posuv (TAB) CR(Carriage Return) - konec řádku, , (čárka), komentář ve zdrojovém řádku, který může obsahovat znaky ASCII, se ale nepřekládá.

PROGRAMOVÁNÍ 68HC11 V ASSEMBLERU Zdrojový program, který vytváříme textovým editorem, se skládá z posloupnosti zdrojových řádků. Zdrojový řádek lze zpravidla rozdělit do čtyř polí např. v následujícím uspořádání:

Uspořádání Komentář Operand Mnemonické označení instrukce nebo direktiva Komentář Operand Návěští, může se v programu dále používat jako adresový operand START LDAA # $FF Naplnění registru A jedničkami

PROGRAMOVÁNÍ 68HC11 V ASSEMBLERU Protože návěští určuje adresu instrukce, není dovolena dvojznačnost ve specifikaci hodnoty návěští, např.: START LDAA # $ 45 ADDA NUMBER START STAA PLACE . JMP START

PROGRAMOVÁNÍ 68HC11 V ASSEMBLERU Je však dovoleno víckrát se na návěští odvolávat: START LDAA $ 45 ADDA NUMBER STAA PLACE . JMP START BNE START

PROGRAMOVÁNÍ 68HC11 V ASSEMBLERU Symbolická jména PLACE a NUMBER musí být v programu definována pomocí direktiv. Direktivy jsou pseudoinstrukce pro přiřazení symbolických názvů číselným hodnotám adres nebo dat, jako je např. instrukce EQU uvedená dále. Pole komentářů následuje za polem operandů a je oddělené jednou nebo více mezerami. I celý zdrojový řádek může být komentářem, jestliže znak na první pozici je *. Znak * může taky posloužit k naprogramování skoku zpět na stejnou instrukci např. místo:

PROGRAMOVÁNÍ 68HC11 V ASSEMBLERU Asembler umožňuje ve zdrojovém programu používat příkazy, které se vztahují na řízení vlastního překladače (assembleru). Při překladu se těmto mnemonickým příkazům nepřiřazují žádné strojové kódy. Takovéto instrukce se nazývají pseudo-instrukce nebo direktivy.

PROGRAMOVÁNÍ 68HC11 V ASSEMBLERU Programy a data se mohou ukládat v různých oblastech paměti v závislosti na organizaci adresovatelného prostoru. Direktiva ORG, která se zpravidla uvádí na začátku zdrojového programu, slouží k určení počátečního místa programu a dat v paměti.

Příklad ORG $ 100 Určení počáteční adresy cílového programu v paměti mikrořadiče LDAA #$ 5 Naplnění akumulátoru A hodnotou #$ C5. LDAA $ C5 Naplnění akumulátoru A hodnotou, která je uložena na adrese $00C5.

Uložení těchto instrukcí do paměti je následující: Adresa paměťového místa: Obsah paměťového místa $0100 $86 LDAA #SC5 $0101 $C5 $0102 $96 LDAA $CS $0103

FCB Direktiva FCB (Form Constant Byte) má jeden nebo víc operandů oddělených čárkami. Direktiva FCB přiděluje určeným paměťovým buňkám daný obsah specifikovaný v poli operandu.

Příklad ORG $200 DATA FCB $10, $20, $30, 16 Uložení do paměti: Adresa paměťového místa Obsah paměťového místa: $0200 $10 $0201 $20 $0202 $30 $0203 $10 V programu pak můžeme dále psát: LDAA DATA+1 Do A dej hodnotu z adresy $0201, tj. $20 LDX #DATA Do IX dej adresu $0200.

FDB Direktiva FDB (Form Constant Double Byte) přiděluje určeným dvojicím paměťových buněk 16-bitové hodnoty. Např. ORG $300 TABLE FDB $AFFF, %0000111111110000

Uložení do paměti: $0300 $AF $0301 $FF $0302 $OF $0303 $FO Adresa paměťového místa Obsah paměťového místa $0300 $AF $0301 $FF $0302 $OF $0303 $FO

V programu pak můžeme psát: LDX TABLE Do IX ulož hodnotu z adres $0300 a $0301 tj.$AFFF LDY #TABLE Do IY ulož adresu $0300. Direktiva FDB (Form Constant Double Byte) vloží do paměťových buněk kódy určených ekvivalentů ASCII. Například programový úsek: ORG $400 TABLE FCC ‘TEXT’

Uložení do paměti: $0400 $54 $0401 $45 $0402 $58 $0403 $54 Adresa paměťového místa Obsah paměťového místa $0400 $54 $0401 $45 $0402 $58 $0403 $54

RMB Direktiva RMB (Reserve Memory Bite) se používá pro rezervaci místa v paměti. Například: ORG $2000 DATA RMB 10

RMB Na adrese $2000 se vyhradí 10 paměťových buněk, na které je možné se odvolávat návěštím DATA, např.: STA DATA+5 Na adresu $2005 se uloží obsah akum. A

EQU Direktiva EQU (Equate Symbol Value) slouží na přiřazení hodnoty symbolu, který se může objevit v programu na více místech. Symbol, kterému se přiřazuje hodnota, se uvádí v poli návěští. Například: PORTC EQU $1003

EQU Symbolu PORTC je přiřazena hodnota $1003, takže např. instrukce LDAA PORTC naplní akumulátor A obsahem z paměťové buňky (portu C) na adrese $1003. Použitím pseudoinstrukce EQU se zvyšuje srozumitelnost programu. Např. čekání, dokud na nultém výstupu portu B nebude log. 1 naprogramujeme následovně:

EQU REGPOLE EQU $1000 Počátek reg. pole PORTB EQU $04 Registr PORTB v reg. poli Vystup_PBO EQU $01 Nultý výstup portu B . LDY REGPOLE Do IY hodnota $1000 BRCLR PORTB, y Vystup_PBO * Čekací smyčka.

Překlad 68HC11 Na překlad zdrojových programů pro 68HC11 na osobních počítačích XT/AT jsou dostupné jako freeware od firmy Motorola asemblery.

Asembler Program as11.exe, jehož příkazový řádek může být např. ve tvaru: AS11 program.asm - 1 c s > program. lst Zdrojový soubor soubor protokolu o překladu (listing file)

Asembler Tento assembler generuje soubor pod jménem „program.s19“. Je v něm tzv. záznam typu S strojového kódu, v němž je uložen jak vlastní strojový kód, tak i pomocné kódy, jež umožňují určeným pomocným programem (např. monitorem M-Buffalo) načtení strojového kódu do paměťového systému mikrořadiče .