Сайт "Электронщики" - скорая помощь для радиолюбителей. Здесь вы можете задавать вопросы и получать на них ответы от других пользователей.
Грамотно отвечайте, голосуйте, задавайте вопросы и т.о. зарабатывайте себе рейтинг.

как написать программу на С под avr, чтобы когда на кнопку нажимая светодиод загорался, еще раз нажимая он погас ?

0 голосов
11 Май, 14 от аноним в категории Начинающим

1 Ответ

0 голосов

#include <avr/io.h>

#define Sbit(reg,bit) reg|=(1<<bit)
#define Cbit(reg,bit) reg&=~(1<<bit)
#define CheckBit(reg,bit) reg&(1<<bit)

int main(void)
{
    DDRD=0b0000000;  PORTD=0b0000001;
    DDRB=0b00000001; PORTB=0b00000000;
    
    unsigned char x=0;
    
    while(1)
    {
        if (CheckBit(~PIND,0))
        {
            if (x==0) Sbit(PORTB,0);
            else Cbit(PORTB,0);
            x=~x;
            
            while (CheckBit(~PIND,0)) {}
        }
    }
}

17 Май, 14 от Guru (1,880 баллов)