Probleme mit Displayansteuerung (4*20)

OP #394530
Lesenswert?

Hallo,

ich habe ein Problem mit der Ansteuerung meines neuen Displays
(LCD 204BL-4 DIP / Reichelt). Die Fehlerbeschreibung ist mit auf dem
Bild, welches ich angehängt habe.
Was mich verwundert ist, dass ein anderes 4 Zeilen Display einwandfrei
funktioniert.

Ich würde mich freuen, wenn mir da jemand weiterhelfen kann.

Vielen Dank im voraus.

Jens
Angehängte Dateien:
Gast #394536
Lesenswert?

Wenn du hier nach Bascom fragst wirst du nicht sooo viele Antworten
bekommen. Es gibt hier zu viele C-ist-besser-meinung-leute.
Von der initialisierung her sieht es okay aus. der kontrollertyp ist
wirklich KS0073? mmhh

The 20*4A is also special. It uses the addresses &H00, &H20, &H40 and
&H60 for the 4 lines. It will also set a special function register.
hast du e oder e- angeschlossen?
Gast #394537
Lesenswert?

Das hat nicht mit "besser" oder "schlechter" zu tun. Bascom ist eine
nette Sache, aber in vielen Dingen zu sehr black-box.
Man müßte die geforderte Initialisierungssequenz des 20x4 Displays mal
checken und mit der eines 16x4 vergleichen (Datenblätter vergleichen).
Da müsste ein Unterschied zu sehen sein, wenns an der Initialisierung
liegt (man kann z.B. das Display als 1-zeilig oder 2-zeilig
initialisieren). Wenn es unterschiede gibt, sind die wahrscheinlich bei
Bascom nicht berücksichtigt oder müssen über entsprechende Parameter
aktiviert werden.
Gast #394538
Lesenswert?

schau mal auf www.roboternetz.de da habe ich schon oft gute hilfe mit
bascom bekommen.

oder schreib mark bei mcselec ne mail, der brauch zwar immer ein
bisschen aber ne atwort bekommst du auf jeden fall
Gast #394539
Lesenswert?

Versuch es mal so.

Gruß Paul





Config Lcd = 40*4                     'Anzeigemodus 40 x 4 Zeichen
Config Lcdpin = Pin , E2 = Portb.1 , Db4 = Portb.4 , Db5 = Portb.5 ,
Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2


___lcdno = 0                                 'auf Chip 1 schalten
Initlcd                                    'die beiden oberen Zeilen
Lcd "by Paul Baumann"
___lcdno = 1                               ' Chip 2

Initlcd
Lcd " so, 3 Zeile"
Gast #394541
Lesenswert?

Für mich hört sich das ganze nach einer Fehladressierung an. Zum
Beschreiben jeder Zeile muß anfangs eine Adresse mitgeliefert werden.
Für die erste Zeile liegt sie bei 0x00, Zeile 2 hat meistens 0x40,
Zeile 3 0x20 und Zeile 4 0x60. Das kann aber von Display zu Display
unterschiedlich sein. Electronic Assembly liefert eigentlich immer
einen gut strukturierten Beipackzettel mit, einfach mal ´reingucken ;)
Gast #394543
Lesenswert?

Ach so, hier der Code (welcher ansonsten ja identisch ist):

Config Lcd = 20 * 4a , Chipset = Ks077
   Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.0 , Db6 = Portd.7
, Db7 = Portd.6 , E = Portb.3 , Rs = Portc.2
   Config Lcdbus = 4



   Initlcd

   Cls
   Locate 1 , 1                   'Cursor auf 1 Zeile, 1 Spalte
   Lcd "bla bla"
   Locate 2 , 1
   Lcd "bla bla"
   Locate 3 , 1
   Lcd "bla bla"
   Locate 4 , 1
   Lcd "Testprogram blabla"
OP #394544
Lesenswert?

Vielen vielen Dank für die vielen konstruktiven Antworten.

Der Fehler ist raus. Ich habe lediglich einmal Chipset auf KS077
gesetzt und danach war der Fehler raus.
Nur als ich ihn später wieder "einbauen" wollte um 100%ig sicher zu
sein, konnte ich ihn nicht mehr rekonstruieren.

Wenn der Fehler noch einmal auftritt und ich rausfinde, woran es lag,
werde ich es auf jeden Fall posten.

Es hat auf jeden Fall mit der Lösung von Dirk funktioniert.

Ich bin happy, dass es läuft.

Nochmals vielen Dank

Jens

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren