Hallo Leute,
ich habe ein LCD Tacho aus einen Kadett Gsi zerlegt.
Auf der Platine mit den LCD Elementen sind die oben genanten Chips
zufinden.
Weiß jemand wie man diese Ansteuern muß damit mein ein Segment
ansprechen kann ?
Hallo,
Google kaputt?
Einer der ersten Treffer führt hier ins Forum, vielleicht hilft das ja
etwas weiter:
Beitrag "Optrex DMF50191N"
da gibt es irgendwo ein Datenblatt zum MSM5219B, vielleicht hilft das
ja.
Gruß aus Berlin
Michael
Hallo,
hoffe der Beitrag ist noch nicht zu alt.
Ich habe mir auch den Tacho aus dem Kadett GSI zugelegt.
Auf der Platine sind zwei LCD-Controller m5219B in Reihe geschaltet,
genau wie es im Datenblatt beschrieben wird. Der hef4060bp erzeugt den
Takt den die LCD-Controller brauchen.
Herausgeführt sind sechs Anschlüsse.
VDD, GND, CLOCK, DATA IN, LOAD und BLANK.
Laut Datenblatt des Controllers liegen 5V Betriebsspannung im normalen
Bereich.
Nun kann man die Daten seriell in den Controller schieben. Dabei hat
DATA IN den entsprechenden Wert und wird mit der steigenden Flanke von
CLOCK übernommen. Wobei die Ausgänge der ersten sieben Sebmente nicht
angeschlossen sind.
Nachdem man die Daten in den Controller geschrieben hat kann man mit
einem Impuls auf LOAD die Daten an den internen Latch schicken und somit
anzeigen.
Was mich jetzt wundert ist, dass der Pin ALL ON auf der Platine auf
Masse liegt. Im Datenblatt steht das wenn dieser Pin high ist die
Segmente angesteuert werden. Der BLANK Anschluss ist herausgeführt und
führt bei high dazu das auf dem Display nichts angezeigt wird. ALL ON
ist vorrangig über BLANK.
Beim Ausprobieren rührt sich am Display auch nicht.
Habe BLANK auf high und mal auf low gesetzt, ändert aber nichts am
Ergebnis.
Hab hier mal den Code:
1
.include"m8def.inc"
2
3
.equmaxVal=48
4
.equload=1
5
.equdataIn=2
6
.equclock=3
7
.deftemp=r16
8
.defmax=r17
9
.defi=r18
10
11
;PortBalsAusgang
12
lditemp,0xFF
13
outDDRB,temp
14
;alleAusgängelow
15
lditemp,0x00
16
outPORTB,temp
17
18
ldimax,maxVal
19
ldii,0
20
21
sbiPORTB,dataIn
22
;48malhighinControllerladen
23
loop1:
24
sbiPORTB,clock
25
cbiPORTB,clock
26
inci
27
cpmax,i
28
brneloop1
29
30
ldimax,maxVal
31
ldii,0
32
33
cbiPORTB,dataIn
34
;48mallowinControllerladen
35
loop2:
36
sbiPORTB,clock
37
cbiPORTB,clock
38
inci
39
cpmax,i
40
brneloop2
41
;WerteinLatchübernehmen
42
sbiPORTB,load
43
cbiPORTB,load
44
45
loop3:
46
rjmploop3
Die Mindestzeiten zur Ansteuerung werden eingehalten da der Mega8 mit
1MHz läuft. Werde demnächst mal mit dem Oszi überprüfen ob der hef4060bp
arbeitet.
Ich komme jetzt nicht drauf wo der Fehler liegt und hoffe das Ihr mir
weiterhelfen konnt.
Grüße
Habe heute mal den HEF4060BP durchgemessen. Er funktioniert so wie er
soll. Gibt einen Takt von ~84Hz an die LCD-Controller.
Bin jetzt soweit das ich fast glaube dass das Timing meiner Ansteuerung
nicht ganz passt.
Kann dazu jemand etwas sagen?
Auf Seite 4 des Datenblatts stehen die minimalen Zeiten die die Signale
anstehen müssen.
Bei meiner Ansteuerung liegen die signale 1µs an, das ist doppelt so
lang wie gefordert.
Meine Clockfrequenz zum einladen der Daten liegt bei 0,5MHz mit Duty =
50%, die Maximale Frequenz liegt bei 1MHz.
Also liege ich innerhalb der Anforderungen. Werde daraus nicht schlau.
Zu dem ALL ON Signal habe ich herausgefunden das es wohl nur zum
Segmenttest dient, also zur Ansteuerung nicht benötigt wird.
;)
Ich habe vorgestern auch das alles rausbekommen.
(wusste garnicht dsa hier jemand auch sowas machen will...)
Habe mal auf die schnelle eine Lib mit demo geschrieben.
Nur zwei segmente des mittleren Digits habe ich nicht richtig.
Ansonsten funktioniert die Ansteuerung durch ATMega8 für :
Tankanzeige,
VoltMeter,
Kühlmitteltemp,
Öldruck,
Tacho digit 1+3 (digit 1 kann nur 1,2 oder garnichts anzeigen)
und der DZM.
Bei Digit 2 habe ich einen Fehler im Mapping.
Ansonsten geht alles.
Wenn ich das heute Abend gefixt habe,
stell ich den Source mal in die Codesammlung.
Grüße
an die OpelFahrer ;)
...und die anderen
Eine eigene Frage?
Dieser Thread ist über 19 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.