В этой статье я научу Вас как подключать кнопки к микроконтроллеру и чтобы он реагировал на ваши действия. Вот, недолго думая, хочу предложить вам схему элементарной сигнализации. Алгоритм работы таков: есть кнопка(контакт), в исходном положении он замкнут, если же он размыкается - загорается лампочка, если даже потом контакт замкнут - лампочка будет продолжать мигать. Схема устройства: Контакт присоединяем к порту B.0 а светодиод к D.0 Не забудте подключить питание +5в 7-я ножка, корпус, 8-я. Кварц и конденсаторы нам не понадобятся, почему? Читайте статью о фюзах. Вот листинг программы #include <mega8.h> //Включаем библиотеку для работы с микроконтроллером ATMega8 #include <delay.h> void main(void) { // Port B настройка PORTB=0xFF; //вкл. подтягивающие резисторы DDRB=0x00; // весь порт как вход // Port D настройка PORTD=0x00; //откл. подтягивающие резисторы DDRD=0xFF; // весь порт как выход while(PINB.0==0) // проверяем состояние кнопки { }
while(PINB.0==1) // если кнопка разомкнутая выполняется бесконечный цикл { while(1) //уже знакомый нам цикл мигалки { PORTD.0=1; delay_ms(100); PORTD.0=0; delay_ms(100); } } } Желательно поставить ограничительный резистор последовательно светодиоду, чтобы не спалить МК, резистор должен быть не менее 150 Ом
|