Forum: Mikrocontroller und Digitale Elektronik LCD schreibt nix


von Rene S. (gigastulle)


Angehängte Dateien:

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

von Rene S. (gigastulle)


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 ***

von Otto (Gast)


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

von Rene S. (gigastulle)


Lesenswert?

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

von Otto (Gast)


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

von Rene S. (gigastulle)


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 :(

von Otto (Gast)


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

von Rene S. (gigastulle)


Lesenswert?

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

von Rene S. (gigastulle)


Lesenswert?

So ich habe den alten code probiert und siehe da es 
funtioniert...allerdings war das ein At2313 und nich ein mega16 jetzt 
beginnt das große suchen nach dem unterschied im code :(

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Eventuell einfach mal das JTAG Interface mittels fuses ausschalten ;)

von Rene S. (gigastulle)


Lesenswert?

Läubi Mail@laeubi.de wrote:
> Eventuell einfach mal das JTAG Interface mittels fuses ausschalten ;)

Danke Danke Danke jetzt funzt did !!! das ein kleines Häckchen so viel 
ausmachen kann Meine schlaflosen nächte haben "vorerst" ein ende :D

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.