Assembler - wyświetlanie liczb na LCD.

Assembler - wyświetlanie liczb na LCD.
Raziel295
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 38
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?

MU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
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
Raziel295
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 38
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?

MU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.