Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Чт окт 27, 2016 08:32:02
Привет всем.
Помогите пожалуйста решить следующую проблему.
Вот уже третий день пытаюсь завести MAX7219, но стабильно ничего не получается. В Протеусе все работает, а в железяках ни фига. Схема и программа во вложении. Программа написана на микропаскале.
Я купил четыре MAX7219. Замена одну на другую эффекта не дает. Может быть подсунули бракованные - я их купил на OLX по цене 25грн за штуку. Можно ли проверить работоспособность MAX7219 без МК???
Подскажите пожалуйста.
- Вложения
-
- AT Mega16 + MAX7219_program.txt
- (681 байт) Скачиваний: 303
-
- AT Mega16 + MAX7219_proteus.pdf
- (16.72 KiB) Скачиваний: 258
-
- AT Mega16 + MAX7219.pdf
- (47.04 KiB) Скачиваний: 265
Чт окт 27, 2016 11:15:43
Без МК не проверить.
Разве что набросать тест-программу "от фонаря" - но у меня такой пакости (MAX7219) в наличии нету, а делать "просто прикидку"...
Пт ноя 25, 2016 17:12:05
Помню, долго бился с этой микрухой. У вас неправильный порядок инициализации. Сначала надо вывести микросхему из сна.
- Код:
// 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("--------");
Пт дек 30, 2016 17:17:27
Мой 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); // зажечь сегменты
Сб янв 21, 2017 20:16:22
А точнее какая проблема, можете расписать?
1) Начиная с банального, как тут уже упоминали, может на вход Load (ChipSelect) приходить лог. единица и тогда микросхема будет спать.
2) Резистор, определяющий пиковый ток на сегмент, на первой схеме как будто 200 Ом. На второй же рекомендованные 9.53кОм. Проверьте, а то можно сжечь дисплей.
3) На входе по питанию поставьте алюм. электролит этак 47мкФ 16В. У меня были сбои, когда кондера не было. Впрочем, оговорюсь, помимо него был только один другой электролит по ту сторону от платки с MAX7219 и дисплеем.
Пт апр 19, 2019 16:51:11
Блин... А как это у вас PORTB.0? Непонятен именно момент .0
Добавлено after 1 minute 40 seconds:
Aaa ... Все.. это же кодевижн.. понял
Вт май 07, 2019 01:35:00
Кстати.. При работе с MAX7219-7221( и не только с ними) следует паузу выдерживать для стабилизации напряжения питания.
Столкнулся с такой оказией. МК PIC. Выдержка была(PWRT), но маловато. Добавил ёмкость и по питанию и... Всё. Индикаторы не горят, хоть лопни. Пришлось в п/п инициализации контроллера вводить программную задержку.
Вт май 07, 2019 06:14:06
Vovan555В случае с ПИКами при больших номиналах емкостей(470uF и более) на линии питания иная проблема -
медленное наростание/спад напряжения при критичных перепадах.
Надо и собаку и BOD активировать и контроль типа сброса.
Это "обратная сторона" их мизерного энергопотребления.
Возможно подобные неприятности и для других микропотребляющих МК/СБИС будут актуальны
Вт май 07, 2019 07:33:18
Собака у меня всегда "живая", а вот сброс по питанию я и упустил в тот момент..
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.