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

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

А хотим мы от него, что бы он выбрал из настроек среды MPLAB с каким контроллером мы работаем.

Дальше, для уменьшения наших мук, будем использовать библиотеку libpic30. Поэтому включим следующие две строчки, в первой – разъясняем компилятору какая у нас тактовая частота. Вторая, что будем использовать библиотеку.

Определение тактовой частоты полезно настройки для макросов __delay_ms() и __delay_us().

Теперь надо настроить регистр конфигурации контроллера. Каждая строка имеет комментарий описывающий назначение. В двух словах – используем внутренний генератор с умножителем, запустим сторожевой, таймер. Для чего? Чтобы научиться с первых шагов с ним работать!

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

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

Настройка тактового генератора:

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

Настройка портов:

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

 Первая программа – мигание светодиода, для встроенных систем, это как “Привет Мир”. Светодиод мигает – мир радуется!


Демонстрационное видео

 


Проект для загрузки



Это может быть интересно

  • MPLAB® Harmony – или как это просто! Часть 2.MPLAB® Harmony – или как это просто! Часть 2.
    Часть вторая – Первая программа на PIC32. Музыкальная тема к статье, слушаем: Для начала изучения PIC32 надо иметь или демоплату или самому её изготовить имея микроконтроллер. Начнем из трудоемкого варианта …
  • Проект с использованием MCC часть 08Проект с использованием MCC часть 08
    И так создадим проект в котором при помощи двух кнопок мы сможем управлять яркостью светодиодов. При использовании МСС у нас лафа полная, добрые дяди с Microchipa подготовили функции, которыи позволяет …
  • PIC18 – модуль DMAPIC18 – модуль DMA
    Введение   Модуль прямого доступа к памяти (DMA) предназначен для обслуживания передачи данных непосредственно между различными областями памяти без вмешательства процессора. Исключив при этом необходимость в интенсивной  обработки прерываний процессором, …
  • Мониторинг температурыМониторинг температуры
    Настоящий проект создан как обучающий с применением библиотек ds18b20 и LCDHD44780 и компилятора Microchip MPLAB XC8 C Compiler V1.12. Если необходимо иметь информацию по состоянию температуры в помещении или в здании, с количеством до 6 точек (16), то вы сможете …
  • MCC PIC24 – модуль OUTPUT COMPARE – в режиме генератора звуковых сигналовMCC PIC24 – модуль OUTPUT COMPARE – в режиме генератора звуковых сигналов
    При проектировании простых устройств автоматики, часто необходимо иметь механизм звукового оповещения. Самый верхний уровень, это формирование голосовых сообщений, но об этом, как то по позже… В самом примитивном варианте можно …
  • Датчик приближения от Румена ЖелеваДатчик приближения от Румена Желева
    Проект на Болгарском языке. Автор Румен Желев. Болгария. Проект,  датчик приближения в котором устранены все недостатки влияния засветки посторонними источниками. Применен совершенно оригинальный принцип контроля ИК излучения. Основната идея на …
  • VU Meter Tower ARTVU Meter Tower ART
    Стерео индикатор уровня аудио сигнала. Компактность и удобство проектирования устройств на светодиодах WS2812B, а также легкость реализации алгоритма родило идею созданию своей конструкции. В этом проекте я предоставлю все материалы …
  • HVLD модуль на примере PIC24FJ128GA204HVLD модуль на примере PIC24FJ128GA204
    HVLD модуль представляет собой простое устройство, для контроля напряжения питания микроконтроллера или внешнего напряжения (через делитель). Его задача при “выходе” напряжения за заданные пределы сформировать сообщение микроконтроллеру, что необходимо выполнить …
  • ESP32-первое знакомствоESP32-первое знакомство
    Музыкальная тема к статье, слушаем: Настало время познакомиться c ESP32 и для меня, для этого я приобрел в ГАММЕ отладочную плату с модулем ESP-WROOM-32 (ESP32-DevKitC). Первая задача, как он подключается, …
  • Цифровой спидометр для автомобиляЦифровой спидометр для автомобиля
     Универсальность печатной платы ch-c0030pcb позволяет создавать на её основе разнообразные устройства. Одним из таких устройств является электронный спидометр для автомобиля, в котором можно задать два компаратора скорости, например,  для города и …


Translate »

Copyright © Catcatcat electronics 2013-2019. Все права защищены.
Копирование разрешается только с указанием активной ссылки на правообладателя.

e-mail: catcatcat.electronics@gmail.com