Страница 1 из 1
МК + Led матрицы
Добавлено: Пт мар 27, 2009 00:40:42
L@merOk
Сори за глупый вопрос, но ответа не нашел.Пытаюсь разобратся в работе с МК
Задача Для примера решил попробывать управлять LED Матрицей
Для начала необходимо включить светодиоды по диагонали создав таким образом полосу
Нарисовал в Proteus матрицу 3х3 и ATmega8 (скриншот во вложеном файле)

В CodeVisionAVR написал прошивку. В цикле следуюшее.
Код: Выделить всё
while (1)
{
PORTC=0b00110001;
delay_ms(100);
PORTC=0b00101010;
delay_ms(100);
PORTC=0b00011100;
delay_ms(100);
PORTC=0b00000001;
};
Светодиоды мигают по диагонали, но светят явно больше чем 0,1 сек. В CodeVisionAVR поставил 16Mhz и в протеусе подключен кварц на 16
Код: Выделить всё
while (1)
{
PORTC=0b00110001;
PORTC=0b00101010;
PORTC=0b00011100;
PORTC=0b00000001;
};
С таким кодом светодиожы тоже мигаю только не попорядку. И светяшейся линии не получается.
Вопросы
- В реале получится линия или тоже так будет блымать?
- Что бы нарисовать рисунок на LED матрице нужно последовательно по
ОДНОМУ зажигать нужный светодиод или есть какой то другой алгоритм?
Добавлено: Пт мар 27, 2009 08:56:55
adrenocrome
а что показывает "загрузка процессора" внизу окна симуляции?
я вот не смог нормально динамическую индикацию в протеусе запустить.а в железе работает.
Добавлено: Пт мар 27, 2009 10:14:04
shtorm
в свойсвах светодиодов в графе Model Type поставил Digital ?
Добавлено: Пт мар 27, 2009 10:19:57
Александр777
В реале получится линия или тоже так будет блымать?
Чтобы узнать как будет в реале надо собрать схему и посмотреть. Если светящейся линии не получится, то можно уменьшить длительность задержек. Эмуляторы работы МК обычно не работают в режиме реального времени и не учитывают инерционность светодиодов.
Что бы нарисовать рисунок на LED матрице нужно последовательно по ОДНОМУ зажигать нужный светодиод или есть какой то другой алгоритм?
Нужно зажигать последовательно 1-й, 2-й, 3-й ряд светодиодов. Приэтом вкаждом ряду можно зажигать любое количество светодиодов.
Например, чтоб зажечь букву Х необходим такой код:
Код: Выделить всё
while (1)
{
PORTC=0b00010001;
delay_ms(100);
PORTC=0b00101010;
delay_ms(100);
PORTC=0b00010100;
delay_ms(100);
};
P.S. Я бы последовательно со светодиодами поставил резисторы.
Добавлено: Пт мар 27, 2009 15:22:34
L@merOk
Всем огромное спасибо за помошь.
а что показывает "загрузка процессора" внизу окна симуляции?
~80-90% при Анаголовых Led и 5% при Digital
в свойсвах светодиодов в графе Model Type поставил Digital ?
1. поставил Digital для D1 стали мигать вообше другие диоды

2. поставил Digital для диодов по диагонали. стали мигать только они но оооочень тускло
3. поставил Digital для всех Led в матрице. На удивление стала четко светиться диагональ
Вывод Результат достигнул спасибо
Нужно зажигать последовательно 1-й, 2-й, 3-й ряд светодиодов.
Супер!!!! 
Как я сам не догадался. А ведь и сам включал за раз несколько Led в строке
PS понятно что нужны резюки, но не стал ими схему загромождать
Добавлено: Вт мар 31, 2009 09:25:57
krolaka
недавно игрался с матрицей 8х8 работает нормально вивод алфавита на матрицу + перемещение алфавита с низу вверх

делал и на реальном устройстве и делал без резисторов потому что матрица собрана на ал307бм ох и так плоххо видно

за исходники не пинать написано не очень понятно

Добавлено: Пн ноя 02, 2009 18:32:07
Symbiosis
Можно схемку в виде картинки и описание небольшое . Файл проекта не открывается ( Протеус просит обновиться - качнуть 200 мб ((( Хочу побаловаться с матрицей.
Добавлено: Пн ноя 02, 2009 21:02:57
Krik99
Symbiosis писал(а):Можно схемку в виде картинки и описание небольшое . Файл проекта не открывается ( Протеус просит обновиться - качнуть 200 мб ((( Хочу побаловаться с матрицей.
Вот собственно и схема в .gif

Добавлено: Пн ноя 02, 2009 21:08:21
dosikus
adrenocrome писал(а):
я вот не смог нормально динамическую индикацию в протеусе запустить.а в железе работает.
И в железе работает и в Протеусе.
-----------------------------------
Как здесь картинку вставить , что бы видно ее было ?
Добавлено: Ср ноя 04, 2009 17:15:12
Symbiosis
Из этой схемы совсем непонятно как подключена матрица ((( Где колонки а где строки, где катоды а где аноды ((( как быть ?
Добавлено: Ср ноя 04, 2009 17:16:33
Symbiosis
Из этой схемы совсем непонятно как подключена матрица ((( Где колонки а где строки, где катоды а где аноды ((( как быть ?