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

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

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

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


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

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

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

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

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

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

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

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

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

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


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

ViKtor_VK

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

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

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

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


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

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

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


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

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    2

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

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

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

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


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

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

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


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

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

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


Ссылка на сообщение
Поделиться на других сайтах
my504    258
На это вопрос я отвечу так, надо знать 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и к статике и как с этим боротся?

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

    • Автор: Stratix
      Здравствуйте, у меня проблема с прошивкой разных устройств из-за программаторов. Дело в том что у меня есть некоторое количество китайских и самодельных программаторов для разных производителей, с ними постоянно какие-то проблемы, некоторые отказываются нормально работать на windows 10(другие версии ПО не устраивают), другие не работают с последними версиями сред разработки и т.д. Так же нужно прошивать схемы памяти. Хочу прошивать устройства без постоянной сборки программаторов и неудобств. Думаю о двух вариантах: взять оригинальные программаторы для всех производителей: altera, xlinx, arm, pic, avr(некоторые найти сложно, например оригинальный usb-blaster и высокая стоимость в сумме), второй вариант: взять универсальный программатор, который бы поддерживал все новые микросхемы, а вот с этим проблема, большинство универсальных программаторов не шьют stm, плис. Есть ли вообще реально универсальные программаторы? Мне было бы намного удобнее если на столе б лежал один программатор, а не куча. Смотрел список микросхем chipprog-48, пока что самый большой, к сожалению не поддерживает новые fpga, например: cyclone IV. Связывался, сказали что поддержки не будет и в будущем. Стоит ли взять chipprog-48 в 2018 году или есть программаторы лучше, с большим списком микросхем?
    • Автор: ITSpec
      Привет всем. Это мой первый пост здесь  прошу отнестись снисходительно.
      Просматривал ролики на Ютуб и понравилась тема одного из блогеров: "Воруем у китайцев". Идея понравилась и полез на Алиэкспресс поискать какой нибудь конструктор чтобы сплагиатить.
      Выбор пал на этот.

      Схему даже с платы не пришлось перечерчивать она была на странице продавца.

      Основная часть этой схемы обычный мультивибратор, который "перемигивает" параллельно подключенные диоды. Вторая часть схемы служит для музыкального сопровождения и состоит из трех компонентов: музыкальной микросхемы, усилителя звука в виде транзистора и громкоговорителя в виде пьезового зумера.
      Такой микросхемы у меня конечно же небыло и я заменил ее на чип H-83a который не нуждался в усилителе.

      Сразу припаял на него SMD резистор и кнопку для переключения мелодий согласно схеме.

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

      Открыл EASYEDA и нарисовал схему.

      Потом спроектировал плату.

      После прибегнул к технологии ЛУТ.

      Припаял все элементы. Отсек для батарейки и чип посадил на термоклей.

      Вот фото окончательного устройства.

      Включается устройство от переключателя, а мелодии от кнопки на музыкальном чипе. Если кому-то хочется чтоб мелодия играла при включении вместо кнопки можно впаять перемычку.
      Ссылка на видео как собиралось:
       
    • Автор: Михаил Савин
      Добрый день. Подскажите есть устройство на плате для регулирования дроссельной заслонки от Калины. Довольно специфическое, индивидуальная разработка, аналогов не купить. Основывается на микроконтроллере ATXMEGA128A3U AU 1651. Возможно ли скопировать залитый в него код что бы изготовить данное устройство ? Или это невозможно в принципе ?
    • Автор: Дмитрий Дмитрий
      Здравствуй, добрый Алл.
      Задумал сделать сенсорный выключатель (блокировщик) двери. Задача: при двойном прикосновении к поверхности пластикового выключателя подать на управляющий контакт +5В.
      Реализация:  Использовать контроллер емкостного сенсора AT42Q1010, микроконтроллер PIC10F200.
      Логика: при полном закрытии двери,  срабатывает геркон, подается +5В на схему. На схеме расположены емкостной контроллер AT42Q1010 и микроконтроллер PIC10F200. Емкостной контроллер при прикосновении пальца дает сигнал на цифровой выход. Этот выход соединен со входом PIC10F200. В PIC10F200 крутится программа, определяющая двойное прикосновение, с заданными промежутками времени (ориентируюсь на обычный двойной клик мыши). Как только определяет двойной клик - подает на три GPIO выхода +5В, и уходит в пустой цикл, до снятия питания.
      С одного GPIO питаются светодиоды: 2 шт, 1.8 В, 1 мА, удалены на 3 метра, подключены кабелем 3х2.5 мм2.
      Со второго GPIO активируется герконовое реле 5В, 10мА, размыкающее наружную клавишу открытия двери.
      С третьего GPIO питаются светодиоды: 2 шт, 1.8 В, 1 мА, удалены на 3 см. Они находятся в том же выключателе, где будет смонтирована схема.
      Для повторного запуска нужно открыть - закрыть дверь. Питание будет отключено-включено, программа запустится с нуля.
      Вопросы:
      1. Нормально ли цеплять светодиоды прямо к PIC контроллеру, на такую дистанцию? Потери посчитал, выходит в районе 1%. Думаю проблем быть не должно, но чувствую кощунственность решения.
      2. Нормально ли PIC контроллер отнесется к многократному хард ресету? Дверью пользуюсь 50 раз в день. Это каждый раз снятие питания, включение обратно.
      3. Какое время на загрузку ожидать от схемы? Т.е. через какое время после полного закрытия двери я смогу заблокировать дверь. Судя по документации на емкостной контроллер , оно меньше 100 мс. Микроконтроллер PIC около 30 мс (reset time). Я нигде не ошибся?  
      4. Нужно ли вставлять резистор между герконовым реле блокировки двери и микроконтроллером? Расстояние от микроконтроллера до реле около 2 метров. Насколько я понимаю, желательно использовать токоограничительный резистор около 1 кОм, но методика точного расчета номинала мне не известна.
      5. Нужно ли вставлять резистор между дальними свтодиодами и контроллером? Ближним и контроллером? Для понижения напряжения я планирую в обоих случаях использовать резисторы 1.5кОм и последовательно подключать два диода 1.8 В,  1 ма. Этого достаточно? Диоды и резистор располагаются на крышке выключателя.
      6. Для подбора конденсатора нужной емкости для сенсора прикосновения хочу использовать макетную плату (такая пластиковая, с много рядов отверстий), и кучку кондеров из чип и дипа, около рекомендованной емкости.  К ним припаять проводки и по очереди проверять, каждый раз скидывая питания. Это верная методика или есть способ лучше?
      7. Имел ли кто дело с таким емкостным контроллером? Насколько plug and play решение? На внутреннюю часть выключателя планирую наклеить медную фольгу, номиналы конденсаторов и резистора подобрать на столе. Потом все собрать на печатной плате, смонтировать в корпус выключателя. Не уплывет ли со временем точность такого сенсора? Может быть на плате предусмотреть какие-то элементы для подстройки в будущем?
      8. Я выбрал самый младший из PIC  контроллеров. Могу ли я столкнуться с нехваткой памяти в своей задаче? Портов хватает. Может быть я не учел какой-то еще ресурс, которого не хватит для выполнения этой задачи?
      Даташит на емкостной контроллер  https://ru.mouser.com/datasheet/2/268/40001946A-1145216.pdf
      Даташит на PIC  контроллер http://ww1.microchip.com/downloads/en/DeviceDoc/40001239F.pdf
      С уважением,
      Дмитрий.
    • Автор: ficus216
      Здравствуйте всем. Такая проблема. Дорожка работала, при беге в максим. 10км/ч резко прибавила скорость до 12 наверное ( хотя только до 10 максимум она разгоняется)
      попытался убавить скорость но ничего не срабатывало, можно только переключать между табло "каллории" "скорость" "расстояние""время" ничего убавить нельзя. Дальше вытаскиваю магнит (обычно дорожка автоматически выключается после этого) в этом случае нет, она дальше работала на полной скорости.
      Снизу находится общий включатель, раньше если его вкл то пока старт не нажмешь ничего не будет. а сейчас нажимаю этот вкл снизу и сразу на 12шке херачит.
      Тестором все прозвонил, сгорел микропроцессор я так понимаю. В магзиине мне сказали. что только если на али заказать. Название сгоревшего sonyx sn8p2624kb на али нет в точности с таким названием. прилагаю ссылку
      можно ли заказать этот или любой другой с другим названием ? что делать дальше ? не нужно потом это все прошивать ? и как ?https://clck.ru/DQhDh