eine Uhr programmiert-LEDs blinken lassen

OP #1825105
Lesenswert?

Ich habe folgendes Problemm. Vieleicht hat jemand ein Tipp für mich wie 
ich das realisieren kann, was ich mir ausgedacht habe.
Also folgendes, ich habe ein Uhr mit Hilfe Atmega 32 programmiert. Die 
Zeitzählung wurde mit einem Timmer realisiert. Die Sekunden-, Minuten-, 
und Stundenwerte werden in Integern gespeichert. Jetzt möchte ich das 
mein 3 LEDs die Sekunden blinkend anzeigen, die 2. Led Minuten blinkend 
anzeigt und die 3. LED die Stunde blinkend anzeigt. Und das muss so 
aussehen LED-Sekunde blinkt jede Sekunde, LED-Minute blinkt jede Minute 
u-s.w.

Hat jemand Tipp wie das im Programm realisieren kann?
Danke!!!!
#1825151
Lesenswert?

ich kapier nicht, was er will.

die sekunden-LED soll im Sekundentakt blinken.
2Hz, oder 1Hz?

die Minute-LED soll wie blinken?
die Stunden-Led soll wie blinken?

Sebastian Enz schrieb:
> Teste die 3 Werte auf gerade und ungerade und schalte die LED's
> etsprechend ein oder aus.

das würde ja heißen, man kann die Stunden nur alle 2 Stunden ablesen, da 
bei geraden Stunden die LEDs ja aus sind.
OP #1825166
Lesenswert?

Vlad Tepesch schrieb:
> ich kapier nicht, was er will.
>
> die sekunden-LED soll im Sekundentakt blinken.
> 2Hz, oder 1Hz?
>
> die Minute-LED soll wie blinken?
> die Stunden-Led soll wie blinken?
>
> Sebastian Enz schrieb:
>> Teste die 3 Werte auf gerade und ungerade und schalte die LED's
>> etsprechend ein oder aus.
>
> das würde ja heißen, man kann die Stunden nur alle 2 Stunden ablesen, da
> bei geraden Stunden die LEDs ja aus sind.

Also die Minuten-LED und Stunden LED sollen auchn Sekundentakt blinken
#1825184
Lesenswert?

@  Waldemar T. (bender007)

>Also die Minuten-LED und Stunden LED sollen auchn Sekundentakt blinken

Du meinst sie sollen für jeweils 1s leutchten. Das ist was anderes ;-)

Ist aber einfach. Wenn in deinem Programm die Minuten um eins erhöht 
werden, schaltest du die LED für die Minuten an. Im nächsten Durchlauf 
werden sie wieder ausgeschaltet. Das Gleiche für die Stunden. Die 
Sekunden werden ähnlich bearbeitet, nur dass dort entweder die LED nur 
1/2 Sekunde leuchtet oder im 1s Takt blinkt. Etwa so.

1
meine_Timer_ISR_10ms{
2

3
static uint8_t tick;
4

5
tick++;
6
LED_1min = 0;
7
LED_1h=0;
8

9
if (tick==50) {
10
  LED_1s =0;
11
}
12

13
if (tick==100) {
14
  tick=0;
15
  sekunde++;
16
  LED_1s=1;
17
  if (sekunde==60) {
18
    sekunde=0;
19
    minute++;
20
    LED_1min=1;
21
    if (minute==60) {
22
      minute=0;
23
      stunde++;
24
      LED_1h=1;
25
      if (stunde==24) {
26
        stunde=0;
27
      }
28
    }
29
  }
30
}
31
    
32
}

MFG
Falk
OP #1825195
Lesenswert?

Icke ®. schrieb:
> Du hast die Uhr gar nicht selbst programmiert, sondern irgendwo
> abgeschrieben, gelle? Sonst würdest du wohl nicht an ein paar simplen
> Blinklichtern scheitern. Auf dieser Webseite gibt es ein hervorragendes
> Tutorial zum Thema µC

Natürlich, um eine LED blinken zu lassen, muss man nicht Informatik 
studieren. Aber es geschieht über ein Timmer und alles muss 
synchronisiert sein. Deswegen möchte ich das so programmieren das es 
genau ist, deswegen habe ich das über Timmer gemacht.

Ich habe jetzt die Lösung: ich habe das über Modulo realisiert. Es 
vergleicht ob die Sekunden gerade Zahlen oder ungeraden Zahlen sind. 
Somit kann man das blinken lassen!
#1826823
Lesenswert?

Waldemar T. schrieb:
> Natürlich, um eine LED blinken zu lassen, muss man nicht Informatik
> studieren. Aber es geschieht über ein Timmer und alles muss
> synchronisiert sein. Deswegen möchte ich das so programmieren das es
> genau ist, deswegen habe ich das über Timmer gemacht.

Zum Thema Uhr: Wie sieht's denn mit deiner Taktversorgung aus ? Hoffe du 
verwendest einen Uhrenquarz ansonsten geht deine Uhr nach nem Tag zu 
viele !Minuten! nach...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren