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

Jak sterować tablicą LED 16x16x9 z uszkodzonym procesorem 89c51?

Pawel_max 06 Wrz 2013 22:50 3831 4
REKLAMA
  • #1 12709270
    Pawel_max
    Poziom 11  
    Posty: 53
    Ocena: 3
    Witam,przypadkiem trafiła mi się tablica led 9 paneli 16x16 led ,niestety uszkodzony jest procesor sterujący 89c51. Odtworzyłem schemat jednego z paneli,wszystkie są takie same ,jedyna różnica to konfiguracja adresu,w pierwszym z nich wszystkie wejścia Q 74688 są na masie,w każdym następnym na jeden z 8 pinów Q podawane jest 5v. Niestety nie mogę trafić na jakikolwiek opis czy wskazówki dotyczące sterowania w takim układzie z zatrzaskami 574 zarówno w linii wierszy jak i kolumn.
    Widać dla nich również osobne linie zegara (kierunek?).
    Generalnie chciałbym się dowiedzieć w jaki sposób można doprowadzić aby określony piksel (dioda) zapaliła się.
    Z tego co już wiem można sterować diodami z multipleksowaniem lub bez,pytanie który sposób lepszy.Być może ktoś spotkał się z podobnym układem sterowania i mógłby pomóc.Nie ukrywam że bawiłem się w Bascomie dlatego będę pisał raczej w tym języku.

    Schemat jednego z paneli led .

    Jak sterować tablicą LED 16x16x9 z uszkodzonym procesorem 89c51?

    Będę wdzięczny za jakąkolwiek pomoc.
  • REKLAMA
  • #2 12709414
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 735
    Witam,
    Po pierwsze przejrzyj sobie noty katalogowe wszystkich układów scalonych - to wiele Ci wyjaśni.
    Po drugie w tym połączeniu można diodami sterować TYLKO stosując multipleksowanie - to druga rzecz do poczytania (co to jest multipleksowanie)
  • REKLAMA
  • #3 12724905
    Pawel_max
    Poziom 11  
    Posty: 53
    Ocena: 3
    Ok,zrobiłem nowy sterownik z ATMEGA32,mogę wyłączać albo włączać poszczególne kolumny lub wiersze ale jakoś nie mogę pojąć jak tym sensownie sterować,z taką konstrukcją nie spotkałem się w sieci.W sumie wszystko leci przez 2 porty ośmiobitowe zarówno kolumn jak i wierszy,sterowanie odbywa się włączeniem linii CLK raz dla wierszy a raz dla kolumn.Dla ułatwienia ćwiczę na jednym panelu 16x16 z adresem 0,kwestię adresowania już przerobiłem więc nie będę miał z tym problemów.

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Zapalając kolejne bity odpowiednie kolumny gasną.
    Np. , kolumny:
    Portc = &B10000000 -gaśnie 1 kolumna
    Porta = &B10000000 -gaśnie 9 kolumna
    wiersze:
    Portc = &B10000000 -gaśnie 1 wiersz
    Porta = &B10000000 -gaśnie 9 wiersz

    Wiem że przy multipleksowaniu timer jest lepszym rozwiązaniem niż pętla ale na razie chciałbym to jakoś ogarnąć i tu właśnie mam problem.W jaki sposób wyświetlić litery czy zdefiniowane znaki.
    Coś mi "dzwoni" ale za bardzo nie wiem gdzie :D
    Pozdrawiam.
  • REKLAMA
  • Pomocny post
    #4 12724968
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 735
    Musisz szybko przemiatać całą tablicę tak, aby w jednej chwili w danej linii paliły się tylko diody potrzebne do wyświetlenia jakiegoś znaku/obrazka.
    Zacznij najpierw od w pełni niezależnego zapalania dowolnych diodek na tablicy.
  • #5 12727458
    Pawel_max
    Poziom 11  
    Posty: 53
    Ocena: 3
    Multipleksowanie zrobione ,miałem problem z wyświetlaniem wiersza bo zawsze zapalał się nie ten co potrzeba tylko o jeden do przodu.Okazało się że najpierw trzeba wpisać informację o położeniu wiersza a dopiero później włączyć zegar.Mogę teraz zapalić określoną diodę na tablicy ,ale jest inny problem który przeczuwałem że się pojawi.O ile na jednym panelu diody świecą w miarę jasno to po zaadresowaniu wszystkich czyli wykonaniu multipleksowania po kolei na każdym z nich diody świecą już bardzo słabo co spowodowane jest dłuższym czasem ich kolejnego wyłączenia .Coś robię źle ale nie bardzo wiem co.Wyjściem z sytuacji byłoby pozostawienie zaświeconego panela podczas multipleksowania kolejnych albo wpisywanie równocześnie wszystkich 144 kolumn ale w tej konstrukcji chyba nie da rady...Program Wygląda na razie tak:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Dla podanego kodu wyświetla się ukośna linia (/) na każdym z 9 paneli zapalana od lewego dolnego rogu ,niestety diody świecą bardzo słabo co nie występuje w przypadku wyświetlania tylko na jednej tablicy 16x16 (po ominięciu adresowania).
    Informacje na porcie A i C ,linia Clk oraz linia włączenia clk dla wierszy są takie same dla każdej tablicy,różnica jest tylko w linii clk kolumn którą można włączyć po wybraniu adresu danego panelu 16x16.Teoretycznie można pociąć ścieżki na panelach i dodać zasilacz ,podający na emitery wierszy np.12v wtedy powinno być lepiej ale skoro kiedyś to świeciło przy zasilaniu 5v to znaczy że program nie pracuje tak jak powinien.
    Dodatkowo występuje delikatne świecenie kolejnej diody po włączonej właściwej ,ale świecą one na tyle słabo że można to pominąć.
REKLAMA