Hallo Jungs,

ich habe da ein großes Problem und kommen nicht weiter.

Die Schaltung ist wie folgt: ATMega16, danach über I2C an den PCF 8574, von da an den Treiber ULN2003, Widerstand, LED und an V+.

Ich schaffe es nicht die LED dauernd anzusteuern.

Je mehr PCF 8574's ich ansteure, um so kleiner wird die Helligkeit der LED Anzeigen.

Was ist da bloß zu machen?
In meinem Programm werden die LEDs, nacheinander angesteuert, dadurch die Helligkeit Abnahme. Leider fällt mir nichts ein, wie ich eine Dauer Ansteuerung mit dieser Beschaltung schaffen könnte...

Habt Ihr da eine Idee???

Hier mein Programm Code:


Code:
regfile = "m16def.dat"
 $framesize = 32
 $swstack = 32
 $hwstack = 32
 $crystal = 7372800
 $baud = 9600
Const Dekaden = 5                                           ' Anzahl der Anzeigen (dekaden)
Const Pulsdauer = 10000                                     ' Dauer eines Impulses




'Variablen 7 Segment Dekodierung
Dim Segment(dekaden) As Byte
Dim Zahl(dekaden) As Byte                                   ' Array für die fertig berecheten Segmente
Dim Digit As Byte
Dim Adress As Integer


Config 1wire = Portd.6                                      ' Eingang Temperatur Sensor


'LED's in den Gradzeichen setzen
Config Porta = Output
Config Portb = Output

 Porta.4 = 1                                                ' Led im Gradzeichen oben
 Porta.3 = 1                                                ' Led im Gradzeichen unten
 Portb.2 = 0                                                ' INT Eingang des PCF8574

'i2C Konfigurieren

   Config Scl = Portc.0                                     ' Ports fuer I2C-Bus
   Config Sda = Portc.1
   I2cinit



'Slave adressen des PCF 8574 I/O IC
Const Adr_digit1 = &B1001110                                ' Adresse Stelle 1
Const Adr_digit2 = &B1001100                                ' &B1001110
Const Adr_digit3 = &B1001010                                '      |||
Const Adr_digit4 = &B1001000                                '      ||A0
                                                             '      |A1
                                                             '      A2



'Daten über I2C an die Anzeigen senden
Do
   I2csend Adr_digit1 , &B01111111
   I2csend Adr_digit2 , &B01111111
   I2csend Adr_digit3 , &B01111111
   I2csend Adr_digit4 , &B01111111
Loop

Vielen Dank und ein schönes Wochenende.

Gruß

Rici