Forum: Mikrocontroller und Digitale Elektronik Dauers eines Dekrementiervorgangs


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Ben M. (Gast)


Lesenswert?

Hallo,
da ich in den Datenblättern nichts genaues über die Dauer eines(1) 
Dekrementiervorganges finden konnte, dachte ich, dass ich einfach mal 
hier frage.
Es handelt sich dabei um den µC 8051 (8252).

Wäre mir wirklich sehr hilfreich

Danke im Voraus
Ben M.

von Armin Kniesel (Gast)


Lesenswert?

Bei den AVRs gibt es ein Instruction set. Dort steht genau drin, wieviel 
Taktzyklen welcher Befehl braucht. Das muß es auch zu dem Typ geben.

von Olaf (Gast)


Lesenswert?

Hallo Ben,

wenn du in Assembler programmierst, brauchst du doch nur gucken wie viel 
Zyklen der µC für die verwendeten Befehle zur Abarbeitung benötigt. 
Programmierst du in einer Hochsprache, wie z. B. in C, musst du erst 
einmal wissen was der Complier aus deinem Code (z. B. count--;) macht. 
Ohne diese Info wirst du es nicht genau ausrechnen können. Ansonsten 
bleibt nur raten oder messen.

Gruß
Olaf

von Ben M. (Gast)


Lesenswert?

Dankeschön !
Hab jetzt gerade mal gekuckt um wieviel Zyklen es sich beim 
Dekrementiervorgang handelt, nämlich genau um einen. Jetzt sollte ich 
nur noch wissen wie lange 1 Zyklus dauert, bin nicht sicher, aber kann 
es sein das es sich dabei um etwa 1µs dreht ?

von Olaf (Gast)


Lesenswert?

... das hängt natürlich von deiner Oszillatorfrequenz ab. Ein Taktzyklus 
ist:

T = 1/f_osz (z. B. T = 1/4MHz = 250 ns).

Olaf

von Ben M. (Gast)


Lesenswert?

Ok jetzt ist mirs klar !
Riesengrossen Dankeschön !!!

von Peter D. (peda)


Lesenswert?

Also, wenn Du den AT89S8252 meinst, der kann mit maximal 33MHz laufen 
und braucht 12 Quarztakte je Zyklus:

12 * 1 / 33MHz = 364ns



Peter

von Ben M. (Gast)


Lesenswert?

Hi

Also im Datenblatt steht, dass der maximal 24MHz schafft.
Dann hab ich noch was unter DC Characteristics gefunden -
Power Supply Current Active Mode = 12MHz
Power Supply Curren Idle Mode = 12MHz

von Ben M. (Gast)


Lesenswert?

Noch etwas:

In einem der Beispielprogramme habe ich folgendes gefunden.

-------------------
                zeit: mov r0,#10
    zeit0:mov r1,#200
    zeit1:mov r2,#250
    zeit2:djnz r2,zeit2
    djnz r1,zeit1
    djnz r0,zeit0
-------------------

Diese Zeitverzögerung kommt auf fast(!) genau 1sek (laut Beschreibung)
Kann man durch zurückrechnen sich auf diese Werte verlassen ?

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]
  • [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.