(8051) interrupt und Timer

Gast #2045103
Lesenswert?
• ▲
▼
Hi leute
bring mir grad bisschen assambler bei. Hab das Buch von Rolf Klaus zu 
hilfe chacke leider nicht wirklich was in sachen Interrupt und Timer. 
Ich hab ne Aufgabe aus dem Buch hoffe ihr könnt mir helfen und mir 
vlleicht zeigen wie man mit dem Timer programmiert.

Ein Grenztaster liefert Eingangsimpulse. Wird er innerhalb von fünf 
Sekunden dreimal betätigt, liegt eine Störung vor. Im Normalbetrieb 
leuchtet eine grüne Lampe, im Störfall eine rote. Die Störung muss mit 
einer Taste quittiert werden.

So also wird der Taster jetzt 5 mal in 5 sek gedrückt, muss ich setb 
lrot
,dass ist mir noch klar. Aber ich habe Null ahnung wie ich den Timer 
programmier und in diesen 5 sek soll ja der Grenztaster abgefragt 
werden.

Hättet ihr nen Beispiel für mich oder eigene Ideen?

MFG Acid
#2045160
Lesenswert?
• ▲
▼
Wenn du vor hast dich intensiv mit Mikrocontollern auseinanderzusetzen, 
dann wirst du früher oder später in den sauren Apfel beißen müssen um 
deine Englischkenntnisse zu verbessern. Jeder Controller hat ein paar 
Eigenheiten, die man meist nur durch das Lesen von Datenblättern 
herausbekommt.
Ich kann dich aber beruhigen, die meisten Datenblätter und englische 
Tutorials sind in der Regel relativ einfach verfasst.
#2045581
Lesenswert?
• ▲
▼
Es passt ohne Anpassung sicher nicht für Dich gleich so wie es ist, aber 
du willst ja lernen. Passe den Timer an Deinen Quarz an.
Du brauchst auch noch ne Zählvariable  für die ISR.

    MOV  tmod,#01h  ; Timer 0 16 Bit
    MOV  th0,#0EDh  ;
    MOV  tl0,#0FFh  ; Initialisaierung 7ms bei 11.059 MHz
    MOV  ie,#82h    ; Int für global und T0
    SETB  TR0    ; Timer 0 Run

Dann musst du nur noch in die ISR springen, den Port lesen, etwas 
addieren und dann ist es fast geschafft.

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.