Olle_Filzlaus
27.02.2006, 20:59
Hallo,
ich will eine Uhr bauen. nur sieht man auf einem 2x16 Display nicht wirklich viel. also habe ich mir gedacht das ich einfach große Zeichen darstelle.
aber leider geht das mit deflcdchar ja nur bis zu 8 Zeichen.
ich habe es geschafft zwei zeichen auszugeben aber da ich aber pro zeichen 4 felder benötige und ich 8 darstellen will reicht das nicht ganz.
kann ich das irgendwie die begrenzung umgehen? oder einfach per datenfeld die zeichen laden?
'**********************************
'* Atmega8 mit großen Zahlen *
'**********************************
$regfile "m8def.dat"
$crystal = 1000000
'blaues display
Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.1 , Rs = Portd.0
Config Lcdbus = 4
Config Lcd = 16 * 2
'Zeichen definieren
'**** 1 ****
Deflcdchar 0 , 32 , 1 , 3 , 7 , 15 , 1 , 1 , 1 ' replace ? with number (0-7)
Deflcdchar 1 , 32 , 16 , 16 , 16 , 16 , 16 , 16 , 16 ' replace ? with number (0-7)
Deflcdchar 2 , 1 , 1 , 1 , 1 , 1 , 7 , 15 , 32 ' replace ? with number (0-7)
Deflcdchar 3 , 16 , 16 , 16 , 16 , 16 , 30 , 31 , 32 ' replace ? with number (0-7)
'**** 2 ****
Deflcdchar 4 , 32 , 7 , 15 , 32 , 32 , 32 , 7 , 15 ' replace ? with number (0-7)
Deflcdchar 5 , 32 , 28 , 30 , 6 , 6 , 6 , 30 , 28 ' replace ? with number (0-7)
Deflcdchar 6 , 12 , 12 , 12 , 12 , 12 , 15 , 7 , 32 ' replace ? with number (0-7)
Deflcdchar 7 , 32 , 32 , 32 , 32 , 32 , 28 , 30 , 32 ' replace ? with number (0-7)
Cls 'wichtig, muss hin
Do
Cls
'* 1 ********************************
Locate 1 , 1
Lcd Chr(0)
Locate 1 , 2
Lcd Chr(1)
Locate 2 , 1
Lcd Chr(2)
Locate 2 , 2
Lcd Chr(3)
Wait 1
'* 2 ********************************
Locate 1 , 3
Lcd Chr(4)
Locate 1 , 4
Lcd Chr(5)
Locate 2 , 3
Lcd Chr(6)
Locate 2 , 4
Lcd Chr(7)
Wait 1
Loop
mit dem stückchen code zeigt er die ersten beiden zahlen an.
also meine frage, kann ich irgendwie mehr eigene zeichen definieren. oder gibt es eine andere möglichkeit solche großen zeichen darzustellen?
cu arno
PS: warum kann ich keine bilder ochladen. es kommtimmer die meldung das ich eine grenze von 1MB erreicht hätte. mein bild is nur 6k groß.
ich will eine Uhr bauen. nur sieht man auf einem 2x16 Display nicht wirklich viel. also habe ich mir gedacht das ich einfach große Zeichen darstelle.
aber leider geht das mit deflcdchar ja nur bis zu 8 Zeichen.
ich habe es geschafft zwei zeichen auszugeben aber da ich aber pro zeichen 4 felder benötige und ich 8 darstellen will reicht das nicht ganz.
kann ich das irgendwie die begrenzung umgehen? oder einfach per datenfeld die zeichen laden?
'**********************************
'* Atmega8 mit großen Zahlen *
'**********************************
$regfile "m8def.dat"
$crystal = 1000000
'blaues display
Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.1 , Rs = Portd.0
Config Lcdbus = 4
Config Lcd = 16 * 2
'Zeichen definieren
'**** 1 ****
Deflcdchar 0 , 32 , 1 , 3 , 7 , 15 , 1 , 1 , 1 ' replace ? with number (0-7)
Deflcdchar 1 , 32 , 16 , 16 , 16 , 16 , 16 , 16 , 16 ' replace ? with number (0-7)
Deflcdchar 2 , 1 , 1 , 1 , 1 , 1 , 7 , 15 , 32 ' replace ? with number (0-7)
Deflcdchar 3 , 16 , 16 , 16 , 16 , 16 , 30 , 31 , 32 ' replace ? with number (0-7)
'**** 2 ****
Deflcdchar 4 , 32 , 7 , 15 , 32 , 32 , 32 , 7 , 15 ' replace ? with number (0-7)
Deflcdchar 5 , 32 , 28 , 30 , 6 , 6 , 6 , 30 , 28 ' replace ? with number (0-7)
Deflcdchar 6 , 12 , 12 , 12 , 12 , 12 , 15 , 7 , 32 ' replace ? with number (0-7)
Deflcdchar 7 , 32 , 32 , 32 , 32 , 32 , 28 , 30 , 32 ' replace ? with number (0-7)
Cls 'wichtig, muss hin
Do
Cls
'* 1 ********************************
Locate 1 , 1
Lcd Chr(0)
Locate 1 , 2
Lcd Chr(1)
Locate 2 , 1
Lcd Chr(2)
Locate 2 , 2
Lcd Chr(3)
Wait 1
'* 2 ********************************
Locate 1 , 3
Lcd Chr(4)
Locate 1 , 4
Lcd Chr(5)
Locate 2 , 3
Lcd Chr(6)
Locate 2 , 4
Lcd Chr(7)
Wait 1
Loop
mit dem stückchen code zeigt er die ersten beiden zahlen an.
also meine frage, kann ich irgendwie mehr eigene zeichen definieren. oder gibt es eine andere möglichkeit solche großen zeichen darzustellen?
cu arno
PS: warum kann ich keine bilder ochladen. es kommtimmer die meldung das ich eine grenze von 1MB erreicht hätte. mein bild is nur 6k groß.