Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Grafikdisplay Kategorie: Programmierung Basic (von Thomas - 4.12.2005 17:07)
 Als Antwort auf Re: Grafikdisplay von Thomas - 22.11.2005 14:47
Thomas nutzt:  CC1-M-Unit V1.1, CC1-M-Unit V1.2/2.0, Micro

>
> Hallo
> Hier der Anschluss an die V2.0 und die ersten Routinen
> viel Spaß beim probieren!
> Thomas
>
>
>
>
>
>
>
>
> define d byteport[1]'         8-Bit Bus
> define di port[15]'           Auswahl Display =0 > komandos; =1 > daten
> define rw port[14]'           Auswahl schreiben/lesen RAM   0=schreiben 1=lesen
> define e port[16]'            Ãœbernahme Displaydaten Ãœbergabe bei Flanke H > L
> define c1 port[11]'           Displayauswahl links Auswahl von Block 1 mit c1=1/unteres Latch RAM
> define c2 port[12]'           Displayauswahl rechts Auswahl von Block 2 mit c2=1/oberes Latch RAM
> define Reset port[13]'        Reset
>
> define s byte'                Spalte
> define z byte'                Zeile  
> define n byte'                Schleife
>
>
> #init
> di=1
> c1=0
> c2=0
> e=0
> rw=0
> Reset=0
> pulse Reset
> gosub leeren
> gosub displayan
>
> '         rw/Reset können auch an GND gelegt werden,so lassen sich Port's sparen
>          
> ' Auf das Display wird dann so geschrieben: mit Z die Zeile festlegen(0-7),mit S die Spalte(0-127)
> 'Bsp.:
> #loop
> z=0:s=4:gosub posit
> d=3:pulse e
> 'das 5.Pixel in der 1.Reihe und das darunterliegende Pixel sollten nun zu sehen sein        
>
> z=7:s=0:gosub posit
> d=28:pulse e:pulse e:pulse e:pulse e
> d=127:pulse e
> d=62:pulse e
> d=28:pulse e
> d=8:pulse e
> 'ergibt einen Pfeil unten links-nach jedem Pulse E zählt der Spaltenzähler eine Stelle weiter,jedoch nur
> 'bis 63,dann würde es wieder bei 0 losgehen,man muß hier also neu positionieren(s=64)dafür muß der Anwender sorgen
>
> pause 50
>
>
> 'so wird das Display gelöscht:
> gosub displayaus
> gosub leeren
> gosub displayan
> goto loop
>
>
>          
>
>
>
> '---------------------------------Displayroutinen------------------------------------------------
> #displayan'---------------Display EIN----------------------------------
> d=63
> goto display
> #displayaus'--------------Display AUS----------------------------------
> d=62
> #display
> di=0
> c1=1:c2=1:pulse e
> di=1
> return
>
> #posit'---------Position für Zeichen setzen-------------------------------
> di=0
> if s>63 then goto rechts
> c2=0:d=z+184:c1=1:pulse e' Zeile setzen(0-7)
> d=s+64:pulse e'  Spalte setzen(0-63)+64
> di=1
> return
> #rechts
> c1=0:d=z+184:c2=1:pulse e' Zeile setzen(0-7)
> d=s-64+64:pulse e
> di=1
> return
>
> #leeren'--------------------------Displayinhalt löschen------------------
> di=0
> z=0:c1=1:c2=1:goto leeren2
> #leeren1
> if z=8 then return
> #leeren2
> d=z+184:pulse e
> d=64:pulse e
> di=1
> d=0
> for n=0 to 63
> pulse e
> next
> di=0
> z=z+1
> goto leeren1
>
>
hatte gosub posit vergessen,sorry

 Antwort schreiben

Bisherige Antworten: