Assembler - wyświetlanie liczb na LCD.

0

Witam.
Mam pytanie odnośnie wyświetlania liczb na 7-segmentowym wyświetlaczu LCD na msp430.
Jak to zrobić gdy mam liczby dwu, trzy lub czterocyfrową? W jaki sposób podzielić taką liczbę na części jedności, dziesiętne, setki itp?

0

Algorytm jest prosty.
Musisz mieć odwzorowanie cyfr 0-9 w tablicy na kodowanie na wyświetlaczu. Oznacza to, że każda reprezentacja cyfry powinna mieć swój kod na wyświetlaczu.

Następnie postępujesz tak:
Inicjacja:
liczba w var, licznik na 0 (licznik włącza określoną cyfrę na wyświetlaczu)

  1. dzielisz var przez 10
  2. resztę z dzielenia konwertujesz na kod z tablicy, a podzieloną liczbę zapisujesz w var
  3. Wyświetlasz kod na wyświetlaczu
  4. opóźnienie, aby cyfra była widoczna
  5. Sprawdzasz czy var == 0 jeśli tak to skaczesz do inicjacja
  6. zwiększasz licznik (aby wyświetlić kolejną liczbę)
    7 . skaczesz do 1
0

Zrobiłem trochę inaczej. Zamieniłem kod BIN na BCD. Pojawia się tu inny problem. Jeśli w kodzie BCD mam liczbe 3154 to w jaki sposób wyciągnąć po 4 bity na których zapisana jest każda z tych liczb?

0

Ok, po co Ci ten kod BCD?
Ogólnie to można zrobić to za pomocą przesunięć bitowych i masek, które zerują odpowiednie bity (logiczne and).
Jeśli potrzebujesz kodu BCD w tym rozwiązaniu to wyjaśnij dlaczego.
Najlepiej opisz jak sprawy się mają od strony elektronicznej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1