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

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

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

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

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