Forum: Projekte & Code 16 Bit Timer Calculator


von Jornbyte (Gast)


Angehängte Dateien:

Lesenswert?

Das Berechnen des 16 Bit Timer's fand ich immer Nervend und habe
deshalb  mal ein kleines Tool geschrieben. Testet es mal :)

mfg jornbyte

von Peter D. (peda)


Lesenswert?

"Das Berechnen des 16 Bit Timer's fand ich immer Nervend..."

Was muß man denn da bloß berechnen ???

Ich hab noch nie was selber berechnen müssen.
Wozu ist denn schließlich der Compiler / Assembler da, die können doch
schon prima rechnen.

Ich schreibe immer nur die Formel hin, z.B.:

http://www.mikrocontroller.net/forum/read-4-57760.html


Peter

von Jornbyte (Gast)


Lesenswert?

Eine Antwort ist schon mal besser als keine. Mir ging es dabei nicht nur
um die eine Sekunde, oft ist ein anderer Wert gefragt, egal ob Frequenz
oder Zeit.

von Peter D. (peda)


Lesenswert?

"oft ist ein anderer Wert gefragt"

Na klar, die Sekunde ist doch nur ein Beispiel. Jeder andere Faktor ist
ebenso möglich.

In C kann man auch mit Kommazahlen rechnen, Hauptsache der Ganzzahlwert
ist zum Schluß nicht größer als 16 Bit, damits noch in den Timer paßt.

In Assembler sind nur 32Bit Ganzzahlen möglich, daher die
Multiplikationen möglichst am Anfang und die Divisionen zum Schluß.
sonst könnte es zu große Rundungsfehler geben.
Und drauf achten, daß Zwischenergebnisse nicht größer als 4294967295,
der Assembler warnt nicht bei einem Überlauf.


Und auch die Baudratenteiler lasse ich immer den Assembler / Compiler
selber ausrechnen.

Wäre ja auch viel zu umständlich, wenn man jedesmal, wenn man eine
andere Quarzfrequenz nimmt, sämtliche Timer und Baudraten neu berechnen
müßte.
Deshalb steht in meinen Programmen immer am Anfang:

.equ XTAL = 11059200

bzw.:

#define XTAL 14.7456e6



Peter

von Jack88 (Gast)


Lesenswert?

I have a project to be done. The is project is about building a 16-bit
simple maths calculator using 8051 microcontroller.
Where do i get the information to build the calculator?
Please help. Thank you.

von Thomas O. (Gast)


Lesenswert?

Hallo,

@Jornbyte: Mit welchen Programm hast du dieses Programm erstellt?
VisualBasic?

von Kalle (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich verstehe folgende nicht.
Warum steht der Hex Wert 0xCF2B nicht in den Registern TCNT1H und
TCNT1L? Da müsste doch für TCNT1H = 0xCF und für TCNT1L = 0x2B stehen
oder?

(Siehe Bild im Anhang)

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
Noch kein Account? Hier anmelden.