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

Похожие записи

Память микроконтроллера. Виды памяти микроконтроллеров

Практически все современные микроконтроллеры имеют на своем борту 3 вида  памяти: Виды памяти микроконтроллеров память программ FLASH; оперативная память (ОЗУ) SRAM (Static RAM); ...

Светодиодная мигалка на микросхеме NE 555

Это простая схема двойного светодиодного мигающего сигнала. В качестве базовой схемы нестабильного мультивибратора используется таймер NE 555. Светодиоды включаются по очереди, частоту...

Схема полицейской мигалки на микроконтроллере

Представленная схема полицейской мигалки на микроконтроллере и светодиодах может работать в 16 различных режимах. Режим выбирается при помощи одной кнопки, и собрана на микроконтроллере...

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

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

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

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

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

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

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