Displaytech 162 LCD mit bascom ansteuern

Gast #1478435
Moin Moin, ich hab mir letztens bei Reicehlt das Display bestellt:
http://www.reichelt.de/?ACTION=3;ARTICLE=31652;PROVID=2402

Mein Code sieht grad so aus:
1
$regfile = "2313def.dat"
2
'$crystal = 16000000
3

4
Ddrd = &B11111111                                           'LCD-Output
5

6

7
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
8
Config Lcd = 16 * 2
9

10
ldi r24, $24                                                'hier die Anpassungen
11
rcall _lcd_control                                          'für das Reichelt-LCD
12
ldi r24, $9
13
rcall _lcd_control
14
ldi r24,$20
15
rcall _lcd_control
16

17
Initlcd
18
Cls
19
Cursor Off Noblink
20

21
Locate 1 , 1
22
Lcd "Zeile1..."
23

24
Locate 2 , 1
25
Lcd "Zeile2..."
26

27
End

Display is auch garantier richtig angeschlossen, zehnmal übrprprüft, es 
zeigt in der ersten Zeile auch schöne schwarze Rechtecke deren Kontrast 
ich übern Poti regeln kann.

Das lässt für mich darauf was schliesen was ich nach stundenlangen 
googeln so über LCD rausgefunden hab das nur die erste Zeile 
initialisiert wird, oder?

Ich weis das es Bascom lieber wäre wenn ich en Display mit nem HD44780 
Controller hätt, aber soeins gibts bei Reichelt nur für 18 Euro, und das 
is mir dann doch etwas zuviel^^

Vorhin bin ich dann hierrauf gestosen und hab das auch gleich Probiert ( 
Beitrag "Bascom: Reichelt-LCD" ), und das was oben steht 
is nu bei rausgekommen, mit LCDs hab ich halt noch nie gearbeitet.

Weis jemand was ich falsch mache?

Danke schonmal für eure Antworten :)

MFG
David
David Sutter schrieb:

Gleich vorweg:
Ich habe keine Lösung für dein Problem

> Das lässt für mich darauf was schliesen was ich nach stundenlangen
> googeln so über LCD rausgefunden hab das nur die erste Zeile
> initialisiert wird, oder?

Nö. Da hast du dann schlecht recherchiert.
Das bedeutet, dass das LCD überhaupt nicht initialisiert wurde.
Selbst wenn du nur die Versorgungs und Kontrastspannung anlegst, 
erscheinen die beiden Balken. Sinn der Sache ist es, dem Benutzer eine 
Möglichkeit zur Einstellung des Kontrastes zu geben (und wahrscheinlich 
auch eine Rückmeldung, ob das LCD das zeitliche gesegnet hat)

> Ich weis das es Bascom lieber wäre wenn ich en Display mit nem HD44780
> Controller hätt, aber soeins gibts bei Reichelt nur für 18 Euro, und das
> is mir dann doch etwas zuviel^^

Tja. Wieviel sind dir die Stunden der bisherigen Fehlersuche wert :-)


> Vorhin bin ich dann hierrauf gestosen und hab das auch gleich Probiert (
> Beitrag "Bascom: Reichelt-LCD" ), und das was oben steht
> is nu bei rausgekommen, mit LCDs hab ich halt noch nie gearbeitet.

Darauf würde ich nicht allzuviel geben.
Dieses Posting stammt aus 2005. In der Zwischenzeit hat sich viel getan. 
BASCOM wurde weiterentwickelt. Da würde ich mal nach etwas Neuerem 
suchen.
Gast
Jo R/W liegt auf GND, aber könnte es daran liegen das ich mittem 
internen Oszilator arbeit und das Timing bei der Übertragung dann zu 
ungenau ist?
Kannst es ja einmal ausprobieren

Lüge BASCOM an und behaupte dein µC läuft mit 16Mhz. Wenn der Proz dann 
tatsächlich langsamer läuft hat BASCOM alles viel zu kurz berechnet und 
dein Programm braucht in Wirklichkeit für alles viel länger als BASCOM 
ausgerechnet hat.

Beim einem LCD darf man nur nicht zu schnell sein. Zu langsam kann man 
sein soviel man will :-)
David Sutter schrieb:
> Ich versteh iwie nich was ich machen soll :P, also $crystal = 16000000 ,
> und dann?

nichts und dann. einfach ausprobieren.

Deine Vermutung war, dass dein 'Timing zu ungenau' ist. Bei einem LCD 
kann aber 'zu ungenau' nur heißen: 'zu schnell'.
Also lügen wir BASCOM so an, dass es das LCD viel langsamer als 
notwendig ansteuert. Wenn sich deine Befürchung bewahrheitet, dann 
müsste es funktionieren. Funktinoiert es dann immer noch nicht, dann ist 
deine Hypothese 'Timing zu ungenau' nicht haltbar.
Gast
Vielleicht ist der Controller ja auch einfach kompatibel?

Probier mal genau dieses Programm mit genau dieser Belegung:

$regfile = "2313def.dat"
$crystal = 16000000

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

Cls
Lcd "Hurra!"
do:loop


Belegung:

1,3,5 auf GND
2     auf 5V
4     auf RS
6     auf E
7-10  frei lassen
11-14 DB4-DB7
Gast
Super Leute!

Also ich habs jetz ohne den ganzen Krimskrams gemacht, also ganz normal, 
und hab noch mal alle Verbindungen gecheckt, bzw einfach alle kabel 
nochmal weg, und wieder verbunden, und es funzt!

Super, danke euch! Mach gleich noch en Pic :-)
Gast
Das:
1
ldi r24, $24                                                'hier die Anpassungen
2
rcall _lcd_control                                          'für das Reichelt-LCD
3
ldi r24, $9
4
rcall _lcd_control
5
ldi r24,$20
6
rcall _lcd_control


ICh würd jetz gern bischen Temperatur messen, ich weis nich ob jemand 
die Seite von ThomasPfeifer(.net) kennt, aber der misst iwo ne Temp mit 
ner Zenerdiode, wie genau hab ich da nich rausgefunden.

Diode hab ich da, bräucht ich nurnoch nen Anhaltspunkt wie ich das mess.
AD-Wandler hat der 2313 ja.

Wie stell ich das denn am geschicktesten an?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.