Assembler

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

valtak
nováček
Příspěvky: 14
Registrován: říjen 14
Pohlaví: Muž
Stav:
Offline

Assembler

Příspěvekod valtak » 04 kvě 2015 14:07

Zdravím,

potřeboval bych pomoct s programováním v assembleru. Ve škole mi byla zadána úloha a já nevím jak na to .

Úloha:
Na nultý vývod brány P1 je připojena LED dioda (rozsvěcuje se nulovou úrovní na vývodu), na vstupy 2 a 3 brány P3 jsou připojena tlačítka Tl1 a Tl2.
Napište a odlaďte program, který zajistí, aby po stisku tlačítka Tl1 svítila dioda plným jasem, po stisku tlačítka Tl2 přibližně polovičním jasem.
K realizaci použijte mikrořadič AT89S2051
Předem děkuji za pomoc.

Reklama
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Assembler

Příspěvekod faraon » 04 kvě 2015 17:22

Nojo, blíží se konec roku, a bude se propadat. Ale propadnout zrovna kvůli 8051 starému pětatřicet let, který navíc máš dost pravděpodobně v klávesnici, mikrovlnce, a jestli ti někde ve skříni leží staré video tak i v něm, to je trochu blbé, ne?

Takže začni tím že si najdeš v instrukčním souboru jak se čte a zapisuje na portech na konkrétní bity, jakým způsobem se nastaví režim portu (vstupní/výstupní), a potom se zamysli nad tím, jak udělat nekonečnou smyčku, ve které bude činnost programu probíhat.

Až budeš mít tenhle základ, můžeš si začít vymýšlet ty dvě úrovně jasu. Svícení naplno je jasné, tam stačí do portu poslat nulu a nechat ho jak je. Poloviční jas získáš tak, že tam budeš střídavě posílat nulu a jedničku, v přibližně stejných intervalech. A na to můžeš použít buď časovač, nebo to udělat natvrdo přímo v programu. Já bych zkusil tu druhou možnost.

Potom je potřeba ten program odladit, to můžeš udělat bud v emulátoru, nebo si ten mikrokontrolér napíchej do zapojovací desky a testuj to přímo. To bude trochu pracnější, ale větší zábava.

A mysli přitom na to co ti odpověděli na root.cz, ty se z toho úkolu máš něco naučit, takže nečekej že ho za tebe někdo udělá celý. Ukaž trochu snahy, něco udělej sám. a když se někde zasekneš, zeptej se a někdo tě postrčí dál. Jinak budeš fakt muset změnit obor na tu striptérku :-D
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Koubis777
nováček
Příspěvky: 7
Registrován: květen 15
Pohlaví: Muž
Stav:
Offline

Re: Assembler

Příspěvekod Koubis777 » 05 kvě 2015 17:39

čau taky bych potřeboval poradit s hrubým tělem programu :Na jednotlivé vstupy brány P3 jsou připojeny DIP přepínače, na vývod P1.0 je přes spínací obvod připojen stejnosměrný motorek.
Napište a odlaďte program, který vždy při zadání nového binárního čísla v dolní čtveřici bitů DIP přepínače (na horní čtveřici nezáleží) rozběhne motorek na dobu odpovídající v sekundách zadanému číslu.
K realizaci použijte mikrořadič AT89S2051.

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Assembler

Příspěvekod faraon » 05 kvě 2015 17:46

Vítej na PC-help. V pravidlech fóra, která jsi při přihlašování jistě četl, stojí, že si pro svůj dotaz máš založit vlastní vlákno.
A jinak hrubé tělo tvého programu bude úplně stejné jako v předchozím případě, první část provede inicializaci, druhá část poběží v nekonečné smyčce a bude snímat stav přepínačů, a porovnávat ho s uloženým předchozím. Pokud zjistí změnu, nastaví nějaký časovač, a spustí motorek. S výhodou bys mohl použít vestavěné čítače a přerušení, abys v cyklu nemusel hlídat čas kdy máš motorek vypnout.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

valtak
nováček
Příspěvky: 14
Registrován: říjen 14
Pohlaví: Muž
Stav:
Offline

Re: Assembler

Příspěvekod valtak » 05 kvě 2015 18:22

Děkuji za pomoc.


Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 8 hostů