www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Grafik LCD mit T6963 flackert + Streifen


Autor: hans23 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
will auf einem Grafik LCD Display einfach nur testweise den Text "HALLO" 
anzeigen.
Der Text wird zwar angezeigt, aber das ganze Display flackert halt und 
es ziehen Streifen durch das Bild:

http://es.youtube.com/watch?v=3zM1OuI9040

Dass nach dem Beispieltzext die ganzen O's angezeigt werden ist nicht 
das Problem.

Meine Frage ist nur ob ich irgendwas an der Software falsch gemacht 
habe, oder ob das Display im Ar*** ist.
Achso der PIC sendet die Daten für den Grafikcontroller nur einmal.

Dabnke schonmal für Eure Hilfe...

Autor: Sascha Focus (sascha_focus) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hans23 wrote:
> Achso der PIC sendet die Daten für den Grafikcontroller nur einmal.

Bist du sicher? Den Effekt mit dem Streifen, gibt es, wenn der Reset des 
Display's angesteuert (lange) wird.

Gruß Sascha

Autor: hans23 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Reset-Pin ist nur am  anfang für ca 25 ms auf low, sonst ist er 
immer auf high und wird gar nicht mehr angefasst.
main
  call  lcd_config
  call  write_test

done
  goto  done


Der Chip-Enabled-Pin bleibt nach dem letzten Befehl auf high. (wenn er 
auf low verblibt ändert sich auch nichts).

Autor: Sascha Focus (sascha_focus) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Macht der Controller vielleicht einen Reset??

Gruß Sascha

PS. Schaltung und Code wären nicht schlecht

Autor: hans23 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Du hattest Recht - hab nochmal mit dem Oszi nachgeschaut und der PIC 
macht in unregelmässigen Abständen Resets auf der Reset-Leitung. Aber 
der PIC selber macht keine Resets.
Hab mal den Reset-Eingang vom LCD manuell auf high gesetzt - brigt auch 
nichts. Dann ist alles dunkel.
Hab mal die sources angehägt.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
write_command
  movwf  command
;status check
  call   read_status
  btfss  STA0
  goto  main

Was soll denn der Quatsch mit goto main da?
Aus einer Subroutine geht man nur mit return raus.
Sonst läuft dir irgendwann der Stack über, und bumm!

Autor: Sascha Focus (sascha_focus) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#define  HALT_  PORTB,4    ; Stop the Oscillation of Clock

Wofür wird das genutzt?

Gruß Sascha

Autor: hans23 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sacha:
gute Frage - weiß auch nicht was das bringen soll, die Clock vom LCD 
Controller anzuhalten.

@Holger: oh, stimmt - schlamprig programmiert. Aber das löst das Problem 
leider noch nicht :/.

da sollte eigentlich
goto  write_command
 stehen. das return kommt weiter unten:
write_command
  movwf  command
;status check
  call   read_status
  btfss  STA0
  goto  write_command
  btfss  STA1
  goto  write_command

;PORTC auf Ausgang umschalten
  banksel  TRISC
  movlw  d'0'
  movwf  TRISC
  banksel  PORTC

  movfw  command
  movwf  DAT
   bsf  RD_    ;read disabled
  bcf  WR_    ;write enabled
  bsf  CD_    ;command
  bcf  CE_    ;chip enabled
  nop
  bsf  CE_    
  return

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>@Holger: oh, stimmt - schlamprig programmiert. Aber das löst das Problem
>leider noch nicht :/.

Das glaub ich gerne. Du hast ja auch noch ein paar
mehr von diesen goto main drin ;)

Autor: hans23 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja hatte insgesamt 3 gefunden...
aber wie gesagt, hatte nichts geändert.

Autor: hans23 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab nochmal getestet ob der PIC überhaupt zum ende kommt, indem ich 
einfach PortB, 7 setze, nachdem er alle an das Display gesendet hat - 
Resultat: PIC resettet sich ca 10ms nachdem Portb,7 gesetzt wurde und 
dann geht das ganz spielchen von vorne los.
Hab nur überhaupt kein plan wieso er das tut. Hab schon den pic 
getauscht - ohne Erfolg.
main
  call  lcd_config
  call  write_test

  bsf    PORTB,7

done
  goto  done

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Hab nur überhaupt kein plan wieso er das tut. Hab schon den pic
>getauscht - ohne Erfolg.

Hört sich irgendwie nach Watchdog an.
Könnte auch dein Netzteil sein.

Autor: hans23 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab jetzt mal nen 100nF Kondensator von VCC nach GND gesteckt. Jetzt 
resettet sich der PIC auch nicht mehr, flackert nicht mehr, aber display 
zeigt jetzt nur noch Datenmüll an - mein HALLO kommt gar nicht mehr.
Komisch wobei ich doch sonst nichts an der SW geändert hab...
Aber das eigentliche Problem ist gelöst.

Aber denkt man gar nich was so eine fehlender 100nF C ausmacht.
Auf der Leiterplatte wäre er drauf gewesen^^

Autor: hans23 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Habs bis jetzt noch nicht hinbekommen, wieder irgendetwas anzuzeigen.
Dachte, dass es evtl. am Display liegt, hab darum mal ein anderes 
128x128 Display angeschlossen, das zeigt jetzt nur nen leeres Display an 
- also nichtmal Datenmüll.
Aber soviel muss man doch gar nicht machen bei der Initialisierung.
Vielleicht sind meine Schreib-/ Leseroutinen auch fehlerhaft (was ich 
eigentlich nicht glaube)?
Ausserdem weiß ich nicht wofür Pin "MD2" ud Pin "FS1" zuständig sind.
Wär nett wenn Ihr mal über den Code rüberschauen könntet.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.