www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Serialles LCD Display - Ansteuerproblem


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe einen AT90S8515 und versuche über PortB ein 4-Pin LCD Display
(WD-C080-1P [von pollin.de])anzusteuern. Habe die Belegung so gewählt:

SI:PINB0 - Daten schreiben
SK:PINB1 - Daten clock
SO:PINB2 - Daten lesen
CS:PINB3 - Device select

Bitte die Daten des LCDs aus dem 3 seitigen pdf Manual entnehmen. ich
habe dann ein Testprogramm (test.c) geschrieben. Ich bekomm es aber
einfach nicht hin, dass mir etwas angezeigt wird.

Mach ich was falsch ?

Bitte um Hilfe.

Daten sind als Anhang zu finden.

Gruss

Michael

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohne Code schwierig

Josef

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der code ist in dem angehänten ZIP file dabei (test01.c)

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Würde zuerst CS immer auf low (high) geben (direkt an Spannung) , um die
Anzeige dauernd zu aktivieren. Als nächstes würde ich Clock und die
Daten nicht gleichzeitig schalten. Zuerst die Datenleitung setzen,
warten und dann einen sauberen Clockimpuls geben (high / wait low).
Ob  7 oder 8 Datenbits getaktet werden bin ich mir auch nicht sicher.
(Testen mit AVR Studio) Danach würde ich mit einem günstigen
Logikanalyser (ZB. von ELV MLAB100) das Clocksignal und das Datensignal
aufnehmen. Zur besseren Sichtbarmachung würde ich die
Zeitkonstanten erhöhen.



Josef

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das mit der "Zeitdehnung" hab ich schon versucht. Da schaltet er alle
Signale soweit wie gewünscht. Ich glaube die Signale sind bei der
Geschwindigkeit nicht richtig im mükrosekunden Takt geschlatet.
das Problem liegt irgendwie an der zeit, die die einzelenen Befehle
schon schlucken.

Also er taktet von 7 bis 0 (das sind 8) und laut manual sollen ja auch
8 geschikkt werden.

Aber mir fällt grad was ein: könnt ich da nicht die RS232 Schnittstelle
verwenden ?

Autor: Kai M. Tegtmeier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Josef:

Bin zur Zeit grad auf der Suche nach einem günstigen Logikanalysator.
Konnte den von Dir beschriebenen MLAB100 bei ELV nicht finden. Kannst
Du da noch ein paar weitere Informationen geben?!?

Vielen Dank im Voraus!

Kai M. Tegtmeier

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es von der Anzeige unterstütz wird - schon. Aber du brauchst ja ein
Clocksignal und das uterstützt die RS232 nicht.


Josef

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

reichen die 8 MHZ dazu überhaupt aus. Wären 0,125 mükrosekunden. sollte
ja langen, um zu takten.

Aber ich kann bei der Taktflanke der clock nicht warten und dann das
Datenbit setzen, denn ich hab dann nur 200 nanosekunden zeit. Die muss
man schon zusammen setzen.

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mini-Logic-Analyzer MLA 1000

    Der Mini-Logic-Analyzer MLA 1000 bietet umfangreiche Möglichkeiten
zur Überprüfung von komplexen Vorgängen in der Digitaltechnik. Mit
Abtastraten von 50 µs - 3 s können bis zu 8 Kanäle gleichzeitig in
Echtzeit erfasst und auf einem PC-Bildschirm dargestellt werden.
      Bezeichnung: Anzahl: Preis:
 Mini-Logic-Analyzer MLA 1000 Komplettbausatz inkl. Software
Artikel-Nr.: 68-469-48
    79,95 €

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du ein Datenblatt hast, kann ich mir das Timing ansehen.

Am besten du setzt das Datenbit, wartest kurz, gibst einen Clockimpuls,
wartest - und das 8 mal - nicht 7 mal !


Josef

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

das pdf im anhang ist das einzigste was dabei ist. Ist alles in dem
separaten ZIP im ZIP...

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
geht leider nicht mit dem pdf

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meldet sich die Anzeige mit der Firmware ? Startzeit 250 ms
berücksichtigt ? Die Anzeige arbeitet mit SPI/Microwire.
Diese Schnittstelle haben die AVR Controller on Board.
Die würde ich nehmen. Mittels Software glaube ich nicht, daß du SPI
simulieren wirst können (Timinprobleme, sehr komplex).
Ansonsten würde ich das Testprogramm mit der LPT1 verwenden.


Josef

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo

oh die haben SPI on board ? ich bin noch relativ neu auf dem
AVR-Gebiet...na dann schau ich mir das natürlich mal an ....

Das Testprogramm mit der LPT1 is ja nur für den PC, aber ich brauch es
ja an einem AVR.

Danke für die Hilfe.

Gruss

Michael

Autor: Ronny Schulz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also hast Du es überhaupt richtig angeschlossen? Im Code benutzt Du
PORTB-OUT und PORTD-IN. Hier ganz oben sieht das ganz anders aus.

Dann schreibst Du nur 7 Bit anstatt 8, soweit ich das richtig sehe.
Außerdem solltest Du hiernach noch 2ms warten:

outp(0x08,PORTB); //cs high

Des weiteren solltest Du den SK erst dann auf High setzen, wenn das
Signal richtig steht. Deshalb lege einfach Dein Datenbit an SI an,
warte mindestens 200ns, lege dann den SK an und warte mindetens weitere
200ns, nimm SK und SI weg und warte so lange das mit den gesamten
Zeiten eben mindestens 1us um ist. Ich würde es eher versuchen überall
500us zu warten. Damit müsste das eigentlich locker klappen.

Und noch ein TIPP: Die Wartesachen geht mit ASM wesentlich genauer und
einfacher. :)

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

danke für die vielen Anregungen und die Hilfe. Ich habs geschafft. Hab
mir aus der avrlib die SPI Funktionen angesehen und siehe da SPI geht.
Leider hab ich erst nach 1h rausgefunden, dass CS also SS nicht richtig
gesetzt wird in der avrlib. aber jetzt geht es.

Danke

gruss

Michael

Autor: Kai M. Tegtmeier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Josef:

Habs jetzt gefunden! Vielen Dank für die Info und ein schönes
Wochenende wünscht

Kai M. Tegtmeier

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.