Страница 1 из 1
3 светодиода и 3 кнопки
Добавлено: Сб май 10, 2014 20:48:51
winston1777
Привет всем ! Пишу программу на С под atmega328p и столкнулся с проблемой. Мне все понятно когда нажимаеш на кнопку светодиод загорается, еще раз нажимаеш светодиод погасает, а как бы мне сделать так чтобы нажимая на 1 кнопку светодиод 1 загорался , нажимая на 2 кнопку светодиод 2 загорался а светодиод 1 погас, и все тоже самое с 3 кнопкой и с 3 светодиодом. Помогите пожалуйста я пока новичек в этом деле
Re: 3 светодиода и 3 кнопки
Добавлено: Сб май 10, 2014 21:58:20
Pavel_1978
Алгоритм простой:
Опрашиваешь кнопки и получаешь код нажатой кнопки.
Примени оператор swich, ненужные светодиоды гаси маской.
Re: 3 светодиода и 3 кнопки
Добавлено: Вс май 11, 2014 00:44:43
nirq
нажимаеш на кнопку светодиод загорается, еще раз нажимаеш светодиод погасает
Антидребезг.
Чем помочь-то? Привет!
Re: 3 светодиода и 3 кнопки
Добавлено: Вс май 11, 2014 00:52:44
winston1777
nirq писал(а):нажимаеш на кнопку светодиод загорается, еще раз нажимаеш светодиод погасает
Антидребезг.
Чем помочь-то? Привет!
а как бы мне сделать так чтобы нажимая на 1 кнопку светодиод 1 загорался , нажимая на 2 кнопку светодиод 2 загорался а светодиод 1 погас, и все тоже самое с 3 кнопкой и с 3 светодиодом. Помогите пожалуйста я пока новичек в этом деле
Re: 3 светодиода и 3 кнопки
Добавлено: Вс май 11, 2014 01:53:36
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;
}
}
Re: 3 светодиода и 3 кнопки
Добавлено: Пт май 23, 2014 14:32:42
Gudd-Head