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
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.
Laß einen Timer laufen, zähle Sekunden mit und polle den Port. Wenn er 3 Ergebnisse in 5 sekunden hat, schalte die Lampe an. Für Timer braucht man zB.: TMOD, IE, TCON
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.
zu beachten ist, dass der vorteiler zu den verschiedenen betriebsarten der timer das taktsignal durch 12 teilt. Gruß Tom
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.