Forum: Mikrocontroller und Digitale Elektronik einfache Uhr (mit einem kleinen Anzeigeproblem)


von Gerd (Gast)


Angehängte Dateien:

Lesenswert?

Hallo, ich habe mich jetzt seit 2 Wochen in die 
Microcontrollerprogrammierung Assembler eingearbeitet und als erstes 
eigenes Projekt eine kleine Uhr.

Das Programm ist noch ein bisschen gefrickelt (in Hinsicht auf die 
Variablenbenennung und Kommentierung).
Technisch funktioniert die Uhr auch so weit, dass ich mit 4 
7-Segment-Displays eine Stunden:Minuten-Anzeige habe. (in der Asm-datei 
zählt er die Zeit mit 100facher Geschwindigkeit zum Testen). Die 
Sekunden werden gezählt, aber nicht angezigt, bzw. nur als Blinker.

Mein Problem ist nun, dass die Anzeige flackert. Mit dem angehängten 
Code z.Bsp. bei 01 50  (also 1Uhr 50).

Ich hatte probiert, "zeit" (also im sram" per Y-Pointer zu ändern, aber 
es hat im Prinzip nichts geholfen.
Die Register, die im mainloop verwendet werden zu scihern hat auch 
nichts geholfen.

Der atmega8 sitzt auf einem Board von Sisy und die Anzeige ist auf einem 
kleinem Steckboard untergebracht. Wenn ich statt dem SRAM, Register 
verwende, habe ich kein Problem mit der Anzeige (aber fast alle 
Reigister verbraucht)

von Falk B. (falk)


Lesenswert?

@ Gerd (Gast)

Erstmal hast du dich im Forum geirrt. Hier in der Codesammlung sollten 
nur getestete, möglichst fehlerfreie und wiederverwendbare Projekte 
rein, keine halbfertigen Sachen oder Anfragen zu Fehlern.

In deiner ISR musst du das SREG sichren, machst du nicht, das spuckt dir 
in deine Hauptschleife.
Die Formatierung lässt zu wünschen übrig. Kommentare sollten eindeutig 
und richtig sein, z.B. deine Beschreibung des Interruptvektors ist 
falsch. Multilexen von Anzeigen macht man in einem Timer-Interrupt. Den 
hast du schon, warum nutzt du ihn nicht?

MFG
Falk

von Gerd (Gast)


Lesenswert?

danke für die Antwort.
darauf aufbauend (aber komplett neu programmiert) mein neuse Programm in 
der Codesammlung.
Diesmal ohne Fehler (soweit ich weiss) und komplett kommentiert und 
(hoffentlich) auch richtig formatiert

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.