Страница 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 :idea:
в свойсвах светодиодов в графе Model Type поставил Digital ?
1. поставил Digital для D1 стали мигать вообше другие диоды :shock: 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 :beer:

Добавлено: Пн ноя 02, 2009 21:08:21
dosikus
adrenocrome писал(а): я вот не смог нормально динамическую индикацию в протеусе запустить.а в железе работает.
И в железе работает и в Протеусе.
-----------------------------------
Как здесь картинку вставить , что бы видно ее было ?

Добавлено: Ср ноя 04, 2009 17:15:12
Symbiosis
Из этой схемы совсем непонятно как подключена матрица ((( Где колонки а где строки, где катоды а где аноды ((( как быть ?

Добавлено: Ср ноя 04, 2009 17:16:33
Symbiosis
Из этой схемы совсем непонятно как подключена матрица ((( Где колонки а где строки, где катоды а где аноды ((( как быть ?