INFO - FAQ - CC2-Forum - CCPro-Forum |
|
> > 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 |