www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Dauers eines Dekrementiervorgangs


Autor: Ben M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Armin Kniesel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ben M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ben M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok jetzt ist mirs klar !
Riesengrossen Dankeschön !!!

Autor: Peter Dannegger (peda)
Datum:

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

12 * 1 / 33MHz = 364ns



Peter

Autor: Ben M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ben M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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]
  • [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.