03.04.2013, 19:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Re: Proteus общие вопросы
Сообщение от russo_turisto
|
А как в протеусе можно поставить точку останова программы при изменении данных в регистре? Можно ли это сделать?
|
Добавить его в Watch и настроить прерывания там.
|
|
|
|
08.04.2013, 12:56
|
|
Прохожий
Регистрация: 30.03.2013
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Proteus общие вопросы
День добрый, столкнулся с такой проблемой: в программе в зависимости от прочитанного элемента таблицы на осциллограф выводится синусоида с фазой +/-Pi. Но при этом вечно спотыкается на тестовой прогонке кода и выдаёт ошибку "address out of range" на метке перехода на вторую ПП. Поменял ПП местами - начал ругаться на первую ПП(теперь стоящую второй), ошибка та же. При этом простой вывод трех подпрограмм синуса, синуса с фазой Pi и задержки идёт в полном порядке, без каких-либо проблем. Как решить этот косяк?
И второй вопрос, слегка не по теме. В самом начале программы поставил таблицу, которая задаёт вывод синуса с определённой фазой, при этом на неё ничего больше не завязано(к тому моменту ещё не написал ПП, использующую эту таблицу). Ожидаемой картины "синус-синус с фазой Pi-задержка" не получилось, пошли совершенно левые сигналы на осциллографе. Закомментировал таблицу - всё ок. С чем может быть связано?
P.S. В самом файле есть комментарии, где что как. Надеюсь, тоже помогут.
Вложения:
|
КБ.zip (1.29 Мб, 64 просмотров) |
|
|
|
|
05.05.2013, 09:07
|
|
Частый гость
Регистрация: 01.03.2008
Сообщений: 31
Сказал спасибо: 2
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Proteus общие вопросы
PIC18, нужно заполнить eeprom данными
Есть непонятный момент:
На PIC18 eeprom заполняется через 00 байт, на PIC16 все подряд. CCS 4.140. Proteus 7.10.
Как сделать, чтобы заполнялось подряд?
|
|
|
|
05.05.2013, 15:17
|
|
Прохожий
Регистрация: 05.05.2013
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Proteus общие вопросы
Здраствуйте форумчане. Помогите разобраться со схемой, при симуляции ошибка too many parametrs for subcicruit для АЦП.
|
|
|
|
05.05.2013, 18:46
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
|
Re: Proteus общие вопросы
Сообщение от chernoten
|
при симуляции ошибка too many parametrs for subcicruit для АЦП.
|
Ошибка в библиотеке Протеуса. Файл ANALOGD.SML - баг разработчиков. ( Тень, возьми на заметку (!!!) - надо прересобрать).
Для модели ОУ AD8571 (chernoten тут ошибся АЦП ни при чем) в SPICE модели наблюдается следующая строчка (после декомпиляции через GETSPICE.EXE я выделил красным):
Код:
|
*Object ANALOGD.SML/AD8571
.SUBCKT AD8571 *
* INPUT STAGE* |
Реально вместо звездочки "во лбу" должны быть копыта, тогда это будет "наша лошадь, он нам денег должен" (реплика из мульта про Алешу Поповича), а конкретно так:
Код:
|
.SUBCKT AD8571 1 2 99 50 45
* INPUT STAGE |
Отсюда и бредятина PROSPICE в логе.
2 chernoten - Вам это очень надо? В принципе, если знакомы с FAQ по Протеусу, то я там описывал - как это сделать. Просто мне сейчас некогда, занят "пИсательством", если сами не в состоянии - смогу сделать чуть позже завтра-послезавтра. Тогда сообщите, что мол "сам не могу". Сложного ничего нет, можно взять SPICE файл модели у AD здесь , изменить ему расширение с .cir на .lib и подпихнуть его модели в Протеусе.
Последний раз редактировалось Halex07; 05.05.2013 в 18:53.
|
|
|
|
05.05.2013, 19:43
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
|
Re: Proteus общие вопросы
Сообщение от kib12
|
Как сделать, чтобы заполнялось подряд?
|
Не пойму причем здесь Протеус? Если вопрос по CCS PICC, то стоит заглянуть в его хелпу. Например, в раздел Pre-processor directives -› #ROM
Читаем: про #ROM int8 address = {list}
Цитата:
|
The int8 option indicates each item is 8 bits, the default is 16 bits. The char option treats each item as 7 bits packing 2 chars into every pcm 14-bit word.
|
Нужное выделил красным (Вам всю фразу перевести, или уж сами через какой нибудь google-переводчик?).
Ну вот Вы и пишете в дефолте - младший байт первый, старший - 0x00, что не устраивает?
ЗЫ Йо-хо! Сделал перерыв и... (смотри картинку). Блин, (в смысле яйцо пасхальное), никогда не занимался 18-ми Пиками, даже Фаберже- jump меня разок "умыл от души", и до сих пор считает, что я на него обижен, но ведь ни то ни другое, да и не нужны мне "пики", я в "червях" ST-ных, да "трефях" TI-шных ныне игру налаживаю, даже "бубновых" AVR забросил в долгий ящик.
Последний раз редактировалось Halex07; 05.05.2013 в 20:41.
|
|
|
Сказали "Спасибо" Halex07
|
|
|
07.05.2013, 20:03
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.05.2008
Адрес: регион 63
Сообщений: 1,832
Сказал спасибо: 742
Сказали Спасибо 683 раз(а) в 386 сообщении(ях)
|
Re: Proteus общие вопросы
Глупый вопрос,наверное, но что то никак не соображу зациклился.
Мега8, тактовая 8МГц, таймер Т1, делим тактовую на 8 ,получается 1МГц, Mode: CTC top=OCR1A, в OCR1AL=0x0A; т.е делит на 10 , должно быть 100КГц, далее в прерывании PORTB.1=!PORTB.1, это ещё делим на 2, на выходе порта должно быть 50КГц. Почему получается 180 КГц ?
11.rar
__________________
Да здравствует Разум,да сгинет Маразм!
|
|
|
|
08.05.2013, 19:43
|
|
Прописка
Регистрация: 14.11.2006
Сообщений: 150
Сказал спасибо: 31
Сказали Спасибо 125 раз(а) в 62 сообщении(ях)
|
Re: Proteus общие вопросы
Сообщение от E_C_C
|
...Почему получается 180 КГц ?
|
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{
TCNT1=0x00;
PORTB.1 = !PORTB.1;
}
void main(void)
{
...
TCCR1A=0x00;
TCCR1B=0x02;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=8;
OCR1BH=0x00;
OCR1BL=0x00;
...
}
|
|
|
|
15.05.2013, 21:59
|
|
Временная регистрация
Регистрация: 11.01.2007
Сообщений: 93
Сказал спасибо: 12
Сказали Спасибо 53 раз(а) в 24 сообщении(ях)
|
Re: Proteus общие вопросы
Всем доброго!!!,
Столкнулся с проблемой, при запуске симул. Прот стартует не стой позиции, читал по форуму может быть проблема в AVR2.dll
Протеус 7.10
Проэкт компилирован в АВР Студии 6.1, в дебурге АВР все впорядке ...
|
|
|
|
16.05.2013, 21:44
|
|
Временная регистрация
Регистрация: 15.05.2010
Адрес: г. Липецк
Сообщений: 88
Сказал спасибо: 8
Сказали Спасибо 16 раз(а) в 10 сообщении(ях)
|
Re: Proteus общие вопросы
Отладил сложную схему на дочернем листе, захотел оформить ее в виде компонента с MDF файлом. Создаю MDF и вижу такие строки:
Цитата:
|
*PARTLIST,109
U1_P1,RTDPROBE,,ELEMENT=0,PRIMITIVE=DIGITAL
U1_P2,RTDPROBE,,ELEMENT=1,PRIMITIVE=DIGITAL
U1_U1,DTFF,DTFF,PRIMITIVE=DIGITAL
...
|
Эти RTDPROBE соответствуют прямому и обратному выходам триггеров.
Т. е. хотя на листе не осталось ни одного пробника, Протеус как то о них помнит и включил в файл модели. Пробовал копировать/вставлять на другой лист, не помогает. Может кто подскажет, как избавиться от RTDPROBE?
Кажется понял в чем дело:
По собственной невнимательности вместо modeling primitive DTFF использовал active primitive DTFF.
Последний раз редактировалось anakost; 17.05.2013 в 15:12.
Причина: Разобрался
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:36.
|
|