mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik myavr lcd / Schaltplan /lcd routinen


Autor: Versager (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

ich sitze jetzt den dritten Tag daran das LCD meines myavr boards zu 
Programmieren, um es gleich vorweg zu nehmen, es geht garnichts, ich 
scheiter einfach daran diese lcd routinen umzuprogrammieren, ich denke 
ich muss mal ganz unten anfangen, sonst bekomme ich da nie nen Fuß an 
den Boden.

Um zum Beispiel nen Display zu clearen, wäre der Hex-Code 0x01, d.h. das 
Bit D0 auf 1 liegt und alle anderen auf 0, nur wie soll ich D0 auf 1 
setzen wenn dieses laut Schaltplan garnicht angeklemmt sind?!?

Laut Schaltplan ist nur Db 4-7  RS  E /RW und die 
Hintergrundbeleuchtung angeklemmt..

Autor: Juhu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stichwort: 4-bit Modus, also nacheinander 2 Nibbles schicken

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versager wrote:
> Laut Schaltplan ist nur Db 4-7  RS  E /RW und die
> Hintergrundbeleuchtung angeklemmt..

Das ist korrekt. Das Display wird offensichtlich im 4Bit-Modus 
betrieben, das  bedeutet, daß zuerst das High- und dann das Low-Nibble 
eines Bytes in zwei getrennten Schreiboperationen übertragen werden.

Vieleicht erzählst du mal, welche Quellen du gerade versuchst 
umzuschreiben....

Autor: Neue Hoffnung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zuerst hab ich ausprobiert die Routine ausm gcc tutorial zu übernehmen, 
ich war schon so weit das ich das ganze im wincc compiler ohne fehler 
kompilieren konnte. So wie es aussieht passen die Ports aber in keinster 
weise, also hab ich versucht das anzupassen.

// Pinbelegung für das LCD, an verwendete Pins anpassen

#define LCD_PORT      PORTD
#define LCD_DDR       DDRD
#define LCD_RS        2              //Rs bit
#define LCD_EN        3              //Port D 3 LCD Enable

Aber das wird wohl etwas aufwändiger, da ich ja so erstmal keine 
Möglichkeit hab die einzelnen Pins zu definieren, sondern nur den Port.. 
und das bringt ja schonwieder das nächste Problem..

Also wenn ich das richtig verstehe kann ich dem Display quasi sagen 
welche 4 Bit ich welchem Bereich zuordne?

Ich werde morgen mal etwas konkreter mein Kopf ist voll nach dem ganzen 
rumprobieren.. ;)

Autor: Stephan Gamp (gamps)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist eine Routine mit der Du die Ports einzeln einstellen kannst 
(lcd.h)

Funktioniert dann auch mit dem myAvr Display.
Benutzt Du auch ein Programmer Board von myAvr ?

Wenn nicht, dann mußt Du aufpassen wie die Pins des LCD Displays auf
die Pins der myAVR LCD Platine rausgeführt werden. In der Beschreibung 
ist
nämlich ein Fehler. LCD Pin1 und 2 sind vertauscht.
Gruß


Stephan

Autor: es funkt es funkt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Danke!!

Mittlerweile hab ich doch noch eine Routine gefunden die passend fürs 
myAvrboard mit dem dazugehörigen LCD ist!!

werd mir das mal näher betrachten und sicherlich noch die ein oder 
andere Frage haben!!

Für alle die noch suchen hier der passende link!

http://roman.mainer.de/mikrocontroller/avr/myavr_lcd/

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dem Quellcode nach konnte das mit dem Code aus dem GCC-Tutorial nicht 
funktionieren. MyAVR scheint den Port so belegt zu haben:

DB4-7    PortD4-7
RS       PortD2
E        PortD3

Das Tutorial hingegen erwartet, das der Datenbus auf PortD0-3 und RS und 
E auf PortD4&5.

Das bedeutet, daß die aleinige Anpassung von RS & E im Tutorial das Ding 
noch nicht zum funktionieren bringen kann.

Wenn mal einer von euch die Portbelegung vom MyAVR früher gepostet 
hätte, hättet ihr bestimmt nicht alleine solange suchen müssen. War denn 
beim MyAVR-Board kein beispielcode dabei?

Autor: es funkt es funkt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habs wohl nen bischen blöd geschrieben, oben hab ich versucht zu 
erklären das sich die ports nicht vernünftig anpassen lassen ;)

War leider kein c-code dabei, ich glaub in dem Übungsheft ist einer drin 
aber das muss man extra kaufen.

Nach wie vor find ich den Aufwand um nen lcd hell zu kriegen viel zu 
hoch, in der schule haben wir nen anderes experimentierboard wo wir mit 
keil arbeiten, da schickt man die hex-codes zum initialisieren einfach 
an ne adresse und fertig ist die kiste.. bin halt nen bischen verwöhnt 
;)

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es funkt es funkt wrote:

> Nach wie vor find ich den Aufwand um nen lcd hell zu kriegen viel zu
> hoch

Das da kein Beispielcode und keine Pinbelegung bei sein soll, kann ich 
kaum glauben. Wenn dem so sein sollte, hast du natürlich recht. 
Zumindest wäre dann von MyAVR für Anfänger abzuraten.

Das Keil wirklich besser sein soll, kann ich aber kaum glauben.

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachdem ich mich jetzt mal interessehalber selbst umgeschaut habe, muss 
ich sagen, das die hier aufgestellten Behauptungen falsch sind.

Im Downloadbereich von MyAVR (http://www.myavr.de/download.php) findet 
man sowohl technische Detailinformationen (Archiv_MyAVRLCD_22.zip) mit 
der Pinbelegung, sowie eine Testapplikation (LCD_TEST.HEX) für das LCD.

Die hier genannten Startschwierigkeiten sind also hausgemacht...

Autor: es funkt es funkt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ne pinbelegung ist dabei, das ist auch alles super dokumentiert, gerade 
für Anfänger haben die da viel gemacht, sogar nen paar basics wie man 
richtig lötet etc.

Zum Testen der Komponenten ist ein kleines Programm dabei mit dem man 
verschiedene Beispielprogramme brennen kann um zum Beispiel das LCD zu 
testen..nen Quellcode kriegt man da jedoch nicht zu Gesicht.

Zusätzlich gibt es noch eine DemoVersion von myAvr Workpad, aber in der 
Demoversion sind nur ein paar Assembler Vorlagen wie man zum Beispiel 
nen Port auswertet etc.

LCD fehlt völlig, dazu müsste man dann schon die Vollversion kaufen ;)

Nichts desto trotz hab ich jetzt 26 Euro für das Bord+LCD+CD bezahlt, 
das ist ja eigentlich nen Preis der in Ordnung geht..

Autor: es funkt es funkt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
irgendwie verstehen wir uns immer falsch ;)
ich hab doch nie behauptet keine pinbelegungen zu haben

Autor: Niels Hüsken (monarch35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es funkt es funkt wrote:

> ich hab doch nie behauptet keine pinbelegungen zu haben

Tja, wenn einer von euch die mal früher gepostet hätte, hätte auch 
jemand helfen können, der myavr nicht hat. Mich also eingeschlossen.

Autor: es funkt es funkt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab mich doch garnicht beschwert das es lange oder zu lange gedauert 
hätte
mich hat auch nie einer nach der pinbelegung gefragt

eigentlich beschwer ich mich über garnichts, alles läuft und ich bin 
zufrieden

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.