پاسخ : مشکل اساس با سون سگمنت بزرگ
من هم همون مشکل رو دارم،فقط از یو ال ان نباید استفاده کنم،کسی نیس کمک کنه یه ذره ؟
من هم همون مشکل رو دارم،فقط از یو ال ان نباید استفاده کنم،کسی نیس کمک کنه یه ذره ؟
این دستور یعنی چی؟
if (PORTB==PORTB.4)
منظورتون اینه :
if (PORTB.4==1)
و از این:
PORTB=PORTB.0>>1;
منظورتون اینه:
PORTB=PORTB<<1;
جهت شیفت هم اشتبا بود.
برنامه نهایی
// Timer 2 overflow interrupt service routine
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
PORTB=PORTB<<1;
if (PORTB.4==1)
PORTB=0x01;
}
در قبل از while هم این دستور رو بذار:
PORTB = 0x01;
]
[/img]
میشید ولی ثواب داره :redface:
میشید ولی ثواب داره :redface:


) تو برنامه( قبلی چون که 7 سگمنتا کاتد مشترک بودن )[left]flash char arry[4]={0X0C,0X0A,0X06};
[/left]
دیدگاه