74HC595: OE-Pin nicht PWM-Fähig? Oder Fehler bei Mega644-Code?
Moin.
Ein 7-Segment-Display wird über ein Schieberegister 74HC595 und ein ULN2803 als "Treiber" angesteuert. Der OE-Pin (Output Enable) des 595 hängt an einem ATMega644 an PB3 (OCR0A). Der Plan dahinter: Die Helligkeit der LEDs steuern.
Wenn ich in einer While-Loop den Pin mit z.B. 200 Hz "manuell" mit verschiedenen Pulsweiten an- und abschalte, dann wirds schon dunkler. Versuch ich das ganze mit PWM, leuchten die LEDs mit voller Helligkeit weiter.
Hackts da jetzt beim Code für die PWM-Init (siehe unten) oder ist der OE-Eingang für "echte" PWM einfach zu lahm?
Code:
DDRB |= (1 << DDB3);
TCCR0A = (1 << WGM00) | (1 << COM0A0) | (1 << CS00) |(1 << CS02);
TIMSK0 |= (1 << OCIE0A);
sei();
while(1)
{
OCR0A++;
_delay_ms(25);
}
Mit dem Code würde ich eigentlich erwarten, dass die Helligkeit der Anzeige zyklisch durchläuft. Passiert aber wie gesagt nicht.
Oder ist da irgendwo ein Bit, das ich noch übersehen hab?
mfG
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat von
Unregistriert
Ich baue eine ähnliche Schaltung, und frage mich ob ich zwischen dem 74HC595 und dem ULN2803 Pull-Down-Widerstände brauche.
Was spricht gegen einen Blick ins Datenblatt?
Anhang 27611
Zitat:
Wie verhält sich da der Tri-State-Ausgang?
So wie sich Tri-State nun mal verhält, er wird hochohmig.
MfG Klebwax