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 - 22.11.2005 14:47)
 Als Antwort auf Grafikdisplay von Klaus - 31.10.2005 17:22
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
d=3:pulse e
'das 5.Pixel in der 1.Reihe und das darunterliegende Pixel sollten nun zu sehen sein        

z=7:s=0
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


 Antwort schreiben

Bisherige Antworten:

Re: Grafikdisplay (von Thomas - 4.12.2005 17:07)