3 светодиода и 3 кнопки

Обсуждаем контроллеры компании Atmel.
Ответить
winston1777
Родился
Сообщения: 6
Зарегистрирован: Сб май 10, 2014 20:26:49

3 светодиода и 3 кнопки

Сообщение winston1777 »

Привет всем ! Пишу программу на С под atmega328p и столкнулся с проблемой. Мне все понятно когда нажимаеш на кнопку светодиод загорается, еще раз нажимаеш светодиод погасает, а как бы мне сделать так чтобы нажимая на 1 кнопку светодиод 1 загорался , нажимая на 2 кнопку светодиод 2 загорался а светодиод 1 погас, и все тоже самое с 3 кнопкой и с 3 светодиодом. Помогите пожалуйста я пока новичек в этом деле
Реклама
Аватара пользователя
Pavel_1978
Опытный кот
Сообщения: 830
Зарегистрирован: Пт ноя 16, 2007 11:21:37

Re: 3 светодиода и 3 кнопки

Сообщение Pavel_1978 »

Алгоритм простой:
Опрашиваешь кнопки и получаешь код нажатой кнопки.

Примени оператор swich, ненужные светодиоды гаси маской.
Реклама
nirq
Опытный кот
Сообщения: 758
Зарегистрирован: Вс фев 10, 2013 15:26:00

Re: 3 светодиода и 3 кнопки

Сообщение nirq »

нажимаеш на кнопку светодиод загорается, еще раз нажимаеш светодиод погасает
Антидребезг.

Чем помочь-то? Привет!
winston1777
Родился
Сообщения: 6
Зарегистрирован: Сб май 10, 2014 20:26:49

Re: 3 светодиода и 3 кнопки

Сообщение winston1777 »

nirq писал(а):
нажимаеш на кнопку светодиод загорается, еще раз нажимаеш светодиод погасает
Антидребезг.

Чем помочь-то? Привет!
а как бы мне сделать так чтобы нажимая на 1 кнопку светодиод 1 загорался , нажимая на 2 кнопку светодиод 2 загорался а светодиод 1 погас, и все тоже самое с 3 кнопкой и с 3 светодиодом. Помогите пожалуйста я пока новичек в этом деле
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: 3 светодиода и 3 кнопки

Сообщение pyzhman »

winston1777 писал(а):Мне все понятно когда нажимаеш на кнопку светодиод загорается
И следом гасить ненужые.

Код: Выделить всё

void main(void)
{
delay_ms(30);
old_knopka1= knopka1;
old_knopka2= knopka2;
old_knopka3= knopka3;

knopka1= PINa.b;
knopka2= PINc.d;
knopka3= PINe.f;

if(old_knopka1 && !knopka1)
    {
    LED1= 1;
    LED2= 0;
    LED3= 0;
    }
if(old_knopka2 && !knopka2)
    {
    LED1= 0;
    LED2= 1;
    LED3= 0;
    }
if(old_knopka && !knopka)
    {
    LED1= 0;
    LED2= 0;
    LED3= 1;
    }


}
Docendo discimus
Реклама
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: 3 светодиода и 3 кнопки

Сообщение Gudd-Head »

[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Ответить

Вернуться в «AVR»