27.03.2012, 07:01
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
|
Re: Proteus модели
Prime, дополню ответ Kabron. Графически их вообще можно не рисовать - ни открытые, ни скрытые, например, у многих МК их вообще нет. Но!!! Как только Вы задали модели параметр ITFMOD какой либо серии, считайте, что привязались к конкретным шинам питания. Загляните в файл ITFMOD.MDF в папке MODELS в текстовом редакторе каждая строка - серия. И еще эти ноги "всплывут" при назначении конкретного корпуса вашему девайсу.
|
|
|
|
27.03.2012, 10:52
|
|
Гражданин KAZUS.RU
Регистрация: 13.06.2005
Адрес: РК г.Павлодар
Сообщений: 866
Сказал спасибо: 99
Сказали Спасибо 216 раз(а) в 140 сообщении(ях)
|
Re: Proteus модели
Сообщение от OverHead
|
Halex07
Hmuryj_Mik Вы не могли бы прояснить, что даёт эта конструкция или где прочитать?
#ifdef DEBUG_PROTEUS
...
#else
...
Хотя бы в двух словах, что мне даст её использование? Судя по всему, это СИ, в AVR ASSEMBLER нет вроде решёток. Я пишу на Ассемблере.
|
Прочитайте что такое условная компиляции., в асме она тоже присутствует.Ну а в сях, для примера я когда то делал так
#define t261
#ifdef t261
#define T0MODE TCCR0B //261
#define T0CNT TCNT0L
#define ADCCON ADCSRA
#define STADC ADCSRA_Bit6
#define FLADC ADCSRA_Bit4
#else
#define T0MODE TCCR0 //26
#define T0CNT TCNT0
#define ADCCON ADCSR
#define STADC ADCSR_Bit6
#define FLADC ADCSR_Bit4
#endif
__________________
Не ошибается лишь тот, кто ни чего не делает!
|
|
|
|
27.03.2012, 13:03
|
|
Частый гость
Регистрация: 22.06.2010
Сообщений: 23
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 3 сообщении(ях)
|
Re: Proteus модели
Сообщение от woroba
|
что мне даст её использование?
|
Дает возможность "получить результат" не имея нужной/достоверной модели. Например - отрабатывалась индикаця на mega128, а в железе реализовано на mega16. Да и в общем, ИМХО, использовать этот продукт лучше в этом ключе. Всегда можно "извернуться", а не искать модели на все подряд.
|
|
|
|
27.03.2012, 18:33
|
|
Прохожий
Регистрация: 14.07.2010
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Proteus модели
У когото есть библиотека под lm75a датчик? Ну очень нужно.
|
|
|
|
27.03.2012, 22:24
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
|
Re: Proteus модели
Сообщение от OverHead
|
Судя по всему, это СИ, в AVR ASSEMBLER нет вроде решёток. Я пишу на Ассемблере.
|
Ох, че то меня сегодня на цитаты из кинушек потянуло...
Как там сказал профессор Преображенский Шарикову:
"Вы стоите на самой низшей ступени развития..." в данном случае Ассемблера. И хотя это не имеет прямого отношения к Протеусу, но статус не дает права тихо промолчать в данном случае. Сначала насчет условных дирректив. Открываем родную Атмеловскую студию, даже не 5-ю, а 4-ю, а точнее ее Help. Скриншот 1 уже опровергает отсутствие условных дирректив, только в версии 1.72 они писались с точками.
Example:
Код:
|
.MACRO SET_BAT
.IF @0›0x3F
.MESSAGE "Address larger than 0x3f"
lds @2, @0
sbr @2, (1‹‹@1)
sts @0, @2
.ELSE
.MESSAGE "Address less or equal 0x3f"
.ENDIF
.ENDMACRO |
Идем дальше в том же хелпе и в AVRASM 2 обнаруживаем картинку 2. Ну, так как насчет решеток? Вот собственно эти диррективы препроцессора нам и интересны особо, потому что дают возможность строить универсальные программы под несколько камней. Пример чуть выше привел woroba. Ну и что в том, что на Си? Различия в коде минимальны. Вот код примера из того же хелпа AVR Assembler 2:
Код:
|
#if defined(__ATmega48__) || defined(__ATmega88__)
// Здесь код специфичный для Мег 48 и 88
#elif defined (__ATmega169__)
// Здесь код специфичный для Меги 169
#else
#error "Unsupported part:" __PART_NAME__
#endif // part specific code |
Теперь достаточно один раз в начале через #define назначить нужный из заданных в этой структуре камней и можно компилировать код под него. Если обуял склероз, дирректива #error при компиляции напомнит Вам о том, что камень не задан. Ну и применительно к Вашему случаю делаете #define __ATtiny261__ для Протеуса, а в части
#if defined(__ATtiny261__) описываете векторы прерываний и прочую лабуду, относящиеся к Тиньке 261. С этим и отлаживаете. В части
#elif defined (__ATtiny26__) кода должно быть все определено под этот камень. Ну, памятку для склеротиков можете делать, можете нет - дело вкуса. Перед записью в железо компилируете код под Тиньку 26 сменив всего одну строчку в #define. Все, надеюсь расписал достаточно подробно и далее по Ассемблеру читайте Help, тем более, что его и искать не надо, он уже торчит в вашем компе, если стоит студия. В ветке по моделям Протеуса не вижу смысла обсуждать премудрости ассемблера для AVR.
Последний раз редактировалось Halex07; 27.03.2012 в 22:28.
|
|
|
|
28.03.2012, 13:47
|
|
Частый гость
Регистрация: 28.07.2006
Сообщений: 48
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Proteus модели
Давно заметил, что модель триггера 74175 (155ТМ8 ) ведёт себя в моём экземпляре Proteus несколько странно:
Инверсные выходы не выдают инверсный сигнал.
Для сравнения ниже у модели 7475 этой неприятности не наблюдается.
Пока не использовал инверсные выходы - это смущало, но не мешало.
А тут как назло и инверсные
выходы в правильном виде понадобились.
Решил попробовать исправить модель, вынул из библиотеки DIGITAL.LML файл 74XX175.MDF.
Надеялся, что 74175 моделировали по её схеме:
Но не тут-то было. По похожей схеме с примитивами триггеров смоделирована 7475, а в модели 74175 использован следующий примитив:
Причем, судя по тексту 74XX175.MDF даже не один.
Цитата:
|
*PARTLIST,2
U2,LATCH_4,LATCH_4,INIT=‹INIT›,INVERT=RESET,PRIMIT IVE=DIGITAL,TDHLCQ=‹TDHLCQ›,TDLHCQ=‹TDLHCQ›,TDRQ=‹ TDRQ›,TGQ=‹TGQ›
U3,LATCH_4,LATCH_4,INIT=‹INIT›,INVERT="RESET,Q[0..3]",PRIMITIVE=DIGITAL,TDHLCQ=‹TDHLCQ›,TDLHCQ=‹TDLHCQ ›,TDRQ=‹TDRQB›,TGQ=‹TGQB›
|
А вот как авторы собирались сделать инверсию, я к сожалению, не понял по файлу 74XX175.MDF.
Если не затруднит, помогите исправить модель 74175.
|
|
|
|
28.03.2012, 14:31
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Re: Proteus модели
Да, так и есть. Инверсные выходы построены точно такие же как и неинверсные. Добавил в журнал, исправлю когда руки дойдут. Спасибо!
|
|
|
|
28.03.2012, 17:06
|
|
Прохожий
Регистрация: 22.08.2009
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Proteus модели
Модель MAX487 при включении по стандарту SAE J1708:
DI,RE = Земля(-),DE - вход,RO-выход и сеть:А и В. При подачи на DE="0",на А и В по "1",По Сети нет Передачи\Приема,а должно Быть А= "1",В="0",Сеть работает,при DE="1",как и должно быть,А="0",В="1",в Сети нет Приема\Передачи.
Как исправить ?
Подбор Сопротивления на Линии В,"вылечил" модель.
Последний раз редактировалось d2812; 15.04.2012 в 17:14.
|
|
|
|
28.03.2012, 19:41
|
|
Гражданин KAZUS.RU
Регистрация: 14.11.2008
Сообщений: 701
Сказал спасибо: 298
Сказали Спасибо 283 раз(а) в 193 сообщении(ях)
|
Re: Proteus модели
Сообщение от Lavrentii
|
ведёт себя в моём экземпляре Proteus несколько странно:
|
А в моём ведет себя правильно
|
|
|
|
28.03.2012, 19:53
|
|
Вид на жительство
Регистрация: 09.10.2010
Сообщений: 397
Сказал спасибо: 51
Сказали Спасибо 91 раз(а) в 73 сообщении(ях)
|
Re: Proteus модели
Сообщение от Lavrentii
|
помогите исправить модель 74175.
|
А стоит так мучаться? Почему инверторами нельзя обойтись?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:31.
|
|