سلام این یک برنامه ی فلاشر هست که 8 تا ال ای دی رو از بالا به تریتب روشن و خاموش میکند و پایین می آید و دوباره از پایین به بالا می رود.
اگر می شود خط های برنامه رو از void main به پایین توضیح دهید. خواهشا سریع تر کمک کنید که وقت ندارم.
ممنونم ازتون.
#include<mega16.h>
#include<delay.h>
#define xtal 4000000
int i;
void main (void)
{
DDRD = 0xFF;
while(1)
{
for(i = 1; i <= 128; i = i*2)
{
PORTD = i;
delay_ms(100);
}
for(i = 128; i > 1; i = i/2)
{
PORTD = i;
delay_ms(100);
}
}
}
آقا این دستور یعنی چی؟ کدوم پایه ها رو یک میکنه؟ اگه میشه با عکس توضیح بدید؟
حلقه ی for چرا تا 128 ادامه داره؟ چرا گام حرکت i/2 شده؟ علت این دستورات چیه؟
اگر بخواهیم یکی از بالا یکی از پایین روشم خاموش شود و به وسط برسند( یعنی دیود اولی روشم بشه و خاموش بشه بعد دیود هشتمی و بعد دیود دومی و بعد هفتمی و.. تا به وسط برسند و دوباره تکرار بشه)
اگر می شود خط های برنامه رو از void main به پایین توضیح دهید. خواهشا سریع تر کمک کنید که وقت ندارم.
ممنونم ازتون.
#include<mega16.h>
#include<delay.h>
#define xtal 4000000
int i;
void main (void)
{
DDRD = 0xFF;
while(1)
{
for(i = 1; i <= 128; i = i*2)
{
PORTD = i;
delay_ms(100);
}
for(i = 128; i > 1; i = i/2)
{
PORTD = i;
delay_ms(100);
}
}
}
آقا این دستور یعنی چی؟ کدوم پایه ها رو یک میکنه؟ اگه میشه با عکس توضیح بدید؟
حلقه ی for چرا تا 128 ادامه داره؟ چرا گام حرکت i/2 شده؟ علت این دستورات چیه؟
اگر بخواهیم یکی از بالا یکی از پایین روشم خاموش شود و به وسط برسند( یعنی دیود اولی روشم بشه و خاموش بشه بعد دیود هشتمی و بعد دیود دومی و بعد هفتمی و.. تا به وسط برسند و دوباره تکرار بشه)




دیدگاه