LCD an Mega162

Gast #38097
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
Gast #38098
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

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