[Решено] Помогите оседлать MBI5031

Обсуждаем цифровые устройства...
Ответить
Аватара пользователя
Spider
Опытный кот
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск
Контактная информация:

[Решено] Помогите оседлать MBI5031

Сообщение 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 Чт авг 26, 2010 15:52:37, всего редактировалось 1 раз.
Реклама
Аватара пользователя
Spider
Опытный кот
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск
Контактная информация:

Re: Помогите оседлать MBI5031

Сообщение Spider »

Вот что получаю при эмуляции на ногах:
Изображение
А в реале диоды молчат :(
Реклама
Аватара пользователя
Spider
Опытный кот
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск
Контактная информация:

Re: Помогите оседлать MBI5031

Сообщение Spider »

Решено. Сам дурак. У меня Проц от 3.3, а эта микруха от 5ти, у микрухи лог. ед. 0.7 от VCC, что многова-то для 3.3
Перевесил питание микрухи на 3.3 и воля! Работает!
Шикарно играется яркостью!
Сейчас думаю о способе выдавать "быстро" ей данные..
Gorat
Родился
Сообщения: 1
Зарегистрирован: Пн янв 24, 2011 17:02:00

Re: [Решено] Помогите оседлать MBI5031

Сообщение Gorat »

тоесть хардварный SPI тут использовать не получится??? :(
Реклама
Эиком - электронные компоненты и радиодетали
Ответить

Вернуться в «Цифровая техника»