如图,原意是按下S1.RC1也就是D102亮;按下S2,D103亮,但现在是还没按下就直接亮了,而且我按键也不起任何作用,为什么呢?求真相!求解答!谢谢!
程序清单:
main()
{
while(1)
{
TRISA=0X03;
PORTA=0X03;
TRISC=0X01;
PORTC=0X01;
if(key1==0)
{
delay(5);
if(key1==0)
{
led1=1;
led2=~led2;
}
}
TRISD=0X00;
PORTD=0X01;
uchar i;
for(i=8;i>0;i--)
{
delay(300);
PORTD=PORTD<<1;
}
for(i=3;i>0;i--)
{
delay(400);
PORTD=0XFF;
delay(400);
PORTD=0X00;
}
PORTD=0XFF;
delay(500);
for(i=8;i>0;i--)
{
delay(300);
PORTD=PORTD>>1;
}
}
} |