Страница 1 из 1

Последовательное цикличное зажигание светодиодов

Добавлено: Сб мар 09, 2019 17:08:22
Антон2342
Как написать прогу в VMLAB последовательное цикличное зажигание светодиодов до номера нажатой клавиши микроконтроллере на Atmega8.Вот вроде начал а как закончить без понятия.Плиз очень нужна помощь :cry: :cry: :cry: :cry:

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

int main(void)
{
DDRB = 0x7F;
PORTB = 0x00;
DDRC=0x00;
DDRD=0xFF;
PORTC=0xFF;
 
while(1)
{
if(PINC&(1 << PC4))
{
PORTB |= (1 << PB6);
PORTD |= (1 << PD5);
PORTD |= (1 << PD7);
}
else
{
PORTB &= ~(1 << PB6);
PORTB |= (1 << PB6);
 
PORTD &= ~(1 << PD5);
PORTD |= (1 << PD5);
 
PORTD &= ~(1 << PD7);
PORTD |= (1 << PD7);
}
}
}

Re: Последовательное цикличное зажигание светодиодов

Добавлено: Сб мар 09, 2019 18:13:53
Ivanoff-iv
опишите всю последовательность действий (что должно произойти при отпускании кнопки?)

Re: Последовательное цикличное зажигание светодиодов

Добавлено: Сб мар 09, 2019 18:25:11
Антон2342
При нажатии кнопки заданные светодиоды должны переключаться в цикле и как только дойдет до кнопки 4 то должна остановиться программа.Но как сделать остановку я не знаю

Re: Последовательное цикличное зажигание светодиодов

Добавлено: Сб мар 09, 2019 22:02:01
ARV
Антон2342 писал(а):как сделать остановку я не знаю
while(1); остановит вашу программу наглухо.

Re: Последовательное цикличное зажигание светодиодов

Добавлено: Вс мар 10, 2019 08:49:34
Dimon456

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

do { } while ((PINC & (1<<PC4)) == 0); // ждать отжатия кнопки PC4