Переключение двумя кнопками
Добавлено: Чт апр 23, 2020 16:15:59
Здравствуйте. Надеюсь на вашу помощь новичку. Написал код для переключения светодиодов с помощью двух кнопок. Но почему то ничего не происходит. Если не трудно ткните пожалуйста носом:(
Код: Выделить всё
#include <inttypes.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>
#include <util/delay.h>
int count=0;
int n = 0;
int main(void) {
DDRD = 0xFF;
PORTD = 0x00;
DDRB = 0x00;
PORTB=0x03;
while(1) { // главный цикл
if (PINB==0b00000000) {
_delay_ms(20);
n++;
if(n>1){
count++;
}
}
if (PINB==0b00000001) {
_delay_ms(20);
n++;
if(n>9){
count--;
}
}
_delay_ms(20); // доп. задержка антидребезга при отпускании кнопки
if(count==5){PORTD= 0b00000001;}
if(count==10){PORTD=0b00000010;}
if(count==15){PORTD=0b00000100;}
if(count==20){PORTD=0b00001000;}
if(count==25){PORTD=0b00010000;}
if(count==30){PORTD=0b00100000;}
if(count==35){PORTD=0b01000000;}
if(count==40){PORTD=0b10000000;}
}
}