Views: 1312
Теперь простого горения светиков нам не достаточно, заставим их мигать. Для начала используем первобытно простой способ, но достаточно простой.
Используем функции 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, добавим в главный цикл в программе (который нам любезно уже создал МСС) следующие строки:
LD1=0; // погасить
LD2=1; // засветить
while (1)
{
CLRWDT(); //сброс сторожевого таймера +++++++++++++++++++++-
// Add your application code
__delay_ms (1000);
LD2=!LD2;
}
что это значит по шагам:
- __delay_ms (1000); – заставить “остановиться” программу на 1 секунду и ждать её истечения.
- LD2=!LD2; – взять и записать в LD2 его противоположное значение, т.е. если LD2 состояние 1, записать ноль и наоборот. символ “!” – это символ отрицания. Вообще правильно написать LD2 = !LD2;, но компилятор грамотный сам разберется ;)
Еще один нюанс при работе с включенным сторожевым таймером, время задержки не должно превышать период работы сторожевого таймера, об настройке можно позаботиться в момент конфигурирования
или воспользоваться функцией в файле
void WDT_Initialize(void)
{
// WDTPS 1:65536; SWDTEN OFF;
WDTCON = 0x16;
}
естественно изменив его параметры.
Для реализации всего задуманного, необходимо только нажать кнопочку
Проверить нашу программу в железе, светик мигает!! А измени так:
LD1=0; // погасить
LD2=1; // засветить
while (1)
{
CLRWDT(); //сброс сторожевого таймера +++++++++++++++++++++-
// Add your application code
__delay_ms (1000);
LD2=!LD2;
LD1=!LD1;
}
и заставим мигать два светика попеременно, поэкспериментируем с длительностью.
На заметку, часто нажимать мышкой на кнопку может быть унизительно, что бы этого избежать можно запрограммировать функциональные клавиши, например, F6 для выполнения команды компиляции проекта это намного удобнее. Это делается так: Выбираем закладку инструменты, потом опции
выберем настройку клавиш (комбинации клавиш), откроется
типа море всего, как найти, “то шо доктор приписал”, когда вы наводите мышкой на нашу кнопочку, то появляется её коварное название нам достаточно только первого слова или его его первых букв Make введем из в поле поиска6
и вот это коварная запись в самом низу, у меня она уже запрограммирована, а вам потребуется сделать двойной клик на поле Shortcut и нажать клавишу F6, потом кнопку OK. Все окно закроется и вы теперь можете наслаждаться тиская клавишу F6 и запуская проект на компиляцию не трогая ненавистную мышку!
Проект по этой теме
Проект с использованием MCC часть 04 157.08 KB 115 downloads
Теперь простого горения светиков нам не достаточно,...Мигать светодиодом просто в пустую используя рабочее время микроконтроллера, не допустимая растрата ресурсов, в это время вместо того , что бы тупо не ждать “чего” ПИК может например, опрашивать клавиатуру или чего рисовать на дисплее, как это сделать мигание светика без функции “делай” читаем в следующей статье…
Это может быть интересно
ESP8266 применение в проектахViews: 3774 (Актуально только для версий прошивки 1.хх) ESP8266 показала себя как надежное и безотказное устройство для обмена данными с применением WIFI. Я использую ESP8266 исключительно через UART, с применением AT …
Четырех канальный терморегулятор ch-4000Views: 3410 Четыре независимых канала регулирования температуры, одновременно можно подключить 16 датчиков температуры DS18B20 с удалением до трехсот метров. Можно для регулировки выбрать любой датчик, подключенный к устройству. Каждый канал может работать …
Проект с использованием MCC часть 11Views: 1000 Можно несколько облагородить программу вынести наши процедуры обработки нажатия кнопок в отдельные функции. Но вы должны понимать, что это хоть и не значительно, но будет тормозить общую скорость …
Проект с использованием MCC часть 02Views: 2451 Когда мы запустили конфигуратор, самое главное понять, что с этим делать и как проверить, то что мы делаем работает или нет. Для начала настроим регистры конфигурации микроконтроллера и настроем …
JDY-62A Audio bluetooth moduleViews: 1880 Простой модуль для простого аудио блютуса. Встроенные подсказки на английском языке. Модуль включён, режим муте – после подачи питания. Контроль разряда батареи предупреждение что батарея разряжена и необходима …
CLUBBEST – reasoning on the visualization of music.Views: 320 ВІД ЗАХОДУ ДО СВІТАНКУ АБО ПОБАЧИТИ МУЗИКУ. Час доби, коли почуття людини загострюються, – це час від заходу до світанку. В цей час людина відкрита для …
Сумеречное релеViews: 1642 Реле управления освещением, датчик день-ночь – одним словом фотореле для управления освещением или формирования сигнала для системы умный дом о понижении или повышении освещенности относительно заданного уровня. Реле выполнено по классической схеме, конденсаторный блок питания, от сети переменного тока …
Trimax – кодирование и декодирование ИК-командViews: 2459 Первое, что надо понять назначение кнопок клавиш пульта, а также, что за кодирование реализовано в ИК- пульте. Для назначения клавиш обратимся к описанию, а для взлома кодирования воспользуемся …
Мультимедийная сеть – AVC-LAN TOYOTAViews: 5911 AVC LAN – протокол обмена данными мультимедийных систем автомобиля. Кодирование данных. При кодировании различаться три типа данных : преамбула – её назначение, это сообщение устройствам на шине, что начинается передача данных. …
Ultrasonic Level Meters – ULM –53LViews: 785 Измерение расстояния при помощи ультра звукового датчика ULM–53L–10. Диапазон измерения от 0,5 м до 10 м, полностью пластмассовый излучатель PVDF, механическое соединение фланцем из полиэтилена HDPE (исполнение “N”) Характеристики …







Комментарии