В это примере подключим и научимся обрабатывать события нажатия кнопок при помощи микроконтроллера 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
Только полноправные пользователи могут оставлять комментарии. Войдите , пожалуйста.

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

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

Последовательный интерфейс I2C (также его обозначается как IIC) довольно популярный последовательный...

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

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

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

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

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

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