Forum: Mikrocontroller und Digitale Elektronik MAX6956 + ATMega 88


von Patrick (Gast)


Angehängte Dateien:

Lesenswert?

Guten Abend,

ich habe folgendes Problem und zwar versuche ich schon den ganzen Tag 
eine LED an einem MAX6956 zum leuchten zu bewegen. Angeschlossen ist 
alles wie auf dem Schaltplan bzw. laut Datenblatt. D.h. SDA mit SDA 
(PC.4) und SCL mit SCL (PC.5). Dazu laut Datenblatt PullUp Widerstände 
4,7kOhm.

Nun hab ich meinen Controller mit Bascom programmiert leider führte dies 
und auch meine Suche hier im Forum und in Google zu keinen wirklichen 
Ergebnis. Ein anderes Problem hab ich mit dem Ablauf meiner I2C Routine 
da ich ja quasi keiner Möglichkeit habe und auch kein Digitales Oszi ob 
meine gesendeten Werte überhaupt empfangen und richtig waren.

Datenblatt: http://datasheets.maxim-ic.com/en/ds/MAX6956.pdf

Schaltplan: http://media.maxim-ic.com/images/appnotes/4021/4021Fig01.gif

MFG

Patrick

von Patrick (Gast)


Lesenswert?

Nach weiteren Tag probieren und verzweifeln das Resultat...

Die ersten 4 Leds von später 25 leuchten ist zwar noch nicht viel aber 
es klappt. Was ich dazu getan hab ich bin vom Software I2C auf Hardware 
TWI umgestiegen so kann ich auch gleich Problemlos die Ackn. Bits vom 
Empfänger auswerten und mit ein bischen ausprobieren und Datenblatt 
studium leuchten die Dinger endlich.

Allerdings ist mir im laufe meiner Flash Aktionen mein AtMega88 (erst 1 
Woche alt) gestorben ich hatte den ganzen Tag schon Fehler beim 
schreiben und zum schluss ging er garnicht mehr.
Nur gut das ich noch einen ATMega 8 da hatte der tuts. Nun folgt die 
eigentliche Aufgabe Zahl zwischen (50 und - 20) empfangen und auf den 
LEDs ausgeben 2 Grad = 1 Led. D.h. kopplung ATmega 8 und Atmega 8 :-D 
über Uart.

Hier der Code für die Ansteuerung...


Code:
[c]
$regfile = "m8def.dat"                                'Mega8
$crystal = 16000000                                  'Takt schnell genug 
für den Bus
$hwstack = 32
$swstack = 8
$framesize = 24
$baud = 9600

$lib "i2c_twi.lbx"                                          ' Für 
Hardware TWI (I2C)


Config Scl = Portc.5

Config Sda = Portc.4

I2cinit                                                             'I2C 
Init

Config Twi = 400000                                          ' 
Initialisierung TWI

Twcr = &B00000100                                           ' TWI 
einschaltten


Dim Adresse As Byte , Wert As Byte , I As Byte
Declare Sub I2c(byval Adresse As Byte , Byval Wert As Byte)


 I2cinit
  Print "Start"
  Call I2c(&H09 , &H55)                                     'Setzen der 
nichvorhanden Ports (Seite 5)
  Call I2c(&H0a , &H55)                                     'Setzen der 
nichvorhanden Ports (Seite 5)
  Call I2c(&H0b , &H00)                                     'Segment 15 
- 12 as LED's
  Call I2c(&H04 , &H01)                                     'No Shutdown 
mode -> Baustein wird aktiv (Seite 16)
  Call I2c(&H02 , &H03)                                     'Globale 
Helligkeit (ziemlich dunkel  von h00 bis h0F) (Seite 18)

  Do
  Call I2c(&H2c , &H01)                                     'LED Port12 
on '
  Call I2c(&H2d , &H00)                                     'LED Port13 
off
  Call I2c(&H2e , &H01)                                     'LED Port 14 
on
  Call I2c(&H2f , &H00)                                     'LED Port 15 
off
   Waitms 500
  Call I2c(&H2c , &H00)                                     'LED Port12 
off
  Call I2c(&H2d , &H01)                                     'LED Port13 
on
  Call I2c(&H2e , &H00)                                     'LED Port 14 
off
  Call I2c(&H2f , &H01)                                     ''LED Port 
15 on
  Print "Ende"
  Waitms 500
Loop
End


Sub I2c(byval Adresse As Byte , Byval Wert As Byte)         'Ablauf laut 
Datenblatt (Seite 8, oben)

      Print "SUB"
      I2cstart                                              'Start
      I2cwbyte &H80                                    'Slave Adresse (7 
Bit + RW)
      I2cwbyte Adresse                                 'Register Adresse
     ' I2cstart 
'Wiederholter Start (muss nicht!)
      I2cwbyte Wert                                    'Register Wert
      Print Err                                             'Fehler bei 
Kommunikation = 1
      I2cstop                                             'Stop
      Waitms 10                                         'Warten
End Sub
[c]



Mit freundlichen Grüßen,

Patrick

von thomas t. (Firma: thomas) (thomas667)


Lesenswert?

Hallo,

ich finde einfach keinen Online-Shop bei dem ich den Maxim 6956 bekomme.

Hat jemand da ne Ahnung wo ich den bekommen kann?

danke, thomas

von Uwe N. (ex-aetzer)


Lesenswert?


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.