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

Обсуждаем цифровые устройства...
Ответить
Открыл глаза
Сообщения: 43
Зарегистрирован: Ср мар 13, 2013 19:43:22

Сообщение Y.Y. »

И еще вопрос "вдогонку".
Хочу дернуть, скажем, PORTC.2 каждые 5 мкс. (Ext.Clock 16МГц).
Устанавливаю прерывание Timer2 с помощью Wizard (прилагается).
На осциллографе - сигналы через 5.5 мкс. (+10%)?!.
Откуда такая погрешность?
Вложения
Sin_3.c
(2.14 КБ) 199 скачиваний
Реклама
Вымогатель припоя
Сообщения: 630
Зарегистрирован: Пн июн 14, 2010 13:07:29
Откуда: Жуковский

Сообщение a_skr »

Потому что после возникновения прерывания по переполнению (TCNT2=0xFF) до повторной инициализации TCNT2=0xB0 успевают выполниться несколько команд (сохранение регистра на стеке, загрузка константы, см листинг). И, т.о. между 2-мя последовательными выполнениями команды "TCNT2=0xB0" не 80 тактов (для 5 мкс), а например 84 - вот Вам и 5%. Для решения данной задачи нужно использовать режим CTC, тогда таймер будет сам автоматически очищаться по совпадению.

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

_timer2_ovf_isr:
	ST   -Y,R30
; 0000 0006 TCNT2=0xbe;
	LDI  R30,LOW(190)
	STS  178,R30
; 0000 0007 
; 0000 0008    PORTC.2=1;
	SBI  0x8,2
; 0000 0009    PORTC.2=0;
	CBI  0x8,2
; 0000 000A 
; 0000 000B }
	LD   R30,Y+
	RETI
Реклама
Открыл глаза
Сообщения: 43
Зарегистрирован: Ср мар 13, 2013 19:43:22

Сообщение Y.Y. »

И еще раз спасибо!
Понятно, что после возникновения прерывания ("звонка") есть определенные "внутренние действия" до исполнения операций, указанных пользователем.
Как-то представлялось, что "звонок" обязательно звонит в точно указанное время.
Оказывается, что реальное время прерывания зависит от режима таймера...
Открыл глаза
Сообщения: 43
Зарегистрирован: Ср мар 13, 2013 19:43:22

Сообщение Y.Y. »

P.S. Вместо кода

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

interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{TCNT2=0xB0;
   PORTC.2=1;
   PORTC.2=0;}
вставил указанный Вами код

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

interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
#asm
ST   -Y,R30
; 0000 0006 TCNT2=0xbe;
   LDI  R30,LOW(190)
   STS  178,R30
; 0000 0007 
; 0000 0008    PORTC.2=1;
   SBI  0x8,2
; 0000 0009    PORTC.2=0;
   CBI  0x8,2
; 0000 000A 
; 0000 000B }
   LD   R30,Y+ 
#endasm
}
Tеперь время между сигналами ~4.8мкс.
?
Реклама
Эиком - электронные компоненты и радиодетали
Вымогатель припоя
Сообщения: 630
Зарегистрирован: Пн июн 14, 2010 13:07:29
Откуда: Жуковский

Сообщение a_skr »

Да не надо его туда вставлять, это тоже самое, что и на Си. Просто, когда я экспериментировал, поставил BE вместо B0, решил подобрать константу, чтобы максимально приблизиться к 5 мкс. Точно 5.0 в этом режиме все-равно не получится. Если не устраивает 4,8 или 5 с чем-то там, то используйте режим СТС. К тому же, если устроит меандр на выходе, то посмотрите секцию "17.5 Output Compare Unit" DS. При этом возможно вообще не тратить процессорное время на прерывания от таймера, ножка OC2A (PB3) сама может дергаться, только частоту таймера в 2 раза поднять.
И, кстати, есть отдельная тема по таймерам AVR, а то прогонят отсюда.
Реклама
Открыл глаза
Сообщения: 43
Зарегистрирован: Ср мар 13, 2013 19:43:22

Сообщение Y.Y. »

Громадное спасибо. Вопрос закрыли.
Реклама
Родился
Сообщения: 8
Зарегистрирован: Ср мар 11, 2015 19:23:48

Сообщение КоляМбур »

Подскажите пожалуйста аналог транзистора ГТ313А имеющийся в Протеусе.
Грызет канифоль
Аватара пользователя
Сообщения: 281
Зарегистрирован: Пт ноя 15, 2013 20:58:23

Сообщение Halex »

КоляМбур писал(а):аналог транзистора ГТ313А имеющийся в Протеусе.
В Протеусе имеются только две модели германиевых транзисторов NPN AC127 и PNP AC128, но это низкочастотные средней мощности, ближе к совковым ГТ402, ГТ404. А зачем Вам понадобилась модель ентого раритета, да ещё и высокочастотного? Надеюcь, Вы не собираеттесь моделировать в Протеусе какой-нибудь селектор каналов совкового телеящика, или радиостанцию?
Открыл глаза
Сообщения: 51
Зарегистрирован: Вт ноя 05, 2013 11:02:16
Откуда: Николаев

Сообщение Vakula »

Может кто подскажет, почему нет в библиотеке стабилизатора 7805 в smd корпусах. Или это только у меня так?

Второй вопрос, когда беру чужой проект с контактными релюшками. Они анимировано показывают отработку контакта. Заменяю со своей библиотеки, в лучшем случае отработку могу увидеть осцилом. Что не так?

Ну и третье. Есть где нормально качнуть или обновить библиотеки? Имею в виду без всяких гуглеразводов на хостинги с номерами телефонов.

P.S. Proteus 7.10
Вымогатель припоя
Сообщения: 567
Зарегистрирован: Ср дек 19, 2012 12:16:22

Сообщение alex1126 »

7805 в смд нет даже в восьмой версии, самого расстраивает, но там самому сделать не сложно. Я уже наловчился.
Что касается реле, то тут дело скорее всего в том что для каждого элемента есть три файла (ну не файла, а незнаю как сказать... Характеристики что ли...). Первая это символ для схемы, вторая это алгоритм работы, третья это футпринт. Скорее всего со второй проблеммы. Я когда делал кнопку свою я взял старую кнопку, "разобрал" и собрал заново добавив футпринт. Все работает, анимация осталась.
Библиотеки по семерки у меня есть много, сам собирал по крупицам в свое время. Шли в личку емайл - вышлю
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

Сообщение Rtmip »

Здравствуйте, существует ли модель дисплея для сименса С60(А60, М55) контроллер LPH8731?
Если да, то где найти можно?
Открыл глаза
Сообщения: 45
Зарегистрирован: Чт ноя 15, 2007 19:31:24

Сообщение Donetsk »

2.23 Подключаем файл микропрограммы для пошаговой отладки
------------------------------------------------------------------------------------

меню Source есть в версии 8.1 а Add/Remove Source Files не могу найти его там нет.........

а где окно Add/Remove Code Files - остановилось изучение программы - подскажите

Куда его спрятали? Помогите найти.
Контактная информация:
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Сб мар 19, 2011 15:19:47
Откуда: Владивосток

Сообщение const1105 »

PROTEUS 8, в один прекрасныы (не очень) миг обычные кнопки из библиотеки - SPST Push Button
из НЕфиксируемых стали фиксируемые. То есть фиксируются не только при нажатии на красный Тогл,
а всегда, и мышкой и пробелом. Может я поторопился, решил все снесением и переустановкой.
Может кто знает причины? Куда не надо лазить? Или это из букваря, а я просто мало знающий.....
Родился
Сообщения: 1
Зарегистрирован: Сб мар 21, 2015 16:45:14

Сообщение haine747 »

Можно ли как то МК STM32F103CB занести в библиотеку протеуса, или есть ли проги работающие с STM32?
Chettuser

Сообщение Chettuser »

Если интересует корпус и возможность просто нарисовать схему - то DipTrace.
А вот по поводу моделирования - я не знаю есть ли такая возможность в Altium Designer. Больше вроде бы и ничего нету с такими возможностями.
Chettuser

Сообщение Chettuser »

:shock:
Чё за нафиг? Версия 7,10
Изображение
c2n
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1193
Зарегистрирован: Ср июл 25, 2012 21:40:09
Откуда: Самара

Сообщение c2n »

есть такая хрень.... попробуйте на чистом листе, другую SPICE модель-если есть в библиотеке, пересоберите участок полностью, заново выставив все источники и элементы...
а так же меня смущает надпись у маркера входного напряжения Vin, у меня на чистом листе там "+9". Может вы дискретный сигнал подаете на 7805 ???
Контактная информация:
Грызет канифоль
Аватара пользователя
Сообщения: 291
Зарегистрирован: Вт сен 02, 2008 04:03:21
Откуда: Тихорецк

Сообщение Valeriy L »

Подскажите пожалуйста как сделать активными выводы питания Vdd и GND для PIC12F629. Что-бы я их мог использовать в проекте.
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Chettuser писал(а):Если интересует корпус и возможность просто нарисовать схему - то DipTrace.
А вот по поводу моделирования - я не знаю есть ли такая возможность в Altium Designer. Больше вроде бы и ничего нету с такими возможностями.
Есть в Altium моделирование. К тому же, в плане схем и разводки - Altium тоже нормальный.
А в плане работы с библиотеками компонентов, он даже один из лучших. Но Proteus проще в обращении и менее требователен к ресурсам системы. Я даже платы в нем делал для производства, но потом перешел на Altium, так как умение с ним обращаться требуют почти везде.
Моделирую уже сам, составляя матмодели с помощью скриптов (Lua и самописный программный комплекс) и MathCad'а, в Proteus сверяю и потом уже в железе. И никогда не ошибался. В железе все работало согласно расчетам и моделированию в Proteus (если только не допустил ошибку при сборке)
I am DX168B and this is my favourite forum on internet!
Контактная информация:
Chettuser

Сообщение Chettuser »

Вот бы мне так научиться! :?
Времени нет на это, да и сил по вечерам.
Ответить

Вернуться в «Цифровая техника»