我用AVR单片机独立按键(接低电平)控制LED,一个键控制一个灯(低电平亮),只写一个键的程序可以,写两个键的程序就不行,下面是程序,求大神指教
以下是一个键,一个灯的程序
#include<avr/io.h>
int main(void)
{
DDRB&=~(1<<0);
PORTB|=(1<<0);
DDRA=0xff;
PORTA=0xff;
while(1)
{
if(!(PINB&=(1<<0)))
{
PORTA&=~(1<<0);
}
else
{
PORTA|=(1<<0);
PORTA|=(1<<1);
}
}
}
以下是两个键两个灯的程序,仅仅是增加了一个else语句
#include<avr/io.h>
int main(void)
{
DDRB&=~(1<<0);
PORTB|=(1<<0);
DDRB&=~(1<<1);
PORTB|=(1<<1);
DDRA=0xff;
PORTA=0xff;
while(1)
{
if(!(PINB&=(1<<0)))
{
PORTA&=~(1<<0);
}
else if(!(PINB&=(1<<1)))
{
PORTA&=~(1<<1);
}
else
{
PORTA|=(1<<0);
PORTA|=(1<<1);
}
}
}
我也试过更多灯的,都不行,两个以上按键之后LED就没有反应了