Hi Vitis!
Sag mal, könntest du bitte mal kurz genau beschreiben wie du das mit der lib gemacht hast und welche du genommen hast?
Kenne mich damit nur wenig damit aus und würde es gerne genauso machen.
Vielen Dank
Marten83
Druckbare Version
Hi Vitis!
Sag mal, könntest du bitte mal kurz genau beschreiben wie du das mit der lib gemacht hast und welche du genommen hast?
Kenne mich damit nur wenig damit aus und würde es gerne genauso machen.
Vielen Dank
Marten83
Das Problem hatte ich auch schon mit meinem Display an nem Mega32, hatte es erst an PD0 - PD5 hängen, hat auch nicht funktioniert, habs dann auch mal an PA0 - PA5 gehängt und da hats einwandfrei hingehauen. Ist schon komisch.
Gruß,
Martin
Herzlichen Dank - ich war auch schon am Verzweifeln, weil das Display irgentwie absolut nicht funzen wollte. Bis man mich vom RC-Line-Forum mal hierhin verwiesen hatte. Ich habe das jetzt gerade ausprobiert - und endlich läufts...
Ich habe das jetzt so gemacht: - Das Programm zählt in jedem Durchlauf eine Integervariable um 1 rauf beginnend bei -100 und gibt diese in einem Text auf den 4 Zeilen des Displays aus....
Wenn andere Pins benutzt werden, muß das dann natürlich angepaßt werden. Also Danke daß ich das jetzt auch ordentlich am laufen haben kann...Code:$regfile = "m16def.dat" 'Mega16
$crystal = 3686400
Declare Sub Lcdinit
Declare Sub Lcdwrite(byval Zeichen As Byte)
Config Lcdpin = Pin , Db4 = Porta.0 , Db5 = Porta.1 , Db6 = Porta.2 , Db7 = Porta.3 , E = Portd.5 , Rs = Portd.4
Config Lcd = 20 * 4a
Call Lcdinit
Dim H As Integer
H = -100
Cls
Do
Locate 1 , 1
Lcd "1H: " ; H ; "m"
Locate 2 , 1
Lcd "2H: " ; H ; "m"
Locate 3 , 1
Lcd "3H: " ; H ; "m"
Locate 4 , 1
Lcd "4H: " ; H ; "m"
Incr H
Loop
Sub Lcdinit
Call Lcdwrite(&B00101100)
Waitms 5
Call Lcdwrite(&B00001001)
Waitms 5
Call Lcdwrite(&B00101000)
Waitms 5
Call Lcdwrite(&B00000110)
Waitms 5
Call Lcdwrite(&B00001100)
Waitms 5
End Sub
Sub Lcdwrite(byval Zeichen As Byte)
' Höherwertiges Nibble setzen
If Zeichen.4 = 1 Then Porta.0 = 1 Else Porta.0 = 0
If Zeichen.5 = 1 Then Porta.1 = 1 Else Porta.1 = 0
If Zeichen.6 = 1 Then Porta.2 = 1 Else Porta.2 = 0
If Zeichen.7 = 1 Then Porta.3 = 1 Else Porta.3 = 0
' Höherwertiges Nibble übertragen
Portd.5 = 1 'E setzen
Waitms 1
Portd.5 = 0 'E rücksetzen
Waitms 1
' Niederwertiges Nibble setzen
If Zeichen.0 = 1 Then Porta.0 = 1 Else Porta.0 = 0
If Zeichen.1 = 1 Then Porta.1 = 1 Else Porta.1 = 0
If Zeichen.2 = 1 Then Porta.2 = 1 Else Porta.2 = 0
If Zeichen.3 = 1 Then Porta.3 = 1 Else Porta.3 = 0
' Niederwertiges Nibble übertragen
Portd.5 = 1 'E setzen
Waitms 1
Portd.5 = 0 'E rücksetzen
Waitms 1
End Sub
Hallo!
Hat jemand mehr Erfahrung wenn man das ganze mit einer eigenen Library macht?
Hab es so gemacht und mein Problem ist, das ich zwar Text wunderbar anzeigen lassen kann, es aber bei ner Variablen (ADC) überhaupt nicht funktioniert. Er zeigt keine Zahl und an der falschen Stelle an.
Marten83
Also ich hab mal n lib gefunden und verwende das auch.
wie ich das mach findet Ihr unter:
https://www.roboternetz.de/phpBB2/ze...810&highlight=