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.
Assembler
Re: Assembler
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
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

"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: Assembler
č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.
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.
Re: Assembler
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.
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)
(pravil K. H. Borovský o cenzuře internetu)
Re: Assembler
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 4 hosti