Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Wyświetlacz LED pod dwa rożne rejestry, BASCOM AVR

Pablo2015 13 Sie 2014 13:49 975 8
  • #1 13 Sie 2014 13:49
    Pablo2015
    Poziom 18  

    Witam,
    W literaturze spotkałem się podłączeniem wyświetlaczy LED pod jeden rejestr, np. PORTB i kod wyglądał tak:

    PORTB = LOOKUP (eedr, etykietka)
    ...
    etykietka:
    DATA 192, 249, 164, 176, 153, 146, 130, 248, 128, 144
    'DATA 1, 2, 3, 4, 5, 6, 7, 8, 9, 0

    A co jeśli piny a, b, c wyświetlacza mamy podłączone pod PD1, PD2, PD3 a piny d, e f, g, DP pod PB0. PB1, PB2, PB3, PB4?

    Jak w tedy można zrealizować obsługę wyświetlacza?

    0 8
  • #3 13 Sie 2014 18:13
    Pablo2015
    Poziom 18  

    Klika sposobów, czy mógłbyś przybliżyć jeden z nich?

    Czy sprawa jest warta zachodu jeśli mogę sobie zmienić schemat na taki, gdzie wszystkie piny wyświetlacza będą na jednym rejestrze?

    0
  • #4 13 Sie 2014 19:17
    Kuniarz
    Moderator Projektowanie

    Pablo2015 napisał:
    Czy sprawa jest warta zachodu jeśli mogę sobie zmienić schemat na taki, gdzie wszystkie piny wyświetlacza będą na jednym rejestrze?

    Zależy w czym czujesz się lepiej, czy wolisz zmienić software czy schemat.

    Sposób numer 1 (napisane w semijęzyku) dla lepszego zobrazowania

    - pobierasz wartość z pól DATA do zmiennej LED, powiedzmy że jest to 164
    - bitowo to 10100100
    - przypisujesz pierwsze 4 bity do portu D.0 - D3 robiąc to np. tak:
    portd.0=led.0
    portd.1=led.1
    portd.2=led.2
    portd.3=led.3

    - kolejne 4 bity rozpisujesz na kilku pinach portu B:
    portb.0=led.4
    portb.1=led.5
    portb.2=led.6
    portb.3=led.7

    Kumasz ? :)

    0
  • #5 13 Sie 2014 20:09
    Pablo2015
    Poziom 18  

    Jeśli mam wyświetlane 3 cyfry to muszę przypisać bity do portów przy każdym poleceniu Lookup (3 razy) ?

    0
  • #6 13 Sie 2014 20:12
    Kuniarz
    Moderator Projektowanie

    Tak, ale to jest wykonywane (najczęściej) w przerwaniu, więc ten fragment kodu jest niezmienny. Jedynie co przerwanie obsługiwany jest inny wyświetlacz, czyli wspólna A lub K jest wysterowana akurat tylko jedna.

    0
  • #7 13 Sie 2014 20:18
    Pablo2015
    Poziom 18  

    A gdyby przepisać bity zmiennej do portów na początku programu w konfiguracji procesora?

    0
  • #9 13 Sie 2014 20:37
    Pablo2015
    Poziom 18  

    Ok, to spróbuję i dam znać.

    0