„AVR feladatok” változatai közötti eltérés
Nincs szerkesztési összefoglaló |
Nincs szerkesztési összefoglaló |
||
| 5. sor: | 5. sor: | ||
| keretszín = black | | keretszín = black | ||
| tartalom = | | tartalom = | ||
Írjon egy programot az AVR Experiment kártyára, amely 8 bites bináris számot olvas be a kapcsolósorról, két részletben. A kapcsolókon (SW0 -SW3) beállított értéket jobbról balra növekvő súlyozású 4 bites bináris számként kell kezelni. A 8 bites szám alsó (alacsonyabb súlyozású) része a BT0 nyomógombbal, a felső része a BT1 nyomógombbal vihető be. A BT1 gomb megnyomása után a bevitt 8 bites szám értéket jelezze ki a LED soron! | |||
{{Infobox-táblázat| | {{Infobox-táblázat| | ||
{{Infobox-táblázatsor|A kód nyelve|Assembly}} | {{Infobox-táblázatsor|A kód nyelve|Assembly}} | ||
{{Infobox-táblázatsor|Fejlesztőeszköz|Atmel® AVR® ATmega128}} | {{Infobox-táblázatsor|Fejlesztőeszköz|Atmel® AVR® ATmega128}} | ||
| 89. sor: | 89. sor: | ||
<code> | <code> | ||
.def temp = r16 | ; Gombnyomás számlálás | ||
.def temp = r16 | |||
.def cnt = r17 | |||
jmp INT4_IT ; INT4 Handler (INT gomb) | |||
M_INIT: | |||
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 cnt, 0x00 | |||
out PORTC, cnt ; kikapcsoljuk a ledeket | |||
ldi temp, 0x02 ; INT gomb, lefutóél-érzékeny | |||
out EICRB, temp | |||
ldi temp, 0x10 ; 4-es IT-vonal engedélyezése | |||
out EIMSK, temp | |||
sei ; globális IT engedélyezve | |||
M_LOOP: | |||
in temp, PINE | |||
sbrs temp, 5 ; ha BT0 fel van engedve, akkor átugorja a következö utasítást | |||
call DEL_CNT | |||
jmp M_LOOP | |||
DEL_CNT: | |||
ldi cnt, 0x00 | |||
call LED | |||
ret | |||
LED: | |||
out PORTC, cnt | |||
ret | |||
INT4_IT: | |||
push temp | |||
in temp, SREG | |||
push temp | |||
cpi cnt, 0x0F | |||
breq IT_END | |||
inc cnt | |||
call LED | |||
IT_END: | |||
pop temp ; | |||
out SREG, temp | |||
pop temp | |||
reti | |||
</code> | </code> | ||