„AVR feladatok” változatai közötti eltérés
Nincs szerkesztési összefoglaló |
Nincs szerkesztési összefoglaló |
||
| 17. sor: | 17. sor: | ||
<br/> | <br/> | ||
<code> | <code> | ||
.def temp = r16 | ; Bináris számok beolvasása | ||
.def temp = r16 | |||
.def led = r17 | |||
M_INIT: | |||
ldi temp, 0x00 | |||
sts DDRG, temp ; bemenetre állítjuk | |||
ldi temp, 0xff | |||
sts PORTG, temp ; felhúzzuk a kapcsolókat | |||
ldi temp, 0x00 | |||
out DDRE, temp ; bemenetre állítjuk | |||
ldi temp, 0xff | |||
out PORTE, temp ; felhúzzuk a gombokat | |||
ldi temp, 0xff | |||
out DDRC, temp ; kimenetre állítjuk | |||
ldi led, 0x00 | |||
out PORTC, led ; kikapcsoljuk a ledeket | |||
M_LOOP: | |||
in temp, PINE | |||
sbrs temp, 5 ; ha BT0 fel van engedve, akkor átugorja a következö utasítást | |||
call LOW4 | |||
sbrs temp, 6 ; BT1 | |||
call HIGH4 | |||
jmp M_LOOP | |||
LOW4: | |||
push temp | |||
lds temp, PING | |||
com temp | |||
bst temp, 3 ; SW3 értéke T-be | |||
bld led, 0; T-böl betölti led 0-as bitjébe | |||
bst temp, 4 ; SW2 | |||
bld led, 1; | |||
bst temp, 1 ; SW1 | |||
bld led, 2; | |||
bst temp, 0 ; SW0 | |||
bld led, 3 | |||
pop temp | |||
ret | |||
HIGH4: | |||
push temp | |||
com temp | |||
lds temp, PING | |||
bst temp, 3 ; SW3 értéke T-be | |||
bld led, 4; T-böl betölti led 0-as bitjébe | |||
bst temp, 4 ; SW2 | |||
bld led, 5; | |||
bst temp, 1 ; SW1 | |||
bld led, 6; | |||
bst temp, 0 ; SW0 | |||
bld led, 7 | |||
out PORTC, led | |||
pop temp | |||
ret | |||
</code> | </code> | ||
{{Infobox | {{Infobox | ||