2 243 сообщения в этой теме

my504    154
В железе пока не пробовал, остановлюсь на PIC 16F628A. переустановлю PROTEUS новую версию, попробую еще раз, а потом буду пробовать в железе PIC 12F629.

Поставь Протеус 7.1 - и 12F заработают. Но Протеус глючен весьма (по крайней мере в ломаных версиях). ИМХО, кроме забавной мультяшности, я никаких особых фич, по сравнению с МПЛАБом не ощутил. Профессионалу все эти мигающие светодиоды не очень нужны, особенно когда им не очень можно верить. Правильно выстроеные стимулы в МПЛАБе дают, пусть и не такую наглядную, но все же гораздо менее глючную симуляцию.

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


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

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
ViKtor_VK    1

PROTEUS переустановлю однозначно (глюк-точно его). 7.1 у меня есть, но слышал что есть поновее.

Пользуюсь PROTEUSом из-за его наглядности. Когда делал программу 5-разрядного счетчика

с делителем, с предустановкой и сохранением в памяти (для работы и в обучающих целях),

то он очень мне помог, хотя и по МРLABу много гонял программу(она у меня старенькая,

поставлю вер.7.50) Программа по PIC12F629 на светодиодах для выяснения - где "глюк",

а основная программа откомпилировалась без ошибок. До стимулов в МРLABе пока не дошел.

Глубокого описания у меня нет, потому и не использую, если есть где на русском - буду

очень благодарен!

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


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

ViKtor_VK

Неумение работать с профессиональными инструментами - это не страшно - можно сесть и за несколько часов разобраться (даже на английском). НЕЖЕЛАНИЕ с ними работать - это гарантия неудач...

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

И еще об одном. "Мультики" Протеуса имеют своим главным дефектом убедительность результата, НЕДОСТОВЕРНОГО результата. Это для начинающего смерти подобно... Когда знаешь, что полученный результат УСЛОВЕН, то использовать Протеус можно, а когда полностью доверяешь... :(

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


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

Как-то раз писал программу, где после каждого переполнения таймера выполнялись кое-какие вычисления. Главное условие было, чтобы код успевал завершится к следующему переполнению. VmLab показал что все успевается...Но на практике оказалось что нет. Proteus же отсимулировал все на "ура" и в реальном времени...

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


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

Goodefine

Это не противоречит сказанному мной. Раз все удачно - ну и хорошо. А вот неудача в симуляторе программного типа - это неучет чего то в стимулах. Я, например столкнулся с неккоректной симуляцией компаратора в пике. Есть модели, где он (компаратор) вообще не работает. Нет, Протеус (в смысле ИСИС) продукт неплохой, но пользоваться им нужно с оглядкой, особенно новичку. Это как с Си - начинать нужно с АСМа, а лишь освоив глубинные механизмы функционирования, использовать язык высокого уровня...

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


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

Я использовал симулирований PIC16F648a и реальный сим300д. Все работало на ура. Собрал реальную схему работало все глюками. И думаете ошибка протеуса, НЕт. Неправильно я подвел одну дорогу от МК к модулю. Вот так.

А вообще за ПО ничего говорить не хочу. Просто как факт.

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


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

Долгое время писал проги для пиков на асм. Начал осваивать С для пиков PICC Lite и столкнулся с такой бедой: после компиляции программы компилятор размещает ее начиная с адреса 0х2Е.

т.е. при симуляции работы программы получается что до начала исполнения основного кода процессор выполняет команды из незаполненных ячеек(addlw 0xFF) т.е. глупо тратится время в несколько сотен мкс на их выполнение!.

И еще не ясно как происходит переход по вектору прерывания на адрес 0х04? В коде С процедура обработки прерываний определена как void interrup, но при установке точки останова в дисасемблерном листе на команды в этой процедуре видно что туда обращения не происходит!?

Может просветите....?

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


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

Большое спасибо за разбор моих затруднений по PROTEUSу и МПЛАБу.

Да... PROTEUSу я доверял полностью, а оказывается не все так просто, спасибо за

разъяснения (в нем работаю не так давно и естественно не знал этих "подводных камней")

А что касается стимулов, то я и сам уже понял, что нужно двигаться вперед не взирая

на отсутствие русских переводов.

Еще раз Всем Спасибо!

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


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

Да английский сейчас рулит в доках, но там не просто английский - там технический английский. Но он проще разговорного (это моё мнение). ПРидет с опытом все.

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


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

Подскажите, Picstart Plus позводит мне прошить PIC16F876A, если я использую PLAB IDE?????????

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


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

Зайдите в гугл, наберите там тип программатора. Я уверен, что за 5 мин можно узнать список камушков.

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


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

Уважаемые форумчане!!

В этом топике будем рассматривать только PIC, для тех кто в танке - ТОЛЬКО PIC.

Задавайте вопросы, будем все месте думать и отвечать.

За флуд - бан.

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


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

PICи каких семейств будем изучать?

Мне бы было интересно если и Pic24,30,33 рассматривались здесь.

Изменено пользователем ИнЖеНиГеР

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


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

для этих целей я вам советую на http://microchip.su

А сдель будем рассматривать более доступные 10,12,16 и 18 серии.

Суть в том что помочь тем кто тока осваивает эти камушки.

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


Ссылка на сообщение
Поделиться на других сайтах
для этих целей я вам советую на http://microchip.su

А сдель будем рассматривать более доступные 10,12,16 и 18 серии.

Суть в том что помочь тем кто тока осваивает эти камушки.

Я и там сижу :) А так идея хорошая (по поводу помощи начинающим), чем смогу тем помогу, так сказать внесу свою лепту в обучение начинающих :)

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


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

Всем привет!

У меня появился вопрос. МК- PIC16F628A

В МК используются не все выводы портА и портВ. В портА использую один вывод(пока)-это кнопка, в

портВ использую 6 выводов(работают на выход) остальные в резерве.

Вопрос по не испозумым выходам. Читал, что бросать их висящими в "воздухе" нельзя.

Нужно присоеденить их к "+" или "-" через резистор. Как сделать правильно? :(

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


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

Я хочу спросить насчёт языка программирования. Я отношу себя к начинающим и, как наиболее доступный вариант, выбрал для написания программ MPLAB, поскольку, там уже всё есть и бесплатно. Пишу, естессно на асемблере. Знаю, что Lexi поклонник СИ. Но я слышал, что на асемблере получается самый компактный код. Есть ещё PicBasic...

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

Изменено пользователем P&V

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


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

Выходы никуда не нужно присоединять. Это касается только входов. На свободных входах д.б. программно включены пулл-ап резисторы на питание. Иначе в КМОПах на внутренних выходных парах будет идти сквозной ток. Это приводит к высокому потреблению и разогреву чипа.

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


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

На это вопрос я отвечу так, надо знать 2 языка асм и си. Но владеть советую Си. Если Вы захотите перейти на другой МК, по Вам не притеть все переделывать. В этом и есть перелесть языка высокого уровня.

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


Ссылка на сообщение
Поделиться на других сайтах
my504    154
На это вопрос я отвечу так, надо знать 2 языка асм и си. Но владеть советую Си. Если Вы захотите перейти на другой МК, по Вам не притеть все переделывать. В этом и есть перелесть языка высокого уровня.

Ты абсолютно прав. Но начинающий, используя Си, в какой-то степени абстрагируется от матчасти. В результате на форумах от опытного эмбеддера вдруг слышишь совершенно примитивный вопрос. ИМХО, Си нужно заслужить опытом. Да и в АСМе написание кода с "фокусами" - непередаваемое эстетическое удовольствие...

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


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

Возможно кому-то пригодится и такая программа PIC Simulator IDE, лично мне очень понравилась простая, удобная, можно оттестировать всю работу программы без зашивки ее в PIC, тоько при ее использовании убирайте все задержки из кода программы, а то ждать замучаетесь. Имеется внешний вид контролера, симуляция(может не то слово) аппаратного UART. Попробуйте попользовать.

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


Ссылка на сообщение
Поделиться на других сайтах
Aeore    0
Я хочу спросить насчёт языка программирования. Я отношу себя к начинающим и, как наиболее доступный вариант, выбрал для написания программ MPLAB, поскольку, там уже всё есть и бесплатно. Пишу, естессно на асемблере. Знаю, что Lexi поклонник СИ. Но я слышал, что на асемблере получается самый компактный код. Есть ещё PicBasic...

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

Для успешного плаванья нужно знать два языка - Ассемблер и С. Ассемблер - без вариантов, а с си дела обстоят несколько иначе - дело в том, что каждый компилятор реализует его по своему, поэтому кроме языка нужно еще выбирать компилятор, с которым будешь работать. В целом разницы, как правило, не много, но в каждом есть свои фичи, связанные с прерываниями и работой с периферией. :-) Так что не удивляйся, если код, успешно компилирующийся в одном компиляторе, вызовет кучу ошибок в другом:-)

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


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

Можно и на АСМе написать неоптимальный код. Зависит от мастерства разработчика.

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

Хотя я не говорю о том, что ASM не нужен, у самого куча библиотек на нем написана.

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

Единая среда разработки очень сильно облегчала работу в режиме "перескока".

Если проц изучается для любительских поделок, и не предполагается работать над широким спектром задач, то тогда выбор однозначен - ASM. Изучил одно ядро, в нем и пишешь.

Использование Си-компилятора специализированного под конкретный проц, не дает серьезного выигрыша.

И эффективность не самая высокая, и с переносимостью проблемы будут.

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


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

Подскажите, не могу понять. Прошил PIC16F876A. Ставлю в схему (универсальная плата) генератор RC не заводится. В PICе использую часть порта Ф и порт В через триггер на светодиоды. Исключив триггер RC генератор заводится, но не очень хорошо, во первых частота чтото маленькая, больше 200кГц не была, во вторых частота в основном иде пачками. Может кто сталкивался с этим подскажи.

И еще один вопрос как PICи к статике и как с этим боротся?

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: karomag
      Добрый день.
      Экспериментирую с подключение 7-сегментного индикатора к мк stm32. Индикатор с общим катодом. Соответственно для вывода цифры необходимо на анод каждого сегмента подать 1, а на общий катод 0. И тут я не могу понять какие токи будут через порты. Теоретически, пины МК подключенные через резистор 300 Ом к аноду (напряжение МК 3.3 В) то ток будет 4 мА, тогда на общем катоде должно быть 7 * 4 = 28 мА (цифра 8, т.е. горят все сегменты). Т.е. это небольшое, но превышение макс тока на ногу 20 мА. И надо общий вывод подключать через транзисторный ключ.
      Взял мультиметр. Результаты замера: ток каждого сегмента ~2.5 мА, ток общего катода 5 мА. Вот тут я подумал о школе Хогвардс))) Как все таки рассчитывается все таки ток на общем выводе? 
    • Автор: art_budka
      Ищу подрядчика для разработки проекта робота-рисовальщика. Есть бюджет, ТЗ. 
      Устройство представляет собой манипулятор передвигающий головку в плоскости XY в пределах жесткой рамы на которой установлены двигатели и направляющие перемещения. Головка представляет собой блок, отвечающий за передвижение закрепленного в фиксаторе объекта-пера по оси Z на расстояние до 20 мм. Фиксатор на элементе подъёма головки должен обеспечить жесткое закрепление предметов массой 10 - 80 грамм - кистей, шариковых ручек, карандашей и маркеров диаметром от 5 до 20 мм.
      Решение необходимо для обеспечения точных, многократно повторяющихся перемещений “пера” над плоской поверхностью. Для формирования движений в устройстве должна быть реализована электромеханическая схема, подключенная посредством USB-интерфейса к персональному компьютеру для отправки команд на манипулятор и получения обратной связи от контроллера манипулятора. 
      ТЗ, смета и бюджет через art_budka@rambler.ru 
    • Автор: green_whale
      Доброго времени суток.
      Собственно, сразу к делу. Необходимо измерить вч напряжение (частота порядка 20кГц, максимальная амплитуда 75мВ) с помощью микроконтроллера (скорее всего будет использоваться Arduino).
      Форма входного сигнала - пила (возрастает от минимального значения до максимального). Сигнал однополярный.
      Измерить нужно именно максимальное значение входящего сигнала. Измерение должно быть весьма точным (желательно, чтобы погрешность не превышала 1-2%).
      Есть пару идей :
      1. Сгладить сигнал, используя пиковый детектор (сможет ли сигнал такой частоты и формы зарядить конденсатор?).
      2. Использовать цап для генерации постепенно снижающегося напряжения и аналоговый компаратор.

      Надеюсь, кто-нибудь уже решал подобную проблему и сможет помочь советом или схемой.
    • Гость мистер_чувак
      Автор: Гость мистер_чувак
      Здравствуйте. Нашёл свои старые китайские портативные колонки, которые давно уже разобрал и потерял некоторые провода. Помогите разобраться, что к чему соединять, чтобы работало.
      фотка1
      фотка2
      фотка3
      фотка4
      фотка5
      фотка6
      фотка7
    • Автор: butyavk
      Компания "Диаконт" приглашает на собеседование по вакансии инженер-программист микроконтроллеров.
      Мы производим и поставляем современные приборы управления электроприводами для различных отраслей отечественной промышленности.
      Пополняем нашу команду программистов (готовы принять 2-3 кандидатов с различным опытом работы)!

      Основные обязанности:
      Разработка программного обеспечения для блоков управления приводами и др. вычислительных систем.
      Программирование на C++ микроконтроллеров фирмы Texas Instruments и НИИЭТ на базе ядра ARM Cortex-M4.
      Поддержка и доработка существующего программного обеспечения.
      Участие в научно-исследовательских и опытно-конструкторских работах.
      Участие во внедрении систем на объектах (редкие командировки).

      Требования к кандидатам:
      Хорошее знание схемотехники;
      Знание методов разработки и проектирования ПО для микроконтроллеров и опыт работы с их периферией;
      Знание основ управления электроприводами и ТАУ;
      Знание языков программирования высокого уровня (C++, C);
      Знание современных методов разработки ПО (ООП, ...);
      Знание английского языка (чтение технической документации);
      Приветствуется знание Python, Matlab/Octave;
      Дополнительным плюсом будет опыт автоматизированного тестирования встроенного ПО.

      Условия:
      Оплата полностью белая (на руки в зависимости от знаний и опыта от 50 000 руб до 100000 руб). Но, готовы обсуждать!;
      Карьерный и профессиональный рост;
      Предприятие с комфортными условиями труда на севере города;
      ДМС;
      График работы понедельник - пятница 9:00-17:40;
      Плавающее начало работы с 8:00-10:00;
      Льготное питание в столовой на территории предприятия;...

      Ключевые навыки
      Программирование микроконтороллеров
      C/C++
      Управление электродвигателями

      Адрес
      Санкт-Петербург, ул. Учительская 2, м. Гражданский проспект

      Тип занятости
      Полная занятость, полный день

      Резюме лучше отправлять на rykov@diakont.com