logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Multipleksowanie efekt poswiaty

qudi 06 Paź 2010 19:51 915 3
REKLAMA
  • #1 8590798
    qudi
    Poziom 15  
    Witam !
    Przy obsłudze wyświetlacza 7-segmentowego LED zauważyłem, że występuje na nim coś w stylu lekkiego przechodzenia jednego segmentu na drugi i nie moge sobie z tym poradzić, jak to usunąć ? Kod wyswietlania jest następujący:

     switch (numer)
        {
            case 0:
    		PORTD = (1<<2);
                PORTB = ~wysw_cyfre(setki);
    			PORTD = 0b11111110;
    			numer++;
            break;
    
            case 1:
    		PORTD = (1<<0);
                PORTB = ~wysw_cyfre(dziesiatki);
    			PORTD = 0b11111101;
    			numer++;
            break;
    		case 2:
    		PORTD = (1<<1);
                PORTB = ~wysw_cyfre(jednosci);
    			PORTD = 0b11111011;
    			numer=0;
            break;
        }
    }

    Proszę o pomoc
  • REKLAMA
  • #2 8591048
    dawid512
    Poziom 32  
    Czy to co wkleiłeś jest w przerwaniu, czy stosujesz opóźnienia typu delay_ms itd?
  • REKLAMA
  • #3 8591093
    Jaca
    Poziom 31  
    Powinieneś:

    1. Wygasić wszystkie segmenty
    2. Ustawić nową wartość segmentu do wyświetlenia
    3. Zapalić odpowiedni segment

    ...i po kłopocie :)
  • #4 8591637
    qudi
    Poziom 15  
    dzięki Jaca ;]
REKLAMA