www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Programmsequenz


Autor: Hugo Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hab von meinem Lehrer eine Aufgabe bekommen und weiß gar nicht was ich 
damit anfangen soll.

10.  Gegeben ist nachfolgende Programmsequenz:
Main: …
  jmp entprell
…
entprell PROC
  mov R3,#65535    ;Zeitzähler auf Anfangswert
  M1 sub R3,#1
  jmpr CC_NZ, M1;
  ret
  entprell ENDP

a)  Erläutern Sie kurz die Funktion. Wozu kann Sie verwendet werden?


b)  Ist die Programmsequenz lauffähig? Begründen Sie ihre Aussage.


c)  Schreiben Sie die Sequenz in C.


d)  Wie würden Sie eine Datensicherung vornehmen? Welche Daten sind zu 
sichern? Begründen Sie ihre Antwort.


e)  Wie erfolgt die Datensicherung mit dem Context-Pointer (CP)?


Wär cool wenn jemand eine Lösung hätte.

Gruß Hugo

Autor: doch gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hugo Müller schrieb:
> a)  Erläutern Sie kurz die Funktion. Wozu kann Sie verwendet werden?
Zum Vernichten von Rechenzeit.

> b)  Ist die Programmsequenz lauffähig? Begründen Sie ihre Aussage.
Nach beheben evtl. Syntaxfehler wie
M1:  sub R3,#1
wahrscheinlich schon.

> c)  Schreiben Sie die Sequenz in C.
for(unsigned short r3=0xfff, r3, r3--);
Aber Compileroptimierungen abschalten!!!!

> d)  Wie würden Sie eine Datensicherung vornehmen? Welche Daten sind zu
> sichern? Begründen Sie ihre Antwort.
Datensicherung unnötig, weil keine Interruptroutine.

> e)  Wie erfolgt die Datensicherung mit dem Context-Pointer (CP)?
S.o.

Wenn du das jetzt aber einfach abschreibst, wirst du (obwohl meine 
Aussagen stimmen) in Erklärungnöte kommen, denn diese Argumentation will 
der Lehrer vermutlich nicht hören.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wer als Lehrer ne Delay-Loop mit "Entprell" bezeichnet, der gehört 
fristlos entlassen. Der hat schonmal rein garnichts verstanden.
Kein Wunder, wenn dadurch haufenweise Geräte mit sauschlechter 
Tastenfunktion verkauft werden.
Nicht die Billigtasten sind die Hauptursache, sondern die fehlende 
Programmierkenntnis.

Delay und Entprellen sind 2 völlig verschiedenen Dinge.
Kurze Delays (einige µs) nimmt man, um das Timing an langsame Peripherie 
anzupassen, wie z.B. LCDs.
Lange Delays (>1ms) nimmt man garnicht, da sie die CPU massiv ausbremsen 
oder nur zum Austesten kleiner Programme.

Zum Entprellen nimmt man üblicher Weise einen Timerinterrupt. Wichtig 
ist dabei eine Mehrfachabtastung des Eingangs (2-fach Minimum, 4-fach 
empfohlen) in einem entsprechenden Zeitraster.


Peter

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.