LCD schreibt nix

OP #847772
Lesenswert?
• ▲
▼
Hallo Zusammen

Ich habe folgendes Problem ich habe ein LCD (HD44780) 1x16 Ans STK500 
Gehangen Und wollte mir mal ein "Hallo" aufs Display Zaubern Doch leider 
schreibt er einfach nix :( Ich sehe Zwar das das display initialisiert 
wird, da die schwarzen Balken verschwinden aber er schreibt einfach 
nichts :( Ich bin echt am verzweifeln, Die Hardware schließe ich mal 
aus, das ich es mit einem Anderen Display versucht habe, mit dem selben 
ergebnis...ich denke ehr das die Software ne macke hat deshalb hab ich 
sie hier ma gepostet Den Kontrast habe ich auch schon eigestellt mit 
poti da kann ich drehen wie ich will,man sieht zwar das man am kontrast 
dreht aber mehr och nich kein "HALLO" zu sehen.

Ich würde mich freuen, wenn mal jemand über den Code fliegt und mir 
evtl. mal was sagen könnte, ich weis echt nich mehr weiter :( Ich 
verwende einen Atmega16 mit 1Mhz internal ozzilator !!!

Vielen dank schon ma im vorraus
Angehängte Dateien:
OP #847808
Lesenswert?
• ▲
▼
Ich habe nun mal Das Programm umgeschrieben, so das er mir den 
blinkenden Cursor anzeigen soll...was soll ich sagen es ist nix zu sehen 
:( Man Sieht wie das display initialisiert und der schwarze balken 
verschwindet aber mehr och nich es ist zum heulen ich weis echt nich 
mehr was ich machen soll

                        *** H  I  L  F  E ***
Gast #847824
Lesenswert?
• ▲
▼
Hallo Rene,

Dein Programm kann nicht funktionieren:

1. der Stack Pointer liegt ausserhalb des RAM (1k) - mach es mal so:

ldi   temp, LOW(RAMEND)  ; STACK initialisieren
out   SPL, temp    ; Low
ldi   temp, HIGH(RAMEND)  ;
out   SPH, temp   ; High

2. Die fehlt eine Vektortabelle für den Timer-Interrupt.

Gruss Otto
Gast #847849
Lesenswert?
• ▲
▼
Hallo Rene,

ja, mit der Vektortabelle hast Du recht - ich hatte übersehen, dass Du 
kein "sei" im Code hast - allerdings wenn ich mir den Namen Deines 
Programmes ansehe, wirdt Du die Vektortabelle sowieso brauchen.....

Die Abfrage des "Busy-Flag" funktioniert erst ab einem bestimmten Punkt 
der Initialisierung - hast Du dies aus einem funktionierenden Programm ?

Versuche es mal so, wie im Tutorium.

Gruss Otto
OP #847861
Lesenswert?
• ▲
▼
Ja ich hatte vor 2 jahren ein Ähnliches programm mit dem selben display 
am laufen erst nach dem das Display initialieseirt ist, kann man das 
Bussyflag abfragen und ja du hast recht ich werde sie später brauchen :D 
Allerdings scheitert did ja jetzt schon an solch einer simplen "scheiße" 
vor allem weil das ja nicht das erstme is das ich damit 
rumexperimentiere ich wette, das es mal wieder was ganz simples is was 
mir dir nächte versaut :(
Gast #847887
Lesenswert?
• ▲
▼
Hallo Rene,

Du solltest auf funktionierenden Code aufbauen, sonst verrinnt die Zeit 
und Du kommst nicht weiter - wenn das LCD läuft, kannst Du auch besser 
debuggen - nimm das Beispiel aus dem Tuturium.....

Gruss Otto

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