pmaler
30.09.2007, 21:38
Hallöchen
Ich habe ein Problemchen.
Ich habe mir beim Reichelt ein Display mit Standardkontroller gekauft
(http://www.reichelt.de/?;ACTION=3;ARTICLE=53941)
Und jetzt wollte ich es mal testen.
Also habe ich die Pins laut Anleitung verbunden, wobei ich Port B2 und Port B3 für Rs und E verwendete und PortC 0-7 für die Datenleitungen angeschlossen habe.
Pin 5 des Displays (R/W) direkt gegen GND und Pin3 (Contrast) ist mit einem Poti angeschlossen.
So wie es auch hier im Wiki beschrieben ist.
Pin 15 und 16 habe ich (auch wieder laut Datenblatt) mit Vorwiderstand an VCC und GND verbunden damit das LCD auch leuchten kann. (HintergrundLed geht auch an)
Und jetzt versuchte ich ein simples Hello World auszugeben.
Anfangs mit 4 Bit, was aber schon nicht ging und nach Suche hier im Forum , bei so manchem auch nicht ganz funktionierte... Also versuchte ich 8 Bit mit folgendem Bascom Proggi
$regfile = "m2560def.dat"
$hwstack = 82 '80
$framesize = 68 ' 64
$swstack = 68 '44
'Diese Anweisung setzt die Fusebits automatisch korrekt (Syntax $PROG LB, FB , FBH , FBX )
$prog , 255 , &B11011001 , 'Quarz an / Teiler aus / Jtag aus
$crystal = 16000000
Config Lcdmode = Port
Config Lcdbus = 8
Config Lcd = 16 * 2
Config Lcdpin = Pin , Port = Portc , E = Portb.3 , Rs = Portb.2
Config Pine.5 = Input
Usb Alias Pine.5 'Ist 1 wenn USB angeschlossen
Config Pind.5 = Output
Led Alias Portd.5
Config Com4 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Open "com4:" For Binary As #4 'USB Buchse
Dim I As Integer
Cls 'loesche das LCD Display
Locate 1 , 1 'Cursor auf 1 Zeile, 1 Spalte
Lcd "Hello world.";
I = 0
Do
I = I + 1
Print #4 , Str(i)
Waitms 200
If Led = 1 Then
Led = 0
Else
Led = 1
End If
Loop
End
Der Zusatzcode soll zeigen, ob sich sonst was noch bewegt. Aber sobald der erste Befehl kommt, um was ans Display rauszugeben, bleibt die Mühle einfach stehen. Also bereits beim CLS.
Werden die Zeilen dokumentiert, läuft der "Rest" wie gewohnt.
Kann mir jemand mal unter die Arme greifen?
Ich habe ein Problemchen.
Ich habe mir beim Reichelt ein Display mit Standardkontroller gekauft
(http://www.reichelt.de/?;ACTION=3;ARTICLE=53941)
Und jetzt wollte ich es mal testen.
Also habe ich die Pins laut Anleitung verbunden, wobei ich Port B2 und Port B3 für Rs und E verwendete und PortC 0-7 für die Datenleitungen angeschlossen habe.
Pin 5 des Displays (R/W) direkt gegen GND und Pin3 (Contrast) ist mit einem Poti angeschlossen.
So wie es auch hier im Wiki beschrieben ist.
Pin 15 und 16 habe ich (auch wieder laut Datenblatt) mit Vorwiderstand an VCC und GND verbunden damit das LCD auch leuchten kann. (HintergrundLed geht auch an)
Und jetzt versuchte ich ein simples Hello World auszugeben.
Anfangs mit 4 Bit, was aber schon nicht ging und nach Suche hier im Forum , bei so manchem auch nicht ganz funktionierte... Also versuchte ich 8 Bit mit folgendem Bascom Proggi
$regfile = "m2560def.dat"
$hwstack = 82 '80
$framesize = 68 ' 64
$swstack = 68 '44
'Diese Anweisung setzt die Fusebits automatisch korrekt (Syntax $PROG LB, FB , FBH , FBX )
$prog , 255 , &B11011001 , 'Quarz an / Teiler aus / Jtag aus
$crystal = 16000000
Config Lcdmode = Port
Config Lcdbus = 8
Config Lcd = 16 * 2
Config Lcdpin = Pin , Port = Portc , E = Portb.3 , Rs = Portb.2
Config Pine.5 = Input
Usb Alias Pine.5 'Ist 1 wenn USB angeschlossen
Config Pind.5 = Output
Led Alias Portd.5
Config Com4 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Open "com4:" For Binary As #4 'USB Buchse
Dim I As Integer
Cls 'loesche das LCD Display
Locate 1 , 1 'Cursor auf 1 Zeile, 1 Spalte
Lcd "Hello world.";
I = 0
Do
I = I + 1
Print #4 , Str(i)
Waitms 200
If Led = 1 Then
Led = 0
Else
Led = 1
End If
Loop
End
Der Zusatzcode soll zeigen, ob sich sonst was noch bewegt. Aber sobald der erste Befehl kommt, um was ans Display rauszugeben, bleibt die Mühle einfach stehen. Also bereits beim CLS.
Werden die Zeilen dokumentiert, läuft der "Rest" wie gewohnt.
Kann mir jemand mal unter die Arme greifen?