CodeVision LCD

Gast #48787
Lesenswert?

Hallo!

Wie kann ich in CodeVision ein LCD anschließen an einen 4433?

Ich möchte sowohl den ext. Interrupt 0, als auch das UART nutzen.
CodeVision lässt das LCD aber nur an PortD anschließen.
Gibt es eine Möglichkeit das zu ändern, oder muss ich dann die von
CodeVision programmierten Funktionen abändern?

Vielen Dank!
Steffen
Gast #48788
Lesenswert?

ich fürchte, es geht nur durch (aufwendige) umschreibung der
lcd.lib...werf' mal einen blick da und du wirst es sehen...das gefällt
mir an cvavr auch nicht, auch die sinnlose belegung der r/w leitung, wo
andere mit nur 6 pins auskommen...:(((
Gast #48790
Lesenswert?

Hallo Chris!

Echt super! Ich werds morgen gleich austesten.
Dass man vom LCD nichts lesen kann stört mich überhaupt nicht - hatte
ich sowieso nicht vor.

In welcher Reihenfolge müssen die Pins des LCD an den PORT?

Danke vielmals!
Grüße
Steffen
Gast #48791
Lesenswert?

hey chris,
das ist genau das, wonach ich auch gesucht habe;
sehr nett von dir, dass du die .lib datei hier
postest.
recht herzlichen dank!

@steffen:
die reihenfolge ist (glaube ich):

db0=pin.0 ,..., db3=pin3, rs=pin.4, en=pin.5
Gast #48794
Lesenswert?

Hab grade mal im Datasheet vom HD44780 Controller nachgeschaut.

Auf Seite 9 steht: 'DB0 to DB3: [..] These pins are not used during
4-bit operation.'

Also müsste das folgendes bedeuten:

Pin 0 = DB4
Pin 1 = DB5
Pin 2 = DB6
Pin 3 = DB7
Pin 4 = RS
Pin 5 = EN

Ist das korrekt so?
Gast #48797
Lesenswert?

@emil: kein problem!

@all: vielleicht kann mir sonst jemand noch erkläern, wie ich die
Library in Codevision einfügen kann. Meiner Meinung brauch ich dazu
eine Header Datei, oder?

Grüße
Steffen
Gast #48799
Lesenswert?

hi steffen,

habe es zwar noch nicht ausprobiert, obwohl pcb schon in arbeit ist, am
wochenende wüsste ich es bescheid; habe auf jeden fall vor, die
headerdatei im anhang zu verwenden, die ist doch einfach eine ableitung
der funktionsnamen aus der mylcd.lib; hoffe, es klappt damit; sag bitte
bescheid, wenn du sie ausprobierst.

emil
Angehängte Dateien:
Gast #48800
Lesenswert?

Hallo emil,

danke für deine Antwort!
Ich habs grade probiert. Beim kompilieren tritt der Fehler auf:
'Error in library: E:\CAVR\mylcd.lib'
Line: 21, multiple declaration for 'lcd_e_toggle'

Hast du vielleicht Email oder ICQ. Würde mich freuen, wenn wir das
schnell lösen könnten´, damit ich weiterarbeiten kann ;-)
Meine Mail: steffen.burr@rfds.net

Danke!
Steffen
Gast #48802
Lesenswert?

Ok, kompilieren tut ers jetzt. Aber ausgeben tut er am Display leider
nix. Hab vor der Hauptschleife mal geschrieben:

lcd_init();
lcd_clear();
while (1)
      {
      // Place your code here
        lcd_putchar("R");

      };

Das Display zeigt aber immer noch zwei Streifen an.
Ich hab in der MyLCD.lib den PORT auf PORT A gestellt, an dem auch mein
LCD hängt ...

Irgendwelche Ideen?

Grüße
Steffen
Gast #48805
Lesenswert?

Hi Chris & Steffen,

habe heute versucht, das LCD mithilfe der mylcd.lib zum Laufen zu
bringen; leider genau das selbe Ergebnis wie Steffen-schwarze Balken
/keine Initialisierung...:((

Das Blöde dran ist, dass die mylcd.lib eine exakte Übersetzung
(asm->c) des LCD Beispiels im Tutorial von Andreas ist, habe beide
ziemlich lang verglichen...und das (asm) Beispiel von Andreas
funktioniert schon, habe ich auch getestet...

Also, woran kann das liegen, hat jemand Rat/parat :))) ? Wäre doch
schön, mit nur 6 statt 7 Portpins auszukommen...

Grüss,
Emil

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