Устройства на пик контроллерах

Устройства на пик контроллерах

  • Вы здесь:
  • Главная
  • На микроконтроллере

Полицейская крякалка своими руками

Предоставляю вам схему спец сигнала (Крякалка), для самостоятельной сборки. Решил поставить ребенку на велосипед (пусть прохожих под домом пугает), но так же можно и в автомобиль поставить (если есть связи в ГАИ). Данное устройство состоит из минимум деталей, а так же простая в сборке и под силу каждому.

Часы на лампах ИН своими руками

В интернете цены на часы основанные на лампах ИН-14 если и попадаются еще, то цены на них весьма дороговаты. Мы рассмотрим как спаять часы на лампах ИН своими руками, так как это намного дешевле чем купить готовые,при этом они всегда будут радовать ваши глаза.

JDM программатор своими руками с внешним питанием

Пришло время еще раз затронуть тему изготовление программатора, так как цены на них не такие и маленькие,и при этом гарантии нет что он заработает. Рассмотрим схему программатора jdm с внешним питанием,с помощью которого програмируются микросхемы PIC и подключаемому к стационарному компьютеру через COM(rs232) порт.

Список прошиваемых PIC микроконтроллеров в статье.

Простое ИК управление своими руками

Простое ИК управление своими руками

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

Данное устройство предназначено для управления нагрузками на небольшой дистанции. За основу взят дешевый, миниатюрный ПДУ с eBay. К нему был изготовлен дешифратор на микроконтроллере PIC12F675. Режим работы — кнопка. Состояние на выходе дешифратора удерживается до тех пор, пока нажата кнопка на пульте.

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

Гирлянда на микроконтроллере своими руками

С наступающим вас дорогие пользователи. И к предстоящему празднику решил порадовать вас схемой- новогодняя гирлянда на микроконтроллере pic.

И прошу к просмотру подробнее данной статьи.

Полицейская крякалка своими руками на PIC

Полицейская крякалка своими руками на PIC

Предлагаю вам для повторения схему звукового устройства, имитирующего сигнал "Милицейской Сирены". Устройство сделано на микроконтроллере PIC16F628. Схема имеет две различные сирены и "Крякалку".

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

Так же вам понадобиться программатор для PIC, вот схема

Схема простого измерителя емкости

Простой измеритель емкости и индуктивности

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

В статье предлагается проверенная схема своими руками измерителя емкости и индуктивности катушки.Если вы задавались вопросом как измерить емкость или индуктивность.То вам сюда.Схема собрана на микроконтроллере PIC 16F84A.

Дубликатор(копировальщик) ключей от домофона своими руками

Схема копирования ключей от домофона

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

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

Схема электронных часов на PIC микроконтроллере

Часы с будильником на PIC

Схема часов с будильником своими руками вы можете собрать такую как на фото слева.

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

Схема электронных часов

Схема электронных часов на pic16f628a

Предлогаю вашему вниманию схему электронных часов своими руками на микроконтроллере PIC 16F628A

проекты на микроконтроллерах pic

Дополнение к программатору RH-0001C для расширения списка программируемых PIC-контроллеров

Те, кто покупал программатор микроконтроллеров и микросхем памяти RH-0001C (или собирал его аналог), — знают, что он позволяет программировать только те модели микроконтроллеров PIC, которые поддерживают алгоритм перевода в режим программирования, известный как «Vpp-first». Алгоритм перевода в режим программирования, известный как «Vdd-first» программатором не поддерживается. Подробнее о различных алгоритмах перевода PIC-контроллеров в режим программирования можно …

ИК-барьер для охранных систем и «умного дома»

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

Читайте также:  Органическое оливковое масло что это

Управление биполярным шаговым двигателем. Часть 2. Схема с контроллером PIC12F629 и драйвером L293D

— Часть 1. Теория. Схема с PIC12F629 и драйвером LB1838 — Часть 2. Схема с PIC12F629 и драйвером L293D Поскольку драйвера для шаговиков L293D более популярны у радиолюбителей, чем LB1838, и их гораздо легче достать, то, по просьбам форумчан, я решил написать продолжение статьи про управление биполярными шаговыми двигателями и рассмотреть схему с драйвером L293D. …

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

В представленной ниже таблице, для различных моделей pic-контроллеров фирмы Microchip приведены поддерживаемые алгоритмы перевода контроллеров в режим программирования (в соответствии с классификацией из этой статьи), диапазоны напряжений Vpp (для моделей, поддерживающих HVP — high voltage programming), а также используемые для программирования выводы. Все эти данные выужены из официальных спецификаций по программированию pic-контроллеров, которые лежат тут, …

Программирование микроконтроллеров PIC. Часть 6. Как перевести контроллер в режим программирования и залить в него прошивку

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

Программная реализация ведущего шины SPI (подробный разбор и некоторые процедуры на асме для PIC и AVR)

В этой статье рассматривается пример программной реализации на микроконтроллерах PIC и AVR функций ведущего шины SPI для разных режимов (mode0, mode1, mode2, mode3). Чтобы понимать что происходит — для начала, как всегда, читаем теорию (что такое SPI и как он работает). Если с теорией разобрались, тогда можно приступать к практической реализации. Итак, что должен уметь …

Секреты оптимизации. Часть 1. Реализация Case of на асме для AVR-ов и PIC-ов

В этой статье, на примере двух контроллеров, показано как на ассемблере можно различными способами организовать аналог оператора языков высокого уровня case of. Кроме того, вы увидите преимущества архитектуры контроллеров AVR с их расширенным набором команд и доступом к счётчику команд (что также открывает интересные дополнительные возможности). Итак, представьте, что у нас есть некоторая переменная и, …

Считыватель магнитной полосы пластиковых карт на PIC16F628A

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

Устройство для дистанционного управления освещением (на PIC12F629)

В этой статье представлена схема электронного устройства для управления освещением от ИК-пульта. Такой прибор очень удобен, поскольку позволяет управлять, например, освещением в комнате буквально не вставая с дивана. Причём, наличие контроллера позволяет использовать для управления любой ИК-протокол и любые кнопки/комбинации кнопок ПДУ (хоть двадцатизначный пароль на включение/отключение устанавливайте), всё зависит от вашей фантазии и, соответственно, …

Программа микроконтроллера для управления ЖК-панелью на PCF2112P

Ниже приведён пример программы для управления самодельной ЖК-панелью на драйвере PCF2112P. Собственно говоря, всё управление нашей ЖК-панелью заключается в загрузке в микросхему драйвера нужных данных, чем и занимается микроконтроллер (PIC16F628A). Алгоритм передачи данных такой: после того, как на линии DLEN установится высокий уровень, микросхема по каждому заднему фронту тактового импульса начинает считывать состояние линии DATA …

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

Что такое PIC

PIC – это название серии микроконтроллеров, которые производятся компанией Microchip Technology Inc (США). Название PIC происходит от Peripheral Interface Controller.

Читайте также:  Смазка электропроводящая ниимс 5615м

Микроконтроллеры PIC имеют RISC-архитектуру. RISC – сокращённый набор команд, используется также в процессорах для мобильных устройств. Есть целый ряд примеров её использования: ARM, Atmel AVR и другие.

Компания Microchip в 2016 году купила Atmel – производителя контроллеров AVR. Поэтому на официальном сайте представлены микроконтроллеры семейства и PIC и AVR.

Семейства

Среди 8-битных микроконтроллеров PIC она состоит из 3-х семейств, которые отличаются архитектурой (разрядностью и набором команд).

Baseline (PIC10F2xx, PIC12F5xx, PIC16F5x, PIC16F5xx) ;

Mid-range (PIC10F3xx, PIC12F6xx, PIC12F7xx, PIC16F6xx, PIC16F7xx, PIC16F8xx, PIC16F9xx) ;

Enhanced Mid-range (PIC12F1xxx, PIC16F1xxx) ;

High-end или PIC18 (18Fxxxx, 18FxxJxx and 18FxxKxx).

Характеристики, которых приведены в таблице ниже.

Кроме 8 битных микроконтроллеров компания Microchip производит 16-битные:

DsPIC30/33F для обработки сигналов.

Представители 16-битного семейства работают со скоростью от 16 до 100 MIPS (выполнено миллионов инструкций в секунду). Стоит отметить и особенности:

машинный цикл – 2 такта;

разрядность АЦП – 16 бит;

поддерживают ряд протоколов связи (UART, IrDA, SPI, I2S™, I2C, USB, CAN, LIN and SENT), ШИМ и прочее.

Также есть семейство 32 битных микроконтроллеров – PIC32MX, основные особенности:

работают на частоте до 120 мГц;

выполняют до 150 MIPS;

АЦП: 10-бит, 1 Msps (скорость квантования), до 48 каналов.

С какого PIC начать?

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

Одним из популярнейших в среде радиолюбителей микроконтроллеров является PIC16f628A. Его технические характеристики такие:

Есть встроенный тактовый генератор. Вы можете настроить для работы с частотой 4 или 8 МГц;

18 пинов, из них 16 – ввод/вывод, а 2 – питание;

Для работы на частотах до 20 МГц можно подключить кварцевый резонатор, но в этом случае на ввод/вывод останется не 16, а 14 ног;

В маркировке есть буква F, это значит, что используется FLASH-память, объёмом в 2048 слов;

14-битные инструкции, 35 штук;

4 аналоговых входа;

На входах PORTB есть подтягивающие резисторы;

Два 8-битных таймера и один 16-битный;

Машинный цикл – 4 такта кварцевого резонатора или внутреннего генератора);

128 байт EEPROM;

USART – последовательный порт;

внутренний источник опорного напряжения;

питается от 3.3 до 5 В.

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

Какая цоколевка у 16f628 изображено ниже:

Блочная внутренняя схема этого микроконтроллера изображена ниже.

На что следует обратить внимание на схеме в первую очередь?

У этого микроконтроллера есть два порта PORTA и PORTB. Каждый пин, каждого из них может использоваться как вход и выход, а также для подключения периферии или задействования других модулей микроконтроллера.

Рассмотрим эту часть схемы крупно.

Например, порты RB0-RB3 – могут выступать в роли аналоговых. К RA6, RA7 в случае необходимости подключается источник тактирования (кварцевый резонатор). Сами же выводы микроконтроллера настраиваются в режим входа/выхода с помощью регистра TRIS.

Для этого есть команды типа:

TRISA = 0; // Все выводы порта А устанавливаются как выходы
TRISB = 0xff; // Все выводы порта B назначаются как входы
TRISA0 = 1; // Так назначается отдельный пин как вход (1) или выход (0)
TRISA5 = 1 ; // здесь 5 вывод порта А – назначен входом

Вообще режимы работы, включение WDT (сторожевого таймера) выбор источника тактирования микроконтроллера и прочее настраивается с помощью регистров специального назначения — SFR, а память и данные хранятся в GFR – простыми словами это статическое ОЗУ.

В официальном Datasheet, на страницах 18-21 вы найдете 4 банка памяти регистров специального назначения SFR и регистров общего назначения GFR. Знание регистров важно, поэтому распечатайте и выучите указанные страницы из Datasheet .

Для удобства ниже приведены эти таблицы в виде картинок (нумерация регистров, как и всё в цифровой электронике начинается с 0, поэтому номер четвертого – 3).

Как подключить и на каком языке программировать?

Чтобы запустить этот микроконтроллер достаточно подать плюс на Vdd и минус на Vss. Если нужен кварцевый резонатор, то он подключается к выводам 16 и 15 (OSC1 и OSC2) микроконтроллера PIC16f628, для других контроллеров с большим или меньшим числом выводов – смотрите в datasheet. Но этот момент нужно указывать при программировании и прошивке.

Кстати о переносимости и совпадении цоколевки – на 16f84A – она аналогична, и на многих других.

Фрагмент схемы с подключенным к pic16f628a внешним резонатором:

Читайте также:  Теплица из арматуры под пленку

Есть два основных языка для программирования микроконтроллеров PIC – это assembler и C, есть и другие, например PICBasic и т.д. Еще можно выделить упрощенный язык программирования JAL (just another language).

Для примера ниже приведена программа для «мигания светодиодом» — своего рода «Hello World» для микроконтроллера PIC на языке C.

В 1 строке подключается библиотека микроконтроллеров PIC, далее подключается библиотека программы задержки.

В функции main(void) в начале устанавливаются начальные параметры, подобно тому как мы это делали в функции Void setup () – в статьях об ардуино. Далее в строках 11-16 объявляется бесконечный цикл while(1), в ходе которого и выполняется программа «мигания светодиодом».

В примере состояние порта постоянно инвертируется, т.е. если он был в «0», то перейдет в «1» и наоборот. На C для PIC есть следующие команды управления команды:

PORTA = 0; // переводит все пины порта А в низкий уровень (лог. 0)
PORTB = 0xff; // переводит все пины порта B в высокий уровень (лог. 1)
RB5 = 1; // На пятом выводе порта B высокий уровень

А так выглядит та же программа, но уже на языке JAL, я перевел на русский язык комментарии от разработчиков встроенных примеров в JALedit (среда разработки).

Возникает соблазн выбрать JAL, и вам он может показаться проще. Безусловно на нём можно реализовать любые проекты, но с точки зрения пользы для вас как для специалиста – это бесполезный язык. Значительно больших результатов вы добьетесь, изучая синтаксис и принципы программирования на языке C (большая часть популярных сейчас языков C-подобны) или на Assembler – это низкоуровневый язык, который заставит вас понимать принцип работы устройства и что происходит в программе в каждый конкретный момент времени.

В чем работать

Если сказать совсем обобщенно для работы с любыми микроконтроллерами нужно:

1. Текстовый редактор.

3. Программа для загрузки прошивки в микроконтроллер.

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

Например, в цикле статей об Arduino мы рассматривали среду Arduino IDE в ней же мы и код писали и с её помощью «заливали» прошивку в «камень». Для микроконтроллеров PIC есть такие программы, как:

MPASM — используется для разработки на языке Assembler от фирмы Microchip ;

MPLAB — также IDE от Microchip для PIC-контроллеров. Состоит из множества блоков для тестирования, проверки, работы с кодом и компиляции программ и загрузки в микроконтроллер. Также есть версия MPLAB X IDE – отличается большим функционалом и построена на базе платформы NetBeans ;

MikroC — универсальная среда (не только для ПИКов) для разработки. Как видно из названия «заточена» под программирование на C, а также есть такие программы как MikroBasic и MikroPascal, для соответствующих языков ;

JALedit — подходит для языка JAL, о котором мы упоминали выше ;

И ряд других менее известных.

Как прошивать микроконтроллер?

Для PIC-микронотроллеров есть ряд программаторов. Официальным считается PICkit. Их 4 версии. Но можно прошивать и универсальными, например, TL866 (он поддерживает почти всё, что может понадобится начинающему радиолюбителю, при этом очень дешевый).

Также в сети есть ряд различных схем программаторов для ПИКов, как для работы через COM-порт:

Так и через USB (на самом деле тоже com, только через преобразователь на ИМС MAX232).

Заключение

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

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

Катцен С. — PIC-микроконтроллеры. Все что вам необходимо знать;

Кёниг А. — Полное руководство по PIC микроконтроллерам;

Шпак Ю.А. — Программирование на языке С для AVR и PIC микроконтроллеров;

Магда Ю.С. — Микроконтроллеры PIC: архитектура и программирование;

Яценков В.С. — Микроконтроллеры Microchip. Практическое руководство.

Ссылка на основную публикацию
Adblock detector