To vaal555 Ну насчет обмениваться опытом это Вы подзагнули.
Я только этим и занимаюсь последнее время, единолично окупировав ветку ЧАВО по Протеусу. И все Ваши "грабли" там нашли отражение. Но видно там Вам в лом почитать, предпочитаете чтоб носом ткнули. Насчет Code Vision, надеюсь, Вас
urry просветит, хотя мог бы и я. Но поскольку с Протеусом задета моя "честь мундира", придется устроить "разбор полетов", хотя цитировать самого себя - верх нахальства. Итак, приступим, господа присяжные заседатели:
1. Ну о том, что и папка и файл проекта поименованы на русском даже не буду останавливаться, надоело. Оставляю на совесть автора и пошлю его лишний раз на стр.1 ЧАВО п.2.4. Хотя, благодаря участию нашего соотечественика в разработке, Протеус стал лояльнее к кириллице, и я не удивлюсь даже, если в версии 7.6 будет присутсвовать русский интерфейс программы от разработчиков.
2. Открываю вложение и, не проверяя, давлю симуляцию. Горчичник "Simulation is not running in real time due to excessive CPU load" Загрузка ЦПУ около 99-100%.
Цитата ЧАВО (стр. 2, 4-й пост)
Предупреждение симуляции:
Цитата:
|
Simulation is not running in real time due to excessive CPU load
При этом обычно внизу фигурирует CPU load 100% . Симуляция не может выполнятся в режиме реального времени из-за стопроцентной загрузки процессора компьютера. Обычно проявляется на схемах перегруженных аналоговыми компонентами...
|
Смотрим - аналоговые R1 и R2 формируют делитель 5V налопопам. Оно нам надо, чтобы Проспайс здесь считал токи через резисторы, температурные нестабильности и пр. аналоговую чехарду? А он добросовестно вычисляет. "Переписка Каутского с Керенским. В печку его..." - проф-р Преображенский "Собачье сердце". Заменяем терминалом питания
+2.5V .
Далее на выходе дешифратора U4 транзисторные ключи и резисторы - все аналоговые. Работают на многоразрядные семисегментники
Цитата ЧАВО (стр. 3, п.3.5.3)
Цитата:
|
...модели многоразрядных индикаторов чисто цифровые...Так что привешивание к ним в Протеусе всевозможных мощных транзисторных ключей, токоограничивающих резисторов и т.п. – это из разряда «аналоговых извращений» и здесь не рассматривается.
|
Поскольку сигнал снимается с эмиттеров (повторители)- инверсии не наблюдается, просто выбрасываю всю эту байду и соединяю напрямую. Если бы снимали сигнал с коллекторов, пришлось бы воткнуть цифровые инверторы.
Запускаю симуляцию опять. Вышеназванный горчичник в ауте, загрузка ЦП -68%. "Послушай, ничего же не делал - просто вошел" ("Кавказская пленница"). Правда появился свежий горчичник - "UCSRC0 register is not modeled". Стартуем заново с паузы и проходим пошагово инициализацию до появления горчичника. Происходит это при инициализации USART при попытке
записать в UCSRC значение 0х86. Вот кусок кода:
Код:
|
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 19200
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x0C; |
На досуге подумаем, чем нам это грозит, а пока забиваем на это ..., поскольку к динамической индикации не относится.
3. Ну а теперь глянем на трассы U3(1) U3(2) U3(3) графика, любезно размещенного автором. Они иллюстрируют переключение первых трех разрядов. Да, автор проекта на страницу 3 ЧАВО не заглядывал и с п.3.5.4. не знаком. Гасящим импульсом тут и не пахнет. Отсюда и сползание разрядов. Я слегка изменил граф, чтобы было нагляднее видно.
"Итак, подведем итог, господа присяжные заседатели. Подсудимый грешен..."
Ну и все, чего Вы добились - это принародная разборка ваших глюков. По программе - если не ответит
urry , чуть позже отвечу я.
-- Прилагается рисунок: --