Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

zmienne i dzialania na liczbach ulamkowych

wWw

zmienne i dzialania na liczbach ulamkowych

Postautor: wWw » 16 cze 2003, o 23:47

Witam
Mam taki problem..
potrzebuje zrealizowac proste dzialanie, a mianowicie np:
wynik = zmienna * 1,25

nastepnie wynik wraz z ulamkiem zobrazowac na LCD

w jaki sposob to zrobic?
ma ktos jakis pomysl?

bede wdzieczny za wszelkie sugestie/podpowiedzi

pozdr

Zibi

Postautor: Zibi » 17 cze 2003, o 12:28

A na jaki mikrokontroler ?

Vinnic

Re: zmienne i dzialania na liczbach ulamkowych

Postautor: Vinnic » 17 cze 2003, o 12:53

Witam
Mam taki problem..
potrzebuje zrealizowac proste dzialanie, a mianowicie np:
wynik = zmienna * 1,25

nastepnie wynik wraz z ulamkiem zobrazowac na LCD

w jaki sposob to zrobic?
ma ktos jakis pomysl?

bede wdzieczny za wszelkie sugestie/podpowiedzi

pozdr

Wystarczy obie strony równania pomnożyć przez 100 - pozbędziemy się w ten sposób części ułamkowej a następnie "wynik" podzielic przez 100 i w ten sposób działanie mamy rozwiązane. Taka operacja jest strawna dla każdego uP.

Zibi

Postautor: Zibi » 17 cze 2003, o 12:53

Jak na '51 to taka procedurka:

; deklaracja zmiennych
CALK EQU 30H ;część całkowita wyniku
DZIES EQU 31H ;część ułamkowa wyniku
ZMIENNA EQU 32H ;twoja zmienna

;początek procedury

x_1_25: MOV A,ZMIENNA
MOV B,#4
DIV AB
ADD A,ZMIENNA
MOV CALK,A ;CALK = część całkowita z ZMIENNA*1,25
MOV DZIES,B ;DZIES = część ułamkowa (tzn. licznik ułamka DZIES/4)
RET

Jako, że mnożysz przez stałą wartość to część ułamkowa będzie zawsze:
1/4 lub 2/4 lub 3/4 lub 0.

Myślę, że wyświetlenie wyniku na LCD jest już proste.

wWw

Postautor: wWw » 17 cze 2003, o 21:30

Vinnic: I tak zmiennej nie pokaze mi w czesci ułamkowej, lecz calkowitej.

Zibi: To ma byc bascom, nie asm, chyba na dobra grupe trafilem :)


pozdr

Awatar użytkownika
franyo
-
-
Posty: 30
Rejestracja: 1 maja 2003, o 21:48
Lokalizacja: Wałbrzych
Kontaktowanie:

Postautor: franyo » 18 cze 2003, o 15:00

Witam.
Vinnic: I tak zmiennej nie pokaze mi w czesci ułamkowej, lecz calkowitej.

A nie możesz po prostu wyświetlić przecinka na 2 pozycji od końca? I będzie ułamek :)
Pzdr

Gość

Re: zmienne i dzialania na liczbach ulamkowych

Postautor: Gość » 27 cze 2003, o 01:02

Witam
Mam taki problem..
potrzebuje zrealizowac proste dzialanie, a mianowicie np:
wynik = zmienna * 1,25

nastepnie wynik wraz z ulamkiem zobrazowac na LCD

w jaki sposob to zrobic?
ma ktos jakis pomysl?

bede wdzieczny za wszelkie sugestie/podpowiedzi

pozdr
pierwsza metoda:

dim wynik as single

wynik = 1.25 * zmienna
lcd fusing(wynik, "#######.##")



druga metoda:


dim wynik as word (a może nawet i long ?)
dim tmp as byte
dim napis1 as string*16
dim napis2 as string*16

wynik = 125 * zmienna
napis1 = str(x)
tmp = len(napis1)
tmp = tmp-2
napis2 = left(napis1,tmp)
napis2 = napis2 + "."
incr tmp
napis1 = right(napis1,tmp)
napis2 = napis2+napis1
lcd napis2




trudno powiedzieć króra metoda da krótszy kod

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 92 gości