PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD Display zeigt nur Balken an



MrBigBrain
19.02.2006, 20:03
Hallo, mein LCD Display zeigt nur Balken an, wenn ich es an eine Atmega8 anschließe. Kann es sein das es am Reset Pin liegt, ich weis nämlich nicht mit wem der verbunden werden muss. Ich hab ein ea dip204-4.

MFG MrBigBrain

chr-mt
19.02.2006, 20:05
Hi,
Reset muß nicht angeschlossen sein.
Mit was programmierst du ?
Die eadip Displays brauchen eine etwas andere Initialisierung wie die Standard Displays.

Gruß
Christopher

MrBigBrain
19.02.2006, 20:10
Ich programmier mit AVR-Assembler. Ich hab das Tutorial von mikrocontroller.net genommen.

chr-mt
19.02.2006, 20:21
Hi,
dann bin ich als Bascom User schon raus ;)

Ich hab' das Eadip übrigens mit

&H2C
&H09
&H28
&H06
&H0C

initialisiert..

Gruß
Christopher

PICture
19.02.2006, 22:30
Hallo MrBigBrain!

Ich bin PIC Benutzer, aber habe schon ziemlich viel mit Displays erfolgreich gemacht. Für jeden Display sollte man, die von Hersteller empfohlene Initialisierung anhalten. Es gibt aber allgemeine Mitteln, die man probieren kann. Dazu gehört z.B. eine Wartezeit vor der Initialisierung bis zu 200 ms. Wenn das hilft, verkürzt man sie, bis das Display wieder nicht funktioniert und danach verwendet man ein bischen längere. Versuch mal.

MfG

MrBigBrain
20.02.2006, 18:11
Hi ich benutz jetzt Bascom und kann schonmal was auf dem Display anzeigen, aber da werden nur komische Zeichen angezeigt(ich weis garnicht wie man die mit der Tastatur schreibt :D ).
Hier ist mein Code:


$regfile = "m8def.dat"
$crystal = 4000000

Config Lcd = 20 * 4
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
Config Lcdbus = 4

Cls
Locate 1 , 1
Lcd "Hallo Welt"

chr-mt
20.02.2006, 18:18
Hi,
guck' dir das mal an:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=10944
Da gibt's einen Code für 4-Bit Initialisierung mit Bascom.

Gruß
Christopher

molleonair
20.02.2006, 18:57
oder hier einfach oben die pins ändern



Dim Zeichen As Byte
Declare Sub Zumdisplay(byval Zeichen As Byte) 'funktion zum senden an das display

Db4dis Alias Portc.5 'hier einfach die belegung einstellen das wars
Db5dis Alias Portc.4
Db6dis Alias Portc.3
Db7dis Alias Portc.2
Rsdis Alias Portc.1
Enabledis Alias Portc.0

Config Lcdpin = Pin , Db4 = Db4dis , Db5 = Db5dis , Db6 = Db6dis , Db7 = Db7dis , E = Enabledis , Rs = Rsdis

Initlcd
Call Zumdisplay(&B00101100) 'aufruf zum initialisieren
Waitms 5 'des display controllers
Call Zumdisplay(&B00001001)
Waitms 5
Call Zumdisplay(&B00101000)
Waitms 5
Call Zumdisplay(&B00000110)
Waitms 5
Call Zumdisplay(&B00001100)
Waitms 5
Config Lcd = 20 * 4a 'display als 20 zeichen mal 4 zeilen


Cls

Locate 1 , 1
Lcd "Hello"
Locate 2 , 1
Lcd "world"

End


Sub Zumdisplay(byval Zeichen As Byte)

' Höherwertiges Nibble setzen
If Zeichen.4 = 1 Then Set Db4dis Else Reset Db4dis
If Zeichen.5 = 1 Then Set Db5dis Else Reset Db5dis
If Zeichen.6 = 1 Then Set Db6dis Else Reset Db6dis
If Zeichen.7 = 1 Then Set Db7dis Else Reset Db7dis

' höherwertiges nibble übertragen
Set Enabledis
Waitms 5
Reset Enabledis
Waitms 5

' Niederwertiges Nibble setzen
If Zeichen.0 = 1 Then Set Db4dis Else Reset Db4dis
If Zeichen.1 = 1 Then Set Db5dis Else Reset Db5dis
If Zeichen.2 = 1 Then Set Db6dis Else Reset Db6dis
If Zeichen.3 = 1 Then Set Db7dis Else Reset Db7dis

' Niederwertiges Nibble übertragen
Set Enabledis
Waitms 5
Reset Enabledis
Waitms 5

End Sub




Gruß Daniel

MrBigBrain
21.02.2006, 18:49
Danke an euch alle!!! :D
molleonair's code funktioniert.

MFG MrBigBrain