-
SAA1064 ansteuern ?
Hi,
ich habe eine Frage zum ansteuern Des SAA1064.
Aufgebaut habe ich die Schaltung wie im Datenblatt beschrieben als Static Mode (Also für 2 Anzeigen).
Der Code mit dem ich versuche, das ganze anzusteuern sieht so aus:
Code:
I2cstart
I2cwbyte &H70
I2cwbyte 0
I2cwbyte &B1111000
I2cstop
Wenn ich das Protokoll richtig verstanden habe müsste doch nun folgendes gesetzt werden:
Static Mode = an
Die beiden anzeigen = gelöscht
Alle Segmente = an
Und volle Leuchtkraft
Stimmt das so ? Bzw. stimmt die Adresse &H70 für den Static Mode, wenn ADR auf Gnd liegt ?
Ich hoffe mir kann jemand helfen.
mfg Yannic
-
Im DB steht auf Seite 6
C0 = 0 static mode, i.e. continuous display of digits 1 and 2
C0 = 1 dynamic mode, i.e. alternating display of digit 1 + 3 and 2 + 4
C1 = 0/1 digits 1 + 3 are blanked/not blanked
C2 = 0/1 digits 2 + 4 are blanked/not blanked
C3 = 1 all segment outputs are switched-on for segment test(1)
C4 = 1 adds 3 mA to segment output current
C5 = 1 adds 6 mA to segment output current
C6 = 1 adds 12 mA to segment output current
wobei es so anfängt
x C6 C5 C4 C3 C2 C1 C0
Was statt dem x steht ist egal
Wenn du bei max. Helligkeit den Segmenttest im Staticmode haben willst musst du &B01111110 schreiben.
Es ist für die Adresse egal, welchen Mode du nimmst. Wenn du den ADR Eingang auf GND gelegt hast ist die Adresse &H70
-
Hi,
ich habe jetzt folgendes code probiert:
Code:
$regfile = "m16def.dat"
$crystal = 16000000
$baud = 9600
I2cstart
I2cwbyte &H70
I2cwbyte 0
I2cwbyte &B01111110
I2cstop
Passiert leider garnichts. :(
Müsste es mit dem obigen code so funktionieren ?
Kann es sein das für I2c beim Mega 16 irgendwelche fuses gesetzt werden müssen, bzw. nicht gesetzt sein dürfen ?
mfg Yannic
-
Bei mir funktioniert die Anzeige mit dem Code. Habe es mit C geschrieben und für einen R8C. Das ist mein Code
i2c_start();
i2c_send(0x70);
i2c_send(0x00);
i2c_send(01111110);
i2c_stop();
Das bedeutet, dass du entweder ein Problem mit der Initialisierung des I2C ist (weiß aber nicht ob und wie initialisiert werden muss) oder mit der Hardware, z.B. schlechte Verbindung oder Ähnliches. Wollte ein Bild hochladen aber die Seite vom Bildhoster streikt gerade. Wenn du es willst kann ich es später noch versuchen.
-
Hi,
Danke hätte Interesse an einem Bild.
Gibt es denn beim Mega16 fuses die die I2c beeinflussen können ?
mfg Yannic
-
Hier ist das Bild http://j68.img-up.net/?up=DSCN3006zmjdo.JPG
Beim Mega16 gibt es normalerweiße keine Fuses für I2C.
PS: Es leuchten deswegen 2 Anzeigen, da ich sie im Static Mode angesteuert habe, kann sie aber auch im Dynamic Mode ansteuern.
-
Ich habe so das ungute Gefühl das mir irgendwie der saa1064 abgeraucht ist.
Muss ich mir nochmal einen neuen beschaffen und einen zweiten Test starten :)
mfg Yannic
-
Hast du den SAA gesockelt oder fix verlötet? Wenn du vermutest, dass der abgeraucht ist, weißt du wie? Löten, falsch angeschlossen,...
Hast du ein Messgerät, mit dem du Frequenzen messen kannst? Optimal wäre ein Logikanalyzer (hast du vermutlich nicht) oder ein Oszilloskop.
-
Hi,
nur ein Multimeter, welches Frequenz 10/100 Hz/1/10/100 kHz, ± 2 % messen kann.
das ganze ist momentan auf einem steckbrett und da tauchte auch das Problem auf.
Ich wusste nicht, dass die X Reihe trotz unterteilungen miteinander verbunden ist und hatte somit für kurze zeit +5V Gnd Sda Scl zusammengeschlossen.
mfg Yannic
-
Dann sollte normalerweiße nichts passieren. Du könntest den Takt auf der SCL Leitung messen (mit Frequenzmessung). Hast du einen 2ten Mega16? Vielleicht ist der hinüber. Sicherheitshalber einen Mega und einen SAA bestellen.