Forum: Mikrocontroller und Digitale Elektronik LCD an Mega162


von Sebastian (Gast)


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

von Sebastian (Gast)


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

von thkais (Gast)


Lesenswert?

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

von Sebastian (Gast)


Lesenswert?

Was bitte?

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

von Uwe (Gast)


Lesenswert?

Hi!

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

MFG Uwe

von Sebastian (Gast)


Lesenswert?

Ja, danke, daran lag es

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.