Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Atmega8/ Bascom - SAA1064 4 x 7 segment dynamicznie

maximus22_kr 23 Feb 2014 00:18 3276 7
IGE-XAO
  • #1
    maximus22_kr
    Level 18  
    Witam
    Uruchamiam układ Atmega8 + SAA1064 - cztery wyświetlacze LED w trybie dynamicznym

    Próbuje według kodu poniżej

    Code: basic4gl
    Log in, to see the code


    gdy zasilam z programatora LED nic nie wyświetla, gdy podłącze zewnętrzne zasilanie 8V przez 7805 to wtedy wyświetla "1289", ale bardzo słabo - trzeba przysłonić ręką wyświetlacz, żeby coś zobaczyć.
    Jeśli wysyłam kontrolny bajt &HF7 , czyli
    Code: basic4gl
    Log in, to see the code

    to wtedy zapalają się jasno tylko wszystkie cztery kropki

    Wyświetlacz jest koloru zielonego - dwie LEDy na segment. Po podłączeniu przez rezystor 330R segmenty ładnie świecą - sprawdzałem, bo myślałem, że może 5V które jest w zasilaniu nie starcza.

    Schemat poniżej
    Atmega8/ Bascom - SAA1064 4 x 7 segment dynamicznie
  • IGE-XAO
  • #2
    User removed account
    Level 1  
  • IGE-XAO
  • #3
    maximus22_kr
    Level 18  
    Dziękuję za odpowiedź.
    W sumie u mnie najprościej będzie podnieść napięcie zasilające. Wystarczy napięcie zasilania tranzystorów przepiąć z wyjścia stabilizatora na wejście - zasilanie układu może chyba zostać na na poziomie 5V, co prawda według PDF Vcc układu może być do 15V.

    Zgadza się - kropki mają po jednej diodzie. Ale jak podniosę napięcie zasilania to czy "kropki" przeżyją ?

    Pozdrawiam
  • #4
    User removed account
    Level 1  
  • #5
    maximus22_kr
    Level 18  
    jeśli zasilę układ SAA1064 z wyższego napięcia, o czy nie spowoduje to uszkodzenia Atmega ? w sumie są połączone przez SDA i SCL, a te linie są podpięte do VCC Atmega

    wystarczyło podnieść napięcie zasilania SAA1064 i tranzystorów z 5 V, niestety nie zauważam zmian w jasności świecenia, gdy zmieniam konfiguracje w podprogramie Saa1064_init.
  • #6
    maximus22_kr
    Level 18  
    Czy Kolega będzie może wiedział co jest nie tak od strony programistycznej ?

    Tzn. jeśli wyświetlam stałe wartości to jest ok, podobnie jak wyświetlam w pętli For... Next od 1 do 59.

    Dodałem jeszcze obsługę LCD, żeby widzieć, co się dzieje z czasem.

    Ale jak podepnę do tego PCF8563 i odczytuje czas z niego, a dopiero później wysyłam do SAA1064 to jest tak:
    - chwilowa zmiana jasności ( mocniej zaświeci ) podczas aktualizacji LED
    - przestaje wyświetlać ( np 23:59, a następnie nie idzie dalej )
    - potrafi zablokować ( lub zmienić ) czas w PCF, rano LED pokazywał 03:31, a LCD jeszcze inne wartości

    Używam PCF8563 od kilku lat, zawsze z sukcesem, a tutaj coś razem nie gra

    Code: basic4gl
    Log in, to see the code
  • #7
    Mundi1970
    Level 24  
    Atmega 8 posiada sprzętowy interfejs TWI(I2C), więc go może wykorzystaj.

    Code: basic4gl
    Log in, to see the code


    I2START, I2CREPSTART, I2CRBYTE i I2CWBYTE zwracają błąd, zapisywany jest zmiennej Err (0-ok, 1-błąd). Nigdzie w programie zmiennej Err nie sprawdzasz.
    Jeżeli nie chcesz po każdym wysłanym bajcie sprawdzać zmiennej Err można to zrobić tak, zamiast:

    Code: basic4gl
    Log in, to see the code


    wykorzystaj I2csend:

    Code: basic4gl
    Log in, to see the code
  • #8
    maximus22_kr
    Level 18  
    Ciekawy sposób obsługi I2C.

    Na razie wygląda, że działa. Co prawda w momencie zmiany zawartości wyświetlacza jest krótkie zwiększenie jasności, ale co tam.

    Natomiast nie wyświetla 00 - włączyłem go o 00:30 i pierwsze dwa wyświetlacze nic nie wyświetlają - świecą tylko te dwa ostatnie od minut. Poprzednio też był z tym problem, zatrzymywał wyświetlanie na 23:59.

    No i wyświetlacz LED i LCD jakoś się nie lubią - w momencie zmiany zawartości LED, LCD czasem się odświeża cały ( jest krótkie mignięcie wszystkich wyświetlanych pozycji ), nawet raz zatrzymał się na kilka sekund i wtedy LED świecił mocniej, aż do momentu, gdy ruszy LCD, wtedy LED przygasa.