www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD an Mega162


Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

was gibt es alles zu beachten, wenn ich ein 16x2 LCD an einen MEGA 162
mit 8 MHz anschliessen will und die LCD-routines aus dem Tutorial
verwenden will. Irgendwie tut sich bei mir nichts. Das Display wird
noch nicht mal initialisiert und die Hauptschleife des Programms wird
nie erreicht (Also bleibt der Mikrocontroller irgendwo vorher stecken)

Tschüß
Sebastian

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich konnte das Problem weiter eingrenzen:

Der Mega 162 läuft mit einem internen 16 MHz Quarz, so daß mein
externes 4 MHz Quarz nichts brachte. Also muss ich natürlich die
Funktionen für die Pausen auch anpassen. Wie machte ich das genau? Was
ist das Beste? Einfach den Wert $21 x 4 = $84 ?

Und warum kommt der Mega 162 aus der Funktion delay5ms nicht wieder
raus?

Hier der Code (Der aus den Tutorial):
Das (von mir zu testzwecken eingebaute) rjmp loop wird nie erreicht

delay5ms:                               ;5ms Pause
           ldi  temp1, $21
WGLOOP0:   ldi  temp2, $C9
WGLOOP1:   dec  temp2
           brne WGLOOP1
           dec  temp1
           brne WGLOOP0
           ret                          ;wieder zurück

lcd_init:
           ldi  temp3,50
powerupwait:
           rcall  delay5ms
       rjmp loop  ; <==!!!!!!!!!!!!!!!!!!!!!!!!!!!
           dec  temp3
           brne  powerupwait

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnte es sein, daß Dein Mega162 einen Stack >256 Bytes adressieren
kann?

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was bitte?

Was kann mein Mega 162? Oder was sollte er können?

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Na "rcall" braucht doch Stack, noch nichts davon gehört? Wenn nein
empfehle ich dringendst das Tutorial dieses Forums.

MFG Uwe

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, danke, daran lag es

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.