mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timer - Interrupt Aufgabe


Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.
Folgend ist eine Schulaufgabe bei der ich nicht weiterkomme.
Es geht um die Programmierung eines AT89C51ED2 in Assembler

Der Timer0 soll in der Betriebsart 1 (Mode1) als 16 Bit Zähler arbeiten. 
Alle 65 ms soll das Timer Overflow Flag (Interrupt Request FlipFlop) TF0 
gesetzt und dadurch ein Interrupt erzeugt werden. Die Interrupt Service 
Routine (ISR) hat die Aufgabe die LED Anzeige an Port2 fortlaufend um 1 
zu erhöhen und das 16 Bit Zählregister nach zu laden.

Hat mir jemand für dieses Programm ein Programmcodevorschlag ?

Danke im Vorraus

MFG

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hat mir jemand für dieses Programm ein Programmcodevorschlag ?
Ja:
1. allgemeine Initialisierung (Schnittstelle, RAM, etc.)
2. Timer 1 initialisieren und Interrupt freischalten
3. Sprung auf 3 (Endlosschleife)

Timer 1 ISR:
1. Timer 1 nachladen
2. Port 2 inkrementieren

Den fertigen Code wirst du nicht bekommen, du sollst ja beweisen, dass 
du es wirklich begriffen hast. Ausserdem hast du eh nicht alle 
notwendigen Infos gepostet, falls jemand doch fertigen Code liefern 
würde.

Was du aber machen kannst und wobei dir garantiert geholfen wird ist 
dass du das Programm basierend auf deinem Wissen schreibst, und wenn's 
nicht tut, den Code hier postest, zusammen mit der Fehlerbeschreibung 
(geht nicht ist zu wenig, LEDs toggeln zu schnell/langsam oder IRQ wird 
nicht ausgelöst ist eine bessere Beschreibung).
Vergiss nicht, deinen Code aussagekräftig zu dokumentieren, damit wir 
sehen können, was du machen möchtest und was du tatsächlich machst.

Ralf

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.