Страница 151 из 281

Re: Proteus: вопросы и ответы

Добавлено: Пт фев 08, 2013 14:33:57
foton6
ibiza11 писал(а):Вы внимательнее прочтите что Вам написали: используйте цифровую модель светодиода, а не аналоговую!
Я эту фразу про смену светодиодов понял иначе видимо чем вы, но замена всеравно не решила вопроса *(

Re: Proteus: вопросы и ответы

Добавлено: Пт фев 08, 2013 14:35:29
Soir
foton6 писал(а):А заставить как положено работать не выйдет?
Почему же, очень даже выйдет. Раз мы продолжаем разговаривать "на пальцах", то вот Вам пример. (К сожалению видео не могу выложить)
Изображение
foton6 писал(а):И много еще подобных "штук" в pruteus?
В "pruteus" конечно есть глюки и недоработки, увы они есть и в других программах. Ошибаются не только простые смертные, но и разработчики ПО. Но конкретно эта "штука" скорее всего Вами же и создана. Количество таких "штук" будет неуклонно уменьшаться по мере того, как будете изучать программу.
Почти на каждой странице пишу уже как лозунг: "Если что-то не работает так, как Вам хочется, не спешите обвинять в этом программу.

Re: Proteus: вопросы и ответы

Добавлено: Пт фев 08, 2013 15:00:33
foton6
Угу, поглядел на приведенную схему выше, разница в том что резистор стоит после диода(в чем казалось бы разница), ну да ладно, по удалял резисторы и диоды, поставил наоборот резистор и диод... Заработало :shock:
Да быть не может думаю, разницы же 0. Удалил диоды резисторы, и по новой как было, резистор до диода.
Но теперь работает. Ничего не менял как и до этого, кроме конечно же сопротивлений(выставил как и в первый раз 220 ом) :shock:

Re: Proteus: вопросы и ответы

Добавлено: Пт фев 08, 2013 16:18:53
Orion33
Engineer_Keen писал(а):Кстати, уже несколько раз получалось так, что не работает динамическая индикация: например аноды к МК напрямую, а общие катоды через транзистор.
У меня тоже такое было со встроенными моделями многоразрядных индикаторов. Я параллельно сегментам включал резисторы, чтобы обеспечить ток через транзюки. Видимо, это косяки на стыке цифровых и аналоговых моделей.

Re: Proteus: вопросы и ответы

Добавлено: Пт фев 08, 2013 20:18:10
a_skr
Зачем вообще использовать аналоговые примитивы для отладки цифровых схем? Вместо транзистора поставьте инвертор. Проверяется же алгоритм МК. И нагрузку на ЦП сократите во время симуляции.

Re: Proteus: вопросы и ответы

Добавлено: Пт фев 08, 2013 20:41:38
Soir
a_skr писал(а):Зачем вообще использовать аналоговые примитивы для отладки цифровых схем?
Ситуации разные бывают, цифровые не всегда адекватно симулируются. Пример тут был немного выше с светодиодами DIGITAL.
Если реальная схема является "смешанной" и предполагается разводка платы в ARES, то тогда приходится вести параллельно два проекта. Один для симуляции, второй для изготовления. Согласитесь, это крайне неудобно, приводит к путанице и ошибкам.
Лично я при разработке начинаю с установки именно аналоговых моделей компонентов. Таким образом симуляция получается более реалистичной, ну и опять же для ARES... Если симуляция не идет в реальном времени, тогда уже смотрю где тормоз и как можно ускорить. При этом замена на цифровые модели не на первом месте... ИМХО.

Re: Proteus: вопросы и ответы

Добавлено: Пт фев 08, 2013 21:30:12
Orion33
a_skr писал(а):Зачем вообще использовать аналоговые примитивы для отладки цифровых схем? Вместо транзистора поставьте инвертор.
В протеусе есть цифровая модель мосфетов, есличо :)

Re: Proteus: вопросы и ответы

Добавлено: Сб фев 09, 2013 01:11:32
unalex
Простите если не в тему, раз уж тут заговорили за мосфеты, не подскажете как на них реализовать генератор ступеньки

-5в, 0в, +5в, -5в, 0в, +5в, и т.д.

Re: Proteus: вопросы и ответы

Добавлено: Сб фев 09, 2013 11:43:05
Chettuser
Кто работал с виртуальным COM-портом в PROTEUS'е?
Интересует как сделать его видимым на ноуте в диспетчере задач, чтобы можно было поюзать через DELPHI скажем.
Спасибо.

Re: Proteus: вопросы и ответы

Добавлено: Сб фев 09, 2013 13:13:35
a_skr
Orion33 писал(а):
a_skr писал(а):Зачем вообще использовать аналоговые примитивы для отладки цифровых схем? Вместо транзистора поставьте инвертор.
В протеусе есть цифровая модель мосфетов, есличо :)
У них на один вывод больше и его (исток) надо на корпус сажать, есличо ;)

Re: Proteus: вопросы и ответы

Добавлено: Сб фев 09, 2013 16:33:21
Orion33
a_skr писал(а):У них на один вывод больше и его (исток) надо на корпус сажать, есличо ;)
Исток, есличо, есть у любого мосфета ;)

Re: Proteus: вопросы и ответы

Добавлено: Сб фев 09, 2013 20:08:50
unalex
учтите что не все мосфеты управляются одинаковыми уровнями(простые и HEXFET), помимо P и N проводимости надо учитывать технологию(индуцированный или встроенный канал) и кучу других параметров

есличо

Re: Proteus: вопросы и ответы

Добавлено: Вс фев 10, 2013 19:10:28
ChipKiller
Решил использовать вместо "живого" дисплея от Nokia1100 его модель из PROTEUS. В результате получил перевернутое изображение.
Очевидно проблема в инициализации модели Nokia1100. Какая она должна быть?

PS. PROTEUS 7.7

Re: Proteus: вопросы и ответы

Добавлено: Вс фев 10, 2013 19:34:34
otest
модели Nokia1100.
Поиграй командами (С8,С0) и (А1,А9)

Re: Proteus: вопросы и ответы

Добавлено: Вс фев 10, 2013 19:41:56
Soir
ChipKiller писал(а):Решил использовать вместо "живого" дисплея от Nokia1100 его модель из PROTEUS. В результате получил перевернутое изображение.
Очевидно проблема в инициализации модели Nokia1100. Какая она должна быть?
Модель "кривая". Для Proteus в инициализации устанавливайте 0xС8, а для железа 0xC0...

Re: Proteus: вопросы и ответы

Добавлено: Вс фев 10, 2013 20:48:34
ChipKiller
Soir писал(а):Модель "кривая".
... это понятно. В реальном устройстве вполне хватает

Код: Выделить всё

// инициaлизация экрана 
void	LcdInit(void){
		CS=0;
		RES=0;
		delay_ms(5); 
		RES=1;
		LcdCmd(0xA4); // all on/normal display
		LcdCmd(0x2F); // power control set(charge pump on/off)
		LcdClear();
}
.... и все прекрасно работает. Добавление (С8,С0) и (А1,А9) ни чего не меняет, поэтому и спрашиваю полную последовательность инициализации для PROTEUS

Re: Proteus: вопросы и ответы

Добавлено: Вс фев 10, 2013 21:00:25
Soir
ChipKiller писал(а): Добавление (С8,С0) и (А1,А9) ни чего не меняет, поэтому и спрашиваю полную последовательность инициализации для PROTEUS
Я так делал:
Спойлерvoid lcd_init(void) {
CS = 0;
RST = 0;
delay_ms(5);
RST = 1;
lcd_write(lcd_CMD,0x20); //Записать Vop-регистр
lcd_write(lcd_CMD,0x90); //контрастность, 128 - мин, 152 - макс
lcd_write(lcd_CMD,0xA4); //Установить дисплей в обычный режим
lcd_write(lcd_CMD,0x2F); //Управление питанием (включить/выключить подкачку зарядов (charge pump))
lcd_write(lcd_CMD,0x40); //Установить начальный адрес строки = 0
lcd_write(lcd_CMD,0xB0); //Задать адрес по оси Y = 0
lcd_write(lcd_CMD,0x10); //Задать адрес по оси X, старшие 3 бита
lcd_write(lcd_CMD,0x00); //Задать адрес по оси X, младшие 4 бита
lcd_write(lcd_CMD,0xc8); //отразить вертикально, C8/C0 Для Proteus 0xС8, для железа 0xС0
lcd_write(lcd_CMD,0xA1); //отразить горизонтально, A1/A0
lcd_write(lcd_CMD,0xAC); //Выставить начальный ряд (R0) дисплея
lcd_write(lcd_CMD,0x07);
lcd_write(lcd_CMD,0xF9); //
lcd_write(lcd_CMD,0xAF); //enable display;
lcd_write(lcd_CMD,0xAE); //выключить дисплей
lcd_clear();
lcd_write(lcd_CMD,0xAF); //включить дисплей
lcd_write(lcd_CMD,0xA7); //негатив, A7 - есть, A6 - нет
delay_ms(250);
delay_ms(250);
lcd_write(lcd_CMD,0xA6); //негатив, A7 - есть, A6 - нет
}

Re: Proteus: вопросы и ответы

Добавлено: Вс фев 10, 2013 21:02:53
otest
у меня так E2, DELAY, EB, A4,2F,C8,A1,A6,95,AF, LCD CLEAR
некоторые можно закоментировать

Re: Proteus: вопросы и ответы

Добавлено: Вс фев 10, 2013 22:23:49
ChipKiller
Soir,otest спасибо - оба варианта работают

Re: Proteus: вопросы и ответы

Добавлено: Пн фев 11, 2013 07:51:53
masmax
Chettuser писал(а):Кто работал с виртуальным COM-портом в PROTEUS'е?
Интересует как сделать его видимым на ноуте в диспетчере задач, чтобы можно было поюзать через DELPHI скажем.
Спасибо.
Для этого лучше юзать прогу, которая связывает виртуальные порты. Как бы соединяя их виртуальным проводом. Вот я например использую эту - http://www.eltima.com/products/vspdxp/

В ней создаешь связь, например, COM3<->COM2. После этого в Протеусе выбираешь порт COM3, а в Дельфи - COM2. Данная прогрмама будет перекидывать байты между портами.