MAX7219 --- не работает
MAX7219 --- не работает
Привет всем.
Помогите пожалуйста решить следующую проблему.
Вот уже третий день пытаюсь завести MAX7219, но стабильно ничего не получается. В Протеусе все работает, а в железяках ни фига. Схема и программа во вложении. Программа написана на микропаскале.
Я купил четыре MAX7219. Замена одну на другую эффекта не дает. Может быть подсунули бракованные - я их купил на OLX по цене 25грн за штуку. Можно ли проверить работоспособность MAX7219 без МК???
Подскажите пожалуйста.
Помогите пожалуйста решить следующую проблему.
Вот уже третий день пытаюсь завести MAX7219, но стабильно ничего не получается. В Протеусе все работает, а в железяках ни фига. Схема и программа во вложении. Программа написана на микропаскале.
Я купил четыре MAX7219. Замена одну на другую эффекта не дает. Может быть подсунули бракованные - я их купил на OLX по цене 25грн за штуку. Можно ли проверить работоспособность MAX7219 без МК???
Подскажите пожалуйста.
- Вложения
-
- AT Mega16 + MAX7219_program.txt
- (681 байт) 417 скачиваний
-
- AT Mega16 + MAX7219_proteus.pdf
- (16.72 КБ) 278 скачиваний
-
- AT Mega16 + MAX7219.pdf
- (47.04 КБ) 296 скачиваний
Re: MAX7219 --- не работает
Без МК не проверить.
Разве что набросать тест-программу "от фонаря" - но у меня такой пакости (MAX7219) в наличии нету, а делать "просто прикидку"...
Разве что набросать тест-программу "от фонаря" - но у меня такой пакости (MAX7219) в наличии нету, а делать "просто прикидку"...

Re: MAX7219 --- не работает
Помню, долго бился с этой микрухой. У вас неправильный порядок инициализации. Сначала надо вывести микросхему из сна.
Код: Выделить всё
// Init display
SPI_transmit(0x0F, 0x00); // Тест дисплея выключен
SPI_transmit(0x0C, 0x01); // Выйти из сна
SPI_transmit(0x0B, 0x07); // 8 символов
SPI_transmit(0x09, 0xFF); // Дешифраторы включены
SPI_transmit(0x0A, 0x0F); // Максимальная яркость
MAX7219_show("--------");
- levaclaus
- Потрогал лапой паяльник
- Сообщения: 302
- Зарегистрирован: Пн янв 07, 2008 16:56:28
- Откуда: Минск
Re: MAX7219 --- не работает
Мой max7221 работает с этим кодом. cvavr
Код: Выделить всё
//CS 3 // Выбор ведомого
//MOSI 4 // Передатчик ведущего, приемник ведомого
//SCK 0 // Тактовый сигнал
void spi(unsigned char data_h,unsigned char data_l) {
unsigned char f;
PORTB.0=0; // SCK = 0
PORTB.3=0; // CS = 0
for(f = 0; f<8; f++) {
if (data_h&(1<<7)) {
PORTB.4=1; // MOSI = 1
}
else { PORTB.4=0; // MOSI = 0
};
PORTB.0=1; // SCK = 1
data_h = (data_h << 1);
PORTB.0=0; // SCK = 0
}
for(f = 0; f<8; f++) {
if (data_l&(1<<7)) {
PORTB.4=1; // MOSI = 1
}
else { PORTB.4=0; // MOSI = 0
};
PORTB.0=1; // SCK = 1
data_l = (data_l << 1);
PORTB.0=0; // SCK = 0
}
PORTB.3=1; // CS = 1
}
***
spi(9,0b00001111); //дешифраторы включены первые 4 мест
spi(10,15); //яркость //максимальная
spi(11,6); //разряды 6 символов
spi(15,0); //Тест дисплея выключен
spi(12,1); //Выйти из сна // если успешно долны зажечься точки
// spi(1,1); // зажечь цифру 1 в первом месте
// spi(2,2); // зажечь цифру 2 во втором месте
// spi(3,(128+0)); // зажечь цифру 0 и точку в третьем месте
// spi(4,8); // зажечь цифру
// spi(5,99); // зажечь сегменты
// spi(6,13); // зажечь сегменты
Re: MAX7219 --- не работает
А точнее какая проблема, можете расписать?
1) Начиная с банального, как тут уже упоминали, может на вход Load (ChipSelect) приходить лог. единица и тогда микросхема будет спать.
2) Резистор, определяющий пиковый ток на сегмент, на первой схеме как будто 200 Ом. На второй же рекомендованные 9.53кОм. Проверьте, а то можно сжечь дисплей.
3) На входе по питанию поставьте алюм. электролит этак 47мкФ 16В. У меня были сбои, когда кондера не было. Впрочем, оговорюсь, помимо него был только один другой электролит по ту сторону от платки с MAX7219 и дисплеем.
1) Начиная с банального, как тут уже упоминали, может на вход Load (ChipSelect) приходить лог. единица и тогда микросхема будет спать.
2) Резистор, определяющий пиковый ток на сегмент, на первой схеме как будто 200 Ом. На второй же рекомендованные 9.53кОм. Проверьте, а то можно сжечь дисплей.
3) На входе по питанию поставьте алюм. электролит этак 47мкФ 16В. У меня были сбои, когда кондера не было. Впрочем, оговорюсь, помимо него был только один другой электролит по ту сторону от платки с MAX7219 и дисплеем.
- bafomet911
- Открыл глаза
- Сообщения: 76
- Зарегистрирован: Чт янв 31, 2019 18:49:04
- Откуда: Воронежская область
Re: MAX7219 --- не работает
Блин... А как это у вас PORTB.0? Непонятен именно момент .0
Добавлено after 1 minute 40 seconds:
Aaa ... Все.. это же кодевижн.. понял
Добавлено after 1 minute 40 seconds:
Aaa ... Все.. это же кодевижн.. понял
- Vovan555
- Мучитель микросхем
- Сообщения: 428
- Зарегистрирован: Вс мар 12, 2006 14:53:26
- Откуда: Вологда
Re: MAX7219 --- не работает
Кстати.. При работе с MAX7219-7221( и не только с ними) следует паузу выдерживать для стабилизации напряжения питания.
Столкнулся с такой оказией. МК PIC. Выдержка была(PWRT), но маловато. Добавил ёмкость и по питанию и... Всё. Индикаторы не горят, хоть лопни. Пришлось в п/п инициализации контроллера вводить программную задержку.
Столкнулся с такой оказией. МК PIC. Выдержка была(PWRT), но маловато. Добавил ёмкость и по питанию и... Всё. Индикаторы не горят, хоть лопни. Пришлось в п/п инициализации контроллера вводить программную задержку.
Re: MAX7219 --- не работает
Vovan555
В случае с ПИКами при больших номиналах емкостей(470uF и более) на линии питания иная проблема -
медленное наростание/спад напряжения при критичных перепадах.
Надо и собаку и BOD активировать и контроль типа сброса.
Это "обратная сторона" их мизерного энергопотребления.
Возможно подобные неприятности и для других микропотребляющих МК/СБИС будут актуальны

В случае с ПИКами при больших номиналах емкостей(470uF и более) на линии питания иная проблема -
медленное наростание/спад напряжения при критичных перепадах.
Надо и собаку и BOD активировать и контроль типа сброса.
Это "обратная сторона" их мизерного энергопотребления.
Возможно подобные неприятности и для других микропотребляющих МК/СБИС будут актуальны
- Vovan555
- Мучитель микросхем
- Сообщения: 428
- Зарегистрирован: Вс мар 12, 2006 14:53:26
- Откуда: Вологда
Re: MAX7219 --- не работает
Собака у меня всегда "живая", а вот сброс по питанию я и упустил в тот момент..