Forum: Mikrocontroller und Digitale Elektronik Multiplexing auf einer Binäruhr


von Markus (Gast)


Angehängte Dateien:

Lesenswert?

Tag,

ich bin jetzt eine weile aus dem Mikrocontroller basteln raus gewesen 
und dachte mir, als einstieg bau ich mir ne binäruhr mit DCF77 
empfänger.

Nun mein problem: Ich bin gerade in C an der Displayansteuerung. Diese 
erfolgt mit Multiplexing.

PORTC fungiert hierbei als "enable" signal, hiermit kann ich einfach 
eine der anzeigen aktivieren (stunde, minute, sekunde) und PORTD ist der 
Datenport, an den einfach eine Zahl ausgegeben werden kann und das 
display diese dann darstellt.

Angehängt habe ich mal den Code, das Multiplexing ansich funktioniert, 
nur ist es viel zu schnell, sodass die anderen LEDs auchnoch anzeigen, 
was sie eigentlich nichtmehr sollten, da schon disabled. Ich habe schon 
ein komisches for-loop konstrukt ums multiplexing rumgebaut, damit alles 
"ein wenig länger" dauert... nur hilft das nichts.

Der ATMega8 wird gerade von einem 4Mhz quarzoszillator angetrieben, 
schließe ich ein 1Mhz quarzosszilator an, funktioniert alles wunderbar. 
Die fuses sind: low: 0xe0 high: 0xd9

Wäre super, wenn mir hier jemand meinen Fehler aufzeigen könnte.

Besten dank!

von Fer T. (fer_t)


Lesenswert?

Wie wäre es wenn du ein delay einbaust?
Oder gleich einen Timer nutzt.
Bei dem for loop bin ich mir auch nicht sicher ob der wegoptimiert wird.

MfG

von Teo D. (teoderix)


Lesenswert?


von Markus (Gast)


Lesenswert?

Tag,

das mit dem delay hat geholfen. Delay von 1ms und alles schaut supi aus. 
Danke euch!

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.