Устройства на pic контроллерах. Устройства на PIC-контроллерах: Проекты и схемы для самостоятельной сборки

Как собрать GSM-сигнализацию на PIC16F628A своими руками. Какие компоненты нужны для создания частотомера на микроконтроллере. Как сделать электронные часы на PIC. Какие проекты можно реализовать на PIC-контроллерах самостоятельно.

Содержание

GSM-сигнализация на PIC16F628A: схема и описание сборки

Одним из популярных проектов на PIC-контроллерах является GSM-сигнализация. Рассмотрим схему и процесс сборки такого устройства на базе микроконтроллера PIC16F628A.

Основные компоненты GSM-сигнализации:

  • Микроконтроллер PIC16F628A
  • GSM-модуль (например, SIM300D) или сотовый телефон
  • Считыватель ключей Touch Memory
  • Блок питания
  • Датчики (герконы, датчик разбития стекла и т.д.)

Принципиальная схема устройства представлена на рисунке:

[Здесь должно быть изображение принципиальной схемы GSM-сигнализации]

Особенности работы GSM-сигнализации

При срабатывании датчиков микроконтроллер активирует GSM-модуль, который отправляет SMS и/или совершает звонок на заданные номера. Постановка на охрану и снятие с охраны осуществляется с помощью электронных ключей Touch Memory.


Процесс сборки

  1. Изготовление печатной платы по предоставленной схеме
  2. Монтаж компонентов на плату
  3. Подключение GSM-модуля или телефона
  4. Программирование микроконтроллера
  5. Настройка параметров с помощью специальной программы

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

Частотомер на PIC16F628A: принципиальная схема и описание работы

Частотомер — еще один интересный проект на базе PIC-контроллера. Рассмотрим схему и принцип работы частотомера на PIC16F628A.

Основные компоненты:

  • Микроконтроллер PIC16F628A
  • Светодиодный 7-сегментный дисплей
  • Кварцевый резонатор 32768 Гц
  • Транзистор для управления индикацией

Принцип работы:

  1. Входной сигнал подается на вывод RA4 микроконтроллера
  2. PIC16F628A использует Timer0 для подсчета импульсов входного сигнала
  3. Внешний кварцевый генератор 32768 Гц задает точный интервал измерения в 1 секунду
  4. Результат измерения выводится на 7-сегментный дисплей

Частотомер способен измерять частоты до 1 МГц, что достаточно для большинства любительских проектов.


Электронные часы на PIC16F628A: схема и функциональные возможности

Электронные часы — классический проект для начинающих разработчиков. Рассмотрим вариант часов на PIC16F628A с расширенным функционалом.

Основные возможности:

  • Отображение времени в 24-часовом формате
  • Настройка яркости индикации
  • Будильник с звуковым сигналом
  • Отображение даты и дня недели
  • Коррекция хода часов
  • Сохранение настроек в EEPROM

Компоненты:

  • Микроконтроллер PIC16F628A
  • 4-разрядный светодиодный индикатор
  • Кнопки управления
  • Пьезоизлучатель для будильника
  • Блок питания от сети и резервная батарея

Схема часов довольно проста, что делает их отличным учебным проектом для освоения программирования PIC-контроллеров.

Преимущества использования PIC-контроллеров в любительских проектах

PIC-микроконтроллеры обладают рядом преимуществ, делающих их популярными среди радиолюбителей:

  • Низкая стоимость
  • Широкий выбор моделей с различным функционалом
  • Наличие бесплатных средств разработки
  • Большое сообщество разработчиков и обилие готовых проектов
  • Возможность программирования на языке ассемблера или C

Эти факторы позволяют создавать разнообразные устройства с минимальными затратами.


Советы по сборке устройств на PIC-контроллерах

При реализации проектов на PIC-контроллерах следует учитывать несколько важных моментов:

  1. Внимательно изучите документацию на выбранный контроллер
  2. Используйте качественные компоненты для обеспечения надежности устройства
  3. Соблюдайте правила монтажа и пайки электронных компонентов
  4. Проверяйте правильность подключения всех выводов микроконтроллера
  5. Используйте программатор, совместимый с выбранной моделью PIC

Следуя этим рекомендациям, вы сможете успешно собрать и запустить свое устройство на PIC-контроллере.

Перспективы развития проектов на PIC-микроконтроллерах

Несмотря на появление новых платформ для разработки, PIC-контроллеры остаются популярными благодаря своей доступности и простоте освоения. Перспективные направления развития проектов на PIC включают:

  • Интеграция с беспроводными технологиями (Wi-Fi, Bluetooth)
  • Создание устройств для «умного дома»
  • Разработка образовательных наборов на базе PIC
  • Применение в промышленной автоматизации
  • Создание портативных измерительных приборов

Эти направления открывают широкие возможности для творчества и инноваций в области электроники на базе PIC-микроконтроллеров.



Схемы на pic16f628a контроллерах. Простое GSM охранное устройство на PIC16F628A с электронным ключом типа Touch Memory. Принципиальная схема частотомера

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

Схема данного LС метра на микроконтроллере была взята с сайта www.sites.google.com/site/vk3bhr/home/index2-html. Прибор построен на PIC микроконтроллере 16F628A, и так как я недавно приобрел программатор PIC, я решил испытать его это с помощью этого проекта.

Я убрал регулятор 7805, так как решил использовать зарядное устройство на 5 вольт от сотового телефона.

В схеме подстроичный резистор на 5 кОм, но на самом деле я поставил 10 кОм, согласно datasheet на приобретенный LCD модуль.
Все три конденсаторы 10 мкФ танталовые. Необходимо заметить что конденсатор C7 – 100мкФ на самом деле 1000мкФ.
Два конденсатора по 1000пФ конденсаторы styroflex с допустимым отклонением в 1%, индуктивная катушка 82мкГн.

Общий ток потребления с подсветкой составляет около 30мА.
Резистор R11 ограничивает ток подсветки и должен быть рассчитан в соответствии с фактически используемым LCD-модулем.

Я использовал оригинальный рисунок печатной платы в качестве отправной точки и изменил его под имеющиеся у меня компоненты.
Вот результат:




Последние две фотографии показывают LC метр в действии. На первом из них измерение емкости конденсатора 1нФ с отклонением 1%, а на втором — индуктивность 22мкГн с отклонением в 10%. Устройство очень чувствительно – то есть, с неподключенным конденсатором он показывает емкость порядка 3-5 пФ, но это устраняется путем калибровки.

Описание оригинальной схемы.

Доработка устройства для постановки с снятия сигнализации при помощи ключа — Touch Memory

ОПИСАНИЕ УСТРОЙСТВА

Устройство предназначено для охраны и наблюдения за удаленными объектами. Собрано оно на микроконтроллере PIC16F628A, который отсчитывает необходимые интервалы времени и управляет мобильным телефоном посредством AT команд. Кроме этого, есть функция дозвона до телефонных номеров из списка (не более 3), записанных в EEPROM PIC’a и возможность отправлять SMS. Устройство очень простое в изготовлении и налаживании.

Конструкция не является собственной разработкой — схема, прошивка и программа конфигурирования были взяты из Интернета.

Работает устройство следующим образом: после включения питания проверяется уровень на RA5. Если переключатель «запись конфигурации» замкнут, микроконтроллер переходит в режим установки параметров и ждет прихода информации с ПК.

В случае работы с телефоном, будет произведена инициализация телефона (команды ATE0, AT+CMGF=0, AT+CNMI=1,1,0,0,1) и после временной задержки (конфигурируется) устройство перейдет в дежурный режим — будет контролировать логические уровни на «Вход1» — «Вход4». В случае если они не совпадают с записанными ранее в EEPROM значениями, может быть произведена отправка SMS, дозвон, включение внешних сигнальных устройств (сирена, свет и т. д.). После этого в течение времени, определённого параметром «время восстановления», микроконтроллер не будет реагировать на изменение состояния датчика. Это время может быть установлено в пределах от 10 сек. до 2540 сек. (около 40 мин). Кроме этого, есть возможность настраивать временные задержки: перед процедурой дозвона и отправкой SMS, включением сигналов 1 и 2 (0-255 с).

Автор оригинальной схемы заложил возможность определения в любой момент состояние всех четырех датчиков. Для этого отправляется сообщение с текстом «stat» на номер SIM карты мобильного телефона используемого в составе GSM сигнализации. На практике у меня такого не получилось. Для сброса устройства, возможно, использовать в SMS текст «rst».

Для отображения режима работы служат светодиоды LED1 и LED2. При работе в режиме охраны (основной режим) светодиод D2 мигает с частотой один раз в 4 сек. Оба горящих светодиода обозначают готовность к записи конфигурации с компьютера. Оба немигающих светодиода означают повреждение данных в EEPROM (неверная конфигурация устройства). Вспышки светодиода LED2 с периодом в 0,5 сек говорят о попытке передачи AT команд после включения для конфигурирования мобильного телефона. Мигающий светодиод LED1 говорит о том, что после подачи питания ещё не прошло установленное время. LED2 горит непрерывно при взаимодействии контроллера с телефоном (попытка дозвона и отправка SMS).

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

Как для связи с телефоном, так и для связи с компьютером при установке параметров, служат линии «data rx»(7 вывод PIC) и «data tx” (8 вывод PIC). Скорость порта составляет 19200 бит/с. Напряжение питания микроконтроллера составляет номинальное напряжения питания мобильного телефона (до 4В). В принципе, в нескольких проверенных автором экземплярах устройство нормально работало даже от двух разряженных NiCd аккумуляторов (напряжение около 2В). Схемы разъемов для мобильных телефонов можно найти, например, на сайте www.pinouts.ru. В качестве примера приведем распиновку разъема для телефона Siemens S35, с которым и работает это устройство. Нам нужны только три контакта — (GND) соединяется с «-» источника питания, (DATA OUT) — подключается к «GSM TX» устройства, (DATA IN) к » GSM RX». Возможно возникновение некой путаницы в понятиях «RT, TX”. Если подключение не удаётся, рекомендую взаимно заменить линии RT, TX, это совсем не страшно.

Я подключал эти линии к мобильному телефону через резистор номиналом 1КОм. В некоторых моделях телефонов, работающий по умолчанию через USB, необходимо дополнительно замкнуть некий вывод разъема для перевода интерфейса в режим работы через СОМ-порт. Для подключения к компьютеру необходим преобразователь уровней RS-232 в TTL. Я исконно использую 2 элементарных КТ315 для этих целей, хотя можно, применить микросхему MAX232 или аналогичные. Печатную плату я не сооружал, ввиду элементарности схемы, все компоненты разместил на монтажной плате, соединения с оборотной стороны обычными проводами.

На разъём «Input» подключается: 3 входа контролируемых параметров (в оригинале их 4, 4-й я подключил на внешнее питание), корпус, питание (12В), вход блокирования работы PIC-контроллера — в период снятия с охраны необходимо было блокировать работу ПИК. Ввиду очень малого тока потребления ПИК-контроллера, его работа сохранялась даже от питания по шинам DataRX, DataTX. Я применил оптопару АОТ 101АС, которая своим выходом просто коротила вывод кварца, останавливая генерацию и тем самым блокируя работу МК. Автор в прошивке микроконтроллера использовал WDT (сторожевой таймер), благодаря этому, работа микропроцессора восстанавливалась при «отпускании» ноги кварца, программа микроконтроллера начинает исполняться сначала. Иного способа для остановки работы искать не стал. При подаче +12В на вывод «LOCK» работа микропроцессора останавливается.
Остальные параметры необходимо настроить в программе конфигурирования.

Немного измененный и доработанный вариант охранки предложил участник форума Maratt с форума сайта первоисточника. Суть изменения — улучшить сервисные качества охранного устройства ic develop, автор которого на вопросы не отвечает. Если нельзя изменить программу, попытаемся улучшить аппаратную часть.

Есть только одна версия прошивки контроллера PIC16F628A, так как автор исходники не опубликовал. Если телефон ведет себя не так, как описано, разбираться надо с телефоном. Левая часть схемы осталась без изменений.

Теперь про правую часть.

В сети был найден проект «автосторож с устройством считывания электронных ключей типа DS1990A», и просто добавлен в схему.

Контроллер PIC12F675 обеспечивает считывание кода электронных ключей Touch Memory типа DS1990A фирмы Dallas Semiconductor, сравнение считанного ключа с информацией хранящейся в памяти, и выдачу сигнала управления.

Считывание серийного номера происходит при кратковременном касании электронного ключа к считывающему устройству контроллера. Контроллер снабжен световой индикацией режимов работы.

Количество хранящихся в памяти ключей, не более 20. Тактирование контроллера осуществляется от внутреннего тактового генератора частотой 4 МГц

К порту GPIO5 (вывод 2) микроконтроллера подключен светодиод «Режим», индицирующий работу контроллера электронного замка. Резистор R1 задает ток, протекающий через светодиод.

К порту GPIO4 (вывод 3) микроконтроллера подключен считыватель электронных ключей. Как уже упоминалось, обмен данными и командами между микроконтроллером D1 и электронным ключем, подключенным к считывателю, происходит с помощью однопроводного интерфейса 1-Wire. Резистор 4,7К является нагрузочным резистором для линии интерфейса 1-Wire (Обычный одножильный провод в оплетке). Резистор 150 ом и стабилитрон 4V7 защищают порт микроконтроллера от повышенного напряжения (статического и любого другого).

К порту GPIO3 (вывод 4) микроконтроллера подключена кнопка Прог ключей. С помощью нажатия этой кнопки производится запись ключа в память микроконтроллера, а также стирание всех ключей. Резистор 4,7К формирует напряжение высокого уровня на выводе 4 микроконтроллера. А нажатием на кнопку Прог ключей формируется напряжение низкого уровня.

Порт GPIO2 (вывод 5) микроконтроллера меняет свое состояние в зависимости от режима (снято с охраны -1, на охране -0)

Для записи первого или последующих ключей необходимо после подачи питания коснуться считывателя электронным ключем и нажать на кнопку Прог ключей. После четырех коротких вспышек светодиода «Режим» произойдет запоминание серийного номера в памяти микроконтроллера. Если память микроконтроллера полностью заполнится, то это будет оповещено четырьмя световыми сигналами. Вспышки светодиода будут более медленными, чем при записи ключа в память микроконтроллера.

Для стирания сразу всех ключей, хранящихся в памяти, необходимо выключить питание контроллера электронного замка, нажать на кнопку и подать на устройство питание, удерживая кнопку примерно 4 — 6 секунд, до появления серии коротких вспышек светодиода «Режим». Количество вспышек светодиода определяется количеством записанных в память электронных ключей (на стирание каждого ключа будет четыре коротких вспышки светодиода). После этого можно отпускать кнопку и устройство перейдет в нормальный режим работы. Но при этом перед пользованием необходимо записать в память микроконтроллера серийный номер хотя бы одного ключа.

Описание работы

При подаче питания контроллер после инициализации входит в режим проверки подключения электронного ключа. Светодиод «Режим» после включения питания начинает мигать, указывая на то, что устройство находится в режиме охраны, на выходе контроллера низкий лог уровень который не влияет на работу генератора. При касании считывателя контроллера электронным ключем, серийный номер которого хранится в памяти микроконтроллера, светодиод моргнет два раза. На выходе контроллера появится высокий уровень который заблокирует работу генератора. Светодиод «Режим» при этом будет светится постоянно, указывая о режиме снято с охраны.

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

Внимание! После выключения питания устройство переходит в режим охраны!

Мой вариант исполнения охранки:

Разумеется, что повторяя данную схему, всегда сталкиваешься с подводными камнями. Были они и у меня. Для начала я определился по какой схеме буду собирать охранку и не прогадал – схема и печатка с дополнительной платой питания оказалась очень практичной конструкцией.

Схема охранного устройства:

Рис. 1 — Принципиальная схема простого GSM охранного устройства на PIC16F628A с электронным ключом типа Touch Memory

Устройство питания и сигнализации для простого охранного устройства.

Схема блока питания для охранного устройства:

Рис. 2 — СХЕМА принципиальная Схема блока питания для охранного устройства

К контактам разъема Х1 подключается вторичная обмотка сетевого трансформатора. На контактах разъема Х2 должно быть напряжение 16-18в.

Разъемы Х2 и Х3 предназначены для подключения узла (выделенного красным цветом) в состав которого входит:

1.Зарядное устройство,

2.аккумулятор 12в.

3. Устройство защиты аккумулятора от полного разряда.

При установке охранного устройства в месте, где нет сетевого напряжения, к разъему Х3 подключается заряженный аккумулятор.

На транзисторе VT1 собран ключ для коммутации звуковой сигнализации- зуммера на 12вольт со встроенным генератором подключенного к разъему Х5. К разъему Х4 (Сигнал1) подключается одноименный выход сигналки. Для более мощного устройства, например автономной сирены, к разъему Х5 можно подключить реле, которое будет коммутировать это устройство.

На транзисторе VT2 собран ключ для коммутации встроенного (паяется на плату) или выносного зуммера (подключается к разъему Х8) с напряжением питания 5в. Разъем Х6 (Сигнал2) подключается к одноименному выходу сигналки. Вход Сигнал3 (разъем Х7) можно подключить к 6 выводу PIC12F675 или использовать по своему усмотрению.

На микросхеме VR1 собран стабилизатор напряжения с выходным напряжением 3,0в. К его выходу Х9 подключаем вход питания сигналки. При этом напряжении контроллеры PIC16F628A и PIC12F675 работают стабильно, а сигналы RX TX согласованны по уровням с телефоном или модемом.

На микросхеме VR2 собран стабилизатор напряжения с выходным напряжением 4,2в. К выходу которого подключается модем или телефон. Это номинальное напряжение питания модуля SIM300D. Для питания телефона нужно снизить это напряжение до 3,7в, уменьшив сопротивление резистора 560*.На выходе стабилизатора есть делитель напряжения, средняя точка которого выведена на разъем Х10. Делитель имитирует сигнал с терморезистора аккумулятора сотового телефона. При подключении контактов Х10 вместо аккумулятора телефон будет работать от стабилизатора. Для некоторых моделей телефонов может потребоваться подбор резисторов делителя.

Изготовление печатной платы показывать не буду, так как это уже тривиально, сразу покажу результат работы.

С монтажом деталей:

Рис.3 — Плата GSM сигнализации своими руками — с монтажом деталей лицевая и обратная сторона.

Рис. 4 — Обратная сторона платы GSM сигнализации

Блок питания для сигнализации в готовом виде:

Рис. 5 — Готовая плата блока питания со стороны деталей

Рис. 6 — Плата блока питания с обратной стороны

Сильно изощряться не стал и использовал корпус от блока питания компьютера. Корпус с вмонтированным трансформатором можно увидеть на рисунках ниже:


Тут не показано, но слева от гнезда питания при помощи болтов и гаек была прикручена клемная полоска.



Рис. 7 — корпус устройства.

Чтобы закрыть дырку от кулера я вырезал из ДСП форменный кусок и смонтировал на него прижимное кольцо от транзистора — «считыватель» для электронного ключа. Вывел пару светодиодов для визуального контроля работы устройства.

Рис. 8 — Закрывающая дырку от вентилятора деталь корпуса устройства.

Вырезанный кусок ДСП я приклеил при помощи термоклея. На задней панели железного корпуса я вывел клемную колодку, к ней подключил выводы датчиков и сисирены. Питания к трансформатору подводится по стандартному кабелю от блока питания.

Телефон Siemens А60 подключил по стандартному разъему

Рис.9 — Штекер для мобильного

Распиновка штекера Совпадает с любым х55/х60/х65. Исключений пока два — ST55/ST60.

1 — +U
2 — Gnd
3 — Tx
4 — Rx
5 — CTS
6 — RTS
7 — DCD
8 — звук левый
9 — звук общий
10 — звук правый
11 — земля микрофона
12 — микрофон

В соответствии с распиновкой необходимо припаять провода к плате и питанию.

Рис. 10 — Соединение двух плат (Блака питания и GSM сигнализации)

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

Рис. 11 — Преобразователь уровней RS-232 в TTL (транзисторно-транзисторная логика)

Готовое устройство выглядит так:

Рис. 12 — Преобразователь уровней RS-232 — TTL на транзисторах

Собственно выводы с коробки — общий , RX , TX , и одиночный (молочного цвета) провод из коробки — «+».

Очень важно!! — После сборки устройства настроить при помощи программы!

Теперь несколько слов о настройке устройства.

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

Для записи параметров используется преобразователь уровней RS-232 — TTL на транзистора. Подключаем преобразователь к COM порту компьютера, выводы RХ и TX к плате соответственно (RX- 7 нога микроконтроллера, TX — 8 нога микроконтроллера) подключаем общий провод преобразователя к общей дорожке платы. Подаем +5в через резисторы к преобразователю, как показано на рис. 11, от источника питания.

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

Подключаем питание платы охранки. Открывает программу, выбираем порт, нажимаем — «ЗАПИСАТЬ» — готово.

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

Если кто не знает «Параметры» — это номера телефонов на которые будет звонить сигнализация, также время работы сирены и длительность дозвона и др. В программе все подписано и интуитивно понятно.

Рис. 13 — Интерфейс программы для прошивки конфигурации в контроллер.

Варианты реализации:

Вариант корпуса для сигнализации. Использован корпус для автоматов. Очень удобная и практическая конструкция. Внутрь влезло все, что необходимо.

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

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

Ну вот собственно общий вид сигнализации — лицевая сторона.

Скачать печатную плату:

Печатная плата в.lay и описание для GSM сигнализации с считывателем ключей-

Принципиальная схема частотомера

Микроконтроллер PIC16F628A служит для того, чтобы выполнить всю работу без каких-либо дополнительных микросхем. На 16F628A 16 I/O выводов, два из которых используются для кварцевого генератора, один предназначен для ввода сигнала, а другой может быть использован только для ввода, что дает нам только 12 полезных I/O контактов. Решение — поставить транзистор, который открывается при выключении всех других цифр.

Светодиодный 7-сегментный дисплей, используемый здесь, с общим катодом типа BC56-12SRWA. Когда все сигналы находятся на высоком уровне, транзистор Q1 открывается и переключается на первой цифре. Ток для каждого сегмента составляет около 7 мА.

Вся схема частотомера потребляет тока порядка 30 мА в среднем. Микроконтроллер использует свой внутренний 4 MHz генератор для тактирования CPU. А внешний кварцевый генератор с частотой 32768 Hz нужен для установки 1 второго временного интервала. Tmr0 используется для подсчета входного сигнала на выводе RA4.

В качестве входного сигнала нужно будет 5 вольт прямоугольного вида. Сам частотомер может измерять до 1 мегагерца, что более чем достаточно для любительских проектов. Это сделано для удобства, так как счетчик может достигать показаний 999999 Гц — и ничего переключать не нужно. Меряем хоть 11 герц, хоть 139,622 килогерц.

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


Этот вариант часов сделан таким образом, чтобы максимально упростить схему, снизить энергопотребление, и в итоге получить прибор, который легко помещается в кармане. Выбрав миниатюрные аккумуляторы для питания схемы, SMD — монтаж и миниатюрный динамик (например от нерабочего мобильного телефона), Вы можете получить конструкцию, размером чуть больше спичечного коробка.
Применение сверхъяркого индикатора позволяет снизить ток, потребляемый схемой. Снижение тока потребления также достигается в режиме «LoFF» — индикатор погашен, при этом включена только мигающая точка младшего разряда часов.

Индикация
Регулируемая яркость индикаторов позволяет выбрать наиболее комфортное отображение показаний (и опять же снизить энергопотребление).
В часах реализовано 9 режимов индикации. Переход по режимам осуществляется с помощью кнопок «плюс» и «минус». Перед выводом на индикацию самих показаний, на индикаторы выводится короткая подсказка названия режима. Длительность вывода подсказки — одна секунда. Применение кратковременных подсказок позволило достичь хорошей эргономичности часов. При переходах по режимам отображения (которых получилось достаточно много, для такого простого прибора, как обычные часы) не возникает путаницы, и всегда понятно, какие именно показания выведены на индикатор.


Коррекция показаний, выведенных на индикатор включается при нажатии на кнопку «Коррекция». При этом кратковременная подсказка выводится на 1/4 секунды, после чего корректируемое значение начинает мигать с частотой 2 Гц. Корректируются показания кнопками «плюс» и «минус». При длительном нажатии на кнопку, включается режим автоповтора, с заданной частотой. Частоты автоповтора нажатия кнопки составляют: для часов, месяцев и дня недели — 4 Гц; для минут, года и яркости индикатора — 10 Гц; для корректирующего значения — 100 Гц.
Все откорректированные значения, кроме часов, минут и секунд, записываются в EEPROM и восстанавливаются после выключения — включении питания. Секунды при коррекции обнуляются. Из всех режимов, кроме часы-минуты, минуты-секунды и LoFF организован автоматический возврат. Если в течение 10 секунд ни одна из кнопок не нажата, то часы переходят в режим отображения часов — минут.
Нажатием на кнопку «Вкл/Выкл буд.» включается/выключается будильник. Включение будильника подтверждается коротким двухтональным звуком. При включенном будильнике светится точка в младшем разряде индикатора.
В режиме «Corr» на индикатор выведена корректирующая константа, начальное значение которой 5000 микросекунд в секунду. При отставании часов константу увеличиваем на величину отставания, вычисленное в микросекундах за одну секунду. Если часы спешат, то константу уменьшаем по тому же принципу.

Эти электронные часы простейшие. Собраны были за несколько часов. Основа микроконтроллер PIC16F628A, кроме него часы содержат несколько простых и дешевых элементов, информация выводится на 4-х разрядный (часовой) светодиодный индикатор. Схема питается от сети, а также имеет резервное питание. Данную конструкцию можно рекомендовать начинающим, я специально снабдил исходную программу подробными коментариями, чтобы легче было поять, что и как тут работает.

Схема очень простая, простой и алгоритм их работы (см.коментарии в исходнике). Кнопки кн1 и кн2 служат для коррекции времени — часов и минут соответственно. Часы имеют 24 часовой формат отображения. В 1-м разряде часов сделано гашение незначащего нуля. Точность хода часов целиком зависит от частоты кварцевого резонатора. Но даже без специальных подборок кварцев и конденсаторов в тактовом генераторе — часы идут весьма точно.

Часы собраны на 2-х печатных платах, пристыкованных одна к одной под углом 90 градусов. На одной плате размещен целиком индикатор, а все остальное на другой. Элемент резервного питания выломан из китайской зажигалки со светодиодным фонариком. Удаляем светодиод, а держатель батареек устанавливаем на плату. На фотографии видно, что к батарейкам выведены обрезки выводов резисторов — они то и держут всю эту конструкцию. Конечно емкость таких батареек невелика, но когда часы питаются от сети, ток от батареек не потребляется. Они питают схему, только если нет сетевого питания. При этом питается только микроконтроллер, индикатор же от батареек не питается, поэтому гаснет, а часы продолжают ход. Кнопки управление вынесены с платы в любое удобное место корпуса. Конструкция кнопок может быть любой. Для питания от сети использован китайский БП-адаптор, в который добавлена плата с микросхемой 7805 (5-ти вольтовый стабилизатор). Вобще подойдет любой блок питания, с выходным напряжением 5В и током 150мА.

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

Файл:
Размер:
Содержимое:

Схемы PIC-контроллеров. PIC-контроллер. Программирование PIC-контроллеров. Схемы PIC-контроллеров Схемы на pic контроллерах для дома

На, казалось бы, морально устаревшем контроллере 2051, мы не раз задумывались о том, чтобы собрать похожий измеритель, но на более современном контроллере, чтобы снабдить его дополнительными возможностями. Критерий поисков, в основном, был только один — это широкие диапазоны измерения. Однако, все аналогичные схемы, найденные в интернете, имели даже программное ограничение диапазонов, причём довольно значительное. Для справедливости стоит заметить, что вышеназванный прибор на 2051 вообще не имел ограничений (они были лишь аппаратными), а программно в нём даже были заложены возможности измерения — мега и -гига значений!

Как-то, изучая в очередной раз схемы, мы обнаружили полезнейший прибор — LCM3, обладающий приличным функционалом при небольшом количестве деталей. Прибор умеет в широчайших пределах измерять индуктивность, ёмкость неполярных конденсаторов, ёмкость электролитических конденсаторов, ESR, сопротивления (в том числе — сверхмалые), оценивать качество электролитических конденсаторов. Работает прибор на известном принципе измерения частоты, однако интересен тем, что генератор собран на встроенном в микроконтроллер PIC16F690 компараторе. Возможно, параметры этого компаратора не хуже, чем у LM311, ведь заявленные диапазоны измерений таковы:

  • ёмкость 1пФ — 1нФ с разрешением 0,1пФ и точностью 1%
  • ёмкость 1нФ — 100нФ с разрешением 1пФ и точностью 1%
  • ёмкость 100нФ — 1мкФ с разрешением 1нФ и точностью 2,5%
  • ёмкость электролитических конденсаторов 100нФ — 0,1Ф с разрешением 1нФ и точностью 5%
  • индуктивность 10нГн — 20Гн с разрешением 10нГн и точностью 5%
  • сопротивление 1мОм — 30Ом с разрешением 1мОм и точностью 5%
Более подробно ознакомиться с описанием прибора на венгерском можно на странице:

Применённые в измерителе решения нам понравились, и мы решили не собирать новый прибор на атмеловском контроллере, а применить PIC. От этого венгерского измерителя была взята частично (а затем — и полностью) схема. Затем была декомпилирована прошивка, и на её основе написана новая, под собственные нужды. Однако, авторская прошивка настолько хороша, что с ней прибор, наверное, не имеет аналогов.

Нажмите для увеличения
Особенности измерителя LCM3:

  • при включении прибор должен находиться в режиме измерения ёмкости (если же он находится в режиме измерения индуктивности, то соответствующей надписью на экране попросит перевести с другой режим)
  • танталовые конденсаторы должны быть с возможно меньшим ESR (менее 0,5 Ом). ESR конденсатора CX1 33нФ также должен быть низким. суммарный импеданс этого конденсатора, индуктивности и кнопки переключения режимов не должен превышать 2,2 Ом. Качество этого конденсатора вцелом должно быть очень хорошим, он должен иметь малый ток утечки, поэтому стоит выбирать из высоковольтных (например, на 630 вольт) — полипропилен (MKP), стирофлекс-полистирол (KS, FKS, MKS, MKY ?). Конденсаторы C9 и C10, как написано на схеме, — полистирол , слюда, полипропилен. Резистор сопротивлением 180 Ом должен иметь точность 1%, резистор 47 Ом также должен быть 1%.
  • прибор оценивает «качество» конденсатора. точной информации, какие именно параметры рассчитываются, нет. вероятно, это — утечка, тангенс угла потерь диэлектрика, ESR. «качество» отображается в виде закрашенного стаканчика: чем меньше он заполнен, тем лучше конденсатор. у неисправного конденсатора стаканчик закрашен полностью. однако, такой конденсатор можно применять в фильтре линейного стабилизатора.
  • дроссель, используемый в приборе, должен быть достаточно габаритным (выдерживать ток не менее 2А без насыщения) — в виде «гантельки» или на броневом сердечнике.
  • иногда при включении прибор выдаёт на экране «Low Batt». при этом нужно отключить и снова включить питание (вероятно, глюк).
  • имеется несколько версий прошивки данного прибора: 1.2-1.35, причём последняя, по словам авторов, оптимизирована для дросселя на броневом сердечнике. однако, на дросселе в виде гантельки она также работает и только в этой версии оценивается качество электролитических конденсаторов.
  • к прибору возможно подключить небольшую приставку для внутрисхемного (без выпаивания) измерения ESR электролитических конденсаторов. Она понижает напряжение, прилагаемое к проверяемому конденсатору, до 30мВ, при котором полупроводники не открываются и не влияют на измерение. Схему можно найти на авторском сайте.
  • Режим измерения ESR включается автоматически перетыканием щупов в соответствующее гнездо. Если при этом вместо электролитического конденсатора будет подключен резистор (до 30 Ом), то прибор автоматически переключится в режим измерения малых сопротивлений.
Калибровка в режиме измерения ёмкости:
  • нажать кнопку калибровки
  • отпустить кнопку калибровки
Калибровка в режиме измерения индуктивности:
  • замкнуть щупы прибора
  • нажать кнопку калибровки
  • дождаться появления сообщения R=….Ом
  • отпустить кнопку калибровки
  • дождаться сообщения об окончании калибровки
Калибровка в режиме измерения ESR:
  • замкнуть щупы прибора
  • нажать кнопку калибровки, на экране будут отображены напряжение, прилагаемое к измеряемому конденсатору (рекомендуемые значения — 130…150 мВ, завитит от дросселя, который нужно размещать подальше от металлических поверхностей) и частота измерения ESR
  • дождаться сообщения R=….Ом
  • отпустить кнопку калибровки
  • показания сопротивления на экране должны стать нулевыми
Реализована также возможность указать ёмкость калибровочного конденсатора вручную. Для этого собирается следующая схема и подключается к разъёму программирования (схему можно и не собирать, а просто замыкать нужные контакты):


Затем:

  • подключить схему (либо замкнуть vpp и gnd)
  • включить прибор и нажать кнопку калибровки, при этом на экране появится значение калибровочной ёмкости
  • кнопками DN и UP скорректировать значения (возможно, в разных версиях прошивки для ускоренной корректировки работают основные кнопки calibrate и mode)
  • в зависимости от версии прошивки, возможен и другой вариант: после нажатия кнопки калибровки, на экране появляется значения калибровочной ёмкости, которое начинает расти. Когда доходит до нужного значения, нужно остановить рост кнопкой mode и разомкнуть vpp и gnd. Если же не успели вовремя остановить и перескочили нужное значение, то кнопкой калибровки можно его уменьшить
  • отключить схему (либо разомкнуть vpp и gnd)
Авторская прошивка v1.35: lcm3_v135.hex

Печатная плата: lcm3.lay (один из вариантов с форума vrtp).

На прилагаемой печатной плате контрастность дисплея 16*2 задаётся делителем напряжения на резисторах сопротивлением 18к и 1к. При необходимости нужно подобрать сопротивление последнего. FB — ферритовый цилиндрик, вместо него можно поставить дроссель. Для большей точности вместо резистора 180 Ом используются два по 360 в параллель. Перед установкой кнопки калибровки и переключателя режимов измерения, обязательно проверьте тестером их распиновку: часто встречается такая, которая не подходит.


Корпус для прибора, следуя традиции (раз , два), сделан из пластмассы и окрашен краской «чёрный металлик». Изначально прибор питался от зарядного устройства для мобильного телефона 5В 500мА через гнездо mini-USB. Это — не лучший вариант, так как питание подключалось к плате измерителя уже после стабилизатора, а насколько оно стабильно в зарядке от телефона — неизвестно. Затем внешнее питание было заменено на литиевый аккумулятор с модулем зарядки и повышающим преобразователем , возможные помехи от которого прекрасно убираются обычным LDO стабилизатором , присутствующим на схеме.


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

Свет и вытяжка в санузле.

Сенсорный кодовый замок.

Сенсорная кнопка включения ПК.

Когда ПК выключен ничего не горит и не работает.

При касании сенсора подсветка откликается короткой вспышкой, далее замыкаются контакты
релеи остаются в замкнутом положении до тех пор, покана2 ноге МК не появится пониженныйдо +5 вольт сигнал с +12 вольтовой шиныБП компьютера, кактолько сигнал получен контакты реле размыкаются,и плавно включается подсветкасенсора. Если напряжение +12 вольт не появилось в течение -2 секунд, реле выключается, и подсветка двойным миганием показывает код неисправности, для сброса
нужно обесточить компьютер.Для выключениядостаточно зажать сенсор на 3 секунды и МК произведёт жесткое выключениеПК. При этом контакты реле замыкаются и держатся до тех пор, пока на 2
ногене пропадёт сигнал +12вольт с БП компьютера.Как только +12 вольт пропали, сенсор отпускает контакты реле и выключает подсветку.

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

МЕГА ИК ПРИЕМНИК НА 35 КАНАЛОВ.

Поддержка пультов с протоколом NEC. Первой записываем«Мастер» кнопку на пульте. Используя ее, включим режим перезаписи кнопок пульта в память МК. Далеезаписываем 35 выбранных кнопок на пульте ДУ.
Соответствие записываемых команд к ножкам МК, первая команда принадлежит ноге 2 и так далее по кругу против часовой стрелки, пропуская ножки питания МК(свежее запрограммированный МК сразу после подачи питания готов к записи команд с пульта в свою память). После подачи питания светодиод с 2 ноги три раза мигает и МК готов к записи, при проведении записи кнопки, он же мигает, говоря о проведении записи, после записи последней 35 кнопки его свечение немного длиннее. Когда он потухнет МК готов к работе.

В памяти EEPROM можно настроить режим работы каждой ножки в режим переключения или удержания. Для этого начиная с адреса 02 EEPROM по 06 адрес необходимо записать правильные числа, которые получаем следующим способом. Ножки «сгруппированы» по 8 штук, так как в одном регистре памяти EEPROM в МК всего 8 бит. Допустим, мы хотим, чтоб первые три ножки работали в режиме удержания, а остальные 5 в режиме переключения. Записываем число 1 для ноги, которая будет работать в режиме удержания и число ноль для режима переключения. Отсюда получаем такой вид числа в двоичной системе 00000111 – первая ножка считается справа налево, данное число нужно перевести в шестнадцатеричный вид, что в данном случае легко, но может потребоваться конвектор чисел. Получаем число 07 в шестнадцатеричном виде готовое к записи в программаторе. Также поступаем и для настройки остальных выводов. В текущей прошивке все выводы настроены в режиме удержания (записаны числа -FF). В последней ячейке по адресу 06 памяти EEPROM используем только три первых бита, остальные не используются (00000111).

Свет и вытяжка в санузле.

Девайс предназначен, для управления включения света и вытяжного вентилятора, в санузле.

В выключенном режиме подсветка выключателя постоянно светится.

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

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

Второй вариант прошивки для экономок, схема стала проще. Схема. Прошивка.

12 командный ИК приемник на PIC12F629

Устройство позволяет записать в память МК 12 команд с пульта ИК и их прием отображать на своих выводах в двоичном виде в режиме удержания кнопок, после отпуска кнопки пульта на выходах МК будут нули.

Для управления драйвером подойдет любой ИК пульт от бытовой техники с протоколом NEC. Дальность приема зависит от места установки приемника и используемого пульта.

Как определить пригодность пульта и запрограммировать кнопки. На схему подаем питание, светодиод на плате три раза «мигнет»говоря о готовности к записи.

Далее нажимаемпоочередно 12 кнопок во время программирования при нажатии очередной кнопки светодиод на плате « вспыхивает»сообщаяобуспешной записи. По окончанию программирования светодиодтри раза мигнет и больше не реагирует наприем команд,а переходит в режим сканирования кнопки.
Если произведен не правильный набор командили для смены пульта, необходимо нажать кнопку на устройстве и повторить набор, кнопка активнатолько после завершения ввода всех команд.

Вывод данных в двоичном виде на ногах 7-6-5-3. То есть, выводится номер, принятой команды в соответствии очередности их записи. Первая записанная команда принята — выводится число 1 и т.д. В режиме покоя на выводах 0000.

ИК управление электро приводом -2.

Упрощенный вариант.

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

Программа ИК приемника универсальная поддерживает практически все протоколы пультов. Запись пульта можно провести, если с состояния выключенного питания нажать и удерживать кнопку «запись пульта» после подачи питания отпустить и нажать на пульте выбранную кнопку. Кнопку пульта необходимо удерживать белее трех секунд, после отпуска кнопки устройство готово к использованию, код кнопки запишется в память МК и повторной записи не потребуется, если было отключено питание устройства (для перезаписи кнопки пульта процедуру нужно повторить).

Несколько улучшенная прошивка, исправлен ПИН код, теперь можно в любой последовательности выбирать цифры для кода. Улучшен звук. И в архиве два варианта с разной чувствительностью сенсоров. Хоть подобные схемы и рассчитываются на определение изменения емкости площадок сенсоров, но на работу устройства довольно сильно влияет применяемый блок питания и также помещение, в котором девайс будет работать. Поэтому теперь есть возможность подобрать прошивку, работающую с лучшими показателями.

Изменения — есть возможность самостоятельно настроить время вывода сигнала на исполнительное устройство после правильного набора ПИН кода, производится изменением чисел в памяти EEPROM в ячейках идущих сразу после ПИН кода по адресу 05H и 06H. Время можно вычислить по расчету Время в секундах= ADR_05H (1- ноль не записывать)* ADR_06H (50- цифры в десятичной системе)* 0.02 секунды = получаем задержку в 1 секунду. Теперь еще индикации светодиода нажатой цифры с 8 ноги МК, как таковой нет, вместо этого на выводах 11-10-9-8 выводится число нажатой кнопки в двоичном виде, 8 нога младший БИТ и далее.
Использовав дешифратор типа 155ИД3 можно получить эквивалент каждой цифре свой выход (светодиод).

P.S. Числа для записи в EEPROM надо конвертировать, программаторы не поддерживают десятичную систему исчисления.

В данной статье предлагается схема цифрового термометра на микроконтроллере AVR ATtiny2313, датчике температуры DS1820 (или DS18b20), подключенному к микроконтроллеру по протоколу 1-wire, и ЖК-дисплее 16×2 на контроллере HD44780. Описываемое устройство может найти широкое применение среди радиолюбителей.

Программа для микроконтроллера написана на ассемблере в среде AVR Studio. Монтаж выполнен на макетной плате, кварцевый резонатор на 4МГц, микроконтроллер ATtiny2313 можно заменить на AT90S2313, предварительно перекомпилировав исходный код программы. Погрешность датчика DS1820 около 0,5 С. В архиве также находится прошивка для случая если используется датчик DS18B20. Опрос датчика производится каждую секунду.

WAV-плеер собран на микроконтроллере AVR ATtiny85 (можно использовать ATtiny25/45/85 серии). У микроконтроллеров этой серии всего восемь ножек и два ШИМ (Fast PWM) с несущей 250kHz. Для управления картой памяти достаточно всего 6 проводов: два для питания и четыре сигнальные. Восемь ножек микроконтроллера вполне достаточно для работой с картой памяти, вывода звука и кнопки управления. В любом случае данный плеер очень прост.

С помощью данного измерителя ёмкости можно легко измерить любую ёмкость от единиц пФ до сотен мкФ. Существует несколько методов измерения емкости. В данном проекте используется интеграционный метод.

Главное преимущество использования этого метода в том, что измерение основано на измерении времени, что может быть выполнено на МК довольно точно. Этот метод очень подходит для самодельного измерителя ёмкости, к тому же он легко реализуем на микроконтроллере.

Данный проект был сделан по просьбе друга для установки на дверь в складское помещение. В дальнейшем было изготовлено ещё несколько по просьбе друзей и знакомых. Конструкция оказалась простой и надёжной. Работает данное устройство так: пропускает только те RFID-карты, которые были заранее занесены в память устройства.

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

Электрическая схема частотомера на МК PIC16F870


Этот цифрвой ЖК частотомер обладает очень высокой скоростью измерения, его очень легко собрать и использовать. Счетчик чисел выполнен на основе ЖК-дисплея на 2 строки по 16 символов. Был использован HD44780 на основе очень распространенного дисплея. На микроконтроллере PIC16F870 собраны цепи управления подсчета и отображения результата.

Частотомер может измерять частоту вплоть до 2,5 ГГц . Это стало возможным благодаря предделителю на LMX2322 . Данная специализированная микросхема по даташиту берёт 2,5 ГГц с высокой чувствительностью.

Средства программирования PIC-контроллеров / Хабр

Введение

PIC-контроллеры остаются популярными в тех случаях, когда требуется создать недорогую компактную систему с низким энергопотреблением, не предъявляющую высоких требований по ее управлению. Эти контроллеры позволяют заменить аппаратную логику гибкими программными средствами, которые взаимодействуют с внешними устройствами через хорошие порты.

Миниатюрные PIC контроллеры хороши для построения преобразователей интерфейсов последовательной передачи данных, для реализации функций «прием – обработка – передача данных» и несложных регуляторов систем автоматического управления.

Компания Microchip распространяет MPLAB — бесплатную интегрированную среду редактирования и отладки программ, которая записывает бинарные файлы в микроконтроллеры PIC через программаторы.

Взаимодействие MPLAB и Matlab/Simulink позволяет разрабатывать программы для PIC-контроллеров в среде Simulink — графического моделирования и анализа динамических систем. В этой работе рассматриваются средства программирования PIC контроллеров: MPLAB, Matlab/Simulink и программатор PIC-KIT3 в следующих разделах.

• Характеристики миниатюрного PIC контроллера PIC12F629
• Интегрированная среда разработки MPLAB IDE
• Подключение Matlab/Simulink к MPLAB
• Подключение программатора PIC-KIT3

Характеристики миниатюрного PIC-контроллера

Семейство РIС12ххх содержит контроллеры в миниатюрном 8–выводном корпусе со встроенным тактовым генератором. Контроллеры имеют RISC–архитектуру и обеспечивают выполнение большинства команд процессора за один машинный цикл.

Для примера, ниже даны характеристики недорогого компактного 8-разрядного контроллера PIC12F629 с многофункциональными портами, малым потреблением и широким диапазоном питания [1].

• Архитектура: RISC
• Напряжение питания VDD: от 2,0В до 5,5В (< 6,5В)
• Потребление:
— <1,0 мА @ 5,5В, 4МГц
— 20 мкА (тип) @ 32 кГц, 2,0В
— <1,0 мкА (тип) в режиме SLEEP@2,0В
• Рассеиваемая мощность: 0,8Вт
• Многофункциональные каналы ввода/вывода: 6/5
• Максимальный выходной ток портов GPIO: 125мА
• Ток через программируемые внутренние подтягивающие резисторы портов: ≥50 (250) ≤400 мкА @ 5,0В
• Разрядность контроллера: 8
• Тактовая частота от внешнего генератора: 20 МГц
Длительность машинного цикла: 200 нс
• Тактовая частота от внутреннего RC генератора: 4 МГц ±1%
Длительность машинного цикла: 1мкс
• FLASH память программ: 1К
Число циклов стирание/запись: ≥1000
• ОЗУ память данных: 64
• EEPROM память данных: 128
Число циклов стирание/запись: ≥10K (-40оС ≤TA≤ +125 оС)
• Аппаратные регистры специального назначения: 16
• Список команд: 35 инструкций, все команды выполняются за один машинный цикл,
кроме команд перехода, выполняемых за 2 цикла
• Аппаратный стек: 8 уровней
• Таймер/счетчик ТМR0: 8-разрядный с предделителем
• Таймер/счетчик ТМR1: 16-разрядный с предделителем

Дополнительные особенности:


• Сброс по включению питания (POR)
• Таймер сброса (PWRTтаймер ожидания запуска генератора (OST
• Сброс по снижению напряжения питания (BOD)
• Сторожевой таймер WDT
• Мультиплексируемый вывод -MCLR
• Система прерываний по изменению уровня сигнала на входах
• Индивидуально программируемые для каждого входа подтягивающие резисторы
• Программируемая защита входа
• Режим пониженного энергопотребления SLEEP
• Выбор режима работы тактового генератора
• Внутрисхемное программирование ICSP с использованием двух выводов
• Четыре пользовательские ID ячейки

Предельная рабочая температура для Е исполнения (расширенный диапазон) от -40оС до +125 оС;

Температура хранения от -65оС до +150 оС.

КМОП технология контроллера обеспечивает полностью статический режим работы, при котором остановка тактового генератора не приводит к потере логических состояний внутренних узлов.
Микроконтроллер PIC12F629 имеет 6-разрядный порт ввода/вывода GPIO. Один вывод GP3 порта GPIO работает только на вход, остальные выводы можно сконфигурировать для работы как на вход так и на выход. Каждый вывод GPIO имеет индивидуальный бит разрешения прерываний по изменению уровня сигнала на входах и бит включения внутреннего подтягивающего резистора.

Интегрированная среда разработки MPLAB IDE

MPLAB IDE — бесплатная интегрированная среда разработки ПО для микроконтроллеров PIC включает средства для создания, редактирования, отладки, трансляции и компоновки программ, записи машинного кода в микроконтроллеры через программаторы.

Загрузка MPLAB IDE

Бесплатные версии MPLAB (включая MPLAB 8.92) хранятся на сайте компании Microchip в разделе «DOWNLOAD ARCHIVE».

Создание проекта

Пример создания проекта программ PIC контроллера в среде MPLAB включает следующие шаги [2].

1. Вызов менеджера проекта.

2. Выбор типа PIC микроконтроллера.

3. Выбор компилятора, например, Microchip MPASM для ассемблера.

4. Выбор пути к каталогу проекта (клавиша Browse…) и ввод имени проекта.

5. Подключение файлов к проекту в окне Project Wizard → Step Four можно не выполнять. Это можно сделать позднее, внутри активного проекта. Клавиша Next открывает следующее окно.

6. Завершение создания проекта (клавиша Finish).

В результате создания проекта FirstPrMPLAB интерфейс MPLAB принимает вид, показанный на Рис. 1.


Рис. 1. Интерфейс среды MPLAB v8.92 и шаблон проекта.

Создание файла программы
Программу можно создать при помощи любого текстового редактора. В MPLAB имеется встроенный редактор, который обеспечивает ряд преимуществ, например, оперативный лексический анализ исходного текста, в результате которого в тексте цветом выделяются зарезервированные слова, константы, комментарии, имена, определенные пользователем.

Создание программы в MPLAB можно выполнить в следующей последовательности.

1. Открыть редактор программ: меню → File → New. Изначально программе присвоено имя Untitled.

2. Набрать или скопировать программу, например, на ассемблере.

3. Сохранить программу под другим именем (меню → File → Save As), например, FirstPrMPLAB.asm.


Рис. 2. Пример простейшей программы (на ассемблере) вывода сигналов через порты контроллера GP0, GP1, GP2, GP4, GP5 на максимальной частоте.

Запись ‘1’ в разряде регистра TRISIO переводит соответствующий выходной буфер в 3-е состояние, в этом случае порт GP может работать только на вход. Установка нуля в TRISIO настраивает работу порта GP на выход.

Примечание. По спецификации PIC12F629 порт GP3 микроконтроллера работает только на вход (соответствующий бит регистра TRISIO не сбрасывается – всегда находится в ‘1’).

Регистры TRISIO и GPIO находятся в разных банках области памяти. Переключение банков выполняется 5-м битом регистра STATUS.

Любая программа на ассемблере начинается директивой org и заканчивается директивой end. Переход goto Metka обеспечивает циклическое выполнение программы.

В программе (Рис. 2) используются следующие обозначения.

Директива LIST — назначение типа контроллера
Директива __CONFIG — установка значений битов конфигурации контроллера
Директива equ — присвоение числового значения
Директива org 0 — начало выполнения программы с адреса 0
Команда bsf — устанавливает бит указанного регистра в 1
Команда bсf — сбрасывает бит указанного регистра в 0
Команда movlw — записывает константу в регистр W
Команда movwf — копирует содержимое регистра W в указанный регистр
Команда goto — обеспечивает переход без условия на строку с меткой
Директива end — конец программы

Установка требуемой конфигурации микроконтроллера

Конфигурация микроконтроллера PIC12F629 зависит от настроек слова конфигурации (2007h), которые можно задать в программе через директиву __CONFIG.

Непосредственно или через окно MPLAB: меню → Configure → Configuration Bits:

Где:

Бит 2-0 — FOSC2:FOSC0. Выбор тактового генератора
111 — Внешний RC генератор. Подключается к выводу GP5. GP4 работает как CLKOUT
110 — Внешний RC генератор. Подключается к выводу GP5. GP4 работает как ввод/вывод
101 — Внутренний RC генератор 4МГц. GP5 работает как ввод/вывод. GP4 — как CLKOUT
100 — Внутренний RC генератор 4МГц. GP5 и GP4 работают как ввод/вывод
011 — EC генератор. GP4 работает как ввод/вывод. GP5 — как CLKIN
010 — HC генератор. Резонатор подключается к GP4 и GP5
001 — XT генератор. Резонатор подключается к GP4 и GP5
000 — LP генератор. Резонатор подключается к GP4 и GP5

Бит 3 — WDTE: настройка сторожевого таймера (Watchdog Timer)
1 — WDTE включен
0 — WDTE выключен

Сторожевой таймер предохраняет микроконтроллер от зависания – перезапускает программу через определенный интервал времени если таймер не был сброшен. Период таймера устанавливается в регистре OPTION_REG. Обнуление сторожевого таймера вызывается командой CLRWDT.

Бит 4 — PWRTE: Разрешение работы таймера включения питания:
1 — PWRT выключен
0 — PWRT включен

Таймер задерживает микроконтроллер в состоянии сброса при подаче питания VDD.

Бит 5 — MCLR: Выбор режима работы вывода GP3/-MCLR
1 — работает как -MCLR
0 — работает как порт ввода-вывода GP3

Бит 6 — BODEN: Разрешение сброса по снижению напряжения питания (как правило < 2.0В)
1 — разрешен сброс BOR
0 — запрещен сброс BOR автоматически включается таймер

При разрешении сброса BOR автоматически включается таймер PWRT

Бит 7 — .CP: Бит защиты памяти программ от чтения программатором
1 Защита выключена
0 Защита включена

При выключения защиты вся память программ стирается

Бит 8 — .CPD: Бит защиты EPROM памяти данных
1 Защита выключена
0 Защита включена

После выключения защиты вся информация будет стерта

Бит 11-9 — Не используются: Читается как ‘1’.

Бит 13-12 — BG1:BG0. Биты калибровки сброса по снижению питания
00 — нижний предел калибровки
11 — верхний предел калибровки


Добавление программы к проекту

Пример добавления программы к проекту показан на (Рис. 3).


Рис. 3. Добавление программы FirstPrMPLAB.asm к проекту FirstPrMPLAB.mcp

Сохранить материалы проекта можно командой: меню → File → Save Workspace.

Компиляция

Чтобы создать бинарный файл с расширением hex для прошивки микроконтроллера необходимо откомпилировать проект. Запуск компиляции выполняется командой меню → Project → Build All. Результаты компиляции можно увидеть в окне Output (Рис. 1). Если в программе нет ошибок, то компилятор выдаёт сообщение об успешной компиляции: BUILD SUCCEEDED, загрузочный HEX файл можно найти в рабочем каталоге:


Отладка программы

Отладку программы в среде MPLAB IDE можно выполнить при помощи аппаратного эмулятора MPLAB REAL ICE или программного симулятора MPLAB SIM. Запуск последнего выполняется как показано на Рис. 4.


Рис. 4. Подключение к симулятору MPLAB SIM для отладки программы.

После запуска отладчика в окне Output (Рис. 1) появляется закладка MPLAB SIM, куда MPLAB выводит текущую информацию отладчика. Команды отладчика (Рис. 5) после запуска становятся активными.


Рис. 5. Команды отладчика.

Команды отладчика:

• Run — Непрерывное выполнение программы до точки останова (Breakpoint) если таковая установлена.
• Halt — Остановка программы на текущем шаге выполнения.
• Animate — Анимация непрерывного выполнения программы.
• Step Into — Выполнение по шагам (вызовы Call выполняются за один шаг).
• Step Over — Выполнение по шагам включая команды вызовов Call.
• Reset — Начальная установка программы. Переход указателя на первую команду.
• Breakpoints — Отображение списка точек останова. Обработка списка.

При выполнении программы по шагам текущий шаг выделяется стрелкой (Рис. 6). Непрерывное выполнение программы останавливается командой Halt или достижением программой точки останова. Точка останова устанавливается/снимается в строке программы двойным щелчком.
Пример программы на ассемблере, которая с максимальной скоростью меняет состояние портов контроллера показан на Рис. 6 (справа). Программа передаёт в регистр портов GPIO данные b’10101010’ и b’01010101’. Поскольку в регистре GPIO передачу данных в порты контроллера выполняют не все разряды, а только 0,1,2,4 и 5, то состояние регистра GPIO (Рис. 6, слева) отличается значениями: b’00100010’ и b’00010101’.


Рис. 6. Состояние регистров специального назначения контроллера на момент выполнения программы (слева) и выполняемая по шагам программа (справа).

В процессе отладки можно наблюдать за состоянием регистров, переменных, памяти в соответствующих окнах, открываемых в разделе View основного меню. В процессе отладки можно вносить изменения в код программы, содержимое регистров, памяти, изменять значения переменных. После изменения кода необходимо перекомпилировать программу. Изменение содержимого регистров, памяти и значения переменных (окна раздела View: Special Function Register, File Register, EEPROM, Watch) не требует перекомпиляции.

Входные сигналы портов модели микроконтоллера можно задать в разделе Debugger → Stimulus. Устанавливаемые состояния сигналов портов привязываются к времени (тактам) отладки.

Иногда результаты выполнения программы в режиме отладки не соответствуют выполнению этой же программы в реальном контроллере, так, например, отладчик программы (Рис. 6) без инструкций movlw 0x07 и movwf cmcon показывает, что выходы GP0 и GP1 регистра GPIO не изменяются — находятся в нулевом состоянии, содержимое регистра GPIO попеременно равно 0x14 и 0х20. Однако, контроллер, выполняющий программу без указанных инструкций, показывает на осциллографе циклическую работу всех пяти выходов: 0x15 и 0х22, включая GP0 и GP1 (см. Рис. 7).

Осциллограммы контроллера, выполняющего циклы программы Рис. 6 (Metka… goto Metka) показаны на Рис. 7.


Рис. 7. Осциллограммы выхода GP0 (слева) и GP1 (справа) микроконтроллера PIC12F629, работающего от внутреннего 4МГц RC генератора. Программа (Рис. 6) формирует сигналы максимальной частоты на всех выходах контроллера. За период сигналов 5.3 мкс выполняется 5 команд (6 машинных циклов), амплитуда GP0 сигнала на осциллограмме равна 4.6В, измеренное программатором питание контроллера 4.75В.

Прошивка микроконтроллера

Для записи программы в микроконтроллер (прошивки контроллера) необходимо микроконтроллер подключить к интегрированной среде MPLAB IDE через программатор. Организация подключения показана ниже в разделе «Подключение программатора PIC-KIT3».

Примечание. В контроллер PIC12F629 записана заводская калибровочная константа настройки частоты внутреннего тактового генератора. При необходимости её можно прочитать и восстановить средствами MPLAB с использованием программатора.

Команды для работы с программатором и изменения его настроек находятся в меню MPLAB Programmer. Тип программатора в MPLAB выбирается в разделе: меню → Programmer → Select Programmer.


Рис. 8. Выбор программатора для подключения к среде MPLAB.

Прошивка микроконтроллера через программатор запускается командой: меню → Programmer → Program. Сообщение об успешной прошивке показано на Рис. 9.


Рис. 9. Запуск прошивки микроконтроллера и вид сообщения об успешной прошивке.

Примечание: Во время прошивки микроконтроллера у программатора PIC-KIT3 мигает желтый светодиод.

Подключение MATLAB/SIMULINK к MPLAB

В системе моделирования динамических систем Simulink (приложение к Matlab) на языке графического программирования [7] можно разрабатывать программы для семейства PIC контроллеров имеющих АЦП/ЦАП, счетчики, таймеры, ШИМ, DMA, интерфейсы UART, SPI, CAN, I2C и др.

Пример Simulink программы PIC контроллера показан на Рис. 10.


Рис. 10. Пример программы на языке графического программирования для PIC контроллера выполненной в среде моделирования динамических систем Simulink.

Взаимодействие средств разработки и компиляции программ для PIC контроллеров в Simulink показано на Рис. 11 [6].


Рис. 11. Структура средств построения адекватной модели PIC контроллера на языке графического программирования.

Для построения среды разработки необходимы следующие компоненты Matlab:

• Simulink
• Real-Time Workshop Embedded Coder
• Real-Time Workshop

И Cи компилятор компании Microchip:

• C30 для контроллеров PIC24, dsPIC30 и PIC33
• или C32 для контроллеров серии PIC32

Установка компонентов Matlab

На

сайте

имеются Simulink библиотеки (dsPIC Toolbox) для PIC контроллеров и версий Matlab c R2006a по R2012a:

Для скачивания библиотеки необходимо зарегистрироваться. Программы поддерживают работу 100 микроконтроллеров из серий PIC 16MC, 24F, 30F, 32MC, 33F, 56GP, 64MC, 128MC, 128GP.
Бесплатные версии работают с Simulink моделями PIC контроллеров имеющих до 7 портов ввода-вывода.

Для установки dsPIC Toolbox — библиотеки блоков PIC контроллеров для Matlab/Simulink необходимо [4]:

• Скачать dsPIC Toolbox для требуемой версии Matlab.
• Распаковать zip файл в папке, в которой будут установлены Simulink блоки.
• Запустить Matlab.
• Настроить текущий каталог Matlab на папку с распакованным файлом.
• Открыть и запустить файл install_dsPIC_R2012a.m, например, кнопкой меню или клавишей клавиатуры.

Библиотеки dsPIC и примеры Simulink моделей устанавливаются в текущую папку Matlab (Рис. 12). Установленные блоки для моделирования PIC контроллеров доступны в разделе Embedded Target for Microchip dsPIC библиотеки Simulink (Рис. 13).


Рис. 12. Содержимое текущего каталога после выполнения install_dsPIC_R2012a.m.
Рис. 13. Блоки, установленной библиотеки «Embedded Target for Microchip dsPIC».

Для совместной компиляции Simulink модели средствами Matlab и MPLAB необходимо прописать в переменной окружения path Matlab с высшим приоритетом путь к каталогу MPLAB с файлами MplabOpenModel.m, MplabGetBuildinfo.m и getHardwareConfigs.m:

>> path('c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\',path) 

Установка Си компилятора MPLAB

Компиляторы MPLAB находятся

на сайте Microchip

(Download Archive → MPLAB C Compiler for PIC24 and dsPIC DSCs). Для установки демонстрационной версии компилятора С30 необходимо его скачать по ссылке PIC24/dsPIC v3.25 (Рис. 14) и запустить принятый файл mplabc30-v3.25-comboUpgrade.exe.


Рис. 14. Версии Си компилятора (слева) и режимы его установки (справа).

Примечание. Работа выполнена с версией v3.25 компилятора С30 для PIC24/dsPIC. Проверка показала, что следующая версия v3.30 не поддерживает совместную компиляцию моделей Matlab R2012a (dsPIC Toolbox) без ошибок.

Установочный exe файл создаёт в разделе c:\Program Files (x86)\Microchip\ новый каталог mplabc30 с файлами:


Рис. 15. Каталоги компилятора C30 MPLAB.

Последовательность Simulink программирования для PIC контроллеров

1. Создайте рабочий каталог и скопируйте в него *.mdl примеры из раздела example (см. Рис. 12).
2. Загрузите Matlab. Настройте его на рабочий каталог.
3. Включите в переменную окружения path Matlab с высшим приоритетом путь к MPLAB — каталогу c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\:

>> path('c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\',path) 

Примечание: Использование команды >>path без аргументов приводит к отображению списка путей переменной path в окне команд (Command Window). Удалить путь из переменной path можно командой rmpath, например:

>>rmpath(' c:\Program Files\Microchip\MPLAB IDE\Tools\MATLAB\')

4.

Создайте Simulink модель для PIC контроллера, используя блоки библиотеки «Embedded Target for Microchip dsPIC» (Рис. 13), или загрузите готовую модель, например, Servo_ADC.mdl.

Тип контроллера, для которого разрабатывается Simulink модель, выбирается из списка в блоке Master > PIC (Рис. 16, Рис. 10), который должен быть включен в состав модели.


Рис. 16. Выбор типа контроллера в блоке Master модели.

5. Проверьте настройки конфигурации модели: Меню → Simulation → Configuration Parameters <Ctrl+E>. В строке ввода System target file раздела Code Generation должен быть указан компилятор S-функций dspic.tlc (Рис. 17). Выбор dspic.tlc настраивает все остальные параметры конфигурации модели, включая шаг и метод интегрирования.


Рис. 17. Выбор компилятора S-функций dspic.tlc для моделей PIC-контроллеров в разделе «основное меню → Simulation → Configuration Parameters → Code Generation».

6. Откомпилируйте модель tmp_Servo_ADC.mdl. Запуск компилятора показан на Рис. 18.


Рис. 18. Запуск компилятора Simulink модели.

В результате успешной компиляции (сообщение: ### Successful completion of build procedure for model: Servo_ADC) в текущем каталоге создаются HEX файл для прошивки PIC контроллера и MCP проект среды MPLAB (Рис. 19).


Рис. 19. Результаты компиляции модели.

Запуск модели в Matlab/Simulink выполняется в окне модели кнопкой, условное время моделирования устанавливается в строке:


Управление компиляцией Simulink моделей из среды MPLAB

Управление компиляцией Simulink модели можно выполнять командами раздела Matlab/Simulink среды MPLAB, например, в следующем порядке.

1. Разработайте модель PIC контроллера в Matlab/Simulink. Сохраните модель.
2. Запустите MPLAB.
3. Выберите MPLAB меню → Tools → Matlab/Simulink и новый раздел появится в составе меню.

4. В разделе Matlab/Simulink откройте Simulink модель, например, Servo_ADC, командой «Matlab/Simulink → Specify Simulink Model Name → Open → File name → Servo_ADC.mdl → Open». Команда Open запускает Matlab и открывает модель.

5. Откомпилируйте модель и создайте MCP проект командами Generate Codes или Generate Codes and Import Files. Перевод MDL модели в MCP проект выполняется TLC компилятором Matlab.
В результате создаётся проект MPLAB:

со скриптами модели на языке Си.

6. Откройте проект: меню → Project → Open → Servo_ADC.mcp (Рис. 20).


Рис. 20. Структура MCP проекта Simulink модели Servo_ADC.mdl в среде MPLAB.
Проект Simulink модели готов для редактирования, отладки и компиляции в машинные коды контроллера средствами MPLAB.

Подключение программатора PIC-KIT3

Узнать какие программаторы записывают бинарный код в конкретный микроконтроллер можно в разделе меню → Configure → Select Device среды MPLAB 8.92. Например, программатор PIC-KIT3 не поддерживает контроллер PIC12C508A (Рис. 21, левый рисунок), но работает с контроллером PIC12F629 (Рис. 21, правый рисунок).


Рис. 21. Перечень программаторов для прошивки микроконтроллера.

Информацию об установленном драйвере программатора PIC-KIT3 можно запросить у менеджера устройств ОС Windows (Рис. 22).


Рис. 22. Информация об установленном драйвере программатора PIC-KIT3.

Схема подключения микроконтроллера PIC12F629 к программатору PIC-KIT3 показана на Рис. 23.


Рис. 23. Схема подключения микроконтроллера PIC12F629 к программатору PIC-KIT3.

Вывод PGM программатора для прошивки контроллеров PIC12F629 не используется. Наличие вывода PGM для разных типов PIC контроллеров показано на Рис. 24. Вывод PGM рекомендуется «притягивать» к общему проводу (GND), через резистор, номиналом 1К [3].


Рис. 24. Выводы PGM PIC контроллеров.

Индикация светодиодов программатора Olimex PIC-KIT3 показана в ниже:

Желтый — Красный — Состояние программатора
Вкл — Выкл — Подключен к USB линии
Вкл — Вкл — Взаимодействие с MPLAB
Мигает — Включен постоянно — Прошивка микроконтроллера

Не следует подключать питание микроконтроллера VDD (Рис. 23) к программатору, если контроллер запитывается от своего источника питания.

При питании микроконтроллера от программатора на линии VDD необходимо установить рабочее напряжение, например, 5В программой MPLAB (Menu → Programmer → Settings → Power), как показано на Рис. 25.

Примечание. При отсутствии напряжения на линии VDD MPLAB IDE выдает сообщение об ошибке: PK3Err0045: You must connect to a target device to use


Рис. 25. Установка напряжения VDD на программаторе PIC-KIT3 программой MPLAB IDE v8.92.

Если программатор не может установить требуемое напряжение, например, 5В при его питании от USB, в которой напряжение меньше 5В, MPLAB IDE выдает сообщение об ошибке: PK3Err0035: Failed to get Device ID. В этом случае, сначала необходимо измерить напряжение программатора — считать его в закладке меню → Programmer → Settings → Status, а затем установить напряжение (не больше измеренного) в закладке меню → Programmer → Settings → Power.


Рис. 26. Измерение (слева) и установка (справа) VDD напряжения программатора PIC-KIT3 программой MPLAB IDE v8.92.

Пример MPLAB сообщения успешного подключения микроконтроллера к программатору по команде меню → Programmer → Reconnect показан на Рис. 27.


Рис. 27. Сообщение MPLAB об успешном подключении микроконтроллера к программатору.

Можно программировать не только отдельный PIC контроллер, но и контроллер, находящийся в составе рабочего устройства. Для программирования PIC контроллера в составе устройства необходимо предусмотреть установку перемычек и токоограничивающих резисторов как показано на Рис. 28 [3].


Рис. 28. Подключение микроконтроллера в составе электронного устройства к программатору.

Заключение

Малоразрядные PIC-контроллеры имеют широкий диапазон питания, низкое потребление и малые габариты. Они программируются на языках низкого уровня. Разработка программ на языке графического программирования Simulink с использованием многочисленных библиотек значительно сокращает время разработки и отладки в сравнении с программированием на уровне ассемблера. Разработанные для PIC-контроллеров Simulink структуры можно использовать и для компьютерного моделирования динамических систем с участием контроллеров. Однако, из-за избыточности кода такой подход применим только для семейств PIC контроллеров с достаточными ресурсами.

ICD2 дебаггер и PIC контроллеры

доступная для повторения версия MPLAB-ICD2 дебаггера (внутрисхемного отладчика — программатора PIC контроллеров серий PIC12F, PIC16F, PIC18F и dsPIC30F) компании Microchip.

Несколько несложных самоделок на PIC контроллерах

PIC-контроллеры для начинающих

Пример программирования устройства на PIC-контроллере при помощи ICD2-SeVeN дебаггера и пакета MPLAB

Данное устройство на PIC16F876A приведено для примера начинающим программистам PIC контроллеров. В нём приведены схемотехнические и программные решения таких вопросов как :

  • динамическая индикация на LED индикаторах
  • динамическое сканирование клавиатуры
  • часы реального времени
  • организация иерархического меню настроек
  • электронный термометр

ПЕРЕЙТИ К ОПИСАНИЮ КОНСТРУКЦИИ


Считывание кода RC-5 при помощи PIC — контроллера

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

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

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

ПЕРЕЙТИ К ОПИСАНИЮ КОНСТРУКЦИИ


Контроль протока воды в системе охлаждения двигателя маломерного судна в контуре забортной воды

Поводом для создания этой конструкции послужила необходимость контроля протока воды в системе охлаждения двигателя маломерного судна в контуре забортной воды.
Владельцы катеров хорошо знакомы с проблемой перегрева двигателя при отсутствии охлаждения. Причины этого бывают разные: отказ помпы охлаждения, попадание в водозаборник системы охлаждения водорослей или др. предметов (особенно — на малых реках). Весьма дорого после такого «самовара» обходится ремонт стационарных двигателей. Это переработанный с учётом опыта эксплуатации вариант прибора.

ПЕРЕЙТИ К ОПИСАНИЮ КОНСТРУКЦИИ


Прибор контроля работоспособности инкрементальных энкодеров

Представленная конструкция предназначена для контроля работоспособности инкрементальных энкодеров. Устройство управляется PIC-контроллером. Принцип работы несложен — шаговый двигатель вращает вал энкодера, в это время контроллер производит счёт импульсов, подсчитанные значения выводятся на LCD-дисплей (в имп/об).

(программный проект на microC PRO)

ПЕРЕЙТИ К ОПИСАНИЮ КОНСТРУКЦИИ

 

Способ изготовления печатных плат

Описанный способ позволяет изготавливать печатные платы достаточно высокого качества, пригодные как для обычного, так и для SMD монтажа. Способ достаточно прост. Из оборудования требуется лишь лазерный принтер и утюг.

ПЕРЕЙТИ К ОПИСАНИЮ

 

Доработка Microlab Solo3C


Несложная доработка начального уровня мультимедийных колонок Microlab Solo3C с целью устранения искажений сигнала и коррекции амплитудно — частотной характеристики (один из возможных вариантов)

ПЕРЕЙТИ К ОПИСАНИЮ

 

Блок дополнительного охлаждения


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

ПЕРЕЙТИ К ОПИСАНИЮ

 

Мой HTPC


Как я собирал HTPC (компьютерный мультимедийный центр)своими руками.

ПЕРЕЙТИ К ОПИСАНИЮ

 

Лабораторный стенд для отладки периферийных схем и микроконтроллеров серии PIC

Библиографическое описание:

Каримова, Н. О. Лабораторный стенд для отладки периферийных схем и микроконтроллеров серии PIC / Н. О. Каримова. — Текст : непосредственный // Молодой ученый. — 2018. — № 13 (199). — С. 53-55. — URL: https://moluch.ru/archive/199/49104/ (дата обращения: 19.09.2021).



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

В статье представлено создание физического и виртуального лабораторных стендов на базе микроконтроллеров PIC. Физический стенд представляет собой печатную плату с наличием портов ввода/вывода и элементами индикации. Виртуальный лабораторный стенд реализован в программе PROTEUS VSM и идентичен физическому стенду. Для детального изучения устройства микроконтроллера и основ его программирования в учебном процессе учащимися выполняются 5 лабораторных работ.

Микроконтроллеры. Микроконтроллер — это компьютер, разместившийся в одной микросхеме. Отсюда и его основные привлекательные качества: малые габариты; высокие производительность, надежность и способность быть адаптированным для выполнения самых различных задач.

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

К наиболее распространенным встроенным устройствам относятся устройства памяти и порты ввода/вывода (I/O), интерфейсы связи, таймеры, системные часы. Устройства памяти включают оперативную память (RAM), постоянные запоминающие устройства (ROM), перепрограммируемую ROM (EPROM), электрически перепрограммируемую ROM (EEPROM). Таймеры включают и часы реального времени, и таймеры прерываний. Средства I/O включают последовательные порты связи, параллельные порты (I/O линии), аналого-цифровые преобразователи (A/D), цифроаналоговые преобразователи (D/A), драйверы жидкокристаллического дисплея (LCD) или драйверы вакуумного флуоресцентного дисплея (VFD). Встроенные устройства обладают повышенной надежностью, поскольку они не требуют никаких внешних электрических цепей.

Высокая скорость выполнения команд в PIC-контроллерах достигается за счет использования двухшинной гарвардской архитектуры вместо традиционной одношинной фон-неймановской. Гарвардская архитектура основывается на наборе регистров с разделенными шинами и адресными пространствами для команд и данных. Все ресурсы микроконтроллера, такие как порты ввода/вывода, ячейки памяти и таймер, представляют собой физически реализованные аппаратные регистры [1].

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

Описываемый лабораторный стенд предназначен для работы с микроконтроллерами серии PIC 16F873A/876A [2]. Из периферии в распоряжении пользователя имеется 16 символьный 2-х строчный ЖК-дисплей, для которого предусмотрена возможность изменения контраста отображаемого текста на дисплее. Также стенд оснащен 3 портами ввода и 5 портами вывода, которые в свою очередь гальванически развязаны от самого микроконтроллера с помощью оптопар EL817, что предотвращает какие-либо воздействия на микроконтроллер [3]. Питание обеспечивается стандартным источником питания на 9В, использование батареи-кирона также представляется возможным [4]. При работе микроконтроллера производится индикация состояний всех его портов при помощи светодиодов, что позволяет визуально выделить порты, задействованные в данное время.

Помимо внутреннего тактового генератора самого микроконтроллера на 4 МГц, имеется внешний кварцевый резонатор на 20 МГц, что расширяет функциональность и увеличивает производительность микроконтроллера. Для сброса работы микроконтроллера имеется кнопка RESET, которая крайне необходима при его некорректной работе и случайных зависаниях, чтобы перезапустить микроконтроллер [5].

Лабораторный стенд оснащен интерфейсом для программирования микроконтроллера, что облегчает сам процесс программирования, не извлекая микроконтроллер из платы стенда. Помимо этого, имеются регулятор для изменения опорного напряжения на микроконтроллере и выводы для замера этого напряжения с помощью вольтметра [6].

Лабораторный стенд предназначен для работы с микроконтроллерами PIC серии 16F873A/876A. Внешний вид стенда приведен на рис.1.

Рис. 1. Лабораторный стенд на базе МК PIC 16F876A

Цифрами обозначены основные блоки лабораторного стенда:

  1. Порты ввода RA0, RA1 и RA4 предназначены для подачи сигналов на микроконтроллер.
  2. Микроконтроллер PIC 16F876A со схемой индикации. Светодиоды сигнализируют наличие сигнала на соответствующем порте.
  3. Цепь питания, состоящая из стабилизатора LM7805, который преобразует входное напряжение 9В в 5В; светодиода, сигнализирующего наличие тока в цепи и кнопки, для перезапуска микроконтроллера.
  4. Порты вывода RB0, RB1, RB2, RB4 и RB5, предназначенные для выдачи сигналов от микроконтроллера. Все порты имеют гальваническую развязку, обеспечиваемую оптронами EL817, т. е. цепи питания микроконтроллера и портов вывода независимы, что гарантирует полную защищенность микроконтроллера от внешних воздействий.
  5. Дисплей LCD 1602, представляет собой ЖК-дисплей с возможностью вывода текста в 2 строки по 16 символов каждая. Имеется возможность изменять контрастность текста при помощи подстроечного резистора.
  6. Блок регулировки опорного напряжения, подаваемого на микроконтроллер, в основном применяется для изменения размера шага квантования. Также имеются два вывода для замера этого напряжения при помощи вольтметра.

Помимо этого, имеется интерфейс для программирования микроконтроллера через программатор PicKit.

Для лабораторного стенда необходимо два источника питания: +9В для основной схемы; +5В для обеспечения гальванической развязки.

Разработанная конструкция лабораторного стенда для работы с микроконтроллерами PIC может быть успешно использована для ознакомления студентов с типовыми схемными решениями микроконтроллерных устройств различного назначения, такими как генератор импульсов, светодиодный индикатор, вольтметр, терминал (пульт) управления, термометр и др., для разработки и отладки новых устройств в ВУЗах Республики Узбекистан, так как обладает всеми необходимыми компонентами и имеет высокую степень защиты от ошибок при подключении питания и включения в цепь. Внедрение данного лабораторного стенда позволит расширить возможности проектирования и отладки плат для студентов, визуально повысить доступность понимания процессов, происходящих в цепях и, соответственно, в устройствах, являясь, тем самым, элементом интерактивного обучения студентов, при этом существенно снизив затраты на оснащение лабораторий.

Литература:

  1. Предко М. Справочник по PIC-микроконтроллерам. -М.: ДМК Пресс 2002 г. -512 с.
  2. Иванов Ю. И., Кропачев К. А., Финаев В. И. Универсальный лабораторный стенд для исследований микроконтроллеров// Известия Южного федерального университета. Технические науки. 2012 г. № 36. -181 с.
  3. Уилмшурст Т. Разработка встроенных систем с помощью микроконтроллеров PIC. Принципы и практические примеры, -М.: Издательство: МК-Пресс, Корона-Век, ISBN 978–5-903383–61–0, 978–966–8806–46–9, 978–0-7506–6755–5, 2008 г. -544 с.
  4. Кохц Д. Измерение, управление и регулирование с помощью PIC микроконтроллеров, Издательство: МК-Пресс, ISBN 978–966–8806–15–5, 2015 г. -304 с.
  5. Катцен С. PIC-микроконтроллеры. Полное руководство, -М.: Издательство: Додэка, ДМК Пресс, ISBN 978–5-97060–109–9, 2014 г. -652 с.
  6. Заец Н. Радиолюбительские конструкции на PIC-микроконтроллерах, -М.: Издательство: МК-Пресс, Корона-Век, ISBN 978–5-7931–0942–0, 978–966–8806–42–1, 2015 г. -239 с.

Основные термины (генерируются автоматически): PIC, лабораторный стенд, ROM, микроконтроллер, LCD, порт ввода, гальваническая развязка, гарвардская архитектура, опорное напряжение, самый микроконтроллер.

proteus_pic

proteus_pic

Микроконтроллеры и Proteus

На одном из форумов я встретил сообщение о разочаровании в Pic-контроллерах, человек, отправивший это сообщение, решил перейти на AVR-контроллеры.

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

Как любой компонент электронной схемы: транзистор, резистор, индуктивность и т.д., — микроконтроллер выбирается на соответствующем этапе разработки устройства. При выборе учитываются многие факторы, порой выбор зависят от храктера предприятия, осуществляющего проект. Один из факторов при выборе конкретного типа — это выполнение задачи данным элементом. Если он выполняет свою задачу, не выходит ни по стоимости, ни по габаритам за пределы заданных параметров, то выбор между PIC и AVR контроллером может определяться только тем, что специалисты предприятия имеют большой опыт работы с одним типом и малый с другим, что совсем не характерно даже для предприятия среднего размера. Или выбор может быть обусловлен возможностями постоянного поставщика элементной базы. Но в любом случае невозможно говорить о разочаровании. Другое дело, если предприятие-изготовитель микроконтроллера рекламировало его, делая упор на свойствах, которых не обнаруживается в готовом изделии. Здесь вполне уместно говорить о разочаровании.

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

Я пока оставлю вопрос о возможности полной разработки электронной схемы, базирующейся на микроконтроллере, включая написание и отладку программы на ассемблере или языке высокого уровня для микроконтроллера, с тем, чтобы вернуться к нему позже. Но даже если для создания программы использовать, положим, MPLAB или Piklab для Pic-контроллера, программа ISIS, составная часть Proteus, позволяет проверить работу не только контроллера, но всего устройства. Для начала очень простой пример. В программе KTechlab я некогда приводил пример создания работающей программы для игрушечного светофора. Нет сомнений, что не составляет особого труда проверить работу этой программы в средствах отладки той программы, в которой код получен, но меня очень порадовало, что в Proteus есть такой элемент, как симулятор светофора. Достаточно выбрать в компонентах микроконтроллер PIC16F628A, для которого создавалась программа светофора, найти в разделе Miscellaneous библиотеки компонентов элемент TRAFFIC LIGHTS, чтобы после добавления hex-файла программы с помощью диалогового окна свойств микроконтроллера (щелчок правой клавишей мышки и выбор Edit Properties из выпадающего меню), где файл добавляется обычным образом через проводник, если воспользоваться кнопкой с иконкой папки в наборе для Programm File:, и соединения выводов запустить симуляцию и увидеть воочию работу светофора.

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

Рис. 4.1. Симуляция работы устройства с микроконтроллером

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

Схема на рисунке ниже и программа для микроконтроллера предназначались для демонстрации начинающим любителям электроники, что они могут не только повторять готовые простые электрические схемы, но и подступиться к разработке более сложных устройств. Устройств, которые можно реализовать в виде готового изделия, чтобы порадовать младшего брата или сестру в качестве забавной игрушки, или могут быть использованы для автоматизации каких-то домашних процессов. Само устройство, к проверке которого в Proteus я перехожу, это релейный модуль. Он должен получать команды извне по интерфейсу RS485 в виде строк R00$0N от компьютера или центрального управляющего устройства, по которым включать (или выключать) соответствующее реле. Последнее, если выбрать реле с контактами, способными коммутировать, например, обычную лампу для освещения, будет включать или выключать свет. Команда вида R00$0S запрашивает состояние соответствующего реле, на которое контроллер отвечает R00#0N, если реле включено, или R00#0F, если выключено. Для упрощения рисунка я не добавлял микросхему интерфейса RS485, но это мало влияет на конечный результат. Схема изображена с двумя реле, лампы на схеме, опять-таки для упрощения схемы, 12-вольтовые и подключены к тому же источнику питания, что и реле. В качестве источника команд использован терминал программы Proteus, а сигналы команд в линии отображаются на экране осциллографа.

Более подробное (может быть, излишне подробное) описание модулей есть в моей книге «Умный дом своими руками», и здесь я опущу все детали, включая программу, но результат эксперимента в программе Proteus приведу. Мне нравится то, как Proteus справляется с задачей.

Рис. 4.2. Эмуляция работы релейного модуля на PIC16F628A

Как видно на рисунке лампа послушно включается и выключается командами терминала системы проектирования Proteus.

Я допускаю, что профессионалов может что-то не устраивать в работе программы. Возможно, никакая программа не может быть столь универсальна, чтобы удовлетворить всем потребностям всех профессионалов, но мне она очень нравится, и я пока не придумал, что бы такого она не могла сделать. Более того, ранее мой знакомый, занимавшийся конвертером Чука, сообщил мне, что симуляция этого конвертера в программе Qucs не проходит. Собственно, уж не знаю правильно ли в количественном плане, но в качественном и в программе Qucs симуляция проходит, но без применения источника переменного напряжения и выпрямителя. Профессионалы, работающие с силовой электроникой, справедливо предпочитают такие программы, как PSIM и SwCADIII, специализирующиеся на этих задачах, но меня заинтересовало, пройдет ли симуляция в Proteus.

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

Рис. 4.3. Симуляция работы конвертера Чука в программе Proteus

Столь обширная область применения Proteus, по моему мнению, должна в полной мере удовлетворять запросам любителей. Профессионалы, я думаю, с удовольствием будут использовать программу там, где она их устраивает, и искать другие решения, там где они хотели бы большего, в частности создавая свои версии САПР. Но для этого должны быть серьезные причины.

Однако вернемся к микроконтроллерам. В поставку системы Proteus входит множество примеров и, в частности, программа для микроконтроллера PIC16F84. Следуя руководству пользователя, находим раздел SAMPLES, затем Tutorials. В нем готовый проект Traffic.DSN и исходный текст на ассемблере TL.ASM:

LIST p=16F84 ; PIC16F844 is the target processor
#include «P16F84.INC» ; Include header file
CBLOCK 0x10 ; Temporary storage
state
l1,l2
ENDC

org 0 ; Start up vector.
goto setports ; Go to start up code.

org 4 ; Interrupt vector.
halt goto halt ; Sit in endless loop and do nothing.

setports clrw ; Zero in to W.
movwf PORTA ; Ensure PORTA is zero before we enable it.
movwf PORTB ; Ensure PORTB is zero before we enable it.
bsf STATUS,RP0 ; Select Bank 1
clrw ; Mask for all bits as outputs.
movwf TRISB ; Set TRISB register.
bcf STATUS,RP0 ; Reselect Bank 0.

initialise clrw ; Initial state.
movwf state ; Set it.

loop call getmask ; Convert state to bitmask.
movwf PORTB ; Write it to port.
incf state,W ; Increment state in to W.
andlw 0x04 ; Wrap it around.
movwf state ; Put it back in to memory.
call wait ; Wait 🙂
goto loop ; And loop 🙂

; Function to return bitmask for output port for current state.
; The top nibble contains the bits for one set of lights and the
; lower nibble the bits for the other set. Bit 1 is red, 2 is amber
; and bit three is green. Bit four is not used.
getmask movf state,W ; Get state in to W.
addwf PCL,F ; Add offset in W to PCL to calc. goto.
retlw 0x41 ; state==0 is Green and Red.
retlw 0x23 ; state==1 is Amber and Red/Amber
retlw 0x14 ; state==3 is Red and Green
retlw 0x32 ; state==4 is Red/Amber and Amber.

; Function using two loops to achieve a delay.
wait movlw 5
movwf l1

w1 call wait2
decfsz l1
goto w1

return

wait2 clrf l2
w2 decfsz l2
goto w2
return
END

Далее, следуя инструкции, выберем исходный файл (если это уже не сделано в проекте): раздел основного меню Source пункт Add/Remove Source Files, где в окне диалога можно выбрать и исходный файл, и нужный компилятор.

Рис. 4.4. Диалоговое окно выбора исходного файла и компилятора

И завершает подготовку добавление hex-файла к схеме через выпадающее меню и раздел редактирования свойств компонента, где можно указать файл TL.HEX.

Программа содержит преднамеренную ошибку, о чем есть предупреждение в руководстве:

There is, in fact, a deliberate mistake in the above code…

Кроме того, руководство сообщает, что hex-файл получен с помощью MPASM, и в случае использования другого компилятора, вам следует:

Note that If you are planning to use a new assembler or compiler for the first time, you will need to register it using the Define Code Generation Tools command.

Заметьте, что если вы намерены использовать новый ассемблер или компилятор, вначале вам нужно зарегистрировать его, используя команду Define Code Generation Tools.

Запуск симуляции клавишей Play приводит к тому, о чем сообщает руководство, зажигаются два огня светофоров и ничего больше не происходит — работает преднамеренная ошибка.

Рис. 4.5. Пример для отлаживания программы из набора Proteus

Последуем далее за руководством. Для отладки рекомендуется нажать Ctrl+F12 или выбрать соответствующий пункт в разделе основного меню Debug. В этом же разделе после того, как откроется окно с кодом ассемблера можно открыть другие окна отладки: окно состояния регистров, наблюдения и т.д. Откроем рекомендуемые руководством окна наблюдения.

Рис. 4.6. Окна наблюдения за состоянием микроконтроллера при отладке

В окне с исходным кодом можно задать или снять точку останова, используя клавишу F9 или выбирая эту команду из выпадающего меню, получаемого после выделения левой клавишей мышки нужной строки, по которой следует щелкнуть правой клавишей мышки. Руководство рекомендует выбрать строку 000E, где начинается цикл (отмеченный в ассемблерном коде loop). После задания точки останова клавишей F12 запускается симуляция, доходящая до точки останова, что можно видеть в строке состояния, где показано, что остановка симуляции по точке останова произошла при состоянии счетчика контроллера 000E, что соответствует заказанной строке для остановки. Клавиша F11 или соответствующий пункт в меню Debug позволяют сделать шаг внутрь цикла, красная стрелка, отмечающая перемещения в окне исходного кода, переместится соответственно ниже. При этом, если посмотреть на регистр w в окне отображения состояния регистров контроллера, то можно увидеть, что регистр очистился, что соответствует выполнению команды clrw.

Далее программа должна перенести содержимое регистра w в PORT A, то есть, очистить порт А. Продолжая выполнение инструкций можно в этом убедиться. Кроме использования основного меню и горячих клавиш для пошаговой отладки можно использовать инструментальное меню окна исходного кода. В окно наблюдения, используя выпадающее меню, можно добавить наблюдение за определенным адресом или именованной переменной, выбирая формат отображения. Как описывается далее в руководстве, предопределенная ошибка находится по адресу 0011, где операция andlw записана в виде 0x4 вместо 0x3.

Система имеет встроенный текстовый редактор, открывающийся после двойного щелчка по имени ассемблерного файла в пункте основного меню Source. В Linux это не получается, появляющийся редактор исчезает немного «помучившись». Но текст ассемблера можно открыть любым другим редактором, тем более, что после исправления его предстоит транслировать с помощью, я полагаю, MPASMWIN. Возможно, встроенный редактор позволяет сделать это без выхода из Proteus, но невелик труд использовать и внешние средства. Правда, пакет MPASM, входящий в поставку системы, который можно найти в папке Tools, приходится перенести на диск С:. Без этой процедуры появляется ошибка при трансляции, но, тем не менее, ошибка исправлена, текст оттранслирован. Теперь в программе Proteus можно заменить hex-файл новым и запустить программу на исполнение.

Рис. 4.7. Выполнение демонстрационной программы после исправления ошибки

Программа работает, огни светофора последовательно переключаются. При необходимости в отладочных операциях, а иногда такая необходимость возникает, можно использовать для наблюдения сигналов осциллограф или графические средства отображения сигналов после расстановки пробников напряжения в нужные точки, например, на выводы микроконтроллера. При выборе типа отображения графика для демонстрационной программы естественно применить DIGITAL. Дальнейшая работа с графиком проводится обычным образом: рисуется окно графики, добавляются трассы наблюдения и запускается симуляция графика. Для удобства наблюдения сигналов в свойствах микроконтроллера можно изменить частоту с 10 кГц на 1 МГц.

Рис. 4.8. Наблюдение сигналов на выводах контроллера с помощью осциллографа

Словом, среда разработки Proteus предлагает все удобные средства для разработки устройств, использующих микроконтроллеры, включая средства отладки программы. В простых случаях, как в демонстрационной программе, преимущества Proteus не столь очевидны, но если вы используете достаточно много дополнительных элементов, возможность увидеть не только сигналы на выводах микроконтроллера, но и их «дальнейшую судьбу», невозможно переоценить.

Остается добавить, что я использовал систему Proteus в Linux под эмулятором Wine, который изначально предназначался для Windows игр. Система разработки достаточно сложна, она никак не задумывалась для запуска в Linux, в Windows ее работа значительно удобнее, например, в плане исправления ошибок в тексте во внутреннем редакторе — достаточно исправить ошибку, запустить команду Build All в разделе Source, чтобы получить все необходимые для дальнейшей работы файлы.

Использование Proteus в Linux, готов согласиться, чистейшей воды спекуляция. Но даже то, что удалось попробовать, а в этом я убедился собственноручно, вполне достаточно для любительской практики. Мне кажется, если купить Proteus, то будет смысл «повозиться» с тем, что не работает в Linux, возможно, оно заработает. Например, не слишком утруждая себя можно заменить встроенный редактор на внешний, в качестве которого подойдет notepad, блокнот Windows. Достаточно в разделе Source основного меню зайти в диалог настройки с помощью пункта Set External Text Editor…, где указать блокнот в качестве внешнего редактора и теперь можно открыть ассемблерный текст для правки в блокноте. Или, не проходит трансляция исходного текста, значит можно использовать MPASMWIN и MPASDDX из перенесенной в корневой каталог диска C:\ папки MPASM. Эти изменения производятся в диалоговом окне настроек через раздел Source основного меню, где есть пункт Define Cod Generation Tools… Диалоговое окно после внесенных изменений может выглядеть следующим образом:

Рис. 4.9. Диалоговое окно настроек компилятора ассемблера

Кроме этих изменений лучше, хотя это может получаться только у меня, но лучше перенести файл проекта и все файлы исходного текста в свою папку, например, /home/vladimir/asm.

Теперь можно открыть и поправить текст, сохранить его, оттранслировать его, включить файл ассемблерного текста для отладки и загрузить после компиляции (Build All) hex-файл в микроконтроллер. Работает отладка, работает контроллер. Остались проблемы с окном наблюдения, оно отказывается работать, но это не самое ужасное.

Повторюсь еще раз, все это чистейшей воды спекуляции, но кто сказал, что этого нельзя делать, если программа работает, а меня больше устраивает работать с ней в Linux? Будут серьезные проблемы, последуют «оргвыводы», не возникнет серьезных проблем, отчего бы нет? Главным остается то, что система проектирования Proteus имеет все необходимые средства работы и микроконтроллерами!

Далее   или    Домой




Разработка устройств на микроконтроллерах PIC. Разработка программ для PIC микроконтроллеров. Разработка цифровых и аналоговых электронных устройств. PIC программист.



Разработка устройств на микроконтроллерах PIC. Разработка программ для PIC микроконтроллеров. Разработка цифровых и аналоговых электронных устройств. PIC программист.
Разработка устройств на микроконтроллерах PIC. Разработка цифровых и аналоговых устройств.
Рад приветствовать на моем сайте!

Если Вы имеете потребность в разработке электронных устройств охраны, контроля, измерения, управления, либо другого назначения. Но не имеете специалиста в этой области, либо по другим соображениям Вам требуется инженер который готов профессионально, качественно и в приемлемый срок выполнить данную работу. Предлагаю Вам свои профессиональные услуги в области разработки аналоговых и цифровых электронных устройств с применением PIC микроконтроллеров фирмы Microchip и современной базы радиоэлементов. Работаю по трудовому договору. Готов сконструировать устройство по вашему техническому заданию, написать управляющую программу, разработать печатную плату, т.е. выполнить полный цикл конструкторских работ в результате которых Вы получите комплект документации для изготовления устройства. Документация включает в себя: схема электрическая принципиальная, спецификация (перечень) радиоэлементов, схема размещения компонентов, топология печатной платы, управляющая программа в формате HEX. Также возможно изготовление опытного образца устройства. Кроме того, я готов поддержать разработку начатую Вами.

Пишите:
[email protected] Сергей.

 

О том, что уже было мной разработано:

@@@

Контроллер учета импульсов расхода с GSM модулем SIM900, с отправкой информации по SMS.

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

@@@

Тачпанель на STM32

Освоил схемотехнику STM32. Разработал схему и топологию тачпанели с 5″ TFT LCD дисплеем ER-TFTM050-5, с интерфейсами Ethernet, USB, RS485, а так же с ИК-приемником и датчиком освещенности.

@@@

Кнопка запуска двигателя Старт/Стоп. Start Stop Engine.

Делаем из Жигулей Ferrari своими руками. Кнопка устанавливается вместо замка зажигания. В качестве ключа используется DS1990A (таблетка для домофона). Две таблетки автоматически регистрируются в качестве ключей при первом касании. Алгоритм работы прост:


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

@@@

Распределенная система сбора информации.

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


— до 8 оконечных терминалов;
— нижний хаб;
— верхний хаб или индикаторную панель;
— ПК через USB-порт.

Интерфейс связи между оконечными терминалами и хабом, хабом и другим хабом, хабом и панелью — RS485. Между хабом и ПК — USB. Одновременно с функцией узла сети передачи данных хаб выступает в роли источника питания для подключенных к нему оконечных терминалов и панели индикации. В качестве соединительных проводов выступает стандартная UTP Ethernet проводка на разъемах RJ45. Протокол связи обеспечивает непрерывную передачу собранных данных от любого оконечного терминала к самому верхнему хабу и далее к панели и ПК. При этом однозначно идентифицируется номер оконечного терминала, порт хаба к которому подключен терминал, глубина расположения этого хаба в сети. Панель ведет журнализацию событий с привязкой к реальному времени и учет событий по заданной формуле. Для расширения функциональности, совместно с панелью или взамен ее в системе может быть использован ПК.

@@@

Пульт управления с сенсорной клавиатурой и считывателем карт.

Сенсорная клавиатура выполнена на микросхеме QT60168, имеет 16 кнопок воспринимающих «нажатие» через поликарбонат толщиной 6мм. Считыватель бесконтактных пластиковых карт работает с картами Mifare Standard 1k, Mifare Ultralight, EM-Marin, HID.

@@@

Прибор контроля заземления автоцистерн.

Обеспечивает снятие заряда статического электричества и непрерывный контроль заземления автоцистерны в процессе сливо-наливных операций. Кроме того, прибор обеспечивает распознавание объекта. После подключения заземления прибор измеряет электрическую емкость объекта относительно земли. Поскольку электрическая емкость объекта пропорциональна площади его поверхности имеется возможность запретить слив/налив при подключении к объекту с малой площадью поверхности или непосредственно к раме сливо-наливной установки. Тем самым обеспечивается защита от «дурака» или от подключения к элементу электрически не связанному с технологической емкостью. Электрическая емкость бензовозов лежит в диапазоне 2000…11000 пФ.

В процессе первых испытаний прибора контроля заземления автоцистерн был обнаружен бензовоз у которого барабан заземления с тросом потерял электрический контакт с рамой, емкость составила около 300 пФ. Работает!

@@@

Счетчик газа.

Прибор измеряет объем прошедшего газа и температуру газа, на основании чего вычисляет объем приведенный к температуре 20 С и ведет учет приведенного объема. Значение непрерывно отображается на LCD дисплее. Счетчик работает в режиме микропотребления. Использование батареи ER-34100 обеспечивает время работы счетчика 10 лет.

@@@

Автомобильная противоугонная система. Иммобилайзер.

Два рубежа охраны — по времени и по пройденному пути. Ключи на основе Touch Memory (i-Button).

@@@

Пульт управления с протоколом MODBUS.

Простой пульт управления, включающий в себя LCD дисплей 20х4 и клавиатуру. Подключается на линию MODBUS.

@@@

Система управления и контроля за удаленными объектами. Автоматизация КНС. Оборудование для КНС. Контроль за удаленным оборудованием.

Система разработана для автоматизации и контроля любых удаленных объектов. Первоначально система сконфигурирована для автоматизации КНС (канализационно насосных станций). Система состоит из ряда контроллеров (до пятнадцати) и одного терминала. Контроллеры обеспечивают автоматическое управление КНС расположенных в пределах города. Терминал установлен в диспетчерской и отображает информацию о состоянии КНС. Связь между терминалом и контроллерами осуществляется через радиостанции. Протокол связи поддерживает возможность ретрансляции запросов к значительно удаленным станциям через станции расположенные ближе к терминалу. Выбор режима непосредственной связи с удаленным контроллером, или связи через ретранслятор осуществляется терминалом автоматически, в зависимости от текущего качества связи. Контроллеры обеспечивают подключение следующих датчиков: преобразователь давления с выходным сигналом 0-5 мА, 4-20 мА или другим, электроконтактный манометр, датчики уровня основного резервуара — 3 шт., датчики уровня дренажного резервуара — 3 шт., другие датчики 3 шт. Контроллер непрерывно следит за исправностью трехфазной питающей сети. Контроллер обеспечивает подключение следующих исполнительных устройств: насосы — 4шт., электрозадвижка, другие исполнители — 2шт. Каждый контроллер по запросу терминала сообщает статус объекта Норма/Авария, список аварийных устройств, информацию о давлении, информацию о текущем процессе резервуара Наполнение/Откачка, время выполнения процесса, список включенных исполнительных механизмов. Система функционирует автоматически. Сообщение об аварии дублируется звуковым сигналом. В случае аварии диспетчер направляет на аварийный объект ремонтную бригаду.

@@@

Радиомодем.

Радиомодем на PIC 16. Предназначен для построения канала передачи данных через любые радиостанции. Радиомодем выполнен на одном PIC микроконтроллере, благодаря цифровой обработке сигнала

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

@@@

Универсальный адаптер MODBUS.

Универсальный адаптер для подключения различных устройств на шину MODBUS. Реализация MODBUS на микроконтроллерах PIC 16, PIC 18. Программная реализация второго UART для PIC.

@@@

Прибор блокировки технологического оборудования.

Прибор разрешает работу технологического оборудования переданного в аренду только на Вашем сырье, обеспечивая тем самым гарантированный рынок сбыта сырья. Объем готового продукта который может быть получен из партии сырья записывается на смарт карту. Смарт карта передается потребителю вместе с партией сырья. При полной выработке объема оборудование блокируется. Потребитель вынужден купить у Вас следующую партию сырья. Прибор основан на использовании недорогих карточек AT88SC0104C фирмы Atmel, что обеспечивает очень высокую степень защиты при минимальных затратах.

@@@

Алгоритм DES для PIC 16. Алгоритм занимает 1К памяти. Шифрование / дешифрование блока из 8 байт за 12ms.

Алгоритм 3DES (занимает 1K памяти, обрабатывает 8 байт за 36ms).

@@@

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

Первый вариант. Сотовая сигнализация «ОСА — GSM». Сотовый телефон Motorola M3x88 со встроенным прибором охранной сигнализации. Никаких внешних блоков. Прибор передает речевое оповещение о тревоге по трем любым телефонным номерам.

Инструкция «ОСА — GSM».

Второй вариант. Сотовая сигнализация с применением телефонов Siemens C25, C35, C45, M55, S55. Прибор представляет собой электронный блок, подключаемый к телефону Siemens через стандартный разъем. Управлением мобильником Siemens через стандартный разъем.

@@@

Прибор охранно-пожарной сигнализации с автодозвоном по телефонной линии.

Прибор охранно-пожарной сигнализации с автодозвоном, с подключением к проводной телефонной линии. С функцией прослушивания объекта, с программированием установок и речевых сообщений, с управлением в DTMF коде. Программное кодирование/декодирование DTMF сигнала на PIC 16. Прибор так же имеет возможность совершать вызов через GSM телефон Siemens C25, C35, C45 или Siemens M55, S55 (подключается к стандартному разъему сотового телефона), на случай, если проводная телефонная линия оборвана.

@@@

Универсальный терминал клиента.

Самая широкая область применения, к примеру в качестве терминала управления автоматизированными системами налива нефтепродуктов. В составе системы безопасности на проходной предприятия, и т.д. Идентификация пользователей при помощи бесконтактных пластиковых карт mifare. Промышленный протокол связи MODBUS-RTU. Класс взывозащиты — искробезопасная цепь.

@@@

Часы термометр.

Часы, измерение температуры с накоплением статистики минимальных и максимальных значений за прошедшие N суток.

Cхема часов

@@@

GSM охранная сигнализация,ОСА-GSM,smart card,смарт карты,пластиковые карты,Smart Card Secure Memory,Atmel,mifare,PIC программист,программирование,электроника,ПИК программист,бесконтактные,пластиковые карты,modbus,разработка,разработки,схемотехника,аналоговые,цифровые,ассемблер,C,СИ,микроконтроллер,микрочип,PIC,microchip,firmware,ПИК,P-CAD,PCAD,ОСА — GSM,HI-TECH,HI-PIC,HT-PIC,разводка,печатная плата,печатный монтаж,spectra,программатор,программа,программы,программатор для PIC,picprogrammer,PIC programmer,кодирование,DES,3DES,DESX,управление Siemens через порт

Последнее обновление 09.04.2014


Микроконтроллер PIC

: архитектура и его применение

Микроконтроллер PIC

Микроконтроллер PIC был разработан в 1993 году с помощью микрочиповой технологии. Термин PIC означает контроллер периферийного интерфейса. Первоначально он был разработан для поддержки компьютеров PDP для управления его периферийными устройствами и, следовательно, назван периферийным устройством интерфейса. Эти микроконтроллеры очень быстрые и простые для выполнения программы по сравнению с другими микроконтроллерами. Архитектура микроконтроллера PIC основана на архитектуре Гарварда.Микроконтроллеры PIC очень популярны благодаря простоте программирования, широкой доступности, простоте взаимодействия с другими периферийными устройствами, низкой стоимости, большой базе пользователей и возможности последовательного программирования (перепрограммирование с флэш-памятью) и т. Д.

Мы знаем, что микроконтроллер — это интегрированный чип, который состоит из ЦП, ОЗУ, ПЗУ, таймеров и счетчиков и т. д. Таким же образом архитектура микроконтроллера PIC состоит из ОЗУ, ПЗУ, ЦП, таймеров, счетчиков и поддерживает такие протоколы, как SPI, CAN и UART для взаимодействие с другими периферийными устройствами.В настоящее время микроконтроллеры PIC широко используются в промышленных целях из-за низкого энергопотребления, высокой производительности и доступности поддерживающих аппаратных и программных средств, таких как компиляторы, отладчики и симуляторы.

Что такое микроконтроллер PIC?

Микроконтроллеры

PIC (программируемые интерфейсные контроллеры) — это самые маленькие микроконтроллеры в мире, которые можно запрограммировать для выполнения огромного количества задач. Эти микроконтроллеры используются во многих электронных устройствах, таких как телефоны, компьютерные системы управления, системы сигнализации, встроенные системы и т. Д.Существуют различные типы микроконтроллеров, хотя лучшие из них можно найти в линейке программируемых микроконтроллеров GENIE. Эти микроконтроллеры программируются и моделируются программным мастером.

Каждая архитектура микроконтроллера PIC состоит из нескольких регистров и стека, где регистры функционируют как оперативная память (RAM), а стек сохраняет адреса возврата. Основными функциями микроконтроллеров PIC являются RAM, флэш-память, таймеры / счетчики, EEPROM, порты ввода-вывода, USART, CCP (модуль захвата / сравнения / PWM), SSP, компаратор, ADC (аналого-цифровой преобразователь), PSP (параллельный ведомый порт), ЖК-дисплей и ICSP (в последовательном программировании схемы) 8-битный микроконтроллер PIC классифицируется на четыре типа на основе внутренней архитектуры, таких как базовая линия PIC, PIC среднего уровня, расширенная PIC среднего диапазона и PIC18

Архитектура Микроконтроллер PIC

Архитектура микроконтроллера PIC включает ЦП, порты ввода / вывода, организацию памяти, аналого-цифровой преобразователь, таймеры / счетчики, прерывания, последовательную связь, генератор и модуль CCP, которые подробно обсуждаются ниже.

Архитектура микроконтроллера PIC

CPU (Центральный процессор)

Он не отличается от ЦП других микроконтроллеров и ЦП микроконтроллера PIC состоит из ALU, CU, MU и аккумулятора и т. Д. Блок арифметической логики в основном используется для арифметики операций и принимать логичные решения. Память используется для хранения инструкций после обработки. Для управления внутренними и внешними периферийными устройствами используется блок управления, подключенный к процессору, а аккумулятор используется для хранения результатов и дальнейшего процесса.

Организация памяти

Модуль памяти в архитектуре микроконтроллера PIC состоит из RAM (оперативное запоминающее устройство), ROM (постоянное запоминающее устройство) и СТЕК.

Оперативная память (RAM)

RAM — это нестабильная память, которая используется для временного хранения данных в своих регистрах. Память RAM подразделяется на два банка, каждый из которых состоит из множества регистров. Регистры RAM подразделяются на два типа: регистры специального назначения (SFR) и регистры общего назначения (GPR).

  • Регистры общего назначения (GPR)

Эти регистры используются только для общего назначения, как следует из названия. Например, если мы хотим умножить два числа с помощью микроконтроллера PIC. Обычно мы используем регистры для умножения и хранения чисел в других регистрах. Таким образом, эти регистры не имеют какой-либо специальной функции — процессор может легко получить доступ к данным в регистрах.

  • Регистры специальных функций

Эти регистры используются только для специальных целей, как следует из названия SFR.Эти регистры будут работать в соответствии с назначенными им функциями, и их нельзя использовать как обычные регистры. Например, если вы не можете использовать регистр STATUS для хранения данных, эти регистры используются для отображения работы или состояния программы. Таким образом, пользователь не может изменить функцию SFR; функция предоставляется продавцом во время производства.

Организация памяти

Постоянное запоминающее устройство (ПЗУ)

Постоянное запоминающее устройство — это стабильная память, которая используется для постоянного хранения данных.В архитектуре микроконтроллера PIC, ПЗУ архитектуры хранит инструкции или программу в соответствии с программой, с которой работает микроконтроллер. ПЗУ также называется программной памятью, в которой пользователь пишет программу для микроконтроллера и сохраняет ее постоянно, и, наконец, программа выполняется ЦП. Производительность микроконтроллеров зависит от инструкции, которую выполняет ЦП.

Электрически стираемое программируемое постоянное запоминающее устройство (EEPROM)

В обычном ПЗУ мы можем написать программу только один раз, мы не сможем снова использовать микроконтроллер несколько раз.Но в EEPROM мы можем программировать ROM несколько раз.

Флэш-память

Флэш-память также является программируемым постоянным запоминающим устройством (ППЗУ), в котором мы можем читать, записывать и стирать программу тысячи раз. Обычно микроконтроллер PIC использует этот тип ПЗУ.

Стек

Когда происходит прерывание, сначала микроконтроллер PIC должен выполнить прерывание и существующий адрес процесса. Затем то, что выполняется, сохраняется в стеке. После завершения выполнения прерывания микроконтроллер вызывает процесс с помощью адреса, который хранится в стеке, и get выполняет процесс.

Порты ввода / вывода
  • Серия PIC16 состоит из пяти портов, таких как порт A, порт B, порт C, порт D и порт E.
  • Порт A — это 16-битный порт, который может использоваться как входной. или выходной порт в зависимости от состояния регистра TRISA (Tradoc Intelligence Support Activity).
  • Порт B — это 8-битный порт, который может использоваться как входной, так и выходной порт.
  • Порт C является 8-битным, и вход операции вывода определяется состоянием регистра TRISC.
  • Порт D — это 8-битный порт, который действует как подчиненный порт для подключения к шине микропроцессора.
  • Порт E — это 3-битный порт, который выполняет дополнительную функцию сигналов управления для аналого-цифрового преобразователя.
ШИНА

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

Шина данных: Используется только для передачи или приема данных.

Адресная шина: Адресная шина используется для передачи адреса памяти от периферийных устройств к ЦП.Контакты ввода / вывода используются для подключения внешних периферийных устройств; UART и USART оба являются протоколами последовательной связи, которые используются для взаимодействия последовательных устройств, таких как GSM, GPS, Bluetooth, IR и т. Д.

BUS

A / D преобразователи

Основная цель этого аналого-цифрового преобразователя — преобразование аналогового сигнала. значения напряжения к цифровым значениям напряжения. Аналоговый модуль микроконтроллера PIC состоит из 5 входов для 28-контактных устройств и 8 входов для 40-контактных устройств. Работа аналого-цифрового преобразователя контролируется специальными регистрами ADCON0 и ADCON1.Старшие биты преобразователя хранятся в регистре ADRESH, а младшие биты преобразователя хранятся в регистре ADRESL. Для этой операции требуется 5 В аналогового опорного напряжения.

АЦП

Таймеры / счетчики

Микроконтроллер PIC имеет четыре таймера / счетчика, из которых один 8-битный таймер и остальные таймеры могут выбрать 8-битный или 16-битный режим. Таймеры используются для создания действий по обеспечению точности, например, для создания определенных временных задержек между двумя операциями.

Прерывания

Микроконтроллер PIC состоит из 20 внутренних прерываний и трех внешних источников прерываний, которые связаны с различными периферийными устройствами, такими как АЦП, USART, таймеры и т. Д.

Последовательная связь

Последовательная связь — это метод передачи данных по одному биту за раз последовательно по каналу связи.

  • USART: Название USART означает универсальный синхронный и асинхронный приемник и передатчик, который представляет собой последовательную связь для двух протоколов.Он используется для передачи и приема данных побитно по одному проводу относительно тактовых импульсов. Микроконтроллер PIC имеет два контакта TXD и RXD. Эти контакты используются для последовательной передачи и приема данных.
  • Протокол SPI: Термин SPI означает последовательный периферийный интерфейс. Этот протокол используется для передачи данных между микроконтроллером PIC и другими периферийными устройствами, такими как SD-карты, датчики и регистры сдвига. Микроконтроллер PIC поддерживает трехпроводную связь SPI между двумя устройствами на общем источнике синхронизации.Скорость передачи данных протокола SPI больше, чем у USART.
  • Протокол I2C: Термин I2C означает Inter Integrated Circuit, и это последовательный протокол, который используется для подключения низкоскоростных устройств, таких как EEPROMS, микроконтроллеры, аналого-цифровые преобразователи и т. Д. Микроконтроллер PIC поддерживает двухпроводную связь. Интерфейс или связь I2C между двумя устройствами, которые могут работать как ведущее, так и ведомое устройство.

Последовательная связь

Генераторы

Генераторы используются для генерации синхронизации.Микроконтроллер Pic состоит из внешних генераторов, таких как генераторы RC или кварцевые генераторы. Где кварцевый генератор подключен между двумя выводами генератора. Емкость конденсатора связана с каждым выводом, который определяет режим работы генератора. Режимы: кварцевый, высокоскоростной и маломощный. В случае генераторов RC значение резистора и конденсатора определяет тактовую частоту, а диапазон тактовой частоты составляет от 30 кГц до 4 МГц.

Модуль CCP

Название «Модуль CCP» означает «захват / сравнение / ШИМ», где он работает в трех режимах, таких как режим захвата, режим сравнения и режим ШИМ.

  • Режим захвата: Режим захвата фиксирует время прихода сигнала или, другими словами, когда на выводе CCP устанавливается высокий уровень, он фиксирует значение таймера 1.
  • Режим сравнения: Режим сравнения действует как аналоговый компаратор. Когда значение timer1 достигает определенного эталонного значения, он генерирует выходной сигнал.
  • Режим ШИМ: Режим ШИМ обеспечивает выход с широтно-импульсной модуляцией с разрешением 10 бит и программируемым рабочим циклом.
Приложения микроконтроллера PIC

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

Уличный свет, который загорается при обнаружении движения транспортных средств:

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

Уличный фонарь, который светится при обнаружении движения транспортного средства от Edgefxkits.com

Источник питания дает питание всей цепи путем снижения, исправления, фильтрации и регулирование питания от сети переменного тока. Когда на шоссе нет транспортных средств, все огни выключаются, чтобы можно было сэкономить электроэнергию. Инфракрасные датчики размещаются на дороге, чтобы определять движение автомобиля. Когда на шоссе едут транспортные средства, ИК-датчик немедленно определяет движение транспортного средства, он отправляет команды микроконтроллеру PIC для включения / выключения светодиодов.Группа светодиодов загорится, когда транспортное средство приблизится к датчику, и как только транспортное средство уйдет от датчика, интенсивность станет ниже, чем светодиоды выключатся

Преимущества микроконтроллера PIC:
  • Микроконтроллеры PIC согласованы а процент неисправностей ПОС очень меньше. Производительность микроконтроллера PIC очень высокая из-за использования архитектуры RISC.
  • По сравнению с другими микроконтроллерами, энергопотребление намного меньше, а программирование также очень простое.
  • Интерфейс аналогового устройства прост без каких-либо дополнительных схем
Недостатки микроконтроллера PIC:
  • Длина программы велика из-за использования архитектуры RISC (35 инструкций)
  • Имеется один аккумулятор и память для программ не доступен

Пожалуйста, обратитесь к этой ссылке, чтобы узнать больше о микроконтроллерах MCQ

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

Устройства взаимодействия с микроконтроллером PIC

Рисунок 1: Базовый интерфейс микроконтроллера

Микроконтроллеры

стали очень полезными во встроенных конструкциях, поскольку они могут легко взаимодействовать с другими устройствами, такими как датчики, переключатели, ЖК-дисплеи, клавиатуры, двигатели и даже другие микроконтроллеры.Микроконтроллер в основном используется как мозг или интеллектуальный процессор для управления другими устройствами, подключенными (сопряженными) к нему во встроенных системах, точно так же, как ПЛК в промышленной автоматизации.

Подключить устройство к микроконтроллеру просто означает подключить устройство к микроконтроллеру. Эта статья упростит любому, у кого очень ограниченный опыт в электронике, научиться взаимодействовать с часто используемыми устройствами, такими как светодиод, переключатель, транзистор, реле, дисплей, клавиатура, зуммер и т. Д., С микроконтроллером PIC. .

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

1. Подключение светодиода (LED)

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

Светодиод похож на диод, у него две ножки: более длинная ножка — анод (+), а более короткая — катод (-). Катод также идентифицируется плоской стороной на корпусе.

Интенсивность света, излучаемого светодиодом, зависит от величины прямого тока, проходящего через устройство, но мы должны следить за тем, чтобы не превышать максимально допустимый прямой ток и не потреблять больше тока, чем может выдержать выходной вывод PIC. PIC может подавать или потреблять ток 25 мА на каждый вывод ввода / вывода.
При разработке схемы светодиода мы должны знать типичное падение напряжения, в таблице 1 ниже перечислены некоторые характеристики некоторых светодиодов.

Цвет Типичное падение напряжения Типичный прямой ток
Красный 2,0 В 20 мА
Оранжевый 2,0 В 20 мА
Желтый 2,1 В 20 мА
Зеленый 2.2В 20 мА
Синий 3,0 В 20 мА
Инфракрасный 1,2 В 50 мА

Таблица 1: Типичные характеристики светодиодов

Большинство светодиодов имеют типичное прямое падение напряжения около 2 В при типичном рабочем токе около 10 мА (всегда хорошо не работать с устройством с его высоким конечным током), важно прочитать техническое описание, чтобы получить правильные значения. .
Светодиод может быть подключен к микроконтроллеру двумя различными способами: в режиме источника тока (рисунок 3) или в режиме потребления тока (рисунок 2).

Рисунок 2: Светодиод, подключенный в режиме потребления тока Рисунок 3: Светодиод, подключенный в режиме источника тока

В режиме потребления тока логический НИЗКИЙ уровень (выход 0) должен быть применен к подключенному выводу, чтобы светодиод включился, в то время как в режиме источника тока должен быть применен логический ВЫСОКИЙ уровень (выход 1) к контакту, чтобы светодиод мог включить.

Предполагается, что выходное напряжение порта составляет + 5В, когда порт находится на ВЫСОКОМ логическом уровне. Предполагая, что светодиод должен работать с прямым током 10 мА и что он имеет прямое падение напряжения 2 В, мы можем легко вычислить значение резистора ограничения тока как:
Поскольку PIC может подавать до 25 мА, ток может можно увеличить для большей яркости.В нашем примере мы выберем сопротивление 220 Ом (прямой ток около 13,6 мА), но сопротивление 330 Ом также может хорошо справиться с этой задачей.

Подробнее о подключении светодиода читайте в статье:

Подключение светоизлучающих диодов (LED) к микроконтроллеру PIC

Посмотреть видеоурок

2. Подключение коммутатора

Рисунок 4: различные формы переключателей

Коммутаторы

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

Рисунок 5: Переключатель с подтягивающим резистором Рисунок 6. Переключатель с подтягивающим резистором

Подтягивающий или понижающий резистор очень важен, если резистора нет, будет сложно определить состояние вывода, это называется плавающим.
, допустим, вывод микроконтроллера настроен как вход. Если к контакту ничего не подключено и программа микроконтроллера считывает состояние контакта, будет ли оно высоким (подтянутым к VCC) или низким (потянутым к земле)? Сложно сказать. Но с резистором, подключенным к VCC (подтягивающим), как на рисунке 5, или подключенным к земле (подтягивающим), как на рисунке 6, будет гарантировать, что контакт находится либо в высоком, либо в низком состоянии.
Подтягивающие резисторы встречаются чаще, поэтому мы остановимся на них.
На рисунке 3, если переключатель разомкнут, вход PIC будет высоким (+ 5 В), а когда переключатель замкнут, вход PIC будет низким.Если бы резистора не было, то могло быть короткое замыкание.
Внутренние подтягивающие резисторы также можно включить программно, если внешние резисторы не будут использоваться, обратитесь к таблице данных, чтобы узнать больше.
Теперь мы знаем причины, по которым мы должны использовать подтягивающий или понижающий резистор, следующий вопрос: какое значение должно быть у этого резистора?
Чем больше сопротивление этого подтягивающего резистора, тем медленнее контакт должен реагировать на изменения напряжения, это связано с тем, что система, которая питает входной контакт, по сути, представляет собой конденсатор, соединенный с подтягивающим резистором, таким образом, это образует RC Для зарядки и разрядки фильтров RC требуется некоторое время.Поэтому, если у вас очень быстро меняющийся сигнал (например, USB), подтягивающий резистор высокого номинала может ограничить скорость, с которой контакт может надежно изменять состояние.
И с другой стороны, если вы выберете более низкое сопротивление, когда переключатель замкнут, больший ток будет направлен на землю, что не является хорошей идеей, особенно если схема питается от батареи. Как правило, значение 10 кОм должно работать нормально.

Подробнее о том, как читать переключатель, читайте в статье:

Коммутаторы чтения с микроконтроллером PIC

Посмотреть видеоурок

3.Подключение светозависимого резистора (LDR)

Светозависимый резистор (LDR) — это резистор, значение которого изменяется в зависимости от интенсивности падающего на него света. Как правило, LDR имеет высокое сопротивление в темноте и низкое сопротивление на свету.

Рисунок 7: Светозависимый резистор Рисунок 8: Подключение светозависимого резистора

На рисунке 8 LDR подключен как часть схемы делителя напряжения. Выход подключен к аналоговому входу микроконтроллера.Таким образом, изменение сопротивления LDR преобразуется в изменения выходного напряжения, которые могут быть считаны аналоговым входом PIC.

Выходное напряжение (Vout) будет: (R1 / (LDR1 + R1)) X 5V

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

Эта же схема может использоваться для сопряжения термистора с микроконтроллером PIC, LDR на рисунке 8 может быть заменен термистором.

4. Сопряжение с 7-сегментным дисплеем

7-сегментный дисплей — это самый ранний тип электронного дисплея, в котором используются 7 светодиодных полос, расположенных так, чтобы их можно было использовать, отображая числа от 0 до 9. (на самом деле 8 сегментов, если считать десятичную точку, но принято общее название. это 7-сегментный дисплей.Эти устройства обычно используются в цифровых часах, электронных счетчиках, счетчиках, сигнальном и другом оборудовании для отображения только числовых данных.
Он не отличается от светодиода с точки зрения взаимодействия , , путем включения и выключения соответствующих сегментов, мы можем легко отображать числа от 0 до 9 и, при необходимости, десятичную точку (DP).

Рисунок 9: 7-сегментное отображение 8 с десятичной точкой Рисунок 10: 7-сегментное отображение 3

Сегменты дисплеев обычно обозначаются буквами от «a» до «g».
На рисунках 9 и 10 показано, как 7-сегментный дисплей может отображать цифры.
На рисунке 9 все сегменты (светодиоды) включены для отображения цифры «8» с десятичной точкой. С другой стороны, на рисунке 10 сегменты a, b, c, d и g включены для отображения цифры «3». любая комбинация может использоваться для отображения любой желаемой цифры.

Взаимодействие с 7-сегментным дисплеем в основном похоже на подключение 7 светодиодов (LED), поскольку каждый сегмент является светодиодом (мы могли бы насчитать 8, если учитывать сегмент с десятичной запятой).Все, что нам нужно, это включить соответствующий последовательный резистор, как мы узнали о том, как подключить светодиод выше в разделе 1.

Рисунок 11: 7-сегментный дисплей, подключенный к микроконтроллеру PIC с 7 последовательными резисторами x 220 Ом

Чтобы узнать больше о том, как взаимодействовать с 7-сегментным дисплеем, прочтите:

7-сегментный дисплей сопрягается с микроконтроллером PIC

Посмотреть видеоурок

5.Сопряжение с ЖК-дисплеем

ЖК-дисплеи

представляют собой буквенно-цифровые (или графические) дисплеи. Они часто используются в приложениях на базе микроконтроллеров. На рынке представлено множество устройств разных форм и размеров. Что касается технологии сопряжения, мы можем сгруппировать их в две категории: параллельные ЖК-дисплеи и последовательные ЖК-дисплеи.

Параллельные ЖК-дисплеи, такие как популярная серия Hitachi HD44780, подключены к схеме микроконтроллера таким образом, что данные передаются на ЖК-дисплей с использованием более чем одной строки, и обычно используются четыре строки данных (4-битный режим) или восемь строк данных (8-битный режим). использовал.
Последовательный ЖК-дисплей подключается к микроконтроллеру с помощью только одной линии данных, и данные передаются с использованием протокола асинхронной передачи данных RS232. Последовательные ЖК-дисплеи, как правило, намного проще в использовании, но они дороже, чем параллельные. В этой статье мы обсудим только параллельные ЖК-дисплеи, так как они дешевле и чаще используются в проектах на базе микроконтроллеров.

Это устройство с ЖК-дисплеем обычно имеет 14 контактов, которые отмечены на печатной плате, а в некоторых моделях имеется 16 контактов, если устройство имеет встроенную подсветку.

Рисунок 12: Подключение ЖК-дисплея к порту B микроконтроллера PIC

Чтобы узнать больше, прочтите эти статьи:

Сопряжение ЖК-дисплея с микроконтроллером PIC с использованием компилятора XC8 ,

I Обращение к ЖК-дисплею с микроконтроллером PIC с использованием компилятора mikroC

I Перемещение ЖК-дисплея с микроконтроллером PIC с использованием кода потока

Посмотреть видеоурок

6.Подключение к пьезоэхолоту

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

Рисунок 13: Подключение к пьезоэхолоту

На рисунке 13 показано, как пьезоэхолот может быть подключен к микроконтроллеру PIC.Эту схему также можно использовать для сопряжения динамика с микроконтроллером PIC, пьезоизлучатель на рисунке 13 может быть заменен динамиком. Когда используется динамик, необходимо вставить небольшой последовательный конденсатор (около 10 мкФ) между выходным контактом PIC и динамиком, чтобы заблокировать любую мощность постоянного тока.

7. Подключение транзистора

Многим выходным устройствам требуется ток, превышающий 20 мА, обеспечиваемый PIC, для этого в этом случае можно использовать транзистор, используемый в качестве переключателя.Если требуется больше тока, можно использовать пару Дарлингтона. Некоторые транзисторы содержат две пары Дарлингтона в одном корпусе, это хорошая особенность вместо использования двух отдельных транзисторов, один из них — BCX38C , показанный на рисунке 14 ниже. Этот транзистор может питать устройство, которое может потреблять до 800 мА.

Рисунок 14: Подключение транзистора к PIC Рисунок 15: Подключение транзисторной пары Дарлингтона к PIC

Диод подавления обратной ЭДС D1 используется для защиты от обратной ЭДС, если на выходе используется индуктивная нагрузка, такая как реле или двигатель.

8. Взаимодействие с микросхемой драйвера Дарлингтона

Когда нужно управлять более чем одним устройством, можно использовать больше транзисторов. Лучшее решение — использовать микросхему драйвера Дарлингтона, которая может содержать внутри несколько транзисторов Дарлингтона. Одной из тех микросхем Дарлингтона является ULN2803A , которая представляет собой 18-контактное устройство, содержащее 8 пар Дарлингтона со следующими характеристиками:

  • Номинальный ток коллектора 500 мА (один выход)
  • Высоковольтные выходы: 50 В
  • Выходные зажимные диоды для переключения индуктивных нагрузок
  • Входы, совместимые с различными типами логики
  • Приложения драйвера реле
  • Совместимость с ULN2800A серии

Рисунок 16. Схема каждой пары Дарлингтона

Если требуется еще больший ток, две или более пары могут быть подключены параллельно, как показано на рисунке 17 ниже.Пары Дарлингтона 1 и 2 подключены параллельно для управления двигателем постоянного тока. Контакт заземления ULN2803A не показан на схеме, но он должен быть подключен к заземлению цепи.

Рисунок 17: Подключение микросхемы драйвера Дарлингтона ULN2803 к микроконтроллеру PIC

9. Сопряжение с реле

Реле можно использовать для переключения устройств более высокой мощности, таких как двигатели, лампочки и соленоиды. Если возможно, реле можно запитать от отдельного источника питания, чтобы можно было подключать реле, требующие другого напряжения, например, реле 12 В.Микроконтроллер включит транзистор, который, в свою очередь, включит реле. Таким образом, все, что связано с контактами реле, может быть включено или выключено. Обычный биполярный транзистор, используемый в режиме переключения, такой как BC108, или пара Дарлингтона, например BCX38, может справиться с этой задачей. Обратите внимание на использование диода для подавления обратной ЭДС на контактах реле. Это необходимо для предотвращения повреждения транзистора при выключении реле. К этому диоду подходит диод типа 1N4001.

Рисунок 18: Взаимодействие реле с микроконтроллером PIC

Посмотреть видеоурок

10.Подключение зуммера

Такие устройства, как небольшая лампочка, зуммер и т. Д., Могут получать питание от транзистора, который мы узнали в разделе 7. Схема на рисунке 18 ниже показывает зуммер, подключенный к микроконтроллеру PIC. При необходимости этот зуммер можно заменить маленькой лампочкой.

Рисунок 19: Подключение зуммера к микроконтроллеру PIC

Что такое микроконтроллер PIC? Определение, архитектура, преимущества и недостатки микроконтроллера PIC

PIC — это аббревиатура, используемая для P eripheral I nterface C ontroller.Микроконтроллер PIC является самым маленьким микроконтроллером в мире и запрограммирован на выполнение большого количества операций. Первоначально они были разработаны для поддержки компьютеров PDP (программируемый процессор данных) для управления периферийными устройствами. Он основан на архитектуре RISC .

Микроконтроллеры

PIC обладают способностью более быстрого выполнения программ, чем микроконтроллеры. Он был изобретен в 1989 корпорацией микрочиповых технологий и представлял собой 8-битный микроконтроллер.

Мы знаем, что микроконтроллер — это не что иное, как комбинация процессора, памяти и периферийных устройств в одном чипе. Подобным образом микроконтроллер PIC состоит из ОЗУ данных с несколькими сотнями байтов ПЗУ для хранения желаемой программы, некоторых портов ввода-вывода, одного таймера на одном кристалле с 8 контактами.

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

Мы знаем, что в основном компоненты микроконтроллера встроены в одну микросхему. Таким образом, дальнейшее добавление к нему внешней памяти, порта ввода-вывода или таймеров невозможно. Однако это свойство также используется в различных приложениях микроконтроллеров.

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

Архитектура микроконтроллера PIC

На рисунке ниже показано архитектурное представление микроконтроллера PIC:

Как мы уже обсуждали, он состоит из процессора, портов ввода / вывода, таймеров, организации памяти и т. Д. В одном кристалле. Итак, давайте продвинемся дальше и разберемся с работой каждого компонента микроконтроллера PIC.

  • ЦП : ЦП — это центральный процессор, в котором есть ALU, CU, MU.ALU выполняет арифметические и логические операции в соответствии с полученными инструкциями. Блок памяти хранит инструкции, которые должны быть обработаны, а также данные и инструкции после обработки.
    Пока блок управления управляет устройствами ввода-вывода, подключенными к системе. Поскольку он основан на архитектуре RISC, т. Е. На компьютере с сокращенным набором команд, следует отметить, что:
    Количество инструкций невелико, всего около 35 инструкций,
    Из-за меньшего количества инструкций операция, выполняемая ЦП будет довольно быстрым,
    Обработка инструкции занимает меньше времени, так как длина инструкций мала, архитектура
    RISC также поддерживает менее сложную компиляцию и легкую отладку.
  • Память : В основном, в микроконтроллере PIC существует два типа памяти —
    1. Память программ или кодов : Само название предполагает, что программная память содержит набор инструкций, которые желательны для выполняться микроконтроллером. Это в основном называется ПЗУ. Объем памяти, обеспечиваемый этим, составляет 8K Χ 14 бит, в котором можно хранить 13-битную инструкцию или программу. ПК обращается к программной памяти и получает приращение после получения инструкции.
    EEPROM : ПЗУ позволяет сохранить программу только один раз. Но EEPROM, то есть электрически стираемое программируемое постоянное запоминающее устройство, допускает многократную запись кода в ROM.
    Флэш-память : Флэш-память — это еще один ППЗУ для этого микроконтроллера. Программу из флэш-памяти можно стирать сколько угодно раз.
    2. Память данных : Память данных хранит данные в ней. В основном это оперативная память, то есть ОЗУ. Он временно хранит данные в регистрах.Микроконтроллер PIC содержит 368 байт оперативной памяти, которая разделена на банки. Регистр, в котором хранятся данные, классифицируется как:
    Регистр общего назначения : Это регистры, которые выполняют общие функции. Например, сложение, вычитание, умножение и т. Д. И дальнейшее сохранение результатов в другом регистре. Следовательно, этим регистрам не назначается никакой специальной функции, PIC имеет возможность прямого доступа к данным, присутствующим в этих регистрах.
    Регистр специального назначения : Сокращенно SFR.Эти регистры назначаются процессором для некоторых специальных функций и, следовательно, не используются для каких-либо общих целей. Операции, которые должны выполняться этими регистрами, уже установлены при изготовлении системы. Следовательно, функции этих регистров неизменны. Некоторые важные регистры специальных функций:
  1. Регистр СОСТОЯНИЯ
  2. Регистр TRIS
  3. Регистр ПОРТ
    Как и функция регистра СОСТОЯНИЕ , является отображение состояния выполняемой программы.
  • Порты ввода-вывода : Количество портов ввода-вывода отличается для разных серий PIC. Серия PIC16 имеет 5 портов ввода / вывода. Это порт A, порт B, порт C, порт D и порт E.
  • Шина : Шина в этом микроконтроллере используется для связи между различными блоками внутри него. PIC имеет 2 типа шин: шину данных и шину адреса.
    Шина данных передает данные между памятью и блоком ввода-вывода. В то время как адресная шина содержит адрес места, откуда данные загружаются или извлекаются.
  • Стек : Чем выше приоритет прерываний. Таким образом, всякий раз, когда генерируется прерывание, процессор микроконтроллера PIC должен переключиться на обработку прерывания, остановив операцию, которая выполняется в данный момент. Таким образом, стек хранит адрес программы, которая в настоящее время выполняется, до тех пор, пока микроконтроллер PIC не обработает сгенерированное прерывание.
    После обработки прерывания процессор переключается обратно на основную программу, адрес которой хранится в стеке.
  • Таймеры : микроконтроллер PIC состоит из 3 таймеров. Из 3-х, 2 таймера, то есть таймер 0 и таймер 2 имеют 8-битный каждый, а таймер 1 — 16-битный.

Преимущества микроконтроллера PIC

  1. Основа микроконтроллера PIC — архитектура RISC, поэтому работает быстрее.
  2. Он предлагает простой интерфейс аналогового устройства.
  3. Обладает более низким энергопотреблением.

Недостатки микроконтроллера PIC

  1. Меньшее количество инструкций увеличивает длину программы.
  2. Вмещает только один аккумулятор.

В основном существует 4 семейства микроконтроллеров PIC. Здесь, в этой статье, мы представили общий вид микроконтроллеров PIC, а не какого-либо определенного семейства.

Device Programmer — обзор

5.2 Инструменты разработки оборудования

Для микроконтроллеров PIC32 доступно множество инструментов разработки оборудования. Некоторые из этих продуктов производятся Microchip Inc., и некоторые другие сторонними компаниями. Популярные инструменты разработки оборудования:

Платы для разработки

Программаторы устройств

Внутрисхемные отладчики

эмуляторы

Макетные платы.

5.2.1 Макетные платы

Макетные платы являются бесценным инструментом разработки микроконтроллеров.Простые макетные платы содержат только микроконтроллер и необходимую схему синхронизации. Некоторые сложные отладочные платы содержат светодиоды, ЖК-дисплей, кнопки, последовательные порты, USB-порт, схему источника питания, оборудование для программирования устройств и т. Д.

В этом разделе мы рассмотрим спецификации некоторых имеющихся в продаже микроконтроллеров PIC32. доски развития.

PIC32 Starter Kit

Эта плата (рис. 5.1) произведена Microchip Inc. и может использоваться при разработке проектов на базе микроконтроллеров PIC32.В комплект входит все необходимое для написания, компиляции, программирования, отладки и выполнения программы.

Рисунок 5.1. Стартовый комплект PIC32.

В комплект входит плата PIC32 Starter Kit и кабель USB Mini-B.

Плата содержит следующее:

PIC32MX360F512L 32-разрядный микроконтроллер

Регулируемый источник питания (+3,3 В) для питания через порт USB

работает •

• Процессор работает при 72 МГц

Отладка на плате

Светодиоды отладки и включения

Три кнопочных переключателя для пользовательских входов Три светодиодных индикатора

• 9682 9068 индикаторы

Разъемы для портов ввода / вывода

Интерфейс для платы расширения ввода / вывода.

В комплект входит тридцать пять программ-примеров. Пользователи могут скачать бесплатный компилятор MPLAB C32 с ограниченной функциональностью с веб-сайта компании и использовать компилятор в своих проектах.

Плата расширения ввода / вывода (рисунок 5.2) обеспечивает полный доступ ко всем сигналам ввода / вывода микроконтроллера. Дополнительные дочерние платы могут быть присоединены к плате расширения для дополнительной функциональности.

Рисунок 5.2. Плата расширения ввода / вывода.

Microstick II

Microstick II от Microchip Inc.представляет собой небольшую (размером с резинку) недорогую плату для разработки (рис. 5.3), предназначенную для небольших приложений с небольшими требованиями к портам ввода-вывода. В комплект входит:

Рисунок 5.3. Микростик II.

Плата Microstick II

USB-кабель

Микроконтроллер PIC32MX250F128 (кроме того, микроконтроллер PIC32MX250F128, USB-микроконтроллер

) Встроенный программатор

/ debugger

Светодиод и кнопка сброса

Контактные разъемы для доступа к вводу / выводу.

Плата распространяется с бесплатными демонстрационными программами.

PIC32 USB Starter Kit II

PIC32 USB Starter Kit II (Рисунок 5.4) — это недорогая плата разработки для микроконтроллеров PIC32 с функциями USB и Controller Area Network (CAN). С помощью этого набора пользователи могут легко разрабатывать приложения на базе USB и CAN.

Рисунок 5.4. Стартовый комплект PIC32 USB II.

Набор имеет следующие характеристики:

PIC32MX795F512L 32-битный микроконтроллер

Встроенный кристалл

USB для программирования на плате

Три кнопочных переключателя для пользовательских входов

Три светодиодных индикатора

Светодиоды отладки и питания

Регулируемый источник питания

Разъем ввода / вывода для различных плат расширения.

PIC32 Ethernet Starter Kit

Starter Kit PIC32 Ethernet (рис. 5.5) представляет собой недорогой комплект разработчика 10/100 Ethernet, производимый Microchip Inc., использующий микроконтроллер PIC32.

Рисунок 5.5. Стартовый комплект Ethernet PIC32.

Плата имеет следующие характеристики:

PIC32MX795F512L 32-битный микроконтроллер

Тридцатидвухразрядный микроконтроллер для встроенного программирования / отладки

кристалл платы

Генератор Ethernet

Три кнопочных переключателя для пользовательского ввода

Три светодиодных индикатора

82 Отладка и блок питания

82 Отладка и источник питания

Порт Ethernet RJ-45

Разъем для различных плат расширения.

Cerebot MX3cK

Cerebot MX3cK (Рисунок 5.6) — это 32-разрядная плата разработки микроконтроллера на базе PIC32MX320F128H, произведенная компанией Digilent (www.digilentinc.com). Комплект недорогой и содержит все необходимое для начала разработки встраиваемых приложений на основе 32-битных микроконтроллеров PIC с использованием MPIDE IDE. Для использования MLAB IDE требуется устройство для программирования / отладки.

Рисунок 5.6. Cerebot MX3cK.

Комплект имеет следующие характеристики:

PIC32MX320F128H 32-разрядный микроконтроллер

Максимальная рабочая частота 80 МГц

42 I / O0002

42 I / O

12 аналоговых входов

Запрограммировано с помощью MPIDE или MPLAB IDE

Заголовки Pmod для сигналов ввода / вывода

I Разъем C

Питание через порт USB или от внешнего источника

Рисунок 5.7 показаны функциональные блоки отладочной платы Cerebot MX3cK.

Рисунок 5.7. Функциональные блоки Cerebot MX3cK.

Cerebot MX4cK

Cerebot MX4cK (рис. 5.8) — это более продвинутая версия Cerebot MK3cK с большей площадью печатной платы (PCB) и большей функциональностью.

Рисунок 5.8. Cerebot MX4cK.

Комплект имеет следующие характеристики:

PIC32MX460F512L 32-битный микроконтроллер

Заголовки Pmod для портов ввода / вывода

9682 9000 портов I / O

1 × порт SPI

8 × сервопортов

Порт отладки / программирования USB (для MPLAB IDE)

порт USB / программирование (для MPIDE IDE).

На рисунке 5.9 показаны функциональные блоки платы разработки Cerebot MX4cK.

Рисунок 5.9. Функциональные блоки Cerebot MX4cK.

Cerebot MX7cK

Cerebot MX7cK (рис. 5.10) — самая продвинутая версия 32-разрядных плат разработки Digilent MX.

Рисунок 5.10. Cerebot MX7cK.

Комплект имеет следующие характеристики:

PIC32MX795F512L 32-битный микроконтроллер

RJ-45 Ethernet-порт

9 2 порта

2 ×

1 порт SPI

2 порта CAN

2 порта SPI / UART

1 порт USB

• USB
порт

2 порта USB

Заголовки Pmod для контактов ввода / вывода.

На рисунке 5.11 показаны функциональные блоки платы разработки Cerebot MX4cK.

Рисунок 5.11. Функциональные блоки Cerebot MX4cK.

MINI-32 Board

Это небольшая отладочная плата (рис. 5.12) производства mikroElektronika (www.mikroe.com), которая содержит 32-разрядный микроконтроллер PIC32MX534F064H. Плата работает от источника питания 3,3 В, а встроенный стабилизатор позволяет питать плату от порта USB.

Рисунок 5.12. Доска МИНИ-32.

Характеристики этой платы следующие:

PIC32MX534F064H 32-разрядный микроконтроллер

Встроенный кристалл

контактов

на I /

Поддерживает связь CAN

Поставляется с предварительно запрограммированным загрузчиком USB

Полностью поддерживается mikroElectronika mikroC Pro для компилятора PIC32.

EasyPIC Fusion V7

EasyPIC Fusion V7 (рисунок 5.13) сочетает в себе поддержку трех 16-битных и 32-битных различных архитектур микроконтроллеров PIC: dsPIC33, PIC24 и PIC32 на одной плате разработки.

Рисунок 5.13. EasyPIC Fusion V7.

Плата имеет следующие характеристики:

PIC32MX795F512L 32-битный модуль микроконтроллера

Встроенный программатор (mikroProg)

• на плате отладчик (mikroICD)

Шестьдесят восемь кнопочных переключателей

Шестьдесят восемь светодиодных индикаторов

Поддержка CAN

9000 Поддержка USB

Пьезозуммер

Разъемы для датчиков температуры LM35 / DS1820

RJ-45 Разъем Ethernet

9100E 9100 I 9100

Последовательная флэш-память

Стереокодек MP3

2 разъема mikroBUS

Гнезда аудиовхода и выхода

Гнездо для карты microSD

Гнездо для цветного TFT-дисплея

• Заголовки порта IO

3.Источник питания 3 В (может питаться от USB или внешнего источника)

Кнопка сброса.

Плата EasyFusion V7 поддерживает внешний съемный процессорный модуль на небольшой печатной плате. На рис. 5.14 показан процессорный модуль для процессора типа PIC32MX460F512L.

Рисунок 5.14. Процессорный модуль PIC32MX460F512L.

Mikromedia для PIC32

Микромедиа для платы PIC32 (рис. 5.15) представляет собой небольшую плату со встроенным цветным сенсорным TFT-дисплеем.Кроме того, на плате находится микросхема стереофонического кодека MP3 и слот для карт памяти microSD. Устройство может питаться от внешнего USB-порта или от внешнего аккумулятора. Предварительно запрограммированная программа загрузчика позволяет программировать микросхему микроконтроллера. Сброс устройства выполняется с помощью кнопки сброса.

Рисунок 5.15. Микромедиа для платы PIC32.

Мультимедиа для PIC32MX7

Эта плата для разработки включает 32-разрядный микроконтроллер PIC32MX795F512L и используется для мультимедийных приложений.Имеется большой сенсорный цветной TFT-дисплей (рис. 5.16) со встроенными кнопочными переключателями для игровых приложений. Кроме того, доступны интерфейс Ethernet и слот для карт памяти microSD для хранения изображений или данных.

Рисунок 5.16. Мультимедиа для платы PIC32MX7.

Olimex PIC32 Development Board

Это недорогая 32-разрядная плата разработки для микроконтроллера (рис. 5.17) с высокопроизводительным микроконтроллером PIC32MX460F512L (http://www.olimex.com).

Рисунок 5.17. Плата разработки Olimex PIC32.

Плата предлагает следующие функции:

Микроконтроллер PIC32MX460F512L

Аудиовход и выход

Слот для SD-карты

Карта памяти SD

Разъем JTAG

ЖК-дисплей 84 × 84 пикселя

Встроенный кристалл

Джойстик

Кнопка сброса

3.Регулятор напряжения 3 В

Контакты ввода / вывода на разъемах

Область разработки для печатной платы.

PIC32-MAXI-WEB Development Board

Эта плата (рис. 5.18) от Olimex оснащена микроконтроллером PIC32 со встроенным модулем Ethernet 100 Мбит. Большой сенсорный ЖК-экран TFT с разрешением 240 × 320 пикселей поставляется с платой для графических приложений.

Рисунок 5.18. Плата PIC32-MAXI-WEB.

Эта плата имеет следующие особенности:

PIC32MX795F512L 32-битный микроконтроллер

320 × 240 ЖК-дисплей

82 цифровых входа

2 × CAN интерфейс

Датчик акселерометра

Датчик температуры

слот для карты памяти microSD

• 9682

9682

Интерфейс RS232

3 светодиодных индикатора

Кнопка сброса

3.Регулятор напряжения 3 В.

LV-32MX V6

LV-32MX V6 (рис. 5.19) представляет собой систему разработки PIC32, производимую mikroElektronika (www.mikroe.com) и оснащенную множеством встроенных модулей, включая мультимедийные периферийные устройства, которые позволяют большая мощность и гибкость для разработки системы. Эта плата для разработки полностью совместима с компилятором mikroC Pro для PIC32.

Рисунок 5.19. LV-32MX V6.

Плата предлагает следующие функции:

PIC32MX460F512L

Восемьдесят пять кнопочных переключателей

• Восемьдесят пять светодиодов
слот для карты

Кнопка сброса

Регулятор электропитания

Цветной TFT-дисплей с сенсорным экраном

82

Поддержка CAN

Встроенный программатор и отладчик

Последовательная EEPROM

Последовательная флэш-память

Чип стереокодека

• Стекло ЖК-дисплея

2 разъема UART

Гнездо датчика температуры DS1820 et

Заголовки ввода / вывода.

5.2.2 Программисты устройств

После написания и преобразования программы в исполняемый код полученный HEX-файл должен быть загружен в память программы целевого микроконтроллера. Программаторы устройств используются для загрузки программной памяти собственно микросхемы микроконтроллера. Тип используемого программатора устройства зависит от типа программируемого микроконтроллера. Например, некоторые программисты устройств могут программировать только серии PIC16, некоторые могут программировать как серии PIC16, так и PIC18, а некоторые используются для программирования различных моделей микроконтроллеров (например.грамм. Intel 8051 серии).

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

mikroProg

mikroProg (Рисунок 5.20) — это небольшой портативный программатор, произведенный компанией mikroElektronika и поддерживающий все микроконтроллеры PIC от PIC10, PIC12 – PIC16, PIC18, dsPIC, PIC24 и PIC32.

Рисунок 5.20. Программатор устройства mikroProg.

Программатор

mikroProg поддерживается всеми компиляторами компании. Устройство подключается к ПК через USB-кабель и к целевой системе разработки. Микроконтроллер в целевой системе программируется путем компиляции и отправки HEX-кода программатору.

5.2.3 Внутрисхемные отладчики

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

Внутрисхемные отладчики

также включают функции программирования, которые позволяют программировать целевой микроконтроллер. Некоторые из популярных внутрисхемных отладчиков — это PicKit 3, ICD3 и Real Ice от Microchip (www.microchip.com) и mikroProg от mikroElektronika. Эти устройства могут использоваться со всеми типами микроконтроллеров PIC.

5.2.4 Внутрисхемные эмуляторы

Внутрисхемный эмулятор — один из старейших и наиболее мощных методов отладки микроконтроллерной системы.Фактически, это единственный инструмент, который заменяет процессор в вашей целевой системе собственным внутренним процессором. Как и все внутрисхемные отладчики, наиболее фундаментальным ресурсом эмулятора является целевой доступ — возможность проверять и изменять содержимое регистров, памяти и ввода-вывода. Однако, поскольку ICE заменяет ЦП, обычно не требуется рабочий ЦП в целевой системе для обеспечения этой возможности. Это делает внутрисхемный эмулятор, безусловно, лучшим инструментом для поиска и устранения неисправностей в новых или неисправных системах.Обычно в каждом семействе микроконтроллеров есть собственный набор внутрисхемных эмуляторов. Например, внутрисхемный эмулятор микроконтроллеров PIC16 не может использоваться для микроконтроллеров PIC18. Из-за этого, чтобы снизить затраты, производители эмуляторов предлагают многоплатное решение для внутрисхемной эмуляции. Обычно предоставляется базовая плата, общая для большинства микроконтроллеров в семействе. Например, одна и та же базовая плата может использоваться всеми микроконтроллерами PIC. Затем доступны карты датчиков для отдельных микроконтроллеров.Когда требуется эмулировать новый микроконтроллер того же семейства, достаточно приобрести только плату датчика для требуемого микроконтроллера.

5.2.5 Макетная плата

Когда мы создаем электронную схему, мы должны соединить компоненты, как показано на данной принципиальной схеме. Эту задачу обычно можно выполнить на стрип-плате или печатной плате путем пайки компонентов вместе. Подход PCB используется для цепей, которые были протестированы и которые функционируют должным образом, а также в тех случаях, когда цепь должна быть постоянной.Создавать дизайн печатной платы для одного или нескольких приложений неэкономично.

На этапе разработки электронной схемы может быть неизвестно заранее, будет ли схема работать правильно после сборки. Затем для сборки компонентов схемы обычно используется беспаечный макет. Типичный макет показан на рисунке 5.21. Плата состоит из рядов и столбцов отверстий, которые разнесены таким образом, чтобы внутри них можно было разместить интегральные схемы и другие компоненты.Отверстия имеют пружинное действие, поэтому выводы компонентов можно надежно удерживать внутри отверстий. Существуют различные типы и размеры макетов в зависимости от сложности создаваемой схемы. Платы можно складывать вместе, чтобы сделать платы большего размера для очень сложных схем. На Рис. 5.22 показана схема внутренних соединений макетной платы, показанная на Рис. 5.21.

Рисунок 5.21. Типовой макет макета.

Рисунок 5.22. Внутренняя разводка макета на рисунке 5.21.

Верхняя и нижняя части макета разделены, между ними нет соединения. Столбцы 1–20 в строках A – F связаны друг с другом на основе столбцов. Точно так же строки G – L в столбцах 1–20 соединяются друг с другом на основе столбцов. Интегральные схемы размещаются таким образом, что ножки с одной стороны находятся на верхней половине макета, а ножки с другой стороны схемы — на нижней половине макета. Первые два столбца слева от платы обычно зарезервированы для подключения питания и заземления.Соединения между компонентами обычно выполняются с помощью многожильных (или одножильных) проводов, вставленных внутри соединяемых отверстий.

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

Рисунок 5.23. Изображение макета с некоторыми компонентами. (Чтобы ознакомиться с цветной версией этого рисунка, читателя отсылают к онлайн-версии этой книги.)

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

Лучшие проекты микроконтроллеров PIC для студентов инженерных специальностей

Микроконтроллеры

PIC — это электронные схемы, которые можно запрограммировать для выполнения широкого круга задач. Название PIC первоначально называлось «Контроллер периферийного интерфейса». Позже он был изменен на «Программируемый интеллектуальный компьютер». Микроконтроллеры PIC в основном используются любителями и экспериментаторами, особенно в области электроники и робототехники.Основными особенностями микроконтроллера PIC являются широкая доступность, низкая стоимость, простота перепрограммирования со встроенной EEPROM, обширная коллекция бесплатных заметок по применению, множество инструментов разработки и большой объем информации, доступной в Интернете. Микроконтроллеры PIC часто выпускаются под торговой маркой PICmicro.

Прочтите сообщение: Архитектура микроконтроллера PIC , чтобы получить подробную информацию о микроконтроллере PIC.

Сегодня многие студенты-инженеры проявляют большой интерес к проектам встраиваемых систем, в которых используются микроконтроллеры.Среди всех микроконтроллеров 8051 и PIC — это 2 типа микроконтроллеров, которые играют важную роль благодаря своим характеристикам. Итак, здесь мы перечислили некоторые из лучших идей проектов, основанных на микроконтроллере PIC, которые могут быть полезны студентам инженерных специальностей при успешном завершении их выпускных экзаменов.

Сообщение по теме: 8051 Проекты на базе микроконтроллеров

Если вам интересно, вы можете проверить список следующих проектов микроконтроллеров PIC и написать свои отзывы, новые идеи, предложения и запросы на нашей странице контактов.

  • PIC PWM Calculator: В этом проекте мы разрабатываем калькулятор для выполнения математических операций с помощью контроллера PIC. Для разработки проекта мы используем клавиатуру и ЖК-дисплей вместе с этим проектом. Ввод осуществляется с клавиатуры, и результат отображается на ЖК-экране.
  • Система управления библиотекой с использованием PIC: Этот проект используется для управления библиотечной системой с помощью контроллера PIC. Это отличается от обычной системы управления библиотекой.В этом проекте управления библиотекой на основе контроллера PIC каждый (кто пользуется библиотечными услугами) предоставит удостоверение личности с цифровыми данными, хранящимися в ней, вместе со своими реквизитами. Контроллер PIC используется для чтения цифровых данных в нем.
  • Мигалка аварийного автомобиля с использованием PIC16F84: Этот проект предназначен для разработки аварийных фонарей автомобиля с использованием микроконтроллера PIC. Это предупреждающее устройство, которое мигает световым сигналом при движении автомобиля скорой помощи, чтобы предупредить окружающих.И это очень полезно в плохих погодных условиях.
  • Автоматизированная городская система водоснабжения с использованием PIC: Автоматическая городская система полива — отличная идея, которая помогает нам управлять системой полива с помощью контроллера PIC. Этот проект автоматизирует систему полива путем регулирования скорости и расхода воды, а также количества воды, распределяемой по участкам, с помощью PIC.
  • Микросхема часов реального времени (DS1307) Использование PIC: Используя микроконтроллер PIC, мы можем разработать часы реального времени для представления времени в цифровом формате.В этом проекте используется RTC IC DS1307 и 4-значные семисегментные дисплеи для визуального отображения часов.
  • A Регистратор данных температуры с использованием PIC EEPROM: Это очень простой проект регистратора данных, разработанный с использованием контроллера PIC. Мы используем датчик температуры для измерения температуры. Контроллер будет регулярно считывать значения с датчика и сохранять их в EEPROM. Используя последовательный интерфейс, мы можем передавать зарегистрированные значения температуры на компьютер.
  • Датчик газа с использованием PIC16F84A: Проект детектора газа — это проект домашней автоматизации, в котором датчик газа используется для обнаружения утечек газа. Эта задача обнаружения газа управляется с помощью контроллера PIC. Если датчик обнаруживает утечку газа в окружающей среде, он будет предупреждать пользователя, подавая сигнал тревоги (пьезозуммер) и зажигая светодиод.
  • Система предоплаты за электроэнергию: Эта система предоплаты за электроэнергию используется для обеспечения экономичного способа оплаты счетов за электроэнергию в режиме реального времени.Эта концепция предусматривает использование карты пополнения на определенную сумму. Если будет произведена только подзарядка, счетчик электроэнергии будет работать, что предотвратит мошенничество и мошенничество при использовании электроэнергии.
  • Создание двоичных часов с помощью микроконтроллера PIC .: Мы можем разработать двоичные часы, используя контроллер PIC и светодиоды. ИС часов реального времени ПОДКЛЮЧЕНА К ПИК КОНТРОЛЛЕРУ И светодиодам для отображения часов. Вся система питается от батареи постоянного тока напряжением 9 В.
  • Контроллер температуры с использованием микроконтроллера PIC: Эта автоматическая система контроля температуры разработана с использованием контроллера PIC и датчика температуры.Датчик температуры определяет температуру в помещении и отправляет информацию на контроллер. Если уровни температуры превышают заданные уровни, то управление будет осуществляться запрограммированным контроллером PIC.
  • Контроллер влажности с использованием микроконтроллера PIC: Проект контроллера влажности используется для обнаружения и управления уровнем влажности с помощью PIC. Датчик влажности подключен к PIC-контроллеру. Он измеряет уровень влажности и отправляет отчет на контроллер PIC.
  • Система мониторинга парковки: Автоматическая система парковки — очень хорошая идея для проекта в реальном времени.Эта автоматическая автостоянка позволяет парковать автомобили этаж за этажом и, таким образом, сокращает используемое пространство. Здесь может быть припарковано любое количество машин в соответствии с потребностями. Это делает систему модернизированной и даже компактной. Автоматическая система парковки автомобилей здесь мы работаем над отображением количества парковочных мест, доступных на стоянке.
  • Система измерения солнечной энергии с помощью контроллера PIC: Этот проект используется для измерения солнечной энергии. В этом проекте используются датчик напряжения и датчики тока для измерения солнечной энергии, а уровни напряжения отображаются с помощью ЖК-дисплея.
  • A PIC Sonar (ультразвуковой) дальномер с использованием семисегментного дисплея: Схема дальномера используется для определения расстояния до объекта. Этот проект разработан с использованием контроллера PIC и ультразвукового датчика звука. Датчик подключен к контроллеру, и расстояние будет отображаться на ЖК-экране.
  • 3 светодиодных велосипедных фонаря с использованием PIC10F200: Проект 3 светодиодных велосипедных фонарей используется для отображения светодиодов с помощью контроллера PIC. Многоцелевые светодиодные фонари подключены к контроллеру PIC, и они будут светиться в зависимости от состояния и движения велосипеда.
  • 3-Switch Mini IR Remote Control: Этот проект используется для управления домашними устройствами с помощью беспроводного пульта дистанционного управления. Для этого используется пульт дистанционного управления с ИК-датчиком и PIC-контроллер. ИК-пульт дистанционного управления hs 3 кнопками для дистанционного управления 3 приборами.
  • Система мониторинга и управления теплицами на основе PIC: Эта система на основе контроллера PIC будет использовать датчик влажности, датчик температуры и резистор, зависящий от света, для контроля влажности, температуры и освещения.Информация, собранная этими датчиками, будет отправлена ​​на контроллер PIC и, таким образом, он управляет окружающей средой, регулируя погоду.
  • Устройство поиска светодиодов с использованием PIC: Эта схема поиска светодиодов используется для регулировки уровней яркости светодиодов с помощью контроллера PIC. Контроллер PIC регулирует уровни напряжения в последовательности, чтобы контролировать их интенсивность.
  • Электронная машина для голосования с использованием микроконтроллера pic: Этот проект системы голосования, управляемой PIC, очень полезен во время проведения викторин и опросов аудитории.В этом проекте используется пьезозуммер и светодиод для создания предупреждения, когда пользователь нажимает кнопку.
  • Телефонный пульт дистанционного управления с использованием микроконтроллера PIC16F84A: Этот проект используется в качестве дистанционного управления DTMF с помощью контроллера pic. этому устройству не нужно отвечать на вызов на удаленном конце, поэтому плата за вызов не взимается. Это устройство зависит от количества звонков, подаваемых на телефонной линии для включения / выключения устройств.
  • Как использовать микроконтроллер PIC для голосового ввода и вывода: В этом проекте мы используем контроллер PIC для считывания аналогового входного напряжения.Считываемый вход является выборкой в ​​тот же момент и производит те же сигналы, которые достаточно сильны, чтобы производить звуковые эффекты с использованием громкоговорителя.
  • Как реализовать SPI с помощью PIC18F4550: Мы можем реализовать SPI (последовательный периферийный интерфейс) с помощью микроконтроллера PIC. SPI — самое популярное устройство, которое используется для передачи последовательных данных. В этом проекте мы представляем два типа устройств с последовательным интерфейсом, такие как ведущее устройство SPI и ведомое устройство SPI. Выход главного SPI будет управлять потоком данных подчиненного SPI.
  • Как работать со встроенными аналоговыми компараторами PIC18F4550: Аналоговый компаратор — это устройство, которое сравнивает напряжения двух источников напряжения и указывает источник высокого напряжения с помощью светодиода. В этом проекте мы реализуем PIC-контроллер для работы со светодиодом, чтобы визуально указать, какой источник напряжения высокий.
  • Как использовать таймеры в микроконтроллере PIC18F4550: В этом проекте мы реализуем модули таймера в контроллере PIC для генерации точной задержки времени.Этот модуль используется в различных устройствах, таких как периферийные устройства с автоматическим запуском и устройства генерации сигналов ШИМ.
  • Как настроить EUSART в PIC18F4550 Микроконтроллер: В этом проекте мы настраиваем EUSART (усовершенствованный универсальный синхронный асинхронный приемник-передатчик). Эта концепция используется в последовательной связи, поскольку сконфигурированный EUSART имеет возможность передавать данные на большие расстояния с возможностью обнаружения ошибок.
  • Семисегментное мультиплексирование с использованием микроконтроллера PIC18F4550: Основная цель проекта — отображать числа с помощью мультиплексированных 7-сегментных дисплеев, управляемых с помощью контроллера PIC.Концепция мультиплексированного семи сегментного дисплея используется в калькуляторах и цифровых табло.
  • PIC USB HID (Устройство интерфейса пользователя) Интерфейс: Контроллер PIC используется для разработки устройства интерфейса пользователя USB. Интерфейс может отправлять и получать команды от USB-хоста портативного компьютера. Это означает, что USB должен иметь возможность включать и выключать некоторые светодиоды, распознавать нажатие переключателя и визуализировать значение переменного резистора, подстроечного резистора.
  • Однофазный автономный ИБП с использованием микроконтроллера PIC: Этот проект предназначен для управления устройством ИБП на базе контроллера PIC.Мы используем особенности контроллера PIC для управления работой ИБП. Контроллер PIC используется для регулирования напряжения питания и для создания линейного выходного напряжения.
  • Биометрическая система аутентификации банкоматов на основе отпечатков пальцев: Этот биометрический проект используется для аутентификации личности пользователя с помощью методов отпечатка большого пальца, распознавания лица или отпечатка ладони. Микроконтроллер PIC используется для авторизации данных из пользовательской базы данных банкомата.
  • ПИ-регулирование для бесщеточного двигателя постоянного тока, работающего на заданной скорости: Используя микроконтроллер PIC, мы можем управлять скоростью бесщеточного двигателя постоянного тока.Мы можем заставить двигатель работать с желаемой скоростью. Контроллер PIC подключается к клавиатуре для ввода желаемой скорости.
  • Дистанционно управляемая электронная доска объявлений на базе Android: Этот проект доски объявлений на основе PIC используется для отображения сообщения на электрическом дисплее. Смартфон Android используется для отправки текстовых сообщений, которые нам нужно отобразить на доске. Модуль GSM используется для отправки и получения текстовых сообщений, а ЖК-экран используется для отображения сообщений.
  • Удаленно программируемая последовательная загрузка на базе Android: Проект удаленно программируемой последовательной загрузки на базе Android используется для управления электронными устройствами с помощью смартфона Android. это похоже на удаленное управление электрическими устройствами. Команды для управления этими устройствами подаются мобильной технологией Bluetooth Android.
  • Дистанционное управление бытовой техникой с помощью приложения Android: Система дистанционного управления бытовой техникой, основанная на графическом интерфейсе пользователя смартфона Android, разработана на смартфоне Android.Пользователь входит в интерфейс смартфона Android и нажимает кнопки для отправки команд сообщений из графического интерфейса пользователя, которые будут переданы в домашний информационный центр через сеть GSM. Затем процессор распознает указанную команду и управляет переключателями бытовой техники в беспроводном радиочастотном режиме, чтобы в конечном итоге обеспечить удаленное управление приборами.
  • Блокировка I-кнопки с помощью контроллера PIC: Система блокировки I-кнопки, основанная на контроллере PIC, представляет собой проект домашней безопасности, который используется для запирания двери с помощью запрограммированной PIC I-кнопки.Кнопка I– — это устройство, которое используется для связи только с двумя проводами.
  • Прокручивающийся дисплей на основе светодиодов Контроллер PIC: Этот проект на основе контроллера PIC используется для отображения прокручиваемой текстовой информации с помощью светодиодного дисплея. в этом проекте для прокрутки данных используются регистры сдвига и счетчики. Связка светодиодов (или светодиодная кровать) подключена к PIC-контроллеру для отображения прокручиваемого текста.
  • Система блокировки безопасности на основе контроллера PIC: Это проект домашней безопасности на основе пароля, управляемый с помощью контроллера PIC.Дверь запирается с помощью кода безопасности, который хранится в микроконтроллере. Когда человек вводит правильный пароль или PIN-код с клавиатуры, открывается только дверь, в противном случае дверь остается заблокированной.
  • 48-канальный моно / 16-канальный светодиодный контроллер RGB: Здесь предлагается 48-канальный светодиодный контроллер. Он может управлять 48 группами одноцветных светодиодов. Он использует 3 светодиодных драйвера вместе с микронтроллером pic. Последовательный периферийный интерфейс
  • Mood Vase: Обнаружена красивая ваза, которая включается в темноте.Эту вазу можно использовать как предмет декора.
  • Декодер тонального набора DTMF с использованием Microchip PIC Микропроцессор: Здесь объясняется декодер тонального набора DTMF с использованием Pic. Здесь микропроцессор PIC12F683 используется для декодирования тона DTMF.
  • Контроллеры 53 LED CUBE: В этом проекте показан контроллер 53 Led cube. Здесь одноцветные светодиоды используются для построения светодиодного куба.
  • UFO round LED Chaser с контролем скорости: Здесь Led Chaser использует PWM для управления светодиодами.В основе проекта лежит микроконтроллер PIC 16F628A.
  • F1 Gantry Race Start Lights: Разработана последовательность старта гонки с использованием 5 огней для простой гоночной трассы F1. Трасса может иметь фиксированную или случайную задержку.
  • Мониторинг сигнала ЭКГ в реальном времени с помощью PIC и веб-сервера: Здесь была разработана беспроводная сенсорная сеть для наблюдения за состоянием здоровья пациентов. Он использует микроконтроллер PIC.
  • LED DICE с PIC: Вот проект, показывающий схему LED Die с использованием микроконтроллера PIC.Игральные кости созданы с использованием красных светодиодов. Это простая и недорогая схема.
  • ШИМ-контроллер вентилятора: ШИМ-метод используется для управления скоростью вентилятора. Здесь широтно-импульсная модуляция производится контроллером PIC16F877A. Тестируется с двумя вентиляторами.
  • Супер-простой карманный mp3-плеер !: Здесь разработан простой карманный MP3-плеер. Он использует микроконтроллер PIC 16LF877 и флэш-карту 100 ГБ, а также чип декодера vs1001k со встроенным ЦАП.Песни сохраняются на SD-карте, затем обрабатываются блоком MCU и передаются декодеру.
  • Светодиодный стробоскоп для PIC12F629 / 675: Здесь простая схема светодиодного стробоскопа разработана с использованием микроконтроллера pic. Светодиоды стробоскопа используются в качестве предупреждающих сигналов для полиции или пожарных и т. Д. Они мигают в течение определенного времени с регулярными интервалами. Здесь микроконтроллер управляет этим стробоскопическим светодиодом.
  • Geek Clock: Двоичные часы разработаны с использованием микроконтроллера PIC 16F874A.Он использует 6 столбцов светодиодных индикаторов для отображения времени в двоичном формате и использует микросхему DS1307 RTC для получения времени.
  • Инфракрасное / радиоуправление передатчиком / приемником с PIC: Здесь разработаны схемы кодировщика и декодера для схем радиопередатчика и приемника 433 МГц. Эти схемы обеспечивают передачу цифровых сигналов с использованием радиоволн или инфракрасных волн.
  • Power Pic RGB с регулировкой напряжения: лампы RGB используются для получения света разного цвета из одного источника света.Это простой проект, демонстрирующий RGB-подсветку, управляемую двумя разными источниками напряжения для изменения ее цвета. Микроконтроллер pic 12F675 используется здесь для управления этими лампами.
  • Сетевое зарядное устройство / разрядник DIY: В этой статье подробно рассказывается о зарядном устройстве DIY Gris. Этот проект можно построить с использованием компонентов, доступных на eBay. Подробнее читайте в статье.
  • Идентификация линии (CLI): В этом проекте показана схема, которая идентифицирует звонящего по телефону.Телефонный провод, подключенный к цепи, позволяет отображать имя звонящего, сопоставляя его с сохраненными номерами.
  • Простой счетчик частоты ВЧ / СВЧ: В этом проекте показан простой частотомер с использованием микроконтроллера PIC 16F876A. Диапазон этого счетчика расширен до 180 МГц с помощью двух устройств 74FXX. Результаты отображаются на ЖК-дисплее, подключенном к схеме.
  • Таймер темной комнаты с использованием микроконтроллера PIC16F84: В этом проекте показан таймер, который можно использовать в качестве схемы обратного отсчета.При нажатии кнопки начинается отсчет времени в минутах и ​​секундах. Когда устройство остановлено, на дисплее отображается время. Опять же, он может быть сброшен при переключении блока.
  • Универсальный последовательный инфракрасный приемник: Универсальный последовательный приемник может использоваться для управления ПК с помощью телевизионного пульта дистанционного управления. Он использует микроконтроллер PIC для определения характеристик демодулированного сигнала и передачи его на приемник.
  • Взаимодействие шагового двигателя с микроконтроллером PIC: Вот проект, показывающий взаимодействие однополярного и биполярного шагового двигателя с микроконтроллером Pic 16F877A.

Прочтите следующие посты, чтобы найти больше идей для проектов:

A Введение в микроконтроллер PIC.

Что можно с микроконтроллером сделать?

Ответ: Практически любой проект
легко! …

Микроконтроллеры дают вам фантастический способ создания проектов. Микроконтроллер PIC — это процессор со встроенной памятью. и RAM, и вы можете использовать ее для управления своими проектами (или строить проекты вокруг Это). Таким образом, это избавляет вас от создания схемы, в которой есть отдельная внешняя RAM, ROM. и периферийные микросхемы.

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

  • EEPROM.
  • Таймеры.
  • Аналоговые компараторы.
  • UART.


Даже с этими четырьмя модулями (обратите внимание, что это всего лишь примеры модулей — там больше) вы можете создать множество проектов, например:

* Частотомер — с помощью внутренние таймеры и отчетность через UART (RS232) или вывод на ЖК-дисплей.

* Измеритель емкости — аналог компараторный генератор.

* Таймер событий — с использованием внутреннего таймеры.

* Регистратор данных событий — аналоговый захват данные с использованием внутреннего АЦП и использования внутренней EEPROM для хранения данных (с использованием внешнего I2C для высокой емкости хранения данных.

* Сервоконтроллер (управление через UART) — используя внутренний модуль ШИМ или используя программно созданный ШИМ.

PIC Micro — один из самых популярных микроконтроллеров, и если вы Интересно, разница между микропроцессором и микроконтроллером заключается в том, что микроконтроллер имеет внутреннюю шину со встроенной памятью и периферийными устройствами.

На самом деле 8-контактная (DIL) версия 12F675 имеет удивительное количество внутренних периферийные устройства. Это:

  • Два таймера.
  • Один 10-битный АЦП с 4 выбираемыми входами.
  • Внутренний генератор (или вы можете использовать внешний кварц).
  • Аналоговый компаратор.
  • 1024 слова программной памяти.
  • 64 байта ОЗУ.
  • 128 байт памяти EEPROM.
  • Внешнее прерывание (а также прерывания от внутренних периферийных устройств).
  • Внешний кристалл может работать до 20 МГц.
  • ICSP: стандартный интерфейс программирования PIC.

И все это работает в 8-выводном корпусе DIL!

В устройствах среднего класса объем памяти варьируется от 1 до 8 КБ (детали 18F имеют подробнее) — звучит не очень много, но процессор имеет производительный набор инструкций, и вы можете создавать полезные проекты даже с 1k, например Проект измерения температуры LM35, который сообщает данные в последовательный порт легко умещаются в пределах 1к.
Характеристики

На самом деле микроконтроллер PIC — это удивительно мощный полнофункциональный процессор. с внутренней RAM, EEROM FLASH памятью и периферийными устройствами. Один из самых маленьких один занимает пространство таймера 555, но имеет 10-битный АЦП, 1 КБ памяти, 2 таймеры, сильноточные порты ввода / вывода, компаратор, сторожевой таймер … Я мог бы продолжить как есть еще!

Программирование

Одной из наиболее полезных функций микроконтроллера PIC является то, что вы можете перепрограммируйте их, поскольку они используют флэш-память (если вы выберете часть с буквой F в номер детали e.грамм. 12F675, а не 12C509). Вы также можете использовать последовательный интерфейс ICSP. встроены в каждый микроконтроллер PIC для программирования и даже программирования пока он еще подключен к цепи!

Вы можете запрограммировать микроконтроллер PIC с помощью ассемблера или высокого уровня. язык и я рекомендую использовать высокий уровень язык, такой как C, поскольку его намного проще использовать (после начального изучения изгиб). После того, как вы выучили язык высокого уровня, вы не обязаны использовать тот же процессор, например вы можете пойти на AVR или микроконтроллер Dallas и по-прежнему использовать тот же язык высокого уровня.

Ввод / вывод — ввод / вывод

Микроконтроллер PIC может управлять выходами и реагировать на входы, например, ты может управлять реле или читать кнопки ввода.

С более крупными устройствами можно управлять ЖК-дисплеями или семисегментными дисплеями. с очень небольшим количеством линий управления, так как вся работа выполняется внутри PIC Micro.


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


Многие теперь имеют встроенный АЦП, поэтому вы можете считывать уровни аналогового сигнала, чтобы вы не нужно добавлять внешние устройства, например. вы можете считывать показания датчика температуры LM35 напрямую без логика интерфейса.

Периферийные устройства

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


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

Лучший способ начать — это узнать об основных характеристиках чипа, а затем начать использовать каждое периферийное устройство в проекте. Я думаю, обучение на практике — это лучший способ.

ПОС микроконтроллер
Характеристика
Микроконтроллер PIC
Описание функции
Flash память Перепрограммируемая программа место хранения.
RAM Память хранилище для переменных.
EEPROM Долгосрочный стабильная память: электрически стираемая программируемая чтение Только памяти.
ввод / вывод порты Сильноточные порты ввода / вывода (с направлением штифта изменить) .
Таймеры / счетчики Обычно 3.
USART Встроенный Протокол RS232 (требуется только транслятор уровня чип).
CCP Модуль захвата / сравнения / ШИМ.
SSP I2C и Интерфейсы SPI.
Компаратор Аналоговый компаратор и внутреннее напряжение ссылка.
АЦП Аналоговый к цифровому преобразователю.
PSP
Параллельный подчиненный порт (для 8 бит микропроцессорные системы).
ЖК-дисплей ЖК-дисплей интерфейс.
Специальный функции
ICSP, WDT, BOR, POR, PWRT, OST, SLEEP
ICSP Простое программирование с использованием In Цепное последовательное программирование.

Примечание: эти являются некоторыми из основных функций
(некоторые чипы имеют все это, а некоторые нет).

Флэш-память

Это область хранения программ, которая дает вам самое важное преимущество при использовании PIC микроконтроллер — Вы программируете устройство много раз. С каких это пор кто-нибудь программа правильно с первого раза?

устройств, используемых в проектах на этом сайт можно перепрограммировать до 100000 раз (возможно, больше), поскольку они используют флэш-память — у них есть буква F в часть названия.Вы можете получить более дешевые (OTP) устройства, но они Одноразово-программируемые; однажды запрограммированный, вы не можете запрограммировать его снова!

ICSP

Последовательное программирование в цепи (ICSP) — следующее по важности преимущество. Вместо того перенося свой чип с программатора на плату разработки, вы просто оставьте это в доске. Организуя программные соединения с вашим схема правильно, вам не нужно будет снимать чип!

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

Порты ввода / вывода

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

Направление вывода

Большинство выводов микроконтроллера PIC можно настроить как вход или выход, и это можно делать на лету, например для 1-проводной системы Даллас вывод можно записать на генерировать данные и читать на более позднем этапе. Регистр TRIS управляет вводом / выводом. direction и установка бита в этом регистре на ноль устанавливает вывод как выход, а установка как единичка устанавливает вывод как вход.

Это позволяет использовать штифт для нескольких операций, например. проект часов реального времени использует RA0, первый вывод PORTA, для вывода данных на семисегментный дисплей, а затем в программа считывает аналоговое значение как входное.

Ток

Порты ввода-вывода PIC — это сильноточные порты, способные напрямую управлять светодиодами (выходной ток до 25 мА) — общий допустимый ток обычно ~ 200 мА, это часто для всего чипа (или указывается для нескольких портов вместе вместе).

Таймер / счетчики

Каждый микроконтроллер PIC имеет до трех таймеров, которые можно использовать в качестве таймер или счетчик (Таймер 1 и 2) или часы передачи данных (Таймер 2).

Таймер 0

Первоначальный таймер: Таймер 0 был первым разработанным таймером, и вы можете найти его это во всех самых ранних устройствах, например. 16F84 до новейших e, g, 16F877A.

Это 8-битный таймер с 8-битным предварительным делителем, который может управляться от внутренние (Fosc / 4) или внешние часы.Генерирует прерывание при переполнении когда счет идет от 255 до нуля.

Таймер 0 всегда синхронизирует входные часы (при использовании внешних часов).

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

Примечание. Предварительный делитель частоты меняет свой эффект в зависимости от того, является ли он таймером. предварительный делитель или предварительный делитель Watch Dog — поэтому одна и та же настройка предварительного делителя может предварительно масштабировать на 2 или на 1 в зависимости от его использования!

Таймер 1

Это 16-битный таймер, который генерирует прерывание переполнения при срабатывании с 65535 до нуля.Он имеет 8-битный программируемый предделитель, и вы можете управляйте им от внутренних часов (Fosc / 4) или внешнего вывода.

Для исключения ложных срабатываний он также имеет дополнительный входной синхронизатор для внешний контактный вход.

Этот таймер может использоваться в спящем режиме и генерирует прерывание при пробуждении. переполнение.

Таймер 1 также считывается модулем CCP для регистрации времени события.

Примечание. Использование этого таймера в спящем режиме потребляет больше тока.

Кроме того, его можно использовать для управления часовым кристаллом с низким энергопотреблением.Это что-то, что звучит хорошо, но я не рекомендую вам делать это как кристаллы для часов правильно управлять автомобилем крайне сложно. Вы должны использовать его, только если вы собираюсь сделать печатную плату и следовать всем рекомендациям, чтобы сделать ее бесшумной. я использовал DS1307 в часах реального времени проект, который управляет кристаллом напрямую, но даже это трудно достать работает точно.
Таймер 2

Это 8-битный таймер с 8-битным предварительным делителем и 8-битным постделителем. Это принимает входные данные только от внутреннего генератора (Fosc / 4).

Этот таймер используется для временной развертки ШИМ, когда ШИМ активен, и его можно программное обеспечение, выбранное модулем SSP в качестве тактовой частоты.

Он также имеет регистр периодов, который позволяет легко контролировать период. Когда таймер 2 достигает значения регистра PR2, а затем сбрасывается. Это избавляет от необходимости проверьте значение таймера в программном обеспечении, а затем сбросьте таймер, и так как это сделано аппаратно операция выполняется намного быстрее, поэтому вы можете генерировать быстрые часы с периоды, кратные основным часам.

USART

USART — полезный модуль, избавляющий от необходимости кодировать версию программного обеспечения. так что это экономит ценную программную память. Вы можете найти дополнительную информацию о RS232 вот и как заставить работать. Поищите здесь выводы.

Все, что вам нужно для сопряжения с последовательным портом ПК, — это микросхема MAX232 (или эквивалент).

Примечание: эквивалентным чипом MAX232 является SP202ECP, имеющий такую ​​же распиновку, что и MAX232, но позволяет использовать конденсаторы емкостью 100 нФ — поэтому вам не нужен большой 1 мкФ шапки.

Скорости передачи

Будьте осторожны при использовании скоростей передачи, поскольку они зависят от основных часов используемые и нормальные значения осциллятора в целом не очень хорошо сочетаются с «реальными» скорости передачи.

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

Иногда приходится поиграться с настройками реестра, чтобы получить лучшее соответствовать вашей тактовой частоте и желаемой скорости передачи данных.Пример для Тактовая частота 8 МГц — если вы используете BRGH = 1 и тактовую частоту 8 МГц (см. Таблицу 16F88), вы получить точную скорость передачи данных до 38,4 кбод. Вы должны заставить это работать, например. в mikroC встроенные процедуры USART используют BRGH = 0, поэтому на 8 МГц скорость передачи только с точностью до 9,6 кбод.

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

CCP

Модуль захвата / сравнения / ШИМ имеет три режима работы:

  • Захват — захват времени события.
  • Сравнить — генерировать выходной сигнал, когда Таймер 1 достигает значения.
  • PWM — широтно-импульсная модуляция.
Захват

Режим захвата используется для захвата значения Таймера 1, когда сигнал на Вывод CCP становится высоким (или низким, в зависимости от того, как настроен CCP). КПК может точно зафиксировать время прихода сигнала на вывод КПК, чтобы его можно было используется для измерения времени импульса.

Сравнить

Режим сравнения используется для генерации выходных данных, когда Таймер 1 достигает значения, которое вы положить в CCPR1.Один специальный режим запуска по событию позволяет запускать АЦП, когда запускается режим сравнения.

PWM

PWM дает вам один выход с широтно-импульсной модуляцией с разрешением 10 бит и без накладных расходов на программное обеспечение — после запуска он работает сам по себе, если вы хотите изменить рабочий цикл.

Он использует Таймер 2 для определения своей работы, используя регистр периода Таймера 2 для определения частота ШИМ.

Примечание: рабочий цикл — это не процентное соотношение, это количество периодов ШИМ. часы, что выход высокий!

SSP

Синхронный последовательный порт позволяет обмениваться данными с устройствами, которые используют либо SPI (последовательный периферийный интерфейс) или I2C (связь между IC) протоколы.Обратите внимание, что для работы I2C в полном режиме Master вам необходимо выбрать Устройство PIC, имеющее устройство MSSP (главный синхронный последовательный порт).


SPI и I2C являются общими, поэтому вы можете использовать только один за раз (или вы можете использовать Подпрограммы I2C в реальном времени Проект часов, чтобы иметь и то и другое одновременно).

Здесь вы можете найти проект, использующий I2C. и вы можете найти больше информации о I2C здесь.

Компаратор и компаратор напряжения Ссылка

Компаратор — это модуль с двумя аналоговыми компараторами, которые можно настроить. вверх одним из 8 различных способов.Цифровые или аналоговые входы могут быть по сравнению с эталонными напряжениями.

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

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

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

Модуль генерирует прерывание при изменении выхода компаратора.

Вы можете использовать его в спящем режиме, и прерывание разбудит его.

Импеданс источника аналогового сигнала должен быть меньше 10 кОм.

ADC

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

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

Для 16F877A вы не можете просто использовать аналоговый вход, если чувствуете необходимость, поскольку существует только определенное и ограниченное количество способов, которыми аналоговые входные контакты могут быть включены. Лучше всего начать с AN0 и добавить еще при необходимости — см. таблицу, для которой аналоговые входы могут быть включены, например если вы начали разработку, используя только AN5, вы обнаружите, что вам, возможно, придется включите еще несколько аналоговых входов!


16F675 может измерять 4 аналоговых входа!

PSP

Параллельный подчиненный порт позволяет напрямую подключать микроконтроллер PIC в микропроцессорную систему.Он обеспечивает 8-битную шину данных для чтения / записи и RD (чтение) входы WR (запись) и CS (выбор микросхемы) — все активны на низком уровне.

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


Это обеспечивает простой способ добавления микроконтроллера PIC к 8-битному система, которая уже существует.

ЖК-дисплей

Интерфейс ЖК-дисплея позволяет напрямую подключаться к ЖК-дисплею, избавляя вас от необходимости используйте ЖК-модуль, например HD44780. Я не использовал эту функцию как она есть еще одно коммерческое требование, при котором удаление чипа (HD44780) позволяет сэкономить деньги производственный цикл. Думаю, он способен управлять графическим ЖК-дисплеем.

Особенности

ICSP дюйм Программирование последовательной цепи нажмите здесь (переходит к ICSP раздел).
WDT Часы собачий таймер Это это средство защиты от ошибок программного обеспечения.
BOR Коричневый Сброс выхода Это определяет, если источник питания немного проседает, и перезагружает устройство, если так.
POR Мощность при сбросе Это запускает инициализацию микроконтроллера.
PWRT PoWeR Время вверх A задержка времени, чтобы позволить Vdd подняться.
ОСТ Осциллятор таймер запуска Подождите на 1024 цикла после PWRT.
СОН ПОС спящий режим микроконтроллера режим Enter low режим мощности.
WDT

Если ваше программное обеспечение выходит из строя, этот таймер сбрасывает процессор.К остановить сброс, программное обеспечение с хорошим поведением должно периодически выдавать CLRWDT инструкция остановить повторное восхождение. WDT работает с использованием собственного генератора. Это работает во время сна и использует предварительный делитель таймера 0.

POR

Power On Reset запускает инициализацию микроконтроллера PIC, когда он обнаруживает нарастающий фронт на MCLR.

PWRT

Если вы включите это, то через 72 мс после POR микроконтроллер PIC будет начал.

OST

Задержки таймера запуска генератора на 1024 цикла генератора после PWRT (если PWRT включен), гарантируя, что генератор запущен и работает стабильно.Это является автоматическим и используется только для режимов кварцевого генератора и активен после POR или просыпаться ото сна.

SLEEP

Спящий режим (или режим низкого энергопотребления) включается путем выполнения Команда SLEEP. Устройство может выйти из спящего режима из-за внешнего сброса. Тайм-аут таймера Watch Dog, изменение порта RB на выводе INT или прерывание периферийных устройств.

Обзор устройства проекта

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

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


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

Примечание: есть различия в использовании устройств, т.е. есть несколько регистров. которые разные, но, как правило, их можно поменять местами — это стало проще с использованием языка высокого уровня.

На этом сайте используются следующие устройства:

на сайте микрочипа объем памяти kwords — игнорировать kbytes — вам нужен размер kword, поскольку это то, что занимает каждая инструкция — размер килобайта предназначен для сравнения с другими типами микросхем (вероятно).Но шина данных микроконтроллера имеет ширину 8 бит, поэтому это 8-битный микроконтроллер (различная программная память и память данных из-за использования Гарвардского архитектура).


(Примечание: все они имеют букву F — это означает, что это Flash перепрограммируемая часть — не ходите и не покупайте деталь с O в качестве OTP — программируется только один раз! — делайте это только в том случае, если действительно уверены, что это окончательный дизайн).

Размер флэш-памяти микроконтроллера PIC

Вы можете подумать, что 1 КБ или даже 8 КБ настолько малы, что бесполезны, но каждый Микроконтроллер PIC использует RISC (сокращенный набор команд), который просто означает, что у него есть грамотно организованный набор инструкций, в котором всего несколько инструкции.Части среднего уровня содержат 35 инструкций.

Если вы используете язык высокого уровня, как рекомендовано на этом сайте, вы не будете нужно слишком хорошо знать набор инструкций, это просто означает, что вы можете многое сделать с небольшой объем памяти. Большинство проектов на этом сайте, хотя они полностью рабочие проекты умещаются в 2к слов!

Примечание: если вам нужно больше памяти, вы всегда можете перейти на серию 18F PIC микроконтроллеры. Другой вариант — добавить eprom I2C с последовательным интерфейсом.

ПОС ОЗУ микроконтроллера и размер EEPROM

Размер ОЗУ микроконтроллера PIC составляет также важно, так как в нем хранятся все ваши переменные и промежуточные данные.

Примечание. Обычно вы можете изменить программу, чтобы использовать меньше RAM, выбрав правильные размеры переменных или изменив способ работает

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

PIC микроконтроллер EEROM: Электрически стираемое ПЗУ используется для хранения данных, которые должны быть сохранены между включение и выключение питания.

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


Переход от PIC-микроконтроллера к домашней странице
Best Microcontroller Projects.


Политика конфиденциальности | Контакт | Обо мне

Карта сайта | Условия использования

сообщить об этом объявлении

Peripheral Interface Controller (PIC)

Чтобы узнать более подробную информацию о PIC, щелкните по ссылкам ниже

СМОТРЕТЬ: ВВЕДЕНИЕ В PIC

СМОТРЕТЬ: ОСНОВЫ МИКРОКОНТРОЛЛЕРОВ

Введение в контроллеры периферийного интерфейса (PIC)

Peripheral Interface Controllers (PIC) — один из передовых микроконтроллеров, разработанных с помощью микрочиповых технологий.Эти микроконтроллеры широко используются в современной электронике. Контроллер PIC объединяет все типы усовершенствованных интерфейсных портов и модулей памяти. Эти контроллеры более продвинуты, чем обычные микроконтроллеры, такие как INTEL 8051. Первый чип PIC был анонсирован в 1975 году (PIC1650). Как и обычный микроконтроллер, микросхема PIC также объединяет микропроцессор, называемый ЦП, и интегрирован с различными типами модулей памяти (RAM, ROM, EEPROM и т. Д.), Портами ввода-вывода, таймерами / счетчиками, портами связи и т. Д.

Микросхема PIC

Изображение из
Все микроконтроллеры семейства PIC используют архитектуру Гарварда. Эта архитектура обеспечивает доступ к программам и данным из отдельных запоминающих устройств, поэтому устройство имеет шину памяти программ и шину памяти данных (более 8 линий в нормальной шине). Это увеличивает пропускную способность (пропускную способность данных) по сравнению с традиционной архитектурой фон Неймана, где программа и данные выбираются из одной и той же памяти (доступ осуществляется по одной и той же шине). Разделение памяти программ и данных дополнительно позволяет иметь размер инструкций, отличный от 8-битного слова данных.
Базовая структура современной микросхемы контроллера периферийного интерфейса показана на рисунке ниже.

Структура ПИК

Источник изображения

CPU

Функция CPU в PIC такая же, как у обычного CPU микроконтроллера. ЦП PIC состоит из нескольких субблоков, таких как декодер команд, ALU, аккумулятор, блок управления и т. Д. ЦП в PIC обычно поддерживает архитектуру компьютера с сокращенным набором команд (RISC) (компьютер с сокращенным набором команд (RISC), тип микропроцессора, который ориентирован на быструю и эффективную обработку относительно небольшого набора инструкций.Дизайн RISC основан на предпосылке, что большинство инструкций, декодируемых и выполняемых компьютером, просты. В результате архитектура RISC ограничивает количество инструкций, встроенных в микроконтроллер, но оптимизирует каждую, чтобы ее можно было выполнять очень быстро (обычно в пределах одного тактового цикла). Такая структура RISC дает следующие преимущества.
• В структуре RISC всего 35 простых инструкций по сравнению с другими.
• Время выполнения для большинства инструкций одинаково (за исключением очень небольшого числа чисел).
• Требуемое время выполнения очень мало (5 миллионов инструкций в секунду (приблизительно).

Память

Память в микросхеме PIC, используемая для временного или постоянного хранения данных и программ. Как и обычные микроконтроллеры, микросхема PIC также имеет определенный объем RAM, ROM, EEPROM, другую флэш-память и т. Д.
ROM-память используется для постоянного хранения. Память ПЗУ также называется программной памятью. У микросхемы PI есть определенный объем ПЗУ.
Память EEPROM — это еще одна категория памяти ROM.Содержимое EEPROM изменяется во время выполнения, и в это время оно действует как оперативная память. Но разница в том, что после отключения питания данные остаются в этой микросхеме ПЗУ. Это одно из особых преимуществ EEPROM. В микросхеме PIC функция EPROM заключается в хранении значений, созданных во время выполнения.
RAM-память — это один из сложных модулей памяти в микросхеме PIC. Эта память связана с различными типами регистров (регистры специальных функций и регистры общего назначения) и модулями БАНКА памяти (БАНК 0, БАНК 1 и т. Д.).). После отключения питания содержимое ОЗУ будет очищено. Как и в обычных микроконтроллерах, оперативная память используется для хранения временных данных и получения немедленных результатов.

Флэш-память

Это особый тип памяти, в котором операции READ, WRITE и ERASE могут выполняться многократно. Этот тип памяти был изобретен корпорацией INTEL в 1980 году. Чип PIC обычно содержит определенный объем флэш-памяти.

Регистры

Информация хранится в области памяти ЦП, называемой регистром.Регистры можно рассматривать как крошечный блокнот ЦП, временно хранящий инструкции или данные. Регистры в основном подразделяются на следующие.

1) Регистр общего назначения (GPR)
Регистр общего назначения (или регистр процессора) — это небольшая область памяти, доступная на ЦП, к содержимому которой можно получить доступ быстрее, чем к другой памяти, доступной на PIC. Регистр общего назначения может хранить оба адреса данных одновременно.

2) Регистры специальных функций (SFR)
Они также являются частью ячеек памяти RAM.По сравнению с георадаром, их назначение предопределено во время изготовления и не может быть изменено пользователем. Это только для специальных функций.

Прерывания

Прерывание — это временная задержка выполняющейся программы. Эти задержки останавливают текущее выполнение на определенный интервал. Этот интервал / задержка обычно называется прерыванием. Когда запрос на прерывание поступает в текущую исполняющую программу, она останавливает свое обычное выполнение. Прерывание может выполняться извне (аппаратное прерывание) или внутренне (с помощью программного обеспечения).

Автобус

ШИНА — это канал связи или передачи / приема данных в блоке микроконтроллера. В обычном чипе микроконтроллера обычно доступны два типа шин.

1) Шина данных

Шина данных используется для адресации памяти. Функция шины данных заключается в соединении всех компонентов схемы внутри микросхемы PIC.

2) Адресная шина
Адресная шина в основном используется для адресации памяти. Функция адресной шины заключается в передаче адреса от ЦП в ячейки памяти.

USART или UART

Эти порты используются для передачи (TX) и приема (RX) данных. Эти передачи возможны с помощью различных модулей приемопередатчиков цифровых данных, таких как RF, IR, Bluetooth и т. Д. Это один из самых простых способов связи PIC-чипа с другими устройствами.

Осцилляторы

Блок генератора

в основном представляет собой схему генерации колебаний / тактовых импульсов, которая используется для обеспечения надлежащих тактовых импульсов микросхеме PIC. Эти тактовые импульсы также помогают приложениям для отсчета времени и счета.Микросхема PIC обычно использует различные типы генераторов тактовой частоты. В зависимости от приложения и типа используемого PIC генераторы и их частоты могут различаться. RC (резистор-конденсатор), LC (индуктор-конденсатор), RLC (резистор-индуктор-конденсатор), кварцевые генераторы и т. Д. Являются обычными генераторами, используемыми с микросхемой PIC.

СТЕК

На всей микросхеме PIC есть область для хранения адресов возврата. Эта область или блок, называемый стеком, используется в некоторых контроллерах периферийного интерфейса. Аппаратный стек недоступен для программного обеспечения.Но для большинства контроллеров он может быть легко доступен.

Порты ввода / вывода

Эти порты используются для взаимодействия с различными устройствами ввода / вывода и памятью. В зависимости от типа PIC количество портов может меняться.

Блоки расширенного функционирования

Эти разделы включают различные расширенные функции микросхемы PIC. Эти функции могут меняться в зависимости от типа PIC. Различные расширенные функции в контроллере периферийного интерфейса включают таймер включения, таймер запуска генератора, сброс при включении, таймер сторожевого устройства, сброс напряжения, отладчик схемы, программирование низкого напряжения, компаратор напряжения, модули CCP и т. Д.

Ограничения архитектуры PIC

• Контроллер периферийного интерфейса имеет только один аккумулятор.
• Небольшой набор команд.
• Зарегистрировать банковский переключатель, необходимый для доступа к ОЗУ других устройств.
• Операции и регистры не ортогональны.
• Программная память недоступна.

Преимущества системы управления PIC

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

• Производительность
Многие встроенные системы на основе PIC используют простой конвейерный процессор RISC для вычислений, и большинство из них предоставляют встроенную SRAM для хранения данных для повышения производительности.

• Потребляемая мощность
Система, управляемая PIC, работает с минимальным энергопотреблением без ущерба для производительности.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Микроконтроллер PIC Устройство PIC микроконтроллер No. Контакты PIC микроконтроллер Флэш-память СЛОВА
12F675 8 1k
16F88 18 4k
16F82277A 9028