- Dział: arts -
elektronika/wyswietlacz_segmentowy_4_asm
Cztery wyświetlacze segmentowe po 8 znaków w Asemblerze z attiny3113
rozbijanie liczby na czesci
Aby wyświeetlić liczbę z przedziału od 0 do 255. Potrzeba ją rozbic na 3 częsci. Na setki dziesiątki i jednosci, zmiesci się to na 3 ekranach.
Algorytm własny
0. wczytaj liczbe a, s=0,d=0,j=0
1. jezeli a >= 100 to: a = a-100, s = s+1, skocz do kroku 1
2. jezeli a >= 10 to: a = a-10, d = d+1, skocz do kroku 2
3. j=a
to samo w asemblerze dla mikrokontrolerów firmy ATMEL:
rozbij:
push liczba
clr setki
clr dzies
clr jedno
rozbij_setki_ret:
CPI liczba,100
BRSH rozbij_setki
rozbij_dziesiatki_ret:
CPI liczba,10
BRSH rozbij_dziesiatki
mov jedno,liczba
pop liczba
ret
;procedura pomocnicza
rozbij_setki:
subi liczba,100
inc setki
rjmp rozbij_setki_ret;
;procedura pomocnicza
rozbij_dziesiatki:
subi liczba,10
inc dzies
rjmp rozbij_dziesiatki_ret;