Проект с использованием MCC часть 04


Теперь простого горения светиков нам не достаточно, заставим их мигать. Для начала используем первобытно простой способ, но достаточно простой.
Используем функции delay, напрягаться откуда они берутся не будем, самое главное , что пишутся они так:

__delay_ms(x) // request a delay in milliseconds – задержка в миллисекундах

__delay_us(x) // request a delay in microseconds – задержка в микросекундах

для управления сторожевым таймером в семействе PIC18

__delaywdt_ms(x) // request a delay in milliseconds – задержка в миллисекундах 

__delaywdt_us(x) // request a delay in microseconds – задержка в микросекундах

 

А почитать можно в файле MPLAB_XC8_C_Compiler_User_Guide.pdf который вы можете найти в папке …Microchip/xc8/v1.40/docs… или нажмите на пиктограмму

и буди вам чудо и откроются секреты описания, прямо в браузере!

Но вернемся к нашим баранам типа delay, добавим в главный цикл в программе (который нам любезно уже создал МСС) следующие строки:

что это значит по шагам:

  1. __delay_ms (1000); – заставить “остановиться” программу на 1 секунду и ждать её истечения.
  2. LD2=!LD2; – взять и записать в LD2 его противоположное значение, т.е. если LD2 состояние 1, записать ноль и наоборот. символ “!” – это символ отрицания. Вообще правильно написать LD2  =   !LD2;, но компилятор грамотный сам разберется ;)

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

или воспользоваться функцией в файле

естественно изменив его параметры.

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

Проверить нашу программу в железе, светик мигает!! А измени так:

и заставим мигать два светика попеременно, поэкспериментируем с длительностью.


На заметку, часто нажимать мышкой на кнопку может быть унизительно, что бы этого избежать можно запрограммировать функциональные клавиши, например, F6 для выполнения команды компиляции проекта это намного удобнее. Это делается так: Выбираем закладку инструменты, потом опции

 откроется окно

выберем настройку клавиш (комбинации клавиш), откроется

типа море всего, как найти, “то шо доктор приписал”, когда вы наводите мышкой на нашу кнопочку, то появляется её коварное название нам достаточно только первого слова или его его первых букв Make введем из в поле поиска6

и вот это коварная запись в самом низу, у меня она уже запрограммирована, а вам потребуется сделать двойной клик на поле Shortcut и нажать клавишу F6, потом кнопку OK. Все окно закроется и вы теперь можете наслаждаться тиская клавишу F6 и запуская проект на компиляцию не трогая ненавистную мышку!


Проект по этой теме

Значок

Проект с использованием MCC часть 04 157.08 KB 79 downloads

Теперь простого горения светиков нам не достаточно,...


 Мигать светодиодом просто в пустую используя рабочее время микроконтроллера, не допустимая растрата ресурсов, в это время вместо того , что бы тупо не ждать “чего” ПИК может например, опрашивать клавиатуру или чего рисовать на дисплее, как это сделать мигание светика без функции “делай” читаем в следующей статье…


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


  • Четырех канальный терморегулятор ch-4000Четырех канальный терморегулятор ch-4000
     Четыре независимых канала регулирования температуры, одновременно можно подключить 16 датчиков температуры DS18B20 с удалением до трехсот метров. Можно для регулировки выбрать любой датчик, подключенный к устройству. Каждый канал может работать как в …
  • LCD драйвер – UC1601sLCD драйвер – UC1601s
    http://svetomuzyka.narod.ru/project/UC1601s.html Читайте обновление на http://catcatcat.d-lan.dp.ua/?page_id=178 В данный момент можно приобрести в ООО “Гамма” несколько типов индикаторов на драйвере UC1601s. RDX0048-GC, RDX0077-GS, RDX0154-GC и RDX0120-GC выполнены по технологии COG. Метки:UC1601s
  • Дисплей KD035C-3A подключение и управлениеДисплей KD035C-3A подключение и управление
    Дисплей KD035C-3A производиться компанией SHENZHEN STARTEK ELECTRONIC TECHNOLOGY CO.,LTD Характеристики Параметр Спецификация Единицы измерения Размер дисплея 70.08(H)*52.56(V) (3.5inch) mm Тип дисплея TFT active matrix Цветовая гамма 65K/262K colors Разрешение 320(RGB)*240 dots …
  • MPLAB® Harmony – или как это просто! Часть 2.MPLAB® Harmony – или как это просто! Часть 2.
    Часть вторая – Первая программа на PIC32. Музыкальная тема к статье, слушаем: Для начала изучения PIC32 надо иметь или демоплату или самому её изготовить имея микроконтроллер. Начнем из трудоемкого варианта …
  • ch-4060 – регулятор температуры и влажности на датчике DHT11/DHT22/AM2302ch-4060 – регулятор температуры и влажности на датчике DHT11/DHT22/AM2302
    На плате ch-4000 очень легко собрать устройство регулятора температуры и влажности. Датчик DHT11  самый недорогой вариант для создания такого устройства, правда точность его не велика, но для бытовых устройств он даже …
  • Гаджеты для домашней автоматики – Емкостной сенсорГаджеты для домашней автоматики – Емкостной сенсор
    Управление светодиодным освещением – Сенсор емкостной. Данный гаджет предназначен для управления освещением где необходимо включением освещение сенсорным прикосновением. Датчик позволяет управлять светодиодной нагрузкой в виде модулей или светодиодных лент освещения. Питание …
  • MCC – K42 – настройка модуля DMAMCC – K42 – настройка модуля DMA
    MCC – в версии v.3.95.0 и начиная ядра 4.85.0 конфигуратор предоставляет графический интерфейс для настройки модуля DMA. Для начала: Посмотреть какая версия МСС можно в закладке версии, если у вас …
  • NeoPixel LED и PIC18NeoPixel LED и PIC18
      Еще раз об управлении светодиодами на драйвере WS2812 и ему подобных. Как известно эти светики управляются по однопроводной шине. Основная особенность, что программно можно описать передачу данных, но это …
  • CCP модуль для декодирования ИК-кодов пультов ДУCCP модуль для декодирования ИК-кодов пультов ДУ
    Множество изготовителей для своих пультов дистанционного управления на ИК лучах используют принцип широтно-импульсной модуляции. В таких кодах бит единицы представляется импульсом большой длительности, а ноль импульсом короткой длительности. Внешний вид …
  • HVLD модуль на примере PIC24FJ128GA204HVLD модуль на примере PIC24FJ128GA204
    HVLD модуль представляет собой простое устройство, для контроля напряжения питания микроконтроллера или внешнего напряжения (через делитель). Его задача при “выходе” напряжения за заданные пределы сформировать сообщение микроконтроллеру, что необходимо выполнить …



Поделись этим!

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

Комментарии

Добавить комментарий

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