Перейти к содержанию
    

Динамическая Индикация + Proteus VSM 7

Динамика в протеусе отлично (в целях отладки) работает. Надо только использовать дисплеи а не светодиодные модели. В настройках дисплея ставится время minimum trigger time. А светодиоды вообще симуляцию вешают, вместо них лучше пользоваться LOGICSTATE ( в место одиночного светодиода), и вообще как почти во всех симуляторах проще и быстрей работает с примитивами. Можете посмотреть на модель моих часов для версии протеуса6,95 http://startcd.narod.ru/clock/proteus16n.rar

Вот и получается, что работать приходится на Proteus, а не на реальное железо... + врямя, затраченное на адаптацию программы к реальному железу...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но иногда протеус сильно выручает, вот например эти часы, я по просьбам почти полностью изменил и отладил в протеусе, и реально их не собирал. Но со мнением SasaVitebsk и haker_fox почти полностью согласен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для отладки макета пользуюсь подобной макеткой

http://www.chipdip.ru/library/DOC000054955.pdf

Плюс в том что девайс собирается без пайки за пол-часа.

И контроллер, и индикатор, и импульсный преобразователь/кренка, кнопки, светодиоды.

Получается полноценный девайс (для отладки :) ). При необходимости что то изменить не надо перепаивать, переткнул джампер или поменял резистор/конденсатор.

Если компоненты в SMD корпусах, то приходится подпаивать выводы (МГТФ+PLS).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но иногда протеус сильно выручает, вот например эти часы, я по просьбам почти полностью изменил и отладил в протеусе, и реально их не собирал. Но со мнением SasaVitebsk и haker_fox почти полностью согласен.

А в реальном железе они работают?

А как быть с различного вида помехами? Их, я думаю, в протеусе не заметишь даже... Было дело, что я вынес датчики температуры (шина I2C) на расстояние 2 м от устройства. При включении лампы дневного света, модуль TWI вис наглухо. А на нем были часы DS1307 и память EEPROM. Проблему решить никак не смог: опыта маловато. Но написал софтовую реализацию этой шины, и вынес на нее датчики температуры. Девайс работал нормально. Это просто пример того, что отладку вести следует на реальном железе.

А для отладки программной существует JTAG.

Лично я пока обхожусь дисплеем на базе hd44780, который и так будет работать в устройстве, но сейчас попутно на него выводится отладочная информация.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я радиолюбитель, и микроконтроллеры это только хоби. Так вот, мне протеус очен сильно помогает. А у Вас уже другой вопрос, что следует отлаживать в симуляторе? К примеру аналоговые схемы отлаживаю в микрокапе. Если сами не пользуетесь симмуляторами то зачем других отговаривать, не все же проффесианалы. Я тоже пользуюсь JTAG, и отладочную инфу передаю на комп по UART, но с некоторыми устройствами гораздо быстрей получается в протеусе, чем каждый раз прошивать и смотреть в реале.

А в реальном железе они работают?

Вот и пример, сравните проект часов на телесистемах и на моей страничке, почти все изменения сделаны в протеус, и все работает.

http://telesys.ru/electronics/projects.php?do=p132

http://startcd.narod.ru/clock/clock.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Задачи требуют решения.

Как и с помощью чего - опыт подскажет.

Рассуждения о достоинствах и недостатках

того или иного инструмента зачастую

навязывают совершенно неверную и

субъективную их оценку.

Ex_Ind.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не совсем правильно выразился или, если внимательно почитать Вы не совсем меня правильно поняли. Я не против Протеуса или любой другой программы. Я с уважением отношусь к людям имеющим значительный багаж знаний. Я просто против подхода когда человек знает 150 пакетов а на проверку - ни одного.

 

Если человек досконально знает протеус, то это, безусловно, ему поможет - в том или ином случае. Но у нас люди привыкли прихватом обходится. Там чуть-чуть - там чуть-чуть. Я против этого. На сегодняшний день я уже регулярно использую столько пакетов в своей повседневной работе, что меня уже клинит. Вся моя сущность уже протестует против изучения новых. Я отдаю себе отчёт, что нормально изучить пакет мне не удастся, по причине отсутствия времени и ... желания. Поэтому лучше досконально изучить те несколько пакетов, без которых абсолютно не возможно обходится.

 

 

Но это сугубо мой взгляд. Он обусловлен моими возможностями к обучению или свойствами моего организма. А человек уникален. Для некоторых, я уверен, всё будет с точностью наоборот. Поэтому здесь нет места рекомендациям. Я просто, обращаю внимание на свой подход. Надо попробовать и так и так - и выбрать свой путь.

 

 

 

 

А главное, я в этом убеждён, я уже написал. Самое дорогое - это Ваше личное время. Не тратьте его напрасно. В 20 лет кажется, что его очень много. Но мне, в мои 40, кажется, что его так мало осталось, и мне безумно жаль что кто-то его тратит легко и непренуждённо. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К примеру аналоговые схемы отлаживаю в микрокапе. Если сами не пользуетесь симмуляторами то зачем других отговаривать,

Чтобы не тратили время на ерунду.

Пару раз промоделировать ваши устройства и аналоговые схемы не на программах-симуляторах, а на живых макетах устройств. Спалить пару деталюшек - не страшно, зато схемы потом будете составлять "на глаз" без всяких доп. средств моделирования.

 

Что вы потеряете с таким подходом - пару часов на изготовления макета, немного денег на детали. Что приобретете - максимально приближенную к реальному устройству достоверную модель, опыт изготовления макетов, опыт компоновки схем, опыт проверки железа.

 

+1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2Саша

 

Это интегрированый пакет,полностью весь цикл.

От написания программы ,до подготовки всей документашии ,списка элементов,печатки,масок фотошаблонов,координат для сверления отверстий станком,принципиальной схемы ,расположения элементов ,автотрассировка и т.д. ну и плюс симулятор ,короче все в одном флаконе.

Тоесть в большинстве случаев его хватает одного заметь кучи других пакетов.

 

2defunct

 

Согласен насчет опыта.

Но не согласен в подходах :)

Я 13 лет занимаюсь разбором полетов в аналоговых и цифроаналоговых схемах ,

и мне легче застрелиться ,чем учитывать 40 параметров транзистора "на глазок" ,при

разработке какокой нибудь приблуды ,заместь микрухи котрую фиг найдеш или стоит просто сказочно дорого.

Кстати многие аналоговики пользуются подобными пакетами ,как для симуляции ,так и для расчетов ,

и совершенно этого не стесняются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это интегрированый пакет,полностью весь цикл.

От написания программы ,до подготовки всей документашии ,списка элементов,печатки,масок фотошаблонов,координат для сверления отверстий станком,принципиальной схемы ,расположения элементов ,автотрассировка и т.д. ну и плюс симулятор ,короче все в одном флаконе.

Тоесть в большинстве случаев его хватает одного заметь кучи других пакетов.

Видимо так думают далеко не все, ибо такие пакеты как P-CAD, Protel, Spectra, M-CAP и проч. продолжают жить. ИМХО: лучше у меня будет несколько пакетов программ, но каждый будет делать свою работу идеально (ну или очень близко к идеалу), чем 1 пакет, подчиняющийся формуле: "несколько в одном".

А вообще, таких вопросов, как "почему на макетке работает, а в протеусе (VMlab) нет" или "почему в протеусе (VMlab) работает, а на макетке нет", просо не должно задаваться. Ибо далее идут советы, которые направлены на то, чтобы либо протеус подогнать к работающий программе, либо не работающую на рельном железе программу (но отлично работающую в протеусе), подогнать к этому железу...

Как верно сказал defunc лучше изготовить макету. Ибо (имхо) возьня с протеусом говорит, что человек еще просто не нашел себя в электронике.

Все вышесказанное отношу только к отладке программ для МК, про аналоговую часть молчу.

Согласен насчет опыта.

Но не согласен в подходах :)

Я 13 лет занимаюсь разбором полетов в аналоговых и цифроаналоговых схемах ,

и мне легче застрелиться ,чем учитывать 40 параметров транзистора "на глазок" ,при

разработке какокой нибудь приблуды ,заместь микрухи котрую фиг найдеш или стоит просто сказочно дорого.

Кстати многие аналоговики пользуются подобными пакетами ,как для симуляции ,так и для расчетов ,

и совершенно этого не стесняются.

Здесь все таки вопросы по-большей части не по аналоговой части, а цифровой (форум по МК).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вставлю и свои пять копеек. Когда качал Протеус - думал что вот оно счастье. А сейчас только иногда аналоговую часть моделирую в нем (рисовать быстро, но не все модели компонент есть). На моделирование МК просто время жаль тратить. Сразу в живую прошиваю и на макете отлаживаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

. ИМХО: лучше у меня будет несколько пакетов программ, но каждый будет делать

 

Ну а мне приятнее когда один проект переноситься на все этапы,вот где действительно время экономиться.Чем в каждом пакете создавать один и тотже проект.

Ладно ,о вкусах не спорят.

 

Насчет отладки ,я уже и сам давно не пользуюсь,так как задачи давно не по зубам симулятору.

лампочками там всякими мигаю,на комп инфу вывожу :)

Но я всегда выступал за обьективную оценку продукта ,тоесть в любой вещи есть не только слабые стороны но и сильные ,которыми грех не воспользоваться.

 

Здесь все таки вопросы по-большей части не по аналоговой части, а цифровой (форум по МК).

 

Угу,не раз был свидетелем ,когда опытные программеры спотыкались на банальных вопросах по аналоговой части и не знали куда с ними податься ,так как железо это не только один МК на одной плате :lol: ,и не раз был свидетелем когда программер считал себя суперразработчиком железа ,когда кроме того как топтать кнопки на компе- больше ничего не умел:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мдаа... Народ далеко от темы ушел :). Скажу по теме :). Когда я пытался моделировать динамическую индикацию в Протеусе, заметил, что работает она только с индикаторами в несколько цифр в одном корпусе, с одиночными идет видимое переключение с одного на другой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С протеусом есть засада в динамической индикации. Решение проблемы в следующем, после засветки индикатора далать паузу от 1 мс. Кстати прога написана верно, поставить нужно только задержку.

А по поводу симуляторов. Я Уважаю людей которым уже далеко за 40 а они стараются разобраться с новым софтом и железом. Но Александр вы прекрасно знаете в каком городе мы живем. Если-бы не Стелл мы бы электронщики вымерли как мамонты. Для меня спалить очередной МК из разряда траура, т.к. покупка нового сопряжена с определенными проблемами. И в довесок очень часто я программирую на работе, а всю домашнюю приблуду на работу не потянешь, а протеус позволяет мне в рабочее время спокойненько отлаживать свои устройства.

 

Вот в довесок код из часов что делал я.

В протеусе работает великолепно. В железе пока не собирал, у меня сыну 10 месяцев иногда даж посидеть некогда :-)

 

unsigned char ind(unsigned char a) // перевод числа в символьное представление

{

unsigned char b;

switch (a)

{

case 0: // 0

b = 0b00111111;

break;

case 1: // 1

b = 0b00000110;

break;

case 2: // 2

b = 0b01011011;

break;

case 3: // 3

b = 0b01001111;

break;

case 4: // 4

b = 0b01100110;

break;

case 5: // 5

b = 0b01101101;

break;

case 6: // 6

b = 0b01111101;

break;

case 7: // 7

b = 0b00000111;

break;

case 8: // 8

b = 0b01111111;

break;

case 9: // 9

b = 0b01101111;

break;

}

return b;

}

 

void indicator (unsigned char c,unsigned char d,unsigned char e,unsigned char f) // вывод числел на индикаторы

{

if (PINB.2)

{

PORTD = c;

PORTC.1=0;

delay_ms(1);

PORTC.1=1;

 

// Второй разряд

 

if (sec%2) // Моргание точечкой каждую секунду

{

PORTD = d | 0b10000000;

PORTC.2=0;

delay_ms(1);

PORTC.2=1;

PORTD = 0;

}

else

{

PORTD = d;

PORTC.2=0;

delay_ms(1);

PORTC.2=1;

PORTD = 0;

}

 

// Третий разряд

PORTD = e;

PORTC.3=0;

delay_ms(1);

PORTC.3=1;

 

 

// Четвёртый разряд

PORTD = f;

PORTC.4=0;

delay_ms(1);

PORTC.4=1;

 

}

}

 

// Timer 0 overflow interrupt service routine

interrupt [TIM0_OVF] void timer0_ovf_isr(void)

{

indicator( ind(min/10), ind(min%10), ind (sec/10), ind (sec%10) );

}

Изменено пользователем DEST Vitebsk

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...