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

Przykładowy program w C na ATmega32 do multipleksowania 4 wyświetlaczy 7-segmentowych

Dzonzi 22 Sty 2018 18:14 1284 12
REKLAMA
  • #1 16980247
    Dzonzi
    Poziom 12  
    Witam
    Czy mógłby ktoś mi podać przykładowy program, który wyświetli jakąś liczbę 4 cyfrową na 4 wyświetlaczach 7-segmentowych na atmega32 w języku C?
    Meczę się z tym okrutnie. Szukałem na necie, ale żadnego prostego nie mogę znaleźć, a chciałbym jedynie taki żeby wyświetlał jakaś liczbę, później już sobie poradzę.

    Mam 4 wyświetlacze pojedyncze, 7 segmentowe, połączone 8 przewodami do portów i dodatkowe 4 do multipleksowania, ale nie mam pomysłu jak to zrealizować.

    Pozdrawiam serdecznie
  • REKLAMA
  • #2 16980313
    HD-VIDEO
    Poziom 43  
    Jeszcze musisz napisać, typ wyświetlacza (Anoda/Katoda) i czy od strony anod/katod, są wzmacniacze prądowe tak jak w tym przykładzie.

    Np:
    Link
  • REKLAMA
  • #3 16980348
    Dzonzi
    Poziom 12  
    Tzn. jak masę się podłączy na te 4 piny to wtedy świeci wyświetlacz, czyli chyba katoda tak?

    Za skomplikowany ten program. Jakieś funkcje, pliki nagłówkowe, przerwania. Tego nawet nie mieliśmy.
  • #4 16980566
    tmf
    VIP Zasłużony dla elektroda
    Bo bez przerwań nie da się tego sensownie zrealizować. Musi być timer, generujący przerwania, w których sekwencyjnie są sterowane kolejne cyfry.
  • #5 16980755
    BlueDraco
    Specjalista - Mikrokontrolery
    Google wyłączyli i żaden z 10 tysięcy przykładów w sieci nie jest dostępny? Dość fatalną obsługę takiego wyświetlacza można znaleźć np. w publikacjach sekty Atnel.
  • REKLAMA
  • #6 16980874
    tos18
    Poziom 42  
    Dzonzi napisał:
    Mam 4 wyświetlacze pojedyncze, 7 segmentowe, połączone 8 przewodami do portów i dodatkowe 4 do multipleksowania


    Narysuj schemat połączeń z uwzględnieniem numerów portów to będzie łatwiej.
  • #7 16981205
    Dzonzi
    Poziom 12  
    To nie ma żadnego znaczenia, bo mogę je przełączać jak chce, do każdego z 4 portów.
  • Pomocny post
    #8 16981330
    excray
    Poziom 41  
    Przykładowy program który wyświetla jakąś liczbę:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #9 16981345
    Dzonzi
    Poziom 12  
    Te biblioteki wystarczą?

    #include <util/atomic.h>
    #include <avr/io.h>
    #include <util/delay.h>
  • REKLAMA
  • #10 16981349
    excray
    Poziom 41  
    Potrzebujesz jeszcze #include <avr/interrupt.h>
  • #11 16981855
    BlueDraco
    Specjalista - Mikrokontrolery
    Excray: dzięki za wzorcowy przykład niewłaściwego i niepotrzebnego użycia konstrukcji switch() oraz funkcji delay(). ;)
  • #12 16981863
    Dzonzi
    Poziom 12  
    Najważniejsze żeby to działało jako tako XD
  • #13 16981925
    excray
    Poziom 41  
    BlueDraco napisał:
    Excray: dzięki za wzorcowy przykład niewłaściwego i niepotrzebnego użycia konstrukcji switch() oraz funkcji delay(). ;)

    Byle jaki a i tak działa lepiej niż Twoja wersja.
REKLAMA