Assembler bakalarka: Je DJNZ soucast kazdeho assembleru? – Assembler – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Assembler bakalarka: Je DJNZ soucast kazdeho assembleru? – Assembler – Fórum – Programujte.comAssembler bakalarka: Je DJNZ soucast kazdeho assembleru? – Assembler – Fórum – Programujte.com

 

Mina
~ Anonymní uživatel
2 příspěvky
19. 6. 2007   #1
-
0
-

Delal jsem bakalarku: Ovladani robotickeho mechanismu mikropocitacem. Pouzit byl 8051 a roboticka ruka se 4mi krokovymi motorky, ktera prenasela micky z podavace na tocnu. Oponent mi dal otazku, zda je instrukce DJNZ soucasti kazdeho assembleru. Muzete mi poradit?
Najit o tom neco blizsiho na netu je potrat. Moc Vam dekuju za jakoukoliv pomoc ci radu. Jsem na komercni elektrotechnice, abych se tomuhle vyhnul a ted jsem si takhle nato... nadelal do bot:)) Ale zas alespon to bylo zabavnejsi, nez psat bakalarku o necem nepraktickym, co nic nedela a jen bych to opisoval z knizek...


Jentak dalsi otazky, kdyby mel nekdo nejakou zajimavost k nim:) :

1) Proc jste nepouzil programovaci jazyk C pro snazsi vyvoj? Navic existuji OpenSourcove prekladace, takze ani cena neni prekazkou. (pouzil jsem As, protoze v te laboratori, kde jsem to delal byl jediny k dispozici sakra:) )

2)Pokud je nejvetsi rozbehova frekvence motoru 450Hz, je mozne je pri pohybu budit rychleji?

3) Jakym zpusobem je urcena poloha micku? (je na tvrdo. Proste, kdyz to pujdu testovat ted, tak musim polozit ten podavac presne tam, kam ruka sahne a odkladaci misto tam, kam ho ruka polozi:) )

Diky za jakoukoliv reakci...

Nahlásit jako SPAM
IP: ...–
Matěj Pácha0
Super člen
20. 6. 2007   #2
-
0
-

DJNZ je věcí assembleru pro 8051, ale je to tak šikovná instrukce, že se v různých modifikacích dostala do ostatních platforem. Něco podobného je v AVR assembleru (i když je to RISC), seznam instrukcí bývá v každém datasheetu od Atmelu, u PIC si nejsem jistý.

ad 1) Překladače jazyka C obvykle nedokážou dobře optimalizovat kód pro mikropočítače. Nejčastější závadou bývá velikost výsledného kódu nebo jeho rychlost. Assembler je v tomto ohledu nenahraditelný. Každopádně se dá operovat s tzv. "srdeční záležitostí", já osobně bych jednočip taky programoval radši v ASM.

ad 2) s krokovými motory jsem nikdy nepracoval, takže nevím. Tipuju, že by se na vyšší frekvenci nechytil.

ad 3) to budeš muset taky sám

Nahlásit jako SPAM
IP: ...–
Ajem tíčr, andrgraund tíčr!
Mina
~ Anonymní uživatel
2 příspěvky
21. 6. 2007   #3
-
0
-

DEKUJU

Nahlásit jako SPAM
IP: ...–
Tax0
Super člen
1. 7. 2007   #4
-
0
-

To jestli je DJNZ obsaženo v každném assembleru se myslím ovdvíjí od příslušné instrukční sady daného procesoru ne ?

Krokové motory budeme dělat příští rok, docela se na to těším, zas bude "hračičkování" :D

3)No, aby jsi mohl určit polohu míčku, potřeboval by jsi nějaký druh senzorů, které by ho nejprve museli detekovat ne?

Nahlásit jako SPAM
IP: ...–
Carpe diem. (Horatius)
Jak se liší Windows a Tamagoči? Windows chcípnou, i když se o ně staráte.
Viete ako spoznáte závislosť na internete? Keď narazíte autom do zvodidiel, a prvé čo hľadáte je back.Vsetci mi hovoria, ze meno kocura sa ako heslo pre roota nehodi. :-( Ale ked ja som si tak privykol na mojho qzb!7kw_2et !
Jan Bednařík0
Super člen
1. 7. 2007   #5
-
0
-

Já bych oponentovi odpověděl: Instrukce DJNZ součástí každého assembleru určitě není. Např. v mikroprocesorech AVR se v assembleru s DJNZ nesetkáte. A pokud jste myslel jen mikroprocesory architektury x51, tak tam to nelze přesně říci. Teoreticky by měla být instrukce DJNZ u všech takových mikroprocesorů, ale výrobců těchto obvodů je tolik, že je klidně možné, že některý zredukoval instrukční sadu tak, že instrukci DJNZ neobsahuje.

1) Zdali by bylo použití C jednodužší je relativní a záleží na tom, jak dobře ovládáš assembler a jak dobře C. Takže jsi assembler zvolil proto, protože je to pro tebe pohodlnější. Taky jsi ho mohl zvolit proto, protože k ovládání krokového motoru potřebuješ "na instrukci" přesné časování, kterého bys v C dosáhl jedině vložením kódu v assembleru, čímž by ti výhody C odpadly. A jak bylo zmíněno výše, překladače nejsou dokonalé a produkují i několikanásobně víc kódu. Záleží, kolik paměti v procesoru zabírá tvůj program, ale jestli je to víc jak třetina, stejný program psaný v C by se ti tam pravděpodobně nevešel, takže by si musel použít procesor s větší pamětí, což by byly náklady navíc.

2) Myslím že ne, ale moc se v krokových motorcích nevyznám, je to jen logický odhad. Kdyžtak vygoogli nebo najdi někde ve skriptech.

3) Je určena programem. Míček musí být umístěn v místě podavače a je odložen na místo odkladače. Poloha podavače a odkladače musí být zachována a jejich případná nová poloha musí být natvrdo nastavena i v programu.

Už je asi pozdě, ale kdybys použil modelářská serva, ušetřil by sis spoustu hodin práce ;-)

Nahlásit jako SPAM
IP: ...–
Python + Django + PostgeSQL = spokojený vývojář :-)
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 264 hostů

Podobná vlákna

Bakalářka — založil Sakalik

Vykreslování v assembleru — založil maherik

Zaciname v Assembleru — založil trebuk

Quicksort v assembleru — založil myšák

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý