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

[Attiny26] Jak wyeliminować niechciane cyfry w lampach nixie z Attiny26 i 74141?

pier 19 Lut 2012 10:20 1643 10
REKLAMA
  • #1 10566181
    pier
    Poziom 24  
    Witam.
    Koledzy mam problem ze sterowaniem lampami nixie za pomocą 74141 i attiny26.

    Lampy są multipleksowane a problemem są zapalające się niepotrzebnie cyfry.
    Wszystko niby działa dobrze ale cały czas wsadzają się nieproszone cyfry.
    Podejrzewam że problemem jest to że 74141 i transoptory załączające anody podłączone są do jednego portu procesora. Nigdy tak nie podłączałem tego i nie potrafię sobie poradzić z programem. 74141 podłączony jest do pinów 0-3 portu A a do reszty portu A transoptory załączające anody.

    Poniżej kawałek programu odpowiedzialnego za wyświetlanie.

    Kod: text
    Zaloguj się, aby zobaczyć kod


    W przerwaniu od timera na port A wrzucana jest liczba dla 74141 a później ten sam port zapala odpowiednią lampę. Pewnie tu jest coś nie tak ale ja nie potrafię tego rozgryźć.
    Proszę o pomoc.
  • REKLAMA
  • #2 10566790
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #3 10567775
    pier
    Poziom 24  
    Nie pomogło.

    Zastanawia mnie jeszcze fakt że tymi niechcianymi cyframi jest zawsze zero i pięć.
    Piątki wyświetlają się na pozycjach jedności godzin i minut a zera na pozycjach dziesiątek.

    Problem jest na pewno po stronie programu bo jak pisałem program testowy który wyświetlał wszystkie cyfry po kolei to było ok. Tylko że wtedy wyświetlacz nie był multipleksowany.

    Jakieś pomysły?
  • #4 10568169
    Konto nie istnieje
    Konto nie istnieje  
  • #5 10571491
    pier
    Poziom 24  
    A więc tak.
    Jeśli w programie na sztywno ustawię minuty i godziny i wyrzucę wszystko inne to wyświetlanie jest ok.

    Ale jeśli dodam odczyt czasu z DS3231 to wkradają się te niepotrzebne cyfry.
    Ale znów jeśli w pętli do loop dam odczyt DS-a dwa razy a pomiędzy nimi waitms 500 to jest prawie dobrze. Prawie bo lampy potrafią co jakiś czas szybko mignąć. Pewnie nadal te cyfry się chcą wcisnąć.
    Podejrzewam teraz że mam coś pokopane w procedurze odczytu zapisu DS3231.
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #6 10571599
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #7 10571802
    pier
    Poziom 24  
    Oj coś Kolega teraz namotał.
    Myślałem że mam tylko drobnego babola w tych procedurach. Używam takich procedur w innym urządzeniu i działają perfekcyjnie tylko że tam odczytuje zapisuje czas z pełną datą. Zresztą procedury pobrałem z elektrody z projektu który też działa na takich procedurach. Myślę że coś źle przerobiłem program aby nie pobierał daty i dlatego jest nie tak.
  • #8 10571944
    Konto nie istnieje
    Konto nie istnieje  
  • #9 10572157
    pier
    Poziom 24  
    Zapomniałem Koledze dodać że w petli do loop rozbijam godziny i minuty na pojedyncze cyfry za pomocą dzielenia przez dziesięć i funkcji mod. Także obaj mamy rację co do procedur odczytu zapisu DS-a. Wieczorem zamieszcze cały kod może Kolega by jeszcze raz spojrzał.
  • #10 10572188
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #11 10592881
    pier
    Poziom 24  
    Znalazłem przyczynę mojego problemu.
    Program i wszystko inne jest w porządku. Problemem było miejsce programowania układu. Tak miejsce. A mianowicie podczas testów i programowania stawiałem zegar na metalowej ramie obudowy komputera (zewnętrzna obudowa jest zdjęta) i to powodowało straszne zakłócenia.
    Gapnąłem się bo od samego początku zegar nie chciał działać z podpiętym programatorem, były także problemy z zapisem do RTC a także błędy podczas programowania. Po zdjęciu zegara z kompa jak ręką odjął wszystkie bóle :D
REKLAMA