zdravím dostal jsem za úkol v seminární práci napsat program a jazyku assembler a byl bych moc rád za každou radu, protože tohle vůbec nechápu :)
tady je zadání :
Na vstup 2 brány P3 je připojeno tlačítko, na výstup 0 brány P1 je přes spínací tranzistor připojen reproduktorek.
Napište a odlaďte program, který při prvním stisku tlačítka spustí generování tónu o kmitočtu 440 Hz, při dalším stisku generování ukončí atd. Je třeba programově ošetřit zákmity tlačítka při jeho sepnutí:
předem díky moc za pomoc :)
Fórum › Assembler
Assembler-pomoc
Chtělo by to vědět na jakém procesoru a s jakým taktovacím kmitočtem. Řešení se dá rozdělit na dvě části: použití časovače a čtení z portu s ošetřením nežádoucích jevů.
hu
nechápu assembler celkově
Tak to jsi asi v té škole nedával pozor ne?
Nebo-li typická situace dnešní běžné školy: žáci chodí do školy, ale protože je to, co se tam učí nezajímá a učitelé odmítají pochopit, že žáky nemají učit to, co je nezajímá, dokonce si dovolují po žácích chtít aby předvedli, co se je v hodinách snažili ze všech zbývajících sil naučit, tak žáci zkoušejí, jestli by to někdo hodný neudělal za ně. A když náhodou neudělá, tak ho zmydlí, nebo mu aspoň vyčiní (v případě, že to je přes dráty).
Otázkou je, proč vlastně do té školy chodí?
Proč ty chodíš do školy?
#4 tichous
Asm, to jako kdyz te maminka sekyruje:
Uklid tohle
Uklid tamhleto
Prestehuj sem stul
Je to seznam jednoduchych instrukci (vhodne pojmenovanych - nechtel bys to programovat ve strojovem kodu), co maji za ukol neco provest... Jsou tam instrukce na skoky, volani podprogramu, navrat z preruseni, vypocty (casto meni flagy ve status registru - tak se da zjistit, jestli po vykonani vysledek treba 0, nebo podtekl/pretekl, posuny pres carry flag presouvaji bit), skoky, podminene skoky (casto ve spojeni s vypocty a tak), kopirovani bajtu v pameti (nekdy i 16b ale tim si tu nejsem uplne jist), bitove operace nad registry, ktere muzou byt pouzity po bitech...
Tady bych to videl na nastaveni timeru na preruseni 880x za sekundu. V handleru preruseni pak snimani klavesy a pripadne prepinani toho vystupu (kdyz se invertuje 880x za sekundu, tak vznikne 440Hz)
Assembler pracuje s procesorem. Tudiz pouziva ty nejjednodusi ukoly, co muze.
- cti/zapis data z pameti
- cti/zapis data z portu
- preskoc v pameti na jine misto (pro cykly)
- zmen data v pameti, promene
- promenych mas jen omezene mnozstvi a maji jen konkretni nazvy
- proved artitmeticke nebo jednoduche mat. operace
- provadej opakovane funkce pomoci casovace (tez omezene mnozstvi casovacu)
Kdyz chces neco slozitejsiho, tak si to vetsinou musis naprogramovat nebo pouzit kod z jineho funkcniho programu.
Kdyz mas treba led display, tak se ovlada pres seriovy port treba. A tam mu musis soukat data po tech nejmensich promennych cyklem z nejakeho useku pameti, treba. muzes si na to napsat funkci jako maji vyssi programovaci jazyky :)
google = mikrořadič AT89S2051 Assembler
Ma to asi na 5 forkach :)
google = AT89S2051 assembler instruction table -> Intel 8051 Microcontroller
google = 8051 instruction table - prepnes si to pak na obrazky, treba
google = 8051 assembler instruction table
Zakladni instrukce
http://2.bp.blogspot.com/…/program.PNG
Ty budes potrebovat asi kompletni tabulku instrukci, mozna najit priklad pro praci s temi prvky, ktere jsi jmenoval.
Na tom prvnim slide v tom pdf to vypada prekledne
http://radio.feld.cvut.cz/…d/it8051.pdf
Tohle je taky celkem pouzitelne. https://www.win.tue.nl/…set8051.html
Na stredni jme meli takovou peknou dvojstranku, kde bylo jeste napsano, ktere bity a registry to ovlivnuje, pripadne jestli i z bit a tak.
Mohlo by ti pomoci http://www.atmel.com/images/doc4316.pdf a http://www.atmel.com/images/doc3390.pdf. ještě by se vyplatilo pohledat v Application Notes, třeba tam budou ukázky použití časovače.
hu
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Pomoc s assembler 86 — založil firin
Pomoc- Assembler — založil Martin
Assembler pomoc — založil pontiac
Assembler 8080 pomoc — založil bbeni
POmoc s assembler 8080 pls — založil firinko