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

Подключение кнопки к микроконтроллеру AVR

Итак ближе к делу! Те выводы на которые мы вешаем кнопку устанавливаем на вход. Для того чтобы это сделать мы должны записать в DDRx (где x это номер порта A,B,C и т. д. )  соответствующее значение. Если пишем «0» то вывод будет работать на вход если же «!» то как как выход.

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

Код программы опроса состояния кнопки


#ifndef F_CPU
#define F_CPU 1000000UL // 1 MHz clock speed
#endif

#include <avr/io.h>

void main(void)
{
 
PORTB=0x02;
DDRB=0x01;
 
while (1)
{
 
if(PINB.1==0)
{
PORTB.0=1;
delay_ms(100);
PORTB.0=0;
delay_ms(100);
}
 
};
}

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

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

 

Как видно из схемы на вывод PB1 мы подключаем кнопку, а на вывод PB0 мы подключаем светодиод D1 через сопротивление R1 которое уменьшает протекающий ток.

При нажатии на кнопку меняется состояние вывода PB1 оно становится равным логическому «0» и у нас загорается светодиод.

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

Список радиодеталей
Обозначание Наименование Номинал Количество
1 U1 Микроконтроллер Atmega8 1
2 R1 Резистор R1 1 кОм 1
3 D1 Светодиод 1
Только полноправные пользователи могут оставлять комментарии. Войдите , пожалуйста.

Популярные записи

Последовательный периферийный интерфейс SPI

Последовательный периферийный интерфейс SPI (Serial Peripheral Interface) — последовательный стандарт передачи данных....

Подключение кнопки к микроконтроллеру AVR

В это примере подключим и научимся обрабатывать события нажатия кнопок при помощи микроконтроллера AVR....

Распиновка наиболее популярных микроконтроллеров AVR

Ниже представлена распиновка наиболее ходовых микроконтроллеров семейства AVR.  Описание выводов, их...

Пишем свою первую программу на микроконтроллере AVR

Решил начать осваивать микроконтроллеры (далее МК) AVR. Думал что все просто раз и прошил микроконтроллера, но...