Forum: Mikrocontroller und Digitale Elektronik LCD mit HD61830


von Markus A (Gast)


Lesenswert?

Hallo ihr,
ich hoffe ihr könnt mir helfen. Ich mache gerade meine Studienarbeit
und
soll dabei ein Grafikdisplay mit einem Motorola uC ansteuern. Ich habe
erst erfolgreich mein eigenes Textdisplay (4x20) angesteuert und dann
ein, bei ebay ersteigertes, 240x64 Pixel LCD mit dem T6963c.
Das hat alles super geklappt(eigene Schriftart, Linien, Kreise, ..) .
Dann haben wir aber welche mit dem alten HD61830 bestellt (240x128
Pixel), da die gerade so günstig waren (<30 Euro!!). Ich habe aber
Probleme bei der Initialisierung, denke ich.
Das Timing ist im Datenblatt auch nicht besonders toll dargestellt, und
aufgrund des Alters, gibt es kaum freien Code, bzw. Dokus im Netz.
Ich wäre sehr froh, wenn ihr mir paar Tipps geben könntet.
Danke. Markus

von Chris (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe mir vor ein paar wochen auch ein Display bei E-Bay ersteigert.
Leider muste ich auch feststellen, das es keine brauchbaren Treiber zu
diesem Display im Net gibt. Hab mir darauf einige Nächte um die Ohren
geschlagen und einen eigenen Treiber entwickelt. Leider ist der Treiber
an einigen stellen noch nicht so stabil. Ich denke aber mal, das er dir
weiter hilft. Er unterstützt in der Version nur Textmode. Den Grafik
Mode hab ich nicht zum laufen bekommen. Solltest du es schaffen, wäre
es nett wenn du deine entgültige Version hier reinposten könntest.

Gruß
Chris

von Chris (Gast)


Lesenswert?

Ich finds gut, das sich einige Leute für meinen Treiber Interessieren
(siehe 23 Downloads). Mich würde es aber freuen, wenn die Leute, die
sich meinen Treiber geladen haben und eine Grafik funktion entwickelt
haben diese hier herein stellen würden weil ich allein für die Text
funktion wie gesagt einige Tage gebraucht hab. Diese war nicht grad
leicht zum laufen zu bekommen.

von Stefan (Gast)


Lesenswert?

Hallo,

danke für den Code! Schreibe so etwas ähnliches nur mit dem C164 und
C++.
Was ich aber immer noch nicht ganz verstanden habe.
1. Was macht genau Sub Shifte()? Verstehe nämlich nicht für was man das
Enable (E) Bit braucht.

Sub Shifte()
   sbi portd, 7
   Call Lcdwait
   cbi portd, 7
End Sub

2. Was macht bei dir sbi und cbi. Setzt du hier am Port D das Bit 7 auf
high? Ist bei dir also das E Bit.

3. Was ist ddrc? Befindet sich im Waitifbusy() Benötige ich das Ddrc
und die anderen Ddrd, Ddrb und Ddra?

Sub Waitifbusy()
Ddrc = &B01111111
Portd = &B01100000
Do
Portd = &B11100000
If Pinc.7 = 0 Then
   Exit Do
Else
End If
Portd = &B011000000
nop
Loop

Ddrc = &B11111111
End Sub

3. Weiterhin habe ich noch einen kleinen Fehler gefunden:
Sub Clearlcd()
Call Setcursor(1, 1)
For G = 1 To 320
Call Writechar(&H20)
Next I
Call Setcursor(1, 1)
End Sub

Das müsste Next G heißen.

Wäre echt toll, wenn du mir weiter helfen könntest.

Danke!

Gruss,
Stefan

von Markus A (Gast)


Lesenswert?

Hallo,
ich habe meine Studienarbeit fertig bekommen und Treiber in C
geschrieben. Ich werde sie demnächst kommentieren. Wer interesse hat,
der kann sich mal melden.

von Stefan (Gast)


Lesenswert?

Hallo,

wäre super wenn du mir schon mal den C Code schicken könntest!

Danke!!!

Stefan

von Stefan (Gast)


Lesenswert?

Hallo,

habe jetzt auch mal den Code nochmal genau druchgeschaut, somit haben
sich alle obigen Fragen so ziemlich erledigt. Was ich mir noch nicht so
ganz sicher bin, was mache ich mit CS und RESET. Beide habe ich auf High
gelegt, aber funktionieren tut es immer noch nicht.

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.