Vše o MZ-800 - Řízení plotteru

 

Zpět Nahoru Další

 

 

        Obsah této stránky:

bullet

Řízení plotteru ze strojového jazyka

bullet

Řízení plotteru ve znakovém módu

bullet

Řízení plotteru v grafickém módu

bullet

Povely v grafickém módu.

bullet

Kombinace více povelů ve znakovém a grafickém módu.

Řízení plotteru ze strojového jazyka
Tato kapitola by vám měla umožnit řízení nestandardně připojeného čtyřbarevného plotteru (MZ-1P16) ze strojového jazyka. Obsluha plotteru z Basicu je podrobně popsána v originál, SHARP příručce.Také ve strojovém jazyce si můžete jako v Basicu vybrat mezi dvěma různými druhy provozu plotteru:

1) Grafický mód

V grafickém módu se dá plotterem kreslit nejrůznějším způsobem.

2) Textový mód

V textovém módu se mohou vytisknout pevně dané znaky (písmena, číslice,zvláštní znaky).Tyto znaky se mohou vytisknout v různých velikostech (26,40 a 80 znaků na řádek). Plotter má znaky uvedené v tabulce znaků plotteru (viz SHARP příručka str.A-26).Jestliže se plotteru dá povel vytisknout znak, který není v této tabulce, automaticky se vytiskne v další barvě hexadecimální kód znaku.

Standardní programy monitoru pro řízení plotteru.

V monitoru 1Z-013B jsou dva standardní programy pro říz. plotteru:

  a) CALL 018FH

Tento standardní program vydává obsah akumulátoru na plotter. Obsah akumulátoru přitom může být řídící znak, nebo znak z tabulky znaků.Před zavoláním tohoto standardního programu se musí do akumulátoru uložit příslušný obsah.

  b)CALL 01A5H

Tento standardní program vydává na plotter jednotlivé byty řetězce znaků.Řetězec znaků přitom může obsahovat řídící znaky, nebo znaky z tabulky znaků.Řetězec musí být ukončen 0DH, a počáteční adresa řetězce musí být uložena v registru DE. Oba standardní programy pro plotter mají stejný účinek: vydávají jeden byte na plotter.Program 01A5H by se měl použít jestliže chceme na plotter vyslat hodně bytů (znaků nebo říd. znaků),jinak se používá program 018FH, který vydává pouze jeden byte na plotter.
 

Řízení plotteru ve znakovém módu
Po zapnutí MZ-800 je plotter automaticky ve znakovém módu. Barva tisku je černá a tisková hlava je na levém okraji. Pomocí obou programů pro řízení plotteru (CALL 018FH a CALL 01A5H) se na plotter dají posílat různé řídící znaky a znaky z tabulky znaků.

Tabulka řídících znaků s příslušným účinkem

Řídící znak Účinek

    01H     Přepíná plotter do znakového módu
    02H     Přepíná plotter do grafického módu
    03H     Posune o jednu řádku zpět
    04H     Test tiskárny (4 čtverce v různých barvách)
    0AH     Posune o jednu řádku vpřed
    0BH     Změna velikosti písma ze 40 na 26 znaků na ř.
    0CH       "       "       "      26    40     "
    0DH     Návrat vozíku 'CR'
    0EH     Tisková hlava se posune o pozici do leva
    0FH     Posun vpřed o stránku
    1DH     Změna barvy
09H,09H,09H Změna velikosti písma ze 40 na 80 znaků na ř.
09H,09H,0BH   "       "       "      80    40     "

Příklady programů pro obsluhu plotteru ve znakovém módu.

Pomocí výše uvedených řídících znaků, znaků z tabulky znaků a obou jmenovaných programů se nyní dají provádět různé funkce.

Program 1 :
  LD    A,0BH     ;26 znaků na řádek
  CALL 018FH      ;program monitoru pro výdej ;obsahu akumulátoru
  LD    A,42H     ;znak 'B'
  CALL  018FH
  LD    A,42H     ;znak 'B'
  CALL  018FH
  LD    A,47H     ;znak 'G'
  CALL  018FH

Tento krátký program přepne plotter na 26 znaků na řádek a potom vytiskne písmena 'BBG'. Stejný program se dá realizovat také jinak, a to pomocí druhého programu monitoru.

Program 2 :
  LD    DE,A000H  ;počáteční adr. řetězce znaků
  CALL  01A5H     ;program monitoru pro výdej řetězce znaků

Přitom musí být v paměti od A000H následující :
  A000H 0BH       ;26 znaků na řádek
  A001H 42H       ;znak 'B'
  A002H 42H        
  A003H 47H       ;znak 'G'
  A004H 0DH       ;značka konce řetězce
 

Řízení plotteru v grafickém módu
Následující program přepíná plotter ze znakového módu do do grafického módu.

Program 3:
  LD    A,O2H     ;řídící znak pro graf. mód
  CALL  018FH     ;program monitoru pro výdej obsahu akumulátoru

Po provedení tohoto programu se nacházíte v grafickém módu. Řízení plotteru se provádí podobně jako ve znakovém módu. Navíc jsou k dispozici specielní řídící povely a grafické povely. pro řízení se též používají standardní programy monitoru 018FH a 01A5H. Při některých grafických povelech se musí na plotter předat navíc k povelu hodnoty parametrů.

Všeobecně k hodnotám parametrů.

Všechny hodnoty parametrů jsou decimální hodnoty a mohou být maximálně trojmístné (stovky, desítky, jednotky). Jestliže povel potřebuje více parametrů, jsou jednotlivé hodnoty parametrů odděleny čárkou ( ASCII 2CH ). Jednotlivé číslice hodnot parametrů se rovněž zadávají v ASCII formátu.
 

Povely v grafickém módu.

a) povely bez parametrů

Povel ASCII Význam

A     41H   Návrat do znakového módu
H     48H   Zvedá hrot pera a posouvá tiskovou hlavu do výchozí pozice
I     49H   Aktuální pozice tiskové hlavy je definována jako výchozí pozice

b) povely s jedním parametrem

Povel ASCII Význam

C     43H   Změna barvy tiskové hlavy
            Tento povel musí následovat parametr o hodnotě
            0-3 (ASCII 30H-33H).         0 = černá   ASCII 30H
            1 = modrá   ASCII 31H
            2 = zelená  ASCII 32H
            3 = červená ASCII 33H

            Násl. program provádí změnu barvy na červenou.

      LD    A,43H       ;C - Povel
      CALL  018FH       ;program monitoru
      LD    A,33H       ;parametr pro červenou barvu
      CALL  018FH       ;program monitoru

L     4CH   Určuje druh čáry (průběžná nebo tečkovaná)
            Tento povel musí následovat hodnota parametru
            mezi 0 - 15 (v ASCII formátu)
            0 = druh čáry - průběžná
            1 - 15 = tečkované druhy čar

            Násl. program určuje druh čáry 15.

      LD    A,4CH       ;L - povel
      CALL  018FH
      LD    A,31H       ;desítková část hodnoty parametru
                        ;v ASCII formátu
      CALL  018FH
      LD    A,35H       ;jednotková část   "        "
      CALL  018FH

Q     51H   Určuje směr ve kterém má být vytištěn znak

            Po tomto povelu musí následovat hodnota parametru mezi 0 až 3 (ASCII 30H až 33H).

            0 = vzpřímené
            1 = doprava ležící
            2 = na hlavě stojící
            3 = doleva ležící

S     53H   Určuje velikost znaků.
            Po tomto povelu musí následovat hodnota parametru mezi 0 a 63 (v ASCII formátu).

            Následující program mění velikost znaků na 60.

      LD    A,53H       ;S - povel
      CALL  018FH

      LD    A,36H       ;desítkové číslo param. 60
      CALL  018FH
      LD    A,30H       ;jednotkové číslo param. 60
      CALL  018FH

c) povely se dvěma parametry

Povel ASCII Význam

D     44H   Kreslí čáry počínaje aktuální pozicí tiskové hlavy na udané souřadnicové body až po konečný bod (Xn, Yn). D X1,Y1,X2,Y2,....,Xn,Yn kreslí čáru od aktuální pozice kursoru k bodu (X1, Y1), z tohoto bodu do bodu (X2, Y2) až do koncového bodu (Xn, Yn).Hodnota prvního parametru (X - pozice ) musí ležet mezi -480 a 480. Hodnota druhého parametru (Y - pozice ) musí ležet mezi -999 a 999.Hodnoty parametrů musí být odděleny čárkou ( ASCII 2CH).Po poslední hodnotě parametru musí následovat označení konce 0DH.

Následující program kreslí čáru z aktuální pozice tiskové hlavy do bodu (-20, 20):

  LD    A,43H       ;D-povel
  CALL  018FH
  LD    A,20H       ;" - " znak v ASCII
  CALL  018FH
  LD    A,32H       ;desítkové místo X hodnoty v ASCII
  CALL  018FH
  LD    A,30H       ;jednotkové   "       "        "
  CALL  018FH
  LD    A,2CH       ;čárka (oddělení hodnot obou par.)
  CALL  018FH
  LD    A,32H       ;desítkové místo Y hodnoty v ASCII
  CALL  018FH
  LD    A,30H       ;jednotkové   "         "       "
  CALL  018FH
  LD    A,0DH       ;označení konce dat
  CALL  018FH

J     4AH   Kreslí čáry, počínaje aktuální pozicí tiskové hlavy do relativními souřadnicemi daného bodu (X1, Y1) až do koncového bodu (Xn, Yn). Povel "J" je jako takový identický s povel "D", ale u povel "D" se udávají absolutní souřadnice a u povel "J" relativní.
X hodnoty parametru musí ležet mezi -480 až 480.
Y    "        "      "     "     "  -999 až 999.
Hodnoty parametrů jsou navzájem odděleny čárkou (ASCII 2CH) a musí být ukončeny 0DH. Jinak viz. povel "D".

M     4DH   Zvedá hrot pera a posouvá tiskovou hlavu do bodu (X, Y).Po povelu musí následovat dva parametry, které jsou odděleny čárkou (ASCII 2CH).

X hodnoty parametru musí ležet mezi -480 až 480.
Y    "        "       "     "    "  -999 až 999.
Oba parametry musí být ukončeny 0DH. Následující program posouvá tiskovou hlavu na pozici (-1, 123).

  LD    A,4DH       ;M povel
  CALL  018FH
  LD    A,2DH       ;minus znak v ASCII
  CALL  018FH
  LD    A,31H       ;jednotkové místo X hodnoty parametru v ASCII
  CALL  018FH
  LD    A,2CH       ;čárka (oddělení hodnot param.)
  CALL  018FH
  LD    A,31H       ;stovkové místo Y v ASCII
  CALL  018FH
  LD    A,32H       ;desítkové  "       "
  CALL 018FH
  LD    A,33H       ;jednotkové "       "
  CALL 018FH
  LD    A,0DH       ;označení konce dat
  CALL  018FH

R     52H   Zvedá hrot pera a posouvá tiskovou hlavu do pozice bodu (X, Y).Povel "R" je jako takový identický s povelem "M", ale při povelu "M" se zadávají absolutní souřadnice a s povelu "R" relativní.
X hodnoty parametru musí ležet mezi -480 až 480.
Y    "        "       "    "     "  -999 až 999.
Hodnoty parametru jsou odděleny čárkou (ASCII 2CH) a musí být ukončeny 0DH. Jinak viz. povel "M".

d) povely se třemi parametry

Povel ASCII Význam

X     58H   Tento povel kreslí kartézský systém souřadnic. První hodnota parametru musí být buď 0 nebo 1. Při 0 se kreslí Y-ová osa, při 1 se kreslí X-ová. Druhý parametr je měřítkový faktor a musí ležet mezi -999 až 999. Třetí parametr obsahuje počet značek na osu, a musí ležet mezi 1 až 255. Tento povel jinak odpovídá povelu AXIS v Basicu. Při dalších otázkách viz. též příručka SHARP. Jednotlivé hodnoty parametrů musí být odděleny čárkou a ukončeny 0DH.

e) povely s různým počtem parametrů

Povel ASCII       Význam

P     50H   Tento povel vytiskne znak.Tento povel musí následovat alespoň jeden parametr. Vytištěné znaky se udávají v ASCII kódu jako hodnoty parametrů. Jednotlivé hodnoty parametrů nemusí být odděleny, ale za posledním znakem musí následovat 0DH jako označení konce.

 

Následující program vytiskne písmena BBG.
  LD    A,50H       ;P povel
  CALL  018FH
  LD    A,42H       ;"B"
  CALL  018FH
  LD    A,42H       ;"B"
  CALL  018FH
  LD    A,47H       ;"G"
  CALL  018FH
  LD    A,0DH       ;označení konce
  CALL  018FH
 

Kombinace více povelů ve znakovém a grafickém módu.

a) znakový mód

Ve znakovém módu mohou být jednotlivé povely spolu spojeny bez oddělení.

Příklad programu:
  LD    A,01H       ;znakový mód
  CALL  018FH
  LD    A,0FH       ;posun o stránku
  CALL  018FH
  LD    A,09H       ;přenutí na 80 znaků/řádek
  CALL  018FH
  LD    A,09H
  CALL  018FH
  LD    A,09H
  CALL  018FH
  LD    A,42H       ;"B"
  CALL  018FH
  LD    A,42H       ;"B"
  CALL  018FH
  LD    A,47H       ;"G"
  CALL  018FH
  LD    A,0DH       ;označení konce
  CALL  018FH
 

b) grafický mód

V grafickém módu musí být povely, jenž musí být ukončeny pomocí 0DH odděleny čárkou (ASCII 2CH). Přitom 0DH odpadá. Ale na konci, po posledním povelu, musí být udáno 0DH.
 

Příklad programu:
  LD    A,02H       ;grafický mód
  CALL  018FH
  LD    A,49H       ;I povel
  CALL  018FH      
  LD    A,4CH       ;L povel
  CALL 018FH
  LD    A,30H       ;spojitý druh čáry
  CALL  018FH      
  LD    A,43H       ;C povel
  CALL  018FH
  LD    A,32H       ;zelená barva
  CALL  018FH
  LD    A,4AH       ;J povel
  CALL  018FH
  LD    A,31H       ;"1"
  CALL  018FH
  LD    A,30H       ;"0"
  CALL  018FH
  LD    A,30H       ;"0"
  CALL  018FH
  LD    A,2CH       ;čárka
  CALL  018FH
  LD    A,2DH       ;minusové znaménko
  CALL  018FH
  LD    A,32H       ;"2"
  CALL  018FH
  LD    A,30H       ;"0"
  CALL  018FH
  LD    A,31H       ;"1"
  CALL  018FH
  LD    A,2CH       ;čárka
  CALL 018FH
  LD    A,30H       ;"0"
  CALL  018FH
  LD    A,2CH       ;čárka
  CALL  018FH
  LD    A,30H       ;"0"
  CALL  018FH
  LD    A,2CH       ;čárka (oddělení poslední hodnoty parametru a povelu "H")
  CALL  018FH
  LD    A,48H       ;H povel
  CALL  018FH
  LD    A,41H       ;A povel
  CALL  018FH
  LD    A,0DH       ;označení konce
  CALL  018FH

Tento program přepíná plotter do grafického módu. Potom se určí momentální pozice tiskové hlavy jako nový počátek. Další povel určuje druh čáry. Následující povel udává barvu. Potom se udělá čára mezi relativním bodem (100, -201) a bodem (0, 0).Nakonec se tisková hlava posune do původní pozice a plotter se přepne do znakového módu. Tyto programy se dají uspořádat mnohem lépe pomocí druhého standardního programu monitoru 01A5H. Pro přehlednost ale byly napsány se standardním programem 018FH.

 

Domů | Sharp MZ-800 | 8 bit klub Brno | Download | Kniha návštěv | Obchod SCAV | Vyhledání na těchto stránkách | Mapa stránek

 

Tyto stránky byli naposledy aktualizovány dne 08. 02. 2014      Copyright © 05/2006 - Brázda Pavel - Scav - webmaster(c)scav.cz

 

 

Google