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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.