Oneskorenie – Assembler – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Oneskorenie – Assembler – Fórum – Programujte.comOneskorenie – Assembler – Fórum – Programujte.com

 

jozo00250
Návštěvník
8. 4. 2007   #1
-
0
-

Zdravim, ako sa vobec da vypocitat oneskorenie nejakeho cyklu, napr ze diody budu blikat v 2 sekundovom intervale??
V skole nas ucili ako oneskorenie nieco taketo ale vobec tomu nechapem

ones: mov R0,#255
navx: mov R1,#255
navy: djnz R1, navy
djnz R0, navx
reti
a potom sme ho zykli volat acall ones...

prikazy chapem ale ako z tohoto celeho vznikne oneskorenie neviem

Nahlásit jako SPAM
IP: ...–
xp0
Věrný člen
8. 4. 2007   #2
-
0
-

To jozo0025: můžeš mi říct co je to oneskorenie?, pak ti snad pomůžu

Nahlásit jako SPAM
IP: ...–
Není čas ztrácet čas
Smokie0
Expert
8. 4. 2007   #3
-
0
-

xp píše:#
# To jozo0025: můžeš mi říct co je to oneskorenie?, pak ti snad pomůžu

delay ;)

Nahlásit jako SPAM
IP: ...–
jozo00250
Návštěvník
8. 4. 2007   #4
-
0
-

ano je to delay

Nahlásit jako SPAM
IP: ...–
Smokie0
Expert
8. 4. 2007   #5
-
0
-

Je smutne, ze na to aby si Slovak a Cech porozumeli je potrebna anglictina :D

Nahlásit jako SPAM
IP: ...–
xp0
Věrný člen
8. 4. 2007   #6
-
0
-

To jozo0025: neuvedl jsi pro jaký mikroprocesor to chceš, uvedu výpočet pro at89c2051; dále musíš vědět pro jakou frekvenci to bude, dejme tomu že f = 12MHz, pak jeden strojový cykl pro tento mikroprocesor bude trvat 1us; v instrukčním souboru zjistíš jak dlouho trvá instrukce DJNZ, pro tento obvod trvá 2 strojový cykly, takže trvá 2us; tebou uvedený kód má 1 vnořený smyčku, v celkovým zpozdění se musí započítat i instrukce mov, jenž trvá 1us; celkova doba zpozdění bude doba trvaní vnitřní smyčky krát počet její provedení plus trvaní instrkuce mov krat pocet opakovani tehle instrukce a plus doba vnější smyčky, 510us*255 + 1us*255 + 510us = 130 815us pro úplnost je potřeba ještě započítat ještě ty první dvě instrukce mov a instrukci ret, takže tento podpogram se provede za 130 819us; jinak máš chybu v kódu má tam být ret ne reti, reti slouží pro návrat z přerušení; smyčku o délce přibližně 2s uděláš pomocí 2 vnořených cyklů:

ones: mov r2,#15

navy: mov r0,#255
navx: mov r1,#255
djnz r1,$
djnz r0,navx
djnz r2,navy

mnohem lepší je použít časovač pro vytváření časových smyček

Nahlásit jako SPAM
IP: ...–
Není čas ztrácet čas
jozo00250
Návštěvník
8. 4. 2007   #7
-
0
-

To xp: diky za odpoved myslel som 8051, neviem presne typ ale v skole na vypoctovke sme sa na nom ucili programovat....
a ako je to z tym casovacom?

Nahlásit jako SPAM
IP: ...–
jozo00250
Návštěvník
8. 4. 2007   #8
-
0
-

To xp: ...hmm nejak tie 2 sekundy z toho nemozem stale vypocitat, napises to pls este raz, matika mi moc nejde. dik

Nahlásit jako SPAM
IP: ...–
xp0
Věrný člen
8. 4. 2007   #9
-
0
-

To jozo0025: jj pro něj ten kód bude fungovat také, jen musíš znát frekvenci na které pracuje nejčastěji bývá 24Mhz nebo 12MHz, ten časovač se asi budete teprve učit, vysvětlovat ti celou látku casovače nebudu to si najdi na netu, ukážu ti jak by se řešila 2s zpoždění pomocí časovače



org 0
mov r1,#0
jmp skoc

org 0bh
inc r1
reti

skoc:
mov tmod,#1
mov tl0,#80h
mov th0,#7Bh
setb ea
setb et0
setb tr0
cjne r1,#31,$

Nahlásit jako SPAM
IP: ...–
Není čas ztrácet čas
xp0
Věrný člen
8. 4. 2007   #10
-
0
-

To jozo0025: dobře tak to vezměmě popořádku, nejdřív se vykonají první dvě instrukce, které budou trvat 2us, na dalším řádku je vytvořená smyčka, která se provede 255, jelikož instrukce djnz trvá 2us pak celý tento cyklus bude trvat 510us, tento cyklus je vnořený v dalším cyklu, který se provede 255, takže ten vnitřní cyklus se provede 255x takže zpozdeni zpusobene tynto cyklem bude 255*510; potom je zapotřebí přičíst čas trvaní toho vnějšího cyklu - 510us, protože se provede 255x a trva 2us, potom ještě přičíst čas pro vykonáníí instrukce mov( provede se 255x), jenž je 255us a po ukončení cyklu se provede poslední instrukce ret, který trvá 2us; v součtu to dá 130 819us

Nahlásit jako SPAM
IP: ...–
Není čas ztrácet čas
Tax0
Super člen
8. 4. 2007   #11
-
0
-

To xp: Jn tyhle výpočty nesnáším... :C Proto je asi vhodnější časovač, ještě k tomu generuje přerušení. BTW: nějak jsi zapoměl připočítat mov ;) imho pro smyčku je lepší použít

djnz Rx, $
a navěstí použít až pro násobič. Ono teoretický výpočet se stejně většinou netrefí a pak se to dolaďuje formou pokus omyl ;) My co neradí počítáme to tak děláme od začátku :D :D :D
imho používat R0 a R1 není chytré, jelikož jsou to jediné registry které umožňují nepřímou adresaci jsou tam sice 4x ale i tak je to docela plýtvání ;)

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 !
xp0
Věrný člen
8. 4. 2007   #12
-
0
-

To Tax:kde jsem zapoměl připočítat mov? u těch smyček to připočítaný mám, s těma registry to máš pravdu, a lokační klíč tam použitý mám ;)

Nahlásit jako SPAM
IP: ...–
Není čas ztrácet čas
jozo00250
Návštěvník
9. 4. 2007   #13
-
0
-

To xp: ok, us som to spocital

Nahlásit jako SPAM
IP: ...–
Martin Morawiec0
Stálý člen
16. 4. 2007   #14
-
0
-

Taky jsme to brali, proč né? Sice to je takové malátné, ale plní účel.

Nahlásit jako SPAM
IP: ...–
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, 40 hostů

Podobná vlákna

Oneskorenie — založil Tomas

Oneskorenie — založil Tomas

Oneskorenie - delay — založil Grungy

Oneskorenie v Lazaruse — založil TaurenDruid

 

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