Evo, bio sam malo aktivan, pa sam usao malo u ASM za AVR. Ronovar, AVR asembler nije bas jednostavan i intuitivan. Arhitektura procesora je napravljena da sve mora da ide preko R0-R31 registara. Cak i kada definises neku svoju promenljivu, njoj pristupas indirektno pomozu X, Y ili Z registara.
Ovo sto si napisao:
lds R16, (MAX6675/4%1000/100)
ne moze da se izvrsi. To bi znacilo da si u jednoj instrukciji izvrsio nekoliko deljenja, a to nije moguce. ASM je direktno povezan sa MCU-om, tj. svaka instrukcija odgovara CPU operaciji.
Ti citas AD preko SPI i zelis da ga prikazes na displeju. Tebi treba konverzija iz HEX ili binarnogu BCD. Za ovo je potrebno napisati program.
Druga bitna stvar je mnozenje rezultata sa 0,25. To ti takodje nije tako jednostavno. Bolje je da prvo uradis prikaz rezultata AD konverzije. Takodje, nemoj uopste da se zezas sa AD konverzijom, vec definisi promenljivu i u nju upisi neku vrednost koju zelis da prikazes.
U prilogu ti je program za ovo.
Ovo sto si napisao:
lds R16, (MAX6675/4%1000/100)
ne moze da se izvrsi. To bi znacilo da si u jednoj instrukciji izvrsio nekoliko deljenja, a to nije moguce. ASM je direktno povezan sa MCU-om, tj. svaka instrukcija odgovara CPU operaciji.
Ti citas AD preko SPI i zelis da ga prikazes na displeju. Tebi treba konverzija iz HEX ili binarnogu BCD. Za ovo je potrebno napisati program.
Druga bitna stvar je mnozenje rezultata sa 0,25. To ti takodje nije tako jednostavno. Bolje je da prvo uradis prikaz rezultata AD konverzije. Takodje, nemoj uopste da se zezas sa AD konverzijom, vec definisi promenljivu i u nju upisi neku vrednost koju zelis da prikazes.
U prilogu ti je program za ovo.