Uhr-Programm

OP #3649536
Lesenswert?

Guten Abend

Für ein Schulprojekt wollen wir mittels Mikrocontroller eine sogenannte 
"Wortuhr" bauen. Wir sind gerade dabei die Schaltung zu plannen und 
machen uns schon gedanken bezüglich des programmieren des PICs, da wir 
in diesem Bereich wenig erfahrung haben. Der PIC soll pro ausgang eine 
LED-Reihe ansteuern. Die Uhrzeit soll: Bei den Minuten in 5 MInuten Takt 
angezeit werden.

Die Stunden sollen immer voll angezeit werden, also 1, 2, 3, ...

Meine Frage: Wie soll das Programm asusehen?

Hoffe das ich genug Infos gegeben habe, fragen oder verbesserungen sind 
gerne gesehen.

P.S. Schaltplan im Anhang

mfg Christian
Angehängte Dateien:
#3649968
Lesenswert?

Ich würde einen Uhrenquarz (2^15HZ) an den PIC hängen und mit einem 
16bit Timer jede Sekunden ein Interrupt erzeugen. Die ISR könnte in C 
dann so aussehen:
1
void interrupt ISR()
2
{
3
  if(PIR1bits.TMR1IF)  
4
  {
5
    TMR1L=??;
6
    TMR1H=??;              // Timer Vorladen
7
    PIR1bits.TMR1IF=0;
8
    sekunden++;
9
    if(sekunde>=60)
10
      minuten++;
11
    if(minuten>=60)
12
      stunden++;
13
    if(stunden>12)
14
      stunden=1;
15
  }
16
}
Bei meiner Wordclock habe die Funktionen zum Ansteuern der Anzeige so 
ausgesehen: Siehe Anhang. Der Code mag nicht schön oder Effizient sein, 
aber er erfüllt seine Aufgabe sein einem halben Jahr problemlos.

Der Rest bleibt dann deine Aufgabe...
Angehängte Dateien:
#3652646
Lesenswert?

Sry, hab ich ganz vergessen :-(
1
void interrupt ISR()
2
{   
3
  if(PIR1bits.TMR1IF)  
4
  {
5
    PIR1bits.TMR1IF=0;
6
    sekunden++;
7
    if(sekunde>=60)
8
    {
9
      minuten++;
10
      sekunden=0;
11
    }
12
    if(minuten>=60)
13
    {
14
      stunden++;
15
      minuten=0;
16
    }
17
    if(stunden>12)
18
      stunden=1;
19
  }  
20
}

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