من برنامه زیر رو نوشتم و در پروتئوس به درستی کار میکنه:
در این برنامه با توجه به ورودی های پورت B ، خروجی های پورت C تغییر میکنه در واقع مدار زیر رو ساختم:

اما وقتی به صورت زیر تغییرش میدم، مشکل داره و LED ها چشمک میزنه و درست کار نمیکنه.
من در ابتدا یک برنامه نوشته بودم که بر اساس متن دریافتی از Usart ، پورت C را تغییر میداد و همین مشکل چشمک زدن وجود داشت و فکر می کردم در usart مشکل داره. اما این برنامه ساده رو نوشتم که بر اساس دکمه ها ، متن رو تغییر بده و بعد بر اساس متن ، LED ها رو تغییر بده و دیدم که این قسمت ساده مشکل داره.ممنون می شوم راهنمایی کنید من که دیگه گیج شدم.
کد:
if(PINB.0==1)
{
PORTC.0=1;
PORTC.1=0;
}
else if(PINB.1==1)
{
PORTC.0=0;
PORTC.1=1;
}
else
{
PORTC.0=0;
PORTC.1=0;
}
if(PINB.2==1)
{
PORTC.2=1;
PORTC.3=0;
}
else if(PINB.3==1)
{
PORTC.2=0;
PORTC.3=1;
}
else
{
PORTC.2=0;
PORTC.3=0;
}

اما وقتی به صورت زیر تغییرش میدم، مشکل داره و LED ها چشمک میزنه و درست کار نمیکنه.
کد:
if(PINB.0==1)
{
matn[2]='u';
}
else if(PINB.1==1)
{
matn[2]='d';
}
else
{
matn[2]='e';
}
if(PINB.2==1)
{
matn[3]='u';
}
else if(PINB.3==1)
{
matn[3]='d';
}
else
{
matn[3]='e';
}
if(matn[2]=='u')
{
PORTC.0=1;
PORTC.1=0;
}
else if(matn[2]=='d')
{
PORTC.0=0;
PORTC.1=1;
}
else
{
PORTC.0=0;
PORTC.1=0;
}
if(matn[3]=='u')
{
PORTC.2=1;
PORTC.3=0;
}
else if(matn[3]=='d')
{
PORTC.2=0;
PORTC.3=1;
}
else
{
PORTC.0=0;
PORTC.1=0;
}





دیدگاه