AT89C51ED2 - Timer

OP #519207
Lesenswert?
• ▲
▼
Hallo kann mir jemand helfen!
Ich habe ein Programm geschrieben, nun will ich eine Uhr(Zeit´) einbauen 
die abläuft! Leider habe ich garkeine Ahnung wie ich das mit den Timern 
machen muss.

Chip: AT89C51ED2
Compiler: GCC

Welchen Timer solch dafür nehmen?
Wie spreche ich in den Timer in C an?

Das man den Timer durch den Quarz zählen läßt und die Zeiten ausrechen 
muss! Hab ich einwenig verstanden, aus dem Tutorial hier im Forum.

Würde mich freuen wenn jmd bereit ist mir zu hälfen.
Kommentare die nicht Hilfreich sind  bitte für sich behalten.

mfg danny
Gast #519255
Lesenswert?
• ▲
▼
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Die_Timer.2FCounter_des_AVR
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Timer
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Uhr

Da ist alles drin, was du brauchst. Les dir das mal in Ruhe durch und 
wenn dann immer noch Fragen bestehen, wird dir mit Sicherheit hier im 
Forum geholfen.
Ich würde dir (genau wie das Tutorial) zum CTC Mode raten. Welcher Timer 
das kann steht in deinem Datenblatt. viel Spass!
OP #519426
Lesenswert?
• ▲
▼
Danke Peda ;)

Hab aufjedenfall soweit alles verstanden auf deiner Seite.

Was muss ich in deinem C beispiel noch verändern nur den XTAL eintragen?
Aber wie kann ich jetzt eine Ausgabe der Zeit machen?
Und muss ich viel umändern um die Zeit von zb. 3 min runterlaufen zu 
lassen?
Gast #519485
Lesenswert?
• ▲
▼
Beim ED2 geht aber auch MACHINE_CYCLE = 6, je nach dem ob du x2 Mode 
verwendest.

Die Timer initialisierung sieht dann so aus:

TMOD = 0x01;              // Timer 0 Modus 1 = 16 BIT Timer
ET0 = 1;                  // Enable Timer 0 Interrupt
EA = 1;                   // Enable All BIT = 1
TR0 = 1;                  // Timer 0 starten

Dann in der ISR:

void timer_0_isr (void) interrupt 1  {
  TH0 = TIMER_RELOAD_H;   // reload Timer 0
  TL0 = TIMER_RELOAD_L;
...
}

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.