LCD schreibt nix

OP #847772
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
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
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
OP
So ich hab es so gemacht wie du geschrieben hast leider ohne erfolg :(

Die Vektortabelle benötige ich doch nur wenn ich auch einen interrupt 
verwende und das tue ich ja nicht den ich frage das TIFR blos ab um zu 
wissen wannd er timer übergelaufen ist
Gast
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
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
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
OP
Ich habe noch auf meinem Ganz ganz alten laptop nen Code gefunden der 
damals mit diesem Display funktioniert hat ich probiere es erstma damit

Ich danke dir trotzdem für deine Bemühungen fals ich den fehler noch in 
diesem leben finde werden ich ma posten was der fehler war

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.