Assembler Sleep/Interrupt

Nebuk

Lieutenant Pro
🎅Rätsel-Elite ’11
Registriert
Sep. 2009
Beiträge
952
Hallo zusammen

In der Schule nehmen wir gerade Assembler durch. Nun möchte ich selber bisschen herumtüfteln und habe mir auch schon ein Porjekt ausgesucht. Ich möchte mir eine Kaffeemaschine (ganz simpel) programmieren.

Da wir in der Schule den ATMEL Microcontroller AVR AT90S8515 benutzen, habe ich auch jenen ausgewählt. Das Programm funktioniert auch soweit so gut, lediglich die Unterbrechungsfunktion (Kaffee läuft langsam in die Tasse) habe ich nicht richtig programmiert.

Bisher habe ich es mit einer "nop" Schleife umgangen. Da ist mein Problem ich weiss, dass es die "Sleep" Funktion gibt, jedoch nicht wie man sie einbindet/einsetzt. Soviel ich gehört habe, gibt es auch noch eine weitere Möglichkeit. (gelesen habe ich das Schulbuch und z.B. http://www.sprut.de/electronic/pic/assemble/befehle.html ...)

Kann mir jemand sagen wie ich einen Unterbruch z.B. von ca. 5 Sek. programmieren kann? Am Besten mit einem Beispiel

Dank euch für die Hilfe
 
Das ist ohne Weiteres nicht möglich, es gibt keinen Prozessorbefehl, der sowas speziell vorsieht (meines Kenntnisstandes nach).

Ich hab mich früher bei so kritischen Sachen an den Timer-Interrupt gehangen, der 18.2 Mal pro Sekunde aufgerufen wurde... d.h. wenn der 91 Mal aufgerufen wurde, sind 5 Sekunden vergangen.. aber einfach is was anderes...
 
Wir haben damals in der Schule auch, abhängig von der eingestellten Frequenz, die benötigte Zeit eines Nop ausgerechnet, und diesen dann z.B. 10000 mal wiederholt.

Das wäre also die Lösung ohne Timer Interupt. Mit müsstest du ein label in der ISR verlinken und somit auf den Timer reagieren. Auch ned ganz so easy.

mfg
 
Danke für die Antworten.

Heisst also die nop Lösung ist also eine mögliche (Schul-) Lösung, die fänd ich persönlich auch am einfachsten :D

Das heisst man müsste nun die 5sek durch die 250ns rechnen und kommt so auf etwa 20'000'000 Ausführungen? Oder habe ich mich da verrechnet? Es scheint mir bisschen viel zu sein oO
 

Ähnliche Themen

Zurück
Oben