Страница 1 из 1

динамическая индикация на tiny2313

Добавлено: Чт мар 24, 2011 22:09:47
Viktor loz
Попробовал в протеусе маленькую программку. Если pauza больше 20, светодиоды в матрицах мигают поочередно, если pauza меньше 5, мигают как попало (визуально).
В матрицах при большом значении "pauza" в матрицах мигают соответствующие светодиоды, а при значении pauza меньше 5 видно, как мигают оба светодиода в обеих матрицах.
В прикрепленном файле схема в протеусе. Подскажите пожалуйста, почему так происходит. Да и с подобными паузами не должно быть видно мигания, мне думается. Подскажите пожалуйста, почему так происходит?
while (1)
{
// Place your code here
PORTD.5=0;
PORTD.6=1;

PORTB.0=0;
PORTB.1=0;
PORTB.3=1;
delay_ms(pauza);
PORTD.5=1;
PORTD.6=0;

PORTB.0=0;
PORTB.1=1;
PORTB.3=0;
delay_ms(pauza);
};

Re: динамическая индикация на tiny2313

Добавлено: Чт мар 24, 2011 23:48:10
DimanVIP
Плюнь ты на этот протос. Он тебе и не такое покажет.
К примеру у меня, когда также динамическую индикацию отлаживал, бывало что индикация совсем на пару сек пропадала.
Хотя в железе все отлично работает.
Мой тебе совет, используй его (протос) только для отладки программного кода.

Re: динамическая индикация на tiny2313

Добавлено: Чт мар 24, 2011 23:58:50
Enman
я не очень сильно разбираюсь в твоей теме, но мне непонятно, ты что, порты переключаешь по одному разряду, по очереди?...одна команда на порт Д и одна на Б. Логически задача должна выглядеть так : включили номер разряда, включили нужную цифру, задержка, ВЫКЛЮЧИЛИ цифру и только потом выбираем другой разряд.
В зависимости от частоты работы процессора и программы, если цифру не гасить, то может наблюдаться паразитная засветка других разрядов, ведь пока ты переключаешь порт Д и Б, то старая цифра успевает засветиться на новом разряде...

Re: динамическая индикация на tiny2313

Добавлено: Пт мар 25, 2011 00:20:49
Danny_Kornev
Enman писал(а):пока ты переключаешь порт Д и Б, то старая цифра успевает засветиться на новом разряде...

Во-первых, да.
Во-вторых, у Протеуса имеются определенные проблемы с временными обсчетами (ARV очень прекрасно на эту тему проводил различного рода разъяснения, только не могу припомнить в какой теме).
Кстати, можно полезть в настройки анимации (system->set animation options), и в поле frames per second цихверку поменьше поставить. Тогда все процессы будут обсчитываться медленнее, можно будет все увидеть в замедленном режиме. Заодно можно проверить предположение насчет "паразитных" засветок.
А, кстати. Вот насчет принт-скрина с системными сообщениями Протеуса: первое же предупредительное сообщение нам говорит, что "симуляция не протекает в реальном времени из-за чрезмерной нагрузки процессора". Для светодиода 5 мс - ну это совсем ерунда, естественно, никакого мерцания в реальной железке видно не будет (скорее всего, будет притухшее постоянное свечение сегментов), вот Протеус от балды и выдает..

Re: динамическая индикация на tiny2313

Добавлено: Пт мар 25, 2011 00:38:32
dosikus
Danny_Kornev писал(а):Во-первых, .

Во первых не надо придумывать того чего нет .
Как вы тогда объясните эти проекты прекрасно работающих и в протеусе и в железе ???
Второй посегментная идикация
Я не буду ничего говорить про руки , но делайте выводы сами..

Изображение

Изображение

Изображение

Изображение

Re: динамическая индикация на tiny2313

Добавлено: Пт мар 25, 2011 00:47:35
Danny_Kornev
dosikus писал(а):Во первых не надо придумывать того чего нет .

Мне не нужно ничего объяснять, уважаемый. У меня проблем нет. Вы б лучше автору на его вопрос ответ дали.
А насчет проблем у Протеуса (я об обсчетах) - еще в 2008 они существовали, это факт. И об этом мне говорили люди из моего университета, лично мною весьма и весьма уважаемые люди, своих домыслов и вымыслов за реальность я стараюсь не выдавать.

Re: динамическая индикация на tiny2313

Добавлено: Пт мар 25, 2011 00:56:21
dosikus
Danny_Kornev писал(а):И об этом мне говорили люди

Иными словами - вы даже не в курсе о чем говорите .
Я же говорю о том , что знаю . Что ваши слова мягко говоря неправда .

Re: динамическая индикация на tiny2313

Добавлено: Пт мар 25, 2011 21:54:37
Viktor loz
Спасибо всем, кто отозвался.
Я видел несколько схем, смоделированных в протеусе, например тахометр, работали превосходно, поэтому и вопрос возник, почему такая мелочь не хочет отбражаться нормально. Реально я не собираюсь использовать установку выходов портов (переключения) по одному биту, просто меньше информации, проще понять.

Re: динамическая индикация на tiny2313

Добавлено: Сб мар 26, 2011 10:51:24
dosikus
Viktor loz писал(а): Реально я не собираюсь использовать установку выходов портов (переключения) по одному биту, просто меньше информации, проще понять.


Сменить индикаторы . Эти индикаторы не подходят.
Это раз .
Если частота обновления индикатора больше 100 Гц , в свойствах индикатора Minimum Trigger Time уменьшить раз в 10(0.5~0.1 ms) .

Re: динамическая индикация на tiny2313

Добавлено: Сб мар 26, 2011 11:27:28
GP1
Позвольте и мне вставить свои 5 коп.
Чтобы не было видно мигания цифр на индикаторе частота обновления информации должна быть не ниже 25 Гц (можно до 20 Гц, но тут при определенных условиях становится видно минание) , т.е. максимально время на обновление информации на индикаторе будет 40 мс, а дальше все просто:
для 4-х индикаторов: 40/4=10мс на 1 разряд
для 6-и: 40/6=6,67 мс и т.д.
сильно уменьшать время свечения - снижать яркость индикатора, придется повышать максимальный ток через сегменты, а он ограничен.