Elektronik & mp3 h- mpeg der erste standalone mp3 Player im Eigenbau
|
| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Ecki
Anmeldungsdatum: 06.03.2004 Beiträge: 5
|
Verfasst am: 07.03.2004, 16:36 Titel: Lcd langsamer ansteuern |
|
|
Mein Player funktioniert soweit dass ich MP3s anhören kann ,jedoch
haut ausser dem CD-Rom und seriellen Schnittstelle nix hin
hab ein Display von Reichelt 202A mit dem Displayadapter angeschlossen
ich sehe aber garnix , der Balken verschwindet nach einschalten
Ich denke dass die Initialierung zu kurz dauert oder irgendwie nicht passt
Wie kann ich denn auf die Einzelnen Displayleitungen RS,E,RW,Dx direkt zugreifen ?
Danke schonmal
Ciao Matthias
|
|
| Nach oben |
|
 |
Oli
Anmeldungsdatum: 04.01.2003 Beiträge: 109
|
Verfasst am: 08.03.2004, 23:19 Titel: |
|
|
[quote]ich sehe aber garnix , der Balken verschwindet nach einschalten[/quote]
Die schwarzen Balken verschwinden nach dem Initialisieren des LCDs. Das könnte ein gutes Zeichen sein.
Stimmt denn die Kontrasteinstellung? Die Kontrastspannung sollte nahe 0 V liegen.
[quote]
Wie kann ich denn auf die Einzelnen Displayleitungen RS,E,RW,Dx direkt zugreifen ?
[/quote]
Knifflig.
Das Problem ist, dass die Signale nicht direkt ans LCD gehen, sondern teilweise durch das GAL oder den Treiber IC9. Wenn man den GAL etwas umprogrammiert, könnte es gehen.
Wenn man z.B. die Gleichungen für E_LCD und RS_LCD etwas ändert, könnte folgende Sequenz zum Schreiben von Daten bzw. Befehlen aufs LCD klappen:
GAL ändern:
RS_LCD = A15 & A14 & A13 & (!RD # !WR); "RS high bei 0xE0 und 0xF0
E_LCD = ((A15 & A14 & A13 & A12) # (A15 & !A14 & A13 & A12)) & (!RD # !WR); "E high bei 0xF0 und 0xB0
IO = !(((A15 & !A14 & !A12) # (A15 & A14 & A13) # (A15 & !A14 & A12)) & (!RD # !WR)); "IO bei 80, a0, e0, f0, 90, b0
Daten schreiben:
ext RAM disable // ermöglicht manuellen Zugriff
PORTC = 0xE0 // Adresse = 0xE000 (write data)
WR = low // WR low, RS wird high => write data
PORTA = Data // Data wird ans LCD geschrieben
PORTC = 0xF0 // Adresse = 0xF000. E wird jetzt auch high
PORTC = 0xE0 // E wird wieder low
WR = high // WR high, RS low
ext RAM enable
Befehle schreiben:
ext RAM disable // ermöglicht manuellen Zugriff
PORTC = 0x90 // Adresse = 0x9000 (write cmd)
WR = low // WR low, RS wird low => write cmd
PORTA = Data // Data wird ans LCD geschrieben
PORTC = 0xB0 // Adresse = 0xB000. E wird jetzt auch high
PORTC = 0x90 // E wird wieder low
WR = high // WR high, RS low
ext RAM enable
Es muss noch sichergestellt werden, dass das Timing passt, also evtl. ein paar Pausen einstreuen.
Busy-Flag lesen entweder analog dazu, oder darauf verzichten und mit festen Pausen arbeiten.
Vielleicht geht's so auch nicht, hab das nicht 100% durchgespielt, aber irgendwie auf diese Art geht's bestimmt. Man muss halt aufpassen, dass hinterher noch das IDE Interface funktioniert... _________________ http://tscherwitschke.de
|
|
| Nach oben |
|
 |
Ecki
Anmeldungsdatum: 06.03.2004 Beiträge: 5
|
Verfasst am: 17.03.2004, 14:22 Titel: |
|
|
der weg ist irgendwie schon zimlich aufwändig gibt es nen anderen weg
das display trotz 4 bit-adapter noch langsamer anzusteuern ?
Würd mich über vorschläge freuen
|
|
| Nach oben |
|
 |
Oli
Anmeldungsdatum: 04.01.2003 Beiträge: 109
|
Verfasst am: 17.03.2004, 18:30 Titel: |
|
|
Ich kenn den 4-bit Adapter nicht.
Man könnte aber nen MiniMega mit Mega128 nehmen und das LCD z.B. an PortF anschließen. Dort kann man es bequem und so langsam wie nötig bit-bangen.
Oder man nimmt ein Display mit RS232 Ansteuerung. Gibts fertig zu kaufen oder man baut es sich selbst, indem man nen beliebien AVR an ein LCD klebt und entsprechend programmiert. Das belegt dann natürlich die serielle Schnittstelle des HMPEGs.
Aber ob das einfacher ist...? _________________ http://tscherwitschke.de
|
|
| Nach oben |
|
 |
Ecki
Anmeldungsdatum: 06.03.2004 Beiträge: 5
|
Verfasst am: 14.04.2004, 20:13 Titel: haut jetzt hin |
|
|
hab mal die anzeige der aktuellen spielzeit rausgenommen und jetzt
haut das ganze anstandslos hin
bin froh dasses soweit klappt !!
Servus Ecki
|
|
| Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|