Szybkie przesunięcie 16-bitowej liczby w prawo o 3 bity w ASM 8051 ? jak to zrobić wydajniej?

czy ktos zrobił to szybciej?





Poprzedni Następny
Wiadomość
Spis treści
From: "Sławomir Kapelko" <skapelko_at_nospam_elka.pw.edu.pl>
Subject: czy ktos zrobił to szybciej?
Date: Mon, 26 Aug 2002 12:24:18 +0200


chodzi mi o podzielenie liczby 16 bitowej przez 8 czyli przesunięcie o 3
bity w prawo.
liczba jest zapisana w 2 komórkach pamięci. wynik ma byc w tym samym
miejscu.
mi się udało to napisać w 20 cyklach zegarowych. (asm 8051)
czy można zrobić to szybciej? może komuś sie udało?
pozdro



Poprzedni Następny
Wiadomość
Spis treści
From: "Andrzej Gorzela" <andrzejg_at_nospam_konsys.pl>
Subject: Re: czy ktos zrobił to szybciej?
Date: Mon, 26 Aug 2002 12:31:46 +0200


a może by tak żródło dołączyć ?? :-)

Użytkownik "Sławomir Kapelko" <skapelko_at_nospam_elka.pw.edu.pl> napisał w wiadomości
news:akcucd$onm$1_at_nospam_news.onet.pl...
chodzi mi o podzielenie liczby 16 bitowej przez 8 czyli przesunięcie o 3
bity w prawo.
liczba jest zapisana w 2 komórkach pamięci. wynik ma byc w tym samym
miejscu.
mi się udało to napisać w 20 cyklach zegarowych. (asm 8051)
czy można zrobić to szybciej? może komuś sie udało?
pozdro





Poprzedni Następny
Wiadomość
Spis treści
From: "Sławomir Kapelko" <skapelko_at_nospam_elka.pw.edu.pl>
Subject: Re: czy ktos zrobił to szybciej?
Date: Mon, 26 Aug 2002 13:20:06 +0200



a może by tak żródło dołączyć ?? :-)

proszę bardzo
zmiienna do podzielenia to speedH speedL

wersja pierwsza tradycyjna (według moich obliczeń 21 cykli)

clr c
mov a, speedH
RRC a
mov speedH, a
mov a, speedL
RRC a
mov speedL, a
clr c
mov a, speedH
RRC a
mov speedH, a
mov a, speedL
RRC a
mov speedL, a
clr c
mov a, speedH
RRC a
mov speedH, a
mov a, speedL
RRC a
mov speedL, a


wersja druga troche zagmatwana (według moich obliczeń 20 cykli)

mov a, speedL
mov b, #8
div ab
mov speedL, a
mov a, speedH
mov b, #8
div ab
mov speedH, a
mov a, b
rl a
swap a
orl speedL, a

czy można jeszcze szybciej?
pozdro




Poprzedni Następny
Wiadomość
Spis treści
From: "Bartosz Sarama" <quasimod_at_nospam_poczta.usun.onet.pl>
Subject: Re: czy ktos zrobił to szybciej?
Date: Mon, 26 Aug 2002 12:51:46 +0200


Użytkownik "Sławomir Kapelko" <skapelko_at_nospam_elka.pw.edu.pl> napisał w wiadomości

chodzi mi o podzielenie liczby 16 bitowej przez 8 czyli przesunięcie o 3
bity w prawo.
[..]
mi się udało to napisać w 20 cyklach zegarowych. (asm 8051)
czy można zrobić to szybciej? może komuś sie udało?


Podejmuje wyzwanie :-)

;zdefiniowane num (2 bajty w pamięci)

mov a, num ;1 cykl
rr a ;1 /2
rr a ;1 /3
rr a ;1 /4
mov b, a ;1 /5
anl a, #01fh ;1 /6
mov num, a ;1 /7
mov a, num+ 1 ;1 /8
mov c, b.5 ;1 /9
rrc a ;1 /10
mov c, b.6 ;1 /11
rrc a ;1 /12
mov c, b.7 ;1 /13
rrc a ;1 /14
mov num+ 1, a ;1 /15

O ile się nie machnąłem przy liczeniu cykli to mam o 5 mniej :-)


Pozdrawiam
Bartosz Sarama

--
Użytkownik wykonał nieprawidłową operację i zostanie zamknięty...



Poprzedni Następny
Wiadomość
Spis treści
From: "Sławomir Kapelko" <skapelko_at_nospam_elka.pw.edu.pl>
Subject: Re: czy ktos zrobił to szybciej?
Date: Mon, 26 Aug 2002 13:41:23 +0200



Użytkownik "Bartosz Sarama" <quasimod_at_nospam_poczta.usun.onet.pl> napisał w
wiadomości news:akd102$osq$1_at_nospam_absinth.dialog.net.pl...
Użytkownik "Sławomir Kapelko" <skapelko_at_nospam_elka.pw.edu.pl> napisał w
wiadomości

chodzi mi o podzielenie liczby 16 bitowej przez 8 czyli przesunięcie o 3
bity w prawo.
[..]
mi się udało to napisać w 20 cyklach zegarowych. (asm 8051)
czy można zrobić to szybciej? może komuś sie udało?


Podejmuje wyzwanie :-)

;zdefiniowane num (2 bajty w pamięci)

mov a, num ;1 cykl
rr a ;1 /2
rr a ;1 /3
rr a ;1 /4
mov b, a ;1 /5
anl a, #01fh ;1 /6
mov num, a ;1 /7
mov a, num+ 1 ;1 /8
mov c, b.5 ;1 /9
rrc a ;1 /10
mov c, b.6 ;1 /11
rrc a ;1 /12
mov c, b.7 ;1 /13
rrc a ;1 /14
mov num+ 1, a ;1 /15

O ile się nie machnąłem przy liczeniu cykli to mam o 5 mniej :-)

wygląda na to że wszystko ok.
cóż za finezja. jestem pod wrażeniem.
a moze ktoś jeszcze się przyłączy do konkursu?
niestety poza włąsną satysfakcją innych nagróg nie przewidziano :)
pozdro



Poprzedni Następny
Wiadomość
Spis treści
From: "Maciej Gruszecki" <pear_at_nospam_jtc.biz.pl>
Subject: Re: czy ktos zrobił to szybciej?
Date: Mon, 26 Aug 2002 14:42:35 +0200


Użytkownik "Sławomir Kapelko" <skapelko_at_nospam_elka.pw.edu.pl> napisał w wiadomości
news:akd2su$6s9$1_at_nospam_news.onet.pl...

Użytkownik "Bartosz Sarama" <quasimod_at_nospam_poczta.usun.onet.pl> napisał w
wiadomości news:akd102$osq$1_at_nospam_absinth.dialog.net.pl...
Użytkownik "Sławomir Kapelko" <skapelko_at_nospam_elka.pw.edu.pl> napisał w
wiadomości

chodzi mi o podzielenie liczby 16 bitowej przez 8 czyli przesunięcie o
3
bity w prawo.
[..]
mi się udało to napisać w 20 cyklach zegarowych. (asm 8051)
czy można zrobić to szybciej? może komuś sie udało?

Podejmuje wyzwanie :-)

;zdefiniowane num (2 bajty w pamięci)

mov a, num ;1 cykl
rr a ;1 /2
rr a ;1 /3
rr a ;1 /4
mov b, a ;1 /5
anl a, #01fh ;1 /6
mov num, a ;1 /7
mov a, num+ 1 ;1 /8
mov c, b.5 ;1 /9
rrc a ;1 /10
mov c, b.6 ;1 /11
rrc a ;1 /12
mov c, b.7 ;1 /13
rrc a ;1 /14
mov num+ 1, a ;1 /15

O ile się nie machnąłem przy liczeniu cykli to mam o 5 mniej :-)

wygląda na to że wszystko ok.
cóż za finezja. jestem pod wrażeniem.
a moze ktoś jeszcze się przyłączy do konkursu?
niestety poza włąsną satysfakcją innych nagróg nie przewidziano :)
pozdro

mov a, numL ;1 cykl
swap a ;1 /2
rl a ;1 /3
anl a,#01Fh ;1 /4
mov numL, a ;1 /5
mov a,numH ;1 /6
swap a ;1 /7
rl a ;1 /8
mov b,a ;1 /9
anl a,#0E0h ;1 /10
orl numL,a ;1 /11
mov a,b ;1 /12
anl a,#01Fh ;1 /13
mov numH,a ;1 /14

Jeśli to działa to jest jeszcze jeden cykl mniej :)

Pear



Poprzedni Następny
Wiadomość
Spis treści
From: "Sławomir Kapelko" <skapelko_at_nospam_elka.pw.edu.pl>
Subject: Re: czy ktos zrobił to szybciej?
Date: Mon, 26 Aug 2002 19:34:11 +0200


mov a, numL ;1 cykl
swap a ;1 /2
rl a ;1 /3
anl a,#01Fh ;1 /4
mov numL, a ;1 /5
mov a,numH ;1 /6
swap a ;1 /7
rl a ;1 /8
mov b,a ;1 /9
anl a,#0E0h ;1 /10
orl numL,a ;1 /11
mov a,b ;1 /12
anl a,#01Fh ;1 /13
mov numH,a ;1 /14

Jeśli to działa to jest jeszcze jeden cykl mniej :)

wydaje mi się ze działa, ale gdyby zrobić małą poprawkę
tzn nie trzymać tymczasowo w b to bedzie jeszcze szybciej

mov a, numL ;1 cykl
swap a ;1 /2
rl a ;1 /3
anl a,#01Fh ;1 /4
mov numL, a ;1 /5
mov a,numH ;1 /6
swap a ;1 /7
rl a ;1 /8
mov numH,a ;1 /9
anl numH,#01Fh ;2 /11
anl a,#0E0h ;1 /12
orl numL,a ;1 /13

szybciej już sie chyba nie da :)
pozdro





Poprzedni Następny
Wiadomość
Spis treści
From: "Bartosz Sarama" <quasimod_at_nospam_poczta.usun.onet.pl>
Subject: Re: czy ktos zrobił to szybciej?
Date: Mon, 26 Aug 2002 19:33:44 +0200


Użytkownik "Sławomir Kapelko" <skapelko_at_nospam_elka.pw.edu.pl> napisał w wiadomości
news:akdni5$2afg$1_at_nospam_pingwin.acn.pl...

wydaje mi się ze działa, ale gdyby zrobić małą poprawkę
tzn nie trzymać tymczasowo w b to bedzie jeszcze szybciej


No i proszę.
Doszliśmy do tego samego kodu :-))))))


Pozdrawiam
Bartosz Sarama

--
Użytkownik wykonał nieprawidłową operację i zostanie zamknięty...



Poprzedni Następny
Wiadomość
Spis treści
From: "Bartosz Sarama" <quasimod_at_nospam_poczta.usun.onet.pl>
Subject: Re: czy ktos zrobił to szybciej?
Date: Mon, 26 Aug 2002 19:31:53 +0200


No to w odpowiedzi na pobicie mojego rekordu przez kolegę Maćka podbijam
stawkę :-)

mov a, num+ 1 ;1
swap a ;2
rl a ;3
anl a, #01f ;4
mov num+ 1, a ;5
mov a, num ;6
swap a ;7
rl a ;8
mov num, a ;9
anl num, #01f ;11
anl a, #0e0 ;12
orl num, a ;13

-)

Pozdrawiam
Bartosz Sarama

--
Użytkownik wykonał nieprawidłową operację i zostanie zamknięty...



Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: =?iso-8859-2?Q?RE:_czy_ktos_zrobi=B3_to_szybciej=3F?=
Date: 26 Aug 2002 13:37:13 +0200


mi się udało to napisać w 20 cyklach zegarowych.
(asm 8051)
czy można zrobić to szybciej? może komuś sie udało?
pozdro

A to chodzi o sztukę (ilość cykli), czy czas( w usek.)
wykonania operacji?
Bo jeśli to drugie, to ja bym kupił szybszy procek,
ewentualnie zmienił
cały algorytm, żeby rzadziej dzielił. ;-)
pzdr
Artur

--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


Poprzedni Następny
Wiadomość
Spis treści
From: "Sławomir Kapelko" <skapelko_at_nospam_elka.pw.edu.pl>
Subject: Re: czy ktos zrobił to szybciej?
Date: Mon, 26 Aug 2002 14:17:33 +0200



mi się udało to napisać w 20 cyklach zegarowych.
(asm 8051)
czy można zrobić to szybciej? może komuś sie udało?
pozdro

A to chodzi o sztukę (ilość cykli), czy czas( w usek.)
wykonania operacji?
Bo jeśli to drugie, to ja bym kupił szybszy procek,
ewentualnie zmienił
cały algorytm, żeby rzadziej dzielił. ;-)
pzdr
Artur

jest to sterownik silnika krokowego. jego prędkosc musi być wyliczana na
bierzaco
(zadana prędkośc, przyśpieszenie oraz liczba kroków) kilkaset razy na
sekundę.
Maksymalna prędkość to 20k kroków/sek - tak więc sporo.
więc jedyne co mógłbym zrobić to przyśpieszyć zegar.
obecnie uzywam 89C52 i kwarcu 11059200 (z tego względu że to wszystko
jeszcze
komunikuje sie z PCtem). Procka raczej zmienic nie mogę (bo płytka już sie
robi)
A są może jeszcze jakieś szybsze kwarce z których można gładko wyliczyś
prędkości do RS'a
i które zniesie ten procek?






Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: =?iso-8859-2?Q?RE:_czy_ktos_zrobi=B3_to_szybciej=3F?=
Date: 26 Aug 2002 14:21:38 +0200


jest to sterownik silnika krokowego. jego
prędkosc musi być wyliczana na
bierzaco
(zadana prędkośc, przyśpieszenie oraz liczba
kroków) kilkaset razy na
sekundę.
Maksymalna prędkość to 20k kroków/sek - tak więc sporo.
więc jedyne co mógłbym zrobić to przyśpieszyć zegar.
obecnie uzywam 89C52 i kwarcu 11059200 (z tego
względu że to wszystko
jeszcze
komunikuje sie z PCtem). Procka raczej zmienic
nie mogę (bo płytka już sie
robi)
A są może jeszcze jakieś szybsze kwarce z których
można gładko wyliczyś
prędkości do RS'a
i które zniesie ten procek?
Jeśli to jest ATMEL to znosi fabrycznie 24MHz.
Czyli można dać kwarc 22,118400MHz, są powszechne,
np. TME lub Piekarz.
pzdr
Artur

--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Dzwonnik" <mdz_at_nospam_message.pl>
Subject: Re: czy ktos zrobił to szybciej?
Date: Mon, 26 Aug 2002 14:28:54 +0200


Użytkownik "Sławomir Kapelko" <skapelko_at_nospam_elka.pw.edu.pl> napisał w wiadomości
news:akd50n$bv8$1_at_nospam_news.onet.pl...
A są może jeszcze jakieś szybsze kwarce z których można gładko wyliczyś
prędkości do RS'a
i które zniesie ten procek?

W sprzedaży bywają 22.1184MHz. Np.:
www.tme.pl
http://mselektronik.gdynia.pl/listtest.php?grupa=KWAR2



--
Marek Dzwonnik mdz_at_nospam_message.pl
GG: #2061027 (zwykle jako 'dostępny-niewidoczny')




Poprzedni Następny
Wiadomość
Spis treści
From: "megaraptor" <megaraptor_at_nospam_wp.pl>
Subject: Re: czy ktos zrobił to szybciej?
Date: Mon, 26 Aug 2002 14:42:33 +0200


18.432MHz

--
GG - 736187
megaraptor_at_nospam_wp.pl



Poprzedni Następny
Wiadomość
Spis treści
From: "megaraptor" <megaraptor_at_nospam_wp.pl>
Subject: Re: czy ktos zrobił to szybciej?
Date: Mon, 26 Aug 2002 14:45:46 +0200


Mozesz jeszcze wziąć procesor z rodziny High-Speed firmy Dallas, który
chodzi na 4 cykle zegara a nie na 12.
Są wersje OTP.

--
GG - 736187
megaraptor_at_nospam_wp.pl



Poprzedni Następny
Wiadomość
Spis treści
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: czy ktos =?iso-8859-2?Q?zrobi=B3?= to szybciej?
Date: Mon, 26 Aug 2002 22:36:24 +0200


jest to sterownik silnika krokowego. jego prędkosc musi być wyliczana na
bierzaco (zadana prędkośc, przyśpieszenie oraz liczba kroków) kilkaset razy
na
sekundę.
Maksymalna prędkość to 20k kroków/sek - tak więc sporo.

Sterownik, a nie zwykły czoperek - czy tak?

więc jedyne co mógłbym zrobić to przyśpieszyć zegar.
obecnie uzywam 89C52 i kwarcu 11059200 (z tego względu że to wszystko
jeszcze komunikuje sie z PCtem). Procka raczej zmienic nie mogę (bo płytka
już sie robi)
A sš może jeszcze jakieś szybsze kwarce z których można gładko wyliczyś
prędkości do RS'a i które zniesie ten procek?

Ja z kolei zrobiłem kiedyś na 2313_at_nospam_10MHz czoperek dla 2 krokowych z
mikrokrokiem /4 na PWM-ie 30kHz i maksymalnie 30k krokami/s dla obu silników
jednocześnie. Wyszedł z tego moduł wielkości paczki fajek z 6 wejściami oraz
dwoma złšczami dla bipolarnych krokowych (już po IRF-ach). Polecam więc użycie
jakiegoś AVR-ka, nawet pinologie majš identycznš do 52 (uwaga na reset - możesz
nie podłšczać). Oczywiście program praktycznie od nowa :-(

A teraz zaspokój mojš ciekawość - co to za sterowanie, że zlecasz dynamikę
ruchu w ręce tak małego procka? (jakoś nie mogę sobie wyobrazić 20kkroków/s
obliczanych na bieżšco przy zegarze 11MHz Wychodzi na to, że część z kroków
będzie grupowana, nie przeszkadza Ci to?).

--
PZD, Irek.N.
Chcesz rozweselić Boga? Powiedz Mu że masz plany!



Poprzedni Następny
Wiadomość
Spis treści
From: "Sławomir Kapelko" <skapelko_at_nospam_elka.pw.edu.pl>
Subject: Re: czy ktos zrobił to szybciej?
Date: Tue, 27 Aug 2002 05:31:42 +0200



A teraz zaspokój mojš ciekawość - co to za sterowanie, że zlecasz dynamikę
ruchu w ręce tak małego procka? (jakoś nie mogę sobie wyobrazić
20kkroków/s
obliczanych na bieżšco przy zegarze 11MHz Wychodzi na to, że część z
kroków
będzie grupowana, nie przeszkadza Ci to?).

w zasadzie jest to model czysto edukacyjny (praca inżynierska) więc o jego
przydatności
w praktyce cięzko dyskutować. Mam sterować silnikiem według zadanej
trajektorii
(prędkość, przyśpieszenie, liczba kroków) zadanej z peceta. Ma sam obliczac
kiedy
zacząć hamowaćaby nie przekroczyć zadanej liczby kroków uzwględniając zadane
przyśpieszenie.
Najtrudniejsze jest to że przyśpieszenie ma być jednostajne czyli liniowe.
Z grupowaniem masz racje.Wymysliłem coś takiego. Jeden licznik odpowiada za
RS'a
drugi licznik zajmuje sie genrowaniem kroków (o stałej prędkości), natomiast
trzeci
licznik generuje przerwania się 256 razy na sekundę i wylicza aktualną
prędkość
(podczas przyśpieszania/hamowania).
Dla wyliczonej prędkości z tablicy (dość dużej - 5000 bajtów) jest wyciągana
początkowa wartość licznika odpowiadająca danej prędkości.
To tak jakby pracowały dwa niezależne wątki. Jeden generuje prędkość, a
drugi co
jakiś czas ją wylicza. Jakoś to chodzi chociaż odczuwam wyrażny brak mocy
obliczeniowej.

mam nadzieję że zaspokoiłem twoją ciekawość.
pozdro








Poprzedni Następny
Wiadomość
Spis treści
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: czy ktos =?iso-8859-2?Q?zrobi=B3?= to szybciej?
Date: Tue, 27 Aug 2002 09:40:37 +0200


mam nadzieję że zaspokoiłem twojš ciekawość.
pozdro

Jak najbardziej, thx :-)

Miłego dnia.
--
PZD, Irek.N.
Chcesz rozweselić Boga? Powiedz Mu że masz plany!



Poprzedni Następny
Wiadomość
Spis treści
From: "Sławomir Kapelko" <skapelko_at_nospam_elka.pw.edu.pl>
Subject: Re: czy ktos zrobił to szybciej?
Date: Tue, 27 Aug 2002 12:49:04 +0200


mam nadzieję że zaspokoiłem twojš ciekawość.
pozdro

Jak najbardziej, thx :-)

Miłego dnia.

skoro juz przeczytałeś jak to działa, to poprosiłbym o jakąś opinię :)
co sądzisz o takim sposobie sterowania? algorytmu pewnie i tak juz nie
zmienie
ale może przyda się na przyszłość

a może mógłbyś mi wyjaśnić czym dokładnie charakteryzuje się czoper i czym
się
różni od sterownika, bo jakoś te pojęcie nie jest mi dobrze znane.

pozdrawiam i dzieki za pomoc



Poprzedni Następny
Wiadomość
Spis treści
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: czy ktos =?iso-8859-2?Q?zrobi=B3?= to szybciej?
Date: Tue, 27 Aug 2002 17:30:42 +0200


skoro juz przeczytałeś jak to działa, to poprosiłbym o jakšś opinię :)
co sšdzisz o takim sposobie sterowania? algorytmu pewnie i tak juz nie
zmienie ale może przyda się na przyszłość

Oj....co ja mam ci odpisać? Dla mnie jak do tej pory znacznie ważniejsze było
położenie bezwzgledne niż parametry ruchu...
Dynamiczne sterowanie miałem okazję rozgryzać tylko raz...ale elementem
wykonawczym był silnik klatkowy sterowany falownikiem.


a może mógłbyś mi wyjaśnić czym dokładnie charakteryzuje się czoper i czym

się różni od sterownika, bo jakoś te pojęcie nie jest mi dobrze znane.

Wiesz, że aby osišgnać pracę mikrokrokowš potrzebne jest odpowiednie
modulowanie pršdu uzwojeń silnika. Można to zrobić np: PWM-ami (będzie to
czestotliwościš czopowania).....a układ który za to odpowiada nazywam
czoperem. Nie wiem czy słusznie, dlatego w poprzednim poście napisałem to w
cudzysłowiu.
Układ sam w sobie głupi i wymagajšcy zaszycia algorytmu poruszania silnikiem w
np: sterujšcym nim kontrolerze.
Sterownik zaś...może ale nie musi pracować z wykorzystaniem PWM-ów, za to na
pewno samodzielnie będzie wiedział jak wykonać krok do przodu czy do tyłu.
Będzie też wiedział jak np: zluzować silnik. To tak...obrazowo ;-)

--
PZD, Irek.N.
Chcesz rozweselić Boga? Powiedz Mu że masz plany!



Poprzedni Następny
Wiadomość
Spis treści
From: Milosz Skowyra <miloszek_at_nospam_fido.net.org.pl>
Subject: Re: czy ktos =?iso-8859-2?Q?zrobi=B3?= to szybciej?
Date: Wed, 28 Aug 2002 16:04:59 +0200


"Sławomir Kapelko" wrote:

w zasadzie jest to model czysto edukacyjny (praca inżynierska) więc o jego
przydatności
[...]
To tak jakby pracowały dwa niezależne wątki. Jeden generuje prędkość, a
drugi co
jakiś czas ją wylicza. Jakoś to chodzi chociaż odczuwam wyrażny brak mocy
obliczeniowej.

A nie lepiej byloby to zrobic na dedykowane kostce, z generatorem
trajektorii etc.
Kiedys widzialem cos takiego w Nationalu, jak robilem projekt na
energoelektronike.
--
Regards. Przy odpowiedzi usun "." przed "net" z adresu!!!
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek_at_nospam_fido.net.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
Dzisiaj slonce nie wzejdzie, bo za zimno.

Poprzedni Następny
Wiadomość
Spis treści
From: "Sławomir Kapelko" <skapelko_at_nospam_elka.pw.edu.pl>
Subject: Re: czy ktos zrobił to szybciej?
Date: Wed, 28 Aug 2002 21:11:22 +0200



A nie lepiej byloby to zrobic na dedykowane kostce, z generatorem
trajektorii etc.
Kiedys widzialem cos takiego w Nationalu, jak robilem projekt na
energoelektronike.
--
moze szybciej i prościej ale moja prca jest właśnie z programowania
mikrokontrolerów.
a to że jest silnik - czymś trzeba było sterować :)
pozdro



Poprzedni Następny
Wiadomość
Spis treści
From: jfox_at_nospam_poczta.onet.pl (J.F.)
Subject: Re: czy ktos zrobił to szybciej?
Date: Mon, 26 Aug 2002 20:14:11 GMT


On Mon, 26 Aug 2002 12:24:18 +0200, Sławomir Kapelko wrote:
chodzi mi o podzielenie liczby 16 bitowej przez 8 czyli przesunięcie o 3
bity w prawo.
liczba jest zapisana w 2 komórkach pamięci. wynik ma byc w tym samym
miejscu.
mi się udało to napisać w 20 cyklach zegarowych. (asm 8051)

Sprawdz czy sie nie pomylilem

mov R1,#numh
mov a,numl
swap a
xchd A,_at_nospam_R1
swap a
mov C,a.3
xchd A,_at_nospam_R1

RLC A
mov numl,A

mov A,numh
swap
RLC A
anl A,#1Fh
mov A,numh

J.