Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Geschwindigkeitsmessung Kategorie: Programmierung ASM (von Dietmar, Homepage - 25.01.2005 22:34)
 Als Antwort auf Re: Geschwindigkeitsmessung von Dietmar - 25.01.2005 19:42

Hallo Michael,

falls ich nicht zu kompliziert denke, dann bleibt Dir, wenn Du den Counter vor der Berechnung wirklich nicht skalieren und dadurch 2 Bits verlieren willst, nur übrig, eine binäre Division durchzuführen. Das hört sich schwieriger an als es ist. Außerdem muß nur der bei der Ganzzahl-Division entstehende Rest auf diese Weise verarbeitet werden. Siehe folgenden Code:

define c word
define v word
define r word
define n byte
define i byte

print
print "Berechnung von v=120384/Counter mit zwei dezimalen Nachkommastellen"
print "Bitte Counter eingeben (800..12000): ";
input c

v=(30096/c)*400    'Ganzahl-Division ("Vorkomma-Ergebnis")
r=30096 mod c      'Rest

n=0                'binaere Division: Rest durch Counter
for i=0 to 7
  r=r shl 1
  n=n shl 1
  if (r-c)<0 then endif
    r=r-c
    n=n or 1
  #endif
next i             'in n steht jetzt (r/c)*256

v=v+(n*100)/64+1   'das +1 behebt zwei Rundungsfehler

print "v=";v       'ist mit 100 skaliert und auf +/- 0.015 genau
end


Gruß, Dietmar

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten:

Re: Geschwindigkeitsmessung (von Michael - 26.01.2005 12:06)
    Re: Geschwindigkeitsmessung (von Dietmar - 26.01.2005 17:43)
        Re: Geschwindigkeitsmessung (von Michael - 27.01.2005 14:22)
            Re: Geschwindigkeitsmessung (von Thomas - 3.03.2005 10:28)