Новые сообщения в форуме · Участники · Правила форума · Поиск · RSS ]







  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: sanyaav, Volodya215  
Обучение программированию PIC контроллеров (Урок 1, часть2)
sanyaavДата: Воскресенье, 03.02.2013, 01:16 | Сообщение # 1

Репутация:


Группа:
Журналист


Сообщений: 134
Награды: 8
Статус:Offline
Теперь перейдём к следущей программе, это Proteus Professional 7.7 SP2
Качаем её ТУТ
Обязательно качаем кряк ТУТ
И русификатор ТУТ
Устанавливаем, соглашаемся с лицензией и в следущем окне обязательно ставим второй пункт: Use a licence key installed on a server, дальше строку с именем сервера оставить пустой, жмём далее, далее, далее и программа установлена, жмём финиш.
Теперь ставим лицензию, для этого распакуем архив кряка и запускаем LXK Proteus 7.7 SP2 RUS v1.0.2.exe в появившемся окне жмём кнопку установить (при неоходимости указываем путь к программе).
Далее запускаем русификатор, в появившемся окне жмём "обновить"
Программа установлена, больше сней ничего не надо делать, разбираться с ней будем в процессе написания и отладки программ.
Теперь можно проверить, что в MPLAB в меню Debugger-Select Tool появился пункт Proteus VSM.

Теперь поставим программу, которая будет нужна для прошивки МК, скачиваем WinPIC ТУТ
Проблем с установкой возникнуть не должно, выбираем русский язык, жмём далее, потом программа попросит поставить драйвера, жмём установить.
Теперь нужно поставить русский язык в меню (почему так происходит для меня загадка) запускаем программу, и идём в меню Idioma, выбираем русский язык
Заходим в меню Настройки-Адаптер, выбираем JDM Programmer (при условии, что используется EXTRAPIC), жмём ОК.

Для тех кто будет пользоваться программатором PICKIT2 выложу ссылку для скачивания программы: СКАЧАТЬ
При установке проблем не возникает, жмём далее, далее, далее, по пути соглашаясь с лицензией. Основное достоинство программы: она работает без каких либо начальных настроек, сама определяет тип контроллера, сама определяет вставлен ли он, и есть ещё куча полезных функций.

И ещё одна полезная программа это Microsoft Exel, я думаю у всех она есть. Она нам пригодится для некоторых расчётов. (можно конечно считать калькулятором, но если нужно будет изменить 1 значение, то придётся пересчитывать всё заново)

На этом всё. Вопросы, предложения и уточнения пишите ниже в теме.


Сообщение отредактировал sanyaav - Воскресенье, 03.02.2013, 01:17


I'll be back
 
Volodya215Дата: Воскресенье, 03.02.2013, 10:36 | Сообщение # 2

Репутация:


Группа:
Журналист


Сообщений: 165
Награды: 17
Статус:Offline
Не большое дополнеие к выше сказанному (надеюсь этим я не вызову гнев уважаемого sanyaav), о том как именно заставить исполняться в Proteus, только что в муках рожденную и скомпелированную Вами программу. Кто-то может сказать - "да накой это надо залил в МК и дело в шляпе, тем более, что симулировать программу можно и в среде разработчика" - конечно можно поступить и таким образом, при наличии у Вас весьма внушительного опыта по созданию програм для микроконтролеров. Но зачастую в жизни получается все наоборот прогрмма прекрасно себя ведет в симуляторе того же MPLAB и на отрез отказывается работать в реальном железе. Причин такого поведения может быть много и не имеет смысла их перечислять, так как в каждом конкретном случаи нужен индивидуальный подход. В своё время я наступал на подбные грабли хотя и имел некоторый опыт в этом вопросе, в связи с чем  рекомендую, прежде чем залить свеже скомпилированую прошивку в реальный МК, не много повертуалить её в Proteus, лишним не будет (думаю в этом вопросе мы sanyaav солидарны).
Итак прступим и начнем с того чтоже такое Proteus, – это многофункциональная программа. Одна из функций – моделирование работы микроконтроллеров с непосредственным взаимодействием (управлением) во время работы. Кратко рассмотрим механизм моделирования. Выбираются необходимые элементы и устройства из библиотек, указываются электрические связи, указывается прошивка и запускается симуляция в реальном времени. И всё. Не нужно собирать макетных плат и опытных образцов. Значительную часть отладки можно сделать в Протеусе. Экономится колоссальное количество времени (и деталей).
Где скачать и как установить – написано в педыдущем посте выше . Приступаем к ознакомлению с программой. У меня так же как и sanyaav стоит версия Proteus Professional 7.7 SP2, я надеюсь и у Вас уже тоже.
Запускаем. Идём в библиотеку элементов (нажимаем выделенное красным).

Открывается новое окно с категориями элементов

Можно найти нужные элементы перебором в категориях, но проще по названиям.

Дважды щелкаем по обнаруженному элементу. Этот элемент добавляется к списку выбранных элементов.

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

В данном случае я набрал всякой ерунды для примера (вы их тоже найдите и посмотрите). Множество из компонентов анимированы, т.е. их можно покрутить и повертеть во время симуляции и посмотреть на реакцию приборов и индикаторов. Собственно это и привлекает в работе симулятора.

Теперь научимся делать электрические связи.

1. Тыкаем компонент в нашем списке (выделить).
2. Тыкаем в поле редактора (вставить).
3. Тыкаем в поле редактора повторно (фиксация).
Колесом мыши увеличиваем-уменьшаем зум (масштаб).
Кинем в редактор еще что-нибудь, например, индикатор.

Компоненты можно перемещать и вращать. Для этого тыкаем по компоненту правой кнопкой мыши и выбираем нужное действие.

В данном случае я повернул к лесу задом, а к себе передом. Таким образом, располагаем компоненты более удобно относительно друг друга.
Как сделать электрические соединения? Я использую 3 вида соединений: напрямую, через шину, через указатели. Напрямую, т.е. вывод с выводом объединяется электрической линией.

Наводим указатель мыши на вывод до появления выделения, цмыкаем, затем ведем линию к другому выводу до появления выделения, снова цмыкаем. Ок, соединение сделано. Если соединение не нужно, то цмыкаем по соединению правой кнопкой мыши.
Если нужно несколько выводов объединить, то тянем линию до предполагаемой точки объединения и двойным цмыком соединяем – образуется точка.

Соединений может быть очень много, особенно в цифровой технике. Соединения линиями настолько путаны и в результате захламляют схему. Можно использовать соединение в шину.
Продожение ниже >>>>>>
Прикрепления: 6095356.gif (4.6 Kb) · 7411880.gif (4.2 Kb) · 5012644.gif (5.1 Kb) · 8709745.gif (6.0 Kb) · 5082759.gif (8.3 Kb) · 1461276.gif (14.5 Kb) · 8460999.gif (14.4 Kb) · 1344690.gif (19.4 Kb) · 6889917.gif (5.7 Kb) · 1076808.gif (5.3 Kb)


Сообщение отредактировал Volodya215 - Воскресенье, 03.02.2013, 11:50


Ученье свет, а не учёных тьма!!!
 
Volodya215Дата: Воскресенье, 03.02.2013, 10:50 | Сообщение # 3

Репутация:


Группа:
Журналист


Сообщений: 165
Награды: 17
Статус:Offline
Продолжение >>>>>

Выбираем на панели шину.

Одинарным тыком указываем начало шины. Тянем шину, одинарным тыком указываем повороты, двойным тыком указываем конец шины.
Шина может разветвленной.

Далее вывода компонентов соединяем с шиной. Наводим указатель мыши на вывод компонента до появления выделения, тыкаем, тянем до шины линию до появления выделения, снова тыкаем для фиксации линии.

Для того, чтобы программа понимала что с чем соединяется в шине, мы должны именовать линии.

Тыкаем на линию правой кнопкой мыши и выбираем в меню Place Wire Label.

В открывшемся окне либо выбираем имеющиеся именования, либо вручную дописываем новое + Ок. Я именую линии именами выводов микроконтроллера (и вам рекомендую). В результате рядом с линией появляется именование, которое однозначно указывает её соединение в шине. Несколько выводов может быть объединено между собой; для этого вы присваиваете линиям одни и те же имена.
Однако, иногда более удобно использовать указатели (терминалы).

Тыкаем как на рисунке выше. Затем кидаем терминал в поле редактора, крутим и объединяем.

Теперь нам надо именовать терминал. Дважды тыкаем по терминалу. В открывшемся окне либо выбираем имеющиеся именования, либо вручную дописываем новое + Ок (аналогичное окно из примера выше).


В результате получаем нечто похожее на это

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

Продолжение ниже >>>>>
Прикрепления: 3813919.gif (3.9 Kb) · 8875873.gif (8.9 Kb) · 4694674.gif (12.1 Kb) · 7271944.gif (9.3 Kb) · 7293694.gif (5.1 Kb) · 8466524.gif (4.1 Kb) · 3335241.gif (5.4 Kb) · 0059238.gif (3.0 Kb) · 3292801.gif (3.9 Kb) · 4249732.gif (9.5 Kb)


Сообщение отредактировал Volodya215 - Воскресенье, 03.02.2013, 10:54


Ученье свет, а не учёных тьма!!!
 
Volodya215Дата: Воскресенье, 03.02.2013, 11:23 | Сообщение # 4

Репутация:


Группа:
Журналист


Сообщений: 165
Награды: 17
Статус:Offline
Продолжение >>>>>


Сразу указываем нужную частоту. Затем тыкаем на обзор и в стандартном окне диалога находим прошивку (*.hex файл). Нажимаем Ок.
Важный момент! Линии питания у микроконтроллера явно не указаны. По-умолчанию микроконтроллер уже запитан. По умолчанию микроконтроллер уже тактируется, т.е. кварц не нужен. И это радует. Также радует, что микроконтроллеров (и соответствующих прошивок) может быть несколько в одном проекте Протеуса.
Всё готово. Обязательно сохраняемся, т.к. в сложных проектах симуляция может не запуститься без сохранения.

Как запустить симуляцию? Да всё просто. Как в проигрывателе (или выигрывателе) тыкаем эти кнопки.

Видим сообщения; для просмотра тыкните по ним.
Также видим загрузку процессора вашего ПК. Бывает, что не хватает сил ПК и процент загрузки по максимуму. Иногда это может привести к зависанию симуляции. Как лечить? Закрываем все посторонние программы (проигрыватели, антивирусы, другие окна) и заново запускаем. Симуляция довольно тяжелый процесс для ПК.
Что еще полезного есть?
Источник напряжения.
Нажимаем 1-2.
Двойным тыком на 3.
Открывается новое окно.
Выбираем 4.
Ставим нужное напряжение 5.

Виртуальные измерительные приборы.
Кратко прокомментирую те, которые реально полезны для меня.
Осциллоскоп 4х канальный – можно отслеживать последовательность, длительность и уровни цифровых сигналов.
Виртуальный терминал – обмен данными с микроконтроллером по UART (виртуальный COM-порт и терминал).
I2C дебагер – анализ пакетов данных.
Сигнал генератор – периодически нужен (не забудьте его "минус" соединить с общим проводом Vss).
Разные вольтметры – ну это понятно.
Разумеется, в библиотеках можно обнаружить кучу компонентов – как аналоговых, так и цифровых. Очень много PIC-микроконтроллеров разных семейств. Дополнительные настройки компонента вызываются двойным цмыком.
Уверен, что со временем вы сделаете массу открытий в Протеусе.
Для наглядности проект в Протеусе с прошивкой
Данный материал был частично позаимствован с сайта labkit.ru, чисто для ознакомительных целей, и не коем образам не претендует на авторство.
Прикрепления: 1796560.gif (11.1 Kb) · 8671905.gif (3.8 Kb) · 1875243.gif (2.1 Kb) · 9476949.gif (16.5 Kb) · 7226467.gif (9.0 Kb)


Сообщение отредактировал Volodya215 - Воскресенье, 03.02.2013, 11:57


Ученье свет, а не учёных тьма!!!
 
sanyaavДата: Воскресенье, 03.02.2013, 17:46 | Сообщение # 5

Репутация:


Группа:
Журналист


Сообщений: 134
Награды: 8
Статус:Offline
biggrin а я хотел это всё рассказывать в процессе отладки, ну раз так получилось, то даже лучше

Сообщение отредактировал sanyaav - Воскресенье, 03.02.2013, 17:47


I'll be back
 
KADILAK100Дата: Понедельник, 04.02.2013, 00:12 | Сообщение # 6

Репутация:


Группа:
Проверенный паятель


Сообщений: 2
Награды: 2
Статус:Offline
продолжайте в том же духе!
 
ZloyДата: Суббота, 09.02.2013, 07:51 | Сообщение # 7

Репутация:


Группа:
Проверенный паятель


Сообщений: 14
Награды: 0
Статус:Offline
Хорошая статья


Я злой и страшный серый волк!!!!
 
redisДата: Среда, 06.03.2013, 11:26 | Сообщение # 8

Репутация:


Группа:
Проверенный паятель


Сообщений: 36
Награды: 3
Статус:Offline
А после продолжения чуть поподробнее и помедленнее-можно?62502
Я не понял откуда появились окна.Спасибо!


Сообщение отредактировал redis - Среда, 06.03.2013, 11:28
 
Volodya215Дата: Пятница, 08.03.2013, 07:04 | Сообщение # 9

Репутация:


Группа:
Журналист


Сообщений: 165
Награды: 17
Статус:Offline
redis, Вопрос по конкретней задавайте, какие окна, что за 62502. (Читать очень, очень медленно)


Ученье свет, а не учёных тьма!!!
 
redisДата: Среда, 10.04.2013, 17:17 | Сообщение # 10

Репутация:


Группа:
Проверенный паятель


Сообщений: 36
Награды: 3
Статус:Offline
да нет с окнами разобрался. Вот только некоторые элементы не знаю как найти.К примеру кнопки.
 
sanyaavДата: Среда, 10.04.2013, 18:16 | Сообщение # 11

Репутация:


Группа:
Журналист


Сообщений: 134
Награды: 8
Статус:Offline
button - кнопка


I'll be back
 
redisДата: Пятница, 23.08.2013, 04:16 | Сообщение # 12

Репутация:


Группа:
Проверенный паятель


Сообщений: 36
Награды: 3
Статус:Offline
Как подключить ALTERNATOR ? Чтобы заработал. Нужны синхроимпульсы.
Прикрепления: Moi__8_.dsn (180.0 Kb)


Сообщение отредактировал redis - Пятница, 23.08.2013, 04:38
 
aaДата: Четверг, 03.10.2013, 13:41 | Сообщение # 13

Репутация:


Группа:
Новичок


Сообщений: 2
Награды: 0
Статус:Offline
Уважаемый Журналист,подскажите как пополнить библиотеку в 
 Proteus Professional 7.7 SP2
В часности 12F675
 
sanyaavДата: Четверг, 03.10.2013, 21:27 | Сообщение # 14

Репутация:


Группа:
Журналист


Сообщений: 134
Награды: 8
Статус:Offline
в протеусе уже есть 12f675, если нет, то нужно скачать протеус по приведенной выше ссылке


I'll be back
 
makariusДата: Суббота, 08.03.2014, 04:33 | Сообщение # 15

Репутация:


Группа:
Проверенный паятель


Сообщений: 362
Награды: 12
Статус:Offline
sanyaav, 
Цитата
Обучение программированию PIC контроллеров (Урок 1, часть2)
Надо как-то определиться, прошивку PIC контроллеров видел, а программирования нет


Каждый выбирает для себя
женщину, религию, дорогу.
Дьяволу служить или пророку -...
 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

- ЕСТЬ НОВОЕ СООБЩЕНИЕ
- НЕТ НОВЫХ СООБЩЕНИЙ

Copyright Zloy Soft (Company) © 2008 - 2024