eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaSAA1064 , ATMEGA88
Ilość wypowiedzi w tym wątku: 3

  • 1. Data: 2010-01-27 23:40:00
    Temat: SAA1064 , ATMEGA88
    Od: "Michał Przybył" <m...@p...onet.pl>

    Witam
    Złożyłem sobie sterownik wyświetlacza 7 segmentowego LED na układzie I2C -
    SAA 1064.
    Są 4 cyfry w układzie multiplex (2x2)... podłączone do ATMEGA 88 przez i2c.
    podciągnięte do +5V przez rezystory 10k. program w Bascom (tymczasowo).
    Układ ma zewnętrznie podpięty kondensator 2,7nF co powinno zapewniać
    działanie generatora wewnątrz - i multipleksowanie, a bit kontrolny
    oczywiście ustawiony - dynamiczne wyświetlanie

    Sterownik LED działa, ale nie do końca... to znaczy programuje się go ok,
    ale wyświetla cyfry tylko 1 i ostatnią jako powtórzone 2 razy czyli
    jak "daje" na wyświetlaczu zapalam segmenty ABCD, wyświetlają mi sie ACAC

    Czy ktoś z szanownych spotkał się z takim symptomem?
    Nie wygląda mi to na wadę programu, raczej scalak uległ uszkodzeniu, czy się
    mylę?

    oto fragment programu:

    $regfile = "m88def.dat"
    $crystal = 11059200

    Disable Interrupts
    Disable Wdt
    Disable Adcc

    Config I2cdelay = 13
    'inicjalizacja
    I2cstart
    I2cwbyte 112 '0x70 - adres saa
    I2cwbyte 0 ' wyb. rej.kontr
    I2cwbyte &B01110111 ' ustawienia...
    I2cstop

    'zapal kolejne segmenty 1234 na wyświetlaczach
    I2cstart
    I2cwbyte 112
    I2cwbyte 1
    I2cwbyte 1
    I2cstop

    I2cstart
    I2cwbyte 112
    I2cwbyte 2
    I2cwbyte 2
    I2cstop
    Waitms 500

    I2cstart
    I2cwbyte 112
    I2cwbyte 3
    I2cwbyte 4
    I2cstop

    I2cstart
    I2cwbyte 112
    I2cwbyte 4
    I2cwbyte 8
    I2cstop
    do
    loop
    end

    jakie sugestie proponujecie?

    Pozdrawiam
    Michał




  • 2. Data: 2010-01-28 08:55:50
    Temat: Re: SAA1064 , ATMEGA88
    Od: "Lechu" <l...@p...fm>

    Witam,

    tak na szybko. Program w C na 8051

    Start ();
    WriteI2C (0x70);
    WriteI2C (0x00);
    WriteI2C (0x57);
    WriteI2C (led_on[string[0]]);
    WriteI2C (led_on[string[1]]);
    WriteI2C (led_on[string[2]]);
    WriteI2C (led_on[string[3]]);
    Stop ();

    4 do 7 bajtu to dane na wyświetlacze. Taka sekwencja dziala bez zarzutu.

    Pozdr.
    Lechu



  • 3. Data: 2010-01-28 14:35:59
    Temat: Re: SAA1064 , ATMEGA88
    Od: "Michał Przybył" <m...@p...onet.pl>

    Dziękuję.

    Okazało się, że niestety płytkę zrobiłem wg złego schematu (gdzieś z
    internetu), przeprojektowałem - i działa znakomicie...
    Dziękuję za próbę pomocy.

    Michał


strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: