динамическая индикация на tiny2313
-
Viktor loz
- Родился
- Сообщения: 2
- Зарегистрирован: Чт мар 24, 2011 20:20:21
динамическая индикация на tiny2313
Попробовал в протеусе маленькую программку. Если 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);
};
В матрицах при большом значении "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);
};
- Вложения
-
- динам3.jpg
- (102.12 КБ) 622 скачивания
-
- динам.jpg
- (111.91 КБ) 525 скачиваний
-
- динам2.jpg
- (109.26 КБ) 584 скачивания
- DimanVIP
- Мучитель микросхем
- Сообщения: 474
- Зарегистрирован: Вт июн 01, 2010 22:12:07
- Откуда: Тольятти
- Контактная информация:
Re: динамическая индикация на tiny2313
Плюнь ты на этот протос. Он тебе и не такое покажет.
К примеру у меня, когда также динамическую индикацию отлаживал, бывало что индикация совсем на пару сек пропадала.
Хотя в железе все отлично работает.
Мой тебе совет, используй его (протос) только для отладки программного кода.
К примеру у меня, когда также динамическую индикацию отлаживал, бывало что индикация совсем на пару сек пропадала.
Хотя в железе все отлично работает.
Мой тебе совет, используй его (протос) только для отладки программного кода.
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
Re: динамическая индикация на tiny2313
я не очень сильно разбираюсь в твоей теме, но мне непонятно, ты что, порты переключаешь по одному разряду, по очереди?...одна команда на порт Д и одна на Б. Логически задача должна выглядеть так : включили номер разряда, включили нужную цифру, задержка, ВЫКЛЮЧИЛИ цифру и только потом выбираем другой разряд.
В зависимости от частоты работы процессора и программы, если цифру не гасить, то может наблюдаться паразитная засветка других разрядов, ведь пока ты переключаешь порт Д и Б, то старая цифра успевает засветиться на новом разряде...
В зависимости от частоты работы процессора и программы, если цифру не гасить, то может наблюдаться паразитная засветка других разрядов, ведь пока ты переключаешь порт Д и Б, то старая цифра успевает засветиться на новом разряде...
- Danny_Kornev
- Родился
- Сообщения: 9
- Зарегистрирован: Вс окт 21, 2007 01:19:15
- Откуда: Севастополь
Re: динамическая индикация на tiny2313
Enman писал(а):пока ты переключаешь порт Д и Б, то старая цифра успевает засветиться на новом разряде...
Во-первых, да.
Во-вторых, у Протеуса имеются определенные проблемы с временными обсчетами (ARV очень прекрасно на эту тему проводил различного рода разъяснения, только не могу припомнить в какой теме).
Кстати, можно полезть в настройки анимации (system->set animation options), и в поле frames per second цихверку поменьше поставить. Тогда все процессы будут обсчитываться медленнее, можно будет все увидеть в замедленном режиме. Заодно можно проверить предположение насчет "паразитных" засветок.
А, кстати. Вот насчет принт-скрина с системными сообщениями Протеуса: первое же предупредительное сообщение нам говорит, что "симуляция не протекает в реальном времени из-за чрезмерной нагрузки процессора". Для светодиода 5 мс - ну это совсем ерунда, естественно, никакого мерцания в реальной железке видно не будет (скорее всего, будет притухшее постоянное свечение сегментов), вот Протеус от балды и выдает..
Дураком может быть каждый, но злоупотреблять этим не надо.
Re: динамическая индикация на tiny2313
Danny_Kornev писал(а):Во-первых, .
Во первых не надо придумывать того чего нет .
Как вы тогда объясните эти проекты прекрасно работающих и в протеусе и в железе ???
Второй посегментная идикация
Я не буду ничего говорить про руки , но делайте выводы сами..




- Danny_Kornev
- Родился
- Сообщения: 9
- Зарегистрирован: Вс окт 21, 2007 01:19:15
- Откуда: Севастополь
Re: динамическая индикация на tiny2313
dosikus писал(а):Во первых не надо придумывать того чего нет .
Мне не нужно ничего объяснять, уважаемый. У меня проблем нет. Вы б лучше автору на его вопрос ответ дали.
А насчет проблем у Протеуса (я об обсчетах) - еще в 2008 они существовали, это факт. И об этом мне говорили люди из моего университета, лично мною весьма и весьма уважаемые люди, своих домыслов и вымыслов за реальность я стараюсь не выдавать.
Дураком может быть каждый, но злоупотреблять этим не надо.
Re: динамическая индикация на tiny2313
Danny_Kornev писал(а):И об этом мне говорили люди
Иными словами - вы даже не в курсе о чем говорите .
Я же говорю о том , что знаю . Что ваши слова мягко говоря неправда .
-
Viktor loz
- Родился
- Сообщения: 2
- Зарегистрирован: Чт мар 24, 2011 20:20:21
Re: динамическая индикация на tiny2313
Спасибо всем, кто отозвался.
Я видел несколько схем, смоделированных в протеусе, например тахометр, работали превосходно, поэтому и вопрос возник, почему такая мелочь не хочет отбражаться нормально. Реально я не собираюсь использовать установку выходов портов (переключения) по одному биту, просто меньше информации, проще понять.
Я видел несколько схем, смоделированных в протеусе, например тахометр, работали превосходно, поэтому и вопрос возник, почему такая мелочь не хочет отбражаться нормально. Реально я не собираюсь использовать установку выходов портов (переключения) по одному биту, просто меньше информации, проще понять.
Re: динамическая индикация на tiny2313
Viktor loz писал(а): Реально я не собираюсь использовать установку выходов портов (переключения) по одному биту, просто меньше информации, проще понять.
Сменить индикаторы . Эти индикаторы не подходят.
Это раз .
Если частота обновления индикатора больше 100 Гц , в свойствах индикатора Minimum Trigger Time уменьшить раз в 10(0.5~0.1 ms) .
- GP1
- Поставщик валерьянки для Кота
- Сообщения: 2401
- Зарегистрирован: Пт май 23, 2008 19:32:22
- Откуда: Россия, Волгоград
- Контактная информация:
Re: динамическая индикация на tiny2313
Позвольте и мне вставить свои 5 коп.
Чтобы не было видно мигания цифр на индикаторе частота обновления информации должна быть не ниже 25 Гц (можно до 20 Гц, но тут при определенных условиях становится видно минание) , т.е. максимально время на обновление информации на индикаторе будет 40 мс, а дальше все просто:
для 4-х индикаторов: 40/4=10мс на 1 разряд
для 6-и: 40/6=6,67 мс и т.д.
сильно уменьшать время свечения - снижать яркость индикатора, придется повышать максимальный ток через сегменты, а он ограничен.
Чтобы не было видно мигания цифр на индикаторе частота обновления информации должна быть не ниже 25 Гц (можно до 20 Гц, но тут при определенных условиях становится видно минание) , т.е. максимально время на обновление информации на индикаторе будет 40 мс, а дальше все просто:
для 4-х индикаторов: 40/4=10мс на 1 разряд
для 6-и: 40/6=6,67 мс и т.д.
сильно уменьшать время свечения - снижать яркость индикатора, придется повышать максимальный ток через сегменты, а он ограничен.
