Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите обуздать MBI5031
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Цифровые схемы, высокоскоростные ЦС
Spider
Всем привет!

Вот понадобилось светить диоды при помощи MBI5031.
Микруха позиционируется как Последовательный регистр сдвига на 16 бит с контролем яркости на 16 бит.
Как я понял чтобы загрузить значения портов нужно 16 раз загрузить 16ти битное число последовательно через шину CLK и SDI с условием что после первых 15 пачек по 16 бит выставлять LE на 1 последний бит и 16ую пачку завершить 3мя битами LE.
Частота мерцания LED выставляется шимом на ножку GCLK. Максимальный ток выставляется резистором на ногу R-EXT, там у меня 460 Ом.
Так?
Диоды подключил анодом к +5 ну а катодом к микрухе.

Никак не могу их зажечь... Вот эксперементальный код 16MHz:
Код

int main(void) {
    TCCR1A = _BV(COM1B0);  //Togle OC1B on compare match
    TCCR1B = _BV(WGM12) | _BV(CS11);  //div=8, CTC mode

    OCR1B = 0x07d0; //1 kHz -> GCLK

    PORTB = 0x00;
    DDRB = 0b11010111;  // XXX GCLK XXX XXX SDO SDI DCLK LE

    PORTB |= _BV(PB2); // SDI

    sei();

    for (uint8_t j=0;j<16;j++) {
        for (uint8_t i=0;i<16;i++) {
            if (((i==15) && (j<15)) || ((i==13) && (j>14))) {
                PORTB |= _BV(PB0);  // LE -> 1
            }
            PORTB &= ~_BV(PB1);  // DCLK -> 0
            _delay_us(50);    
            PORTB |= _BV(PB1);  // DCLK -> 1
            _delay_us(50);
            if (i==15) {
                PORTB &= ~_BV(PB0); // LE -> 0
            }
        }
        PORTB &= ~_BV(PB1); // DCLK -> 0
        _delay_us(50);  // Пауза между каждым выводом
    }    
    while (1) {
    }
}


Что я не так делаю?
Spider
Вот что получаю при эмуляции на ногах:

А в реале диоды молчат sad.gif
Spider
Решено. Сам дурак. У меня Проц от 3.3, а эта микруха от 5ти, у микрухи лог. ед. 0.7 от VCC, что многова-то для 3.3
Перевесил питание микрухи на 3.3 и воля! Работает!
Шикарно играется яркостью!
Сейчас думаю о способе выдавать "быстро" ей данные..
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.