Witam
Napisałem program zegarka na ATiny2313, wyświetlacze sterowane są pokolei. Wyświetlacze mają wspólną anodę a katodami podpięte są do portu B, natomiast anody kolejnych wyswietlaczy przez tranzystory do kolejnych pinów portu D. (tak jak na schemacie). Wszytko działa poprawnie ale kiedy na ostatnim (6) wyświetlaczu pojawi się cyfra 1 lub 7 to wszystkie wyświetlacze świecą jaśniej - zupełnie nie wiem czemu. Jest to denerwujące ponieważ co kilka sekund widać jak zegarek świeci jaśniej a potem znowu ciemno. Fragment programu poniżej. Proszę o pomoc w rozwiązaniu problemu.
Napisałem program zegarka na ATiny2313, wyświetlacze sterowane są pokolei. Wyświetlacze mają wspólną anodę a katodami podpięte są do portu B, natomiast anody kolejnych wyswietlaczy przez tranzystory do kolejnych pinów portu D. (tak jak na schemacie). Wszytko działa poprawnie ale kiedy na ostatnim (6) wyświetlaczu pojawi się cyfra 1 lub 7 to wszystkie wyświetlacze świecą jaśniej - zupełnie nie wiem czemu. Jest to denerwujące ponieważ co kilka sekund widać jak zegarek świeci jaśniej a potem znowu ciemno. Fragment programu poniżej. Proszę o pomoc w rozwiązaniu problemu.
petla:
ldi acc, 0x00
out PORTD, acc
mov stan, acc
sec
rol stan ;wyswietl dziesiatki godzin
add adr, hour_h
mov r26, adr
ld acc, x
out PORTD, stan
out PORTB, acc
ldi adr, 0x60
rol stan ;wyswietl godziny
add adr, hour_l
mov r26, adr
ld acc, X
out PORTD, stan
out PORTB, acc
ldi adr, 0x60
rol stan ;wyswietl dziesiątki minut
add adr, min_h
mov r26, adr
ld acc, X
out PORTD, stan
out PORTB, acc
ldi adr, 0x60
rol stan
add adr, min_l ;wyswietl minuty
mov r26, adr
ld acc, X
out PORTD, stan
out PORTB, acc
ldi adr, 0x60
rol stan ;wyswietl sekundy
add adr, sec_h
mov r26, adr
ld acc, X
out PORTD, stan
out PORTB, acc
ldi adr, 0x60
rol stan
add adr, sec_l
mov r26, adr
ld acc, X
out PORTD, stan
out PORTB, acc
ldi adr, 0x60
rjmp petla