Assembler, LED Uhr, Atmega

Gast #3004894
Hallo leute,
ich habe in der Schule ein Seminar namens Microcontroller.
Da unser Lehrer uns nichts beibringen kann und uns einfach die Themen 
gegeben hat, muss ich jetzt selbst schaun wie ichs hinkrig.

Ich muss eine LED uhr machen, aus 132 LEDs (12xStunden, 60xMinuten, 
60xSekunden)
Wir programmieren mit Assembler
Ihm ists egal, ob ich selbst das prog für ne Uhr schreibe oder ein 
Funkmodul auswerten lasse, wobei ich bezweifle dass ich das auswerten 
lassen hinkrige.
So wie ich das sehe geht das mit einem Atmega8 auch nicht... also werde 
ich einen Atmega32 nehmen.

Kann mir jemand etwas empfehlen, oder helfen etwas zu finden.
Ich weis nicht welche beuteile ich brauche und wie ich das Programm am 
besten schreibe.

Vielen Dank schon mal :D
Gast
Glase schrieb:
> So wie ich das sehe geht das mit einem Atmega8 auch nicht...

Doch das geht garantiert :)

Glase schrieb:
> Ich weis nicht welche beuteile ich brauche und wie ich das Programm am
> besten schreibe.

Also als erstes brauchst du mal einen µC (Atmega8 -> passt).
Dann brauchst du etwas womit du alle LED's ansteuern kannst. 
Schieberegister ist hier das Zauberwort (siehe z.B. 74HC595).

Das Programm ist grundsätzlich einfach nur ein heraufzählen.
Du hast alle 1000ms einen Interrupt, wobei jeweils die Variabel 
"Sekunden" hearufgezählt wird.

z.B. so:

if (sekunden < 60)
{
    sekunden ++;
}

else
{
   sekunden = 0;
   if (minuten < 60)
   {
      minuten ++;
   }

   else
   {
       minuten = 0;
       if (stunden < 24)
       {
       stunden++;
       }
    }
}



Das ganze wandelst du jetzt noch in Assembler um, ich denke die Logik 
dahinter habe ich dir beschrieben.

Des weiteren gibt es auf dieser Seite ungefähr 124'000 Beiträge zum 
Thema "Uhr" und min. 5 Aritkel im Wiki. Alles auf Deutsch.

Gruss und viel Erfolg.
Gast
Informiere Dich erst einmal hier in den einzelnen Rubriken, bevor Du 
hier
postest. Und mache Dir mal ein paar Gedanken darüber, wie man so etwas 
lösen kann. Dazu findest Du hier alles!
Du sollst selbstständig denken lernen und nicht erwarten, dass man hier 
deine Hausaufgaben macht. Das ist das, was Dein Lehrer auch erreichen 
will!!!

Das geht auch mit einem ATTiny2313.

Hier ein paar Stichworte:

Latch, Adressdekoder, Multiplexen, Demultiplexer (4 zu 16), .....
Gast
Haha, das erwarte ich auch ned, nur was soll ich denn machen wenn unser 
Lehrer uns nichteinmal die basics erklärt.
Und wenn in der heutigen Zeit schon das reine nachfragen, ob jemand paar 
tips weiß, auch schon verboten ist dann weiß ich's auch ned....
glase schrieb:
> Haha, das erwarte ich auch ned, nur was soll ich denn machen wenn unser
> Lehrer uns nichteinmal die basics erklärt.

Bin zwar schon länger aus der Schule raus, aber irgendwie möchte ich das 
nicht glauben.

Was macht ihr denn in den 45-Minuten-Unterrichtsstunden dann, wenn 
nichts erklärt wird?

Warum stellt ihr nicht konkrete Detailfragen? Einfach nur Themen 
verteilen kann man auch einfach in einer Pause. Dafür braucht man kein 
Unterricht.

Allerdings würde ich als Lehrer auch ein Mindestmaß an analytischem 
Denken erwarten:

Wenn man mehrere Minuten auf eine Digitaluhr starrt, sollte man als 
Schüler schon selbst begreifen, dass nach der 59. Sekunde die Minuten 
inkrementiert werden und die Sekunden wieder bei 0 anfangen. Das zu 
erklären (vorzukauen), wäre mir als Lehrer zu blöd.

Gruß,
Thomas
Gast
Thomas schrob:
>...sollte man als
>Schüler schon selbst begreifen, dass nach der 59. Sekunde die Minuten
>inkrementiert werden und die Sekunden wieder bei 0 anfangen.

Vielleicht reicht die Aufmerksamkeit der Kollegen nur 40 Sekunden lang.
;-)

MfG Paul
Gast
Klar geht das auch einem ATmega8. Als ich noch Azubi war, hatte ich 
sowas mit einem AT89C1051 und etwa 10 Transistoren gemacht. Das Programm 
war etwa 900 Bytes klein und brauchte außer den CPU Registern kein RAM. 
Minuten und Sekunden hatte ich auf einem gemeinsam genutzten LED Ring 
angezeigt, die Minute durch helles Licht und die Sekunde durch ein 
Puslierendes Licht (PWM).

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.