www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CodeVision LCD


Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: emil (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...:(((

Autor: Chris (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Steffen!

Hatte auch das Problem.
Im Anhang findest du ne .lib die mit 6 Pins auskommt.
Dafür kannst du nichts vom LCD lesen aber das scheint mir eher
unwichtig.

mfg Chris!!

Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: emil (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Reihenfolge stimmt genau!

Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super, danke!

Sicher, dass ich hier die DB0 bis DB3 verwenden muss?
Im Tutorial wird mit den DB4 - DB7 gearbeitet!

Grüße
Steffen

Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Chris,

ich hab grade versucht, deine Library zu verwenden, aber ich benötige
noch die passende Header Datei dazu! Kannst du die bitte ins Forum
stellen?

Vielen Dank
Steffen

Autor: emil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Steffen,
sorry für den Fehler, natürlich hast Du Recht, es müssen doch db4-db7
verwendet werden;
habe es aus Versehen geschrieben, Chris hat wohl automatisch betstätigt
 :))

Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
push ;)

@Emil, chris: Bitte erzählt mir, wie ich die Library in Codevision
einbinden kann. Danke!

Autor: emil (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, ich hab die Fehler in deiner Header Datei gefunden und behoben.
Sollte jetzt eigentlich gehen. Ich werds gleich mal versuchen und mich
dann melden!

Grüße
Steffen

Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: emil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ICQ: 140700441 bin gerade online

Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ CHRIS:

Deine Library funktioniert bei mir leider nicht. Bitte melde dich mal
bei mir per email (steffen.burr@rfds.net). Das wäre echt nett !!

DANKE !

Steffen

Autor: emil (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.