پاسخ : چگونه همه پایه های میکروکنترلر AVR را PWM کنیم ؟؟
با سلام و تشکر
تعداد آرایه باید 255 تای باشه؟
نوشته اصلی توسط سامان اسدی
تعداد آرایه باید 255 تای باشه؟
do pulseout porta,0,a pulseout porta,1,b pulseout porta,2,c pulseout porta,3,d pulseout porta,4,e pulseout porta,5,f pulseout porta,6,g pulseout porta,7,h loop
do pulseout porta,0,a pulseout porta,1,b pulseout porta,2,c pulseout porta,3,d pulseout porta,4,e pulseout porta,5,f pulseout porta,6,g pulseout porta,7,h loop
#define on_LED max_var_PWM #define off_LED 0
while(1) { pwm[1] = on_LED; delay_ms(500); pwm[1] = off_LED; delay_ms(500); }
while(1) { for(x=0;x<100;x++) { pwm[1] = x; delay_ms(10); } }
for(i=1;i<=128;i*=2) { PORTB=i; }
for(x=1;x<9;x++)pwm[x]=0; for(x=1;x<9;x++) { pwm[x] = on_LED; delay_ms(500); } =================================== for(x=1;x<9;x++)pwm[x]=0; for(x=8;x>0;x--) { pwm[x] = on_LED; delay_ms(500); } =================================== for(x=1;x<9;x++)pwm[x]=0; pwm[1] = on_LED; for(x=1;x<8;x++) { pwm[x+1] = pwm[x]; pwm[x] = off_LED; delay_ms(500); } =================================== for(x=1;x<9;x++)pwm[x]=0; pwm[8] = on_LED; for(x=8;x>1;x--) { pwm[x-1] = pwm[x]; pwm[x] = off_LED; delay_ms(500); }
for(x=1;x<9;x++)pwm[x]=0; for(x=1;x<9;x++) { pwm[x] = on_LED; delay_ms(500); }
pwm[1]=0 pwm[2]=0 pwm[3]=0 pwm[4]=0 pwm[5]=0 pwm[6]=0 pwm[7]=0 pwm[8]=0 -------- pwm[1]=on_LED delay_ms(500) pwm[2]=on_LED delay_ms(500) pwm[3]=on_LED delay_ms(500) pwm[4]=on_LED delay_ms(500) pwm[5]=on_LED delay_ms(500) pwm[6]=on_LED delay_ms(500) pwm[7]=on_LED delay_ms(500) pwm[8]=on_LED delay_ms(500)
for(x=1;x<9;x++)pwm[x]=0; for(x=8;x>0;x--) { pwm[x] = on_LED; delay_ms(500); }
pwm[1]=0 pwm[2]=0 pwm[3]=0 pwm[4]=0 pwm[5]=0 pwm[6]=0 pwm[7]=0 pwm[8]=0 -------- pwm[8]=on_LED delay_ms(500) pwm[7]=on_LED delay_ms(500) pwm[6]=on_LED delay_ms(500) pwm[5]=on_LED delay_ms(500) pwm[4]=on_LED delay_ms(500) pwm[3]=on_LED delay_ms(500) pwm[2]=on_LED delay_ms(500) pwm[1]=on_LED delay_ms(500)
for(x=1;x<9;x++)pwm[x]=0; pwm[1] = on_LED; for(x=1;x<8;x++) { pwm[x+1] = pwm[x]; pwm[x] = off_LED; delay_ms(500); }
pwm[1]=0 pwm[2]=0 pwm[3]=0 pwm[4]=0 pwm[5]=0 pwm[6]=0 pwm[7]=0 pwm[8]=0 -------- pwm[1]=on_LED -------- pwm[2]=pwm[1] pwm[1]=off_LED delay_ms(500) pwm[3]=pwm[2] pwm[2]=off_LED delay_ms(500) pwm[4]=pwm[3] pwm[3]=off_LED delay_ms(500) pwm[5]=pwm[4] pwm[4]=off_LED delay_ms(500) pwm[6]=pwm[5] pwm[5]=off_LED delay_ms(500) pwm[7]=pwm[6] pwm[6]=off_LED delay_ms(500) pwm[8]=pwm[7] pwm[7]=off_LED delay_ms(500)
for(x=1;x<9;x++)pwm[x]=0; pwm[8] = on_LED; for(x=8;x>1;x--) { pwm[x-1] = pwm[x]; pwm[x] = off_LED; delay_ms(500); }
pwm[1]=0 pwm[2]=0 pwm[3]=0 pwm[4]=0 pwm[5]=0 pwm[6]=0 pwm[7]=0 pwm[8]=0 -------- pwm[8]=on_LED -------- pwm[7]=pwm[8] pwm[8]=off_LED delay_ms(500) pwm[6]=pwm[7] pwm[7]=off_LED delay_ms(500) pwm[5]=pwm[6] pwm[6]=off_LED delay_ms(500) pwm[4]=pwm[5] pwm[5]=off_LED delay_ms(500) pwm[3]=pwm[4] pwm[4]=off_LED delay_ms(500) pwm[2]=pwm[3] pwm[3]=off_LED delay_ms(500) pwm[1]=pwm[2] pwm[2]=off_LED delay_ms(500)
for(x=1;x<9;x++)pwm[x]=0; for(x=1;x<9;x++) { pwm[x] = on_LED; delay_ms(500); } =================================== for(x=1;x<9;x++)pwm[x]=0; for(x=8;x>0;x--) { pwm[x] = on_LED; delay_ms(500); } =================================== for(x=1;x<9;x++)pwm[x]=0; pwm[1] = on_LED; for(x=1;x<8;x++) { pwm[x+1] = pwm[x]; pwm[x] = off_LED; delay_ms(500); } =================================== for(x=1;x<9;x++)pwm[x]=0; pwm[8] = on_LED; for(x=8;x>1;x--) { pwm[x-1] = pwm[x]; pwm[x] = off_LED; delay_ms(500); }
for(x=1;x<9;x++)pwm[x]=0; for(x=1;x<9;x++) { pwm[x] = on_LED; delay_ms(500); }
pwm[1]=0 pwm[2]=0 pwm[3]=0 pwm[4]=0 pwm[5]=0 pwm[6]=0 pwm[7]=0 pwm[8]=0 -------- pwm[1]=on_LED delay_ms(500) pwm[2]=on_LED delay_ms(500) pwm[3]=on_LED delay_ms(500) pwm[4]=on_LED delay_ms(500) pwm[5]=on_LED delay_ms(500) pwm[6]=on_LED delay_ms(500) pwm[7]=on_LED delay_ms(500) pwm[8]=on_LED delay_ms(500)
for(x=1;x<9;x++)pwm[x]=0; for(x=8;x>0;x--) { pwm[x] = on_LED; delay_ms(500); }
pwm[1]=0 pwm[2]=0 pwm[3]=0 pwm[4]=0 pwm[5]=0 pwm[6]=0 pwm[7]=0 pwm[8]=0 -------- pwm[8]=on_LED delay_ms(500) pwm[7]=on_LED delay_ms(500) pwm[6]=on_LED delay_ms(500) pwm[5]=on_LED delay_ms(500) pwm[4]=on_LED delay_ms(500) pwm[3]=on_LED delay_ms(500) pwm[2]=on_LED delay_ms(500) pwm[1]=on_LED delay_ms(500)
for(x=1;x<9;x++)pwm[x]=0; pwm[1] = on_LED; for(x=1;x<8;x++) { pwm[x+1] = pwm[x]; pwm[x] = off_LED; delay_ms(500); }
pwm[1]=0 pwm[2]=0 pwm[3]=0 pwm[4]=0 pwm[5]=0 pwm[6]=0 pwm[7]=0 pwm[8]=0 -------- pwm[1]=on_LED -------- pwm[2]=pwm[1] pwm[1]=off_LED delay_ms(500) pwm[3]=pwm[2] pwm[2]=off_LED delay_ms(500) pwm[4]=pwm[3] pwm[3]=off_LED delay_ms(500) pwm[5]=pwm[4] pwm[4]=off_LED delay_ms(500) pwm[6]=pwm[5] pwm[5]=off_LED delay_ms(500) pwm[7]=pwm[6] pwm[6]=off_LED delay_ms(500) pwm[8]=pwm[7] pwm[7]=off_LED delay_ms(500)
for(x=1;x<9;x++)pwm[x]=0; pwm[8] = on_LED; for(x=8;x>1;x--) { pwm[x-1] = pwm[x]; pwm[x] = off_LED; delay_ms(500); }
pwm[1]=0 pwm[2]=0 pwm[3]=0 pwm[4]=0 pwm[5]=0 pwm[6]=0 pwm[7]=0 pwm[8]=0 -------- pwm[8]=on_LED -------- pwm[7]=pwm[8] pwm[8]=off_LED delay_ms(500) pwm[6]=pwm[7] pwm[7]=off_LED delay_ms(500) pwm[5]=pwm[6] pwm[6]=off_LED delay_ms(500) pwm[4]=pwm[5] pwm[5]=off_LED delay_ms(500) pwm[3]=pwm[4] pwm[4]=off_LED delay_ms(500) pwm[2]=pwm[3] pwm[3]=off_LED delay_ms(500) pwm[1]=pwm[2] pwm[2]=off_LED delay_ms(500)
for(x=1;x<9;x++)pwm[x]=0; for(x=1;x<9;x++) { pwm[x] = on_LED; delay_ms(500); } =================================== for(x=1;x<9;x++)pwm[x]=0; for(x=8;x>0;x--) { pwm[x] = on_LED; delay_ms(500); } =================================== for(x=1;x<9;x++)pwm[x]=0; pwm[1] = on_LED; for(x=1;x<8;x++) { pwm[x+1] = pwm[x]; pwm[x] = off_LED; delay_ms(500); } =================================== for(x=1;x<9;x++)pwm[x]=0; pwm[8] = on_LED; for(x=8;x>1;x--) { pwm[x-1] = pwm[x]; pwm[x] = off_LED; delay_ms(500); }
for(x=1;x<9;x++)pwm[x]=0; for(x=1;x<9;x++) { pwm[x] = on_LED; delay_ms(500); }
pwm[1]=0 pwm[2]=0 pwm[3]=0 pwm[4]=0 pwm[5]=0 pwm[6]=0 pwm[7]=0 pwm[8]=0 -------- pwm[1]=on_LED delay_ms(500) pwm[2]=on_LED delay_ms(500) pwm[3]=on_LED delay_ms(500) pwm[4]=on_LED delay_ms(500) pwm[5]=on_LED delay_ms(500) pwm[6]=on_LED delay_ms(500) pwm[7]=on_LED delay_ms(500) pwm[8]=on_LED delay_ms(500)
for(x=1;x<9;x++)pwm[x]=0; for(x=8;x>0;x--) { pwm[x] = on_LED; delay_ms(500); }
pwm[1]=0 pwm[2]=0 pwm[3]=0 pwm[4]=0 pwm[5]=0 pwm[6]=0 pwm[7]=0 pwm[8]=0 -------- pwm[8]=on_LED delay_ms(500) pwm[7]=on_LED delay_ms(500) pwm[6]=on_LED delay_ms(500) pwm[5]=on_LED delay_ms(500) pwm[4]=on_LED delay_ms(500) pwm[3]=on_LED delay_ms(500) pwm[2]=on_LED delay_ms(500) pwm[1]=on_LED delay_ms(500)
for(x=1;x<9;x++)pwm[x]=0; pwm[1] = on_LED; for(x=1;x<8;x++) { pwm[x+1] = pwm[x]; pwm[x] = off_LED; delay_ms(500); }
pwm[1]=0 pwm[2]=0 pwm[3]=0 pwm[4]=0 pwm[5]=0 pwm[6]=0 pwm[7]=0 pwm[8]=0 -------- pwm[1]=on_LED -------- pwm[2]=pwm[1] pwm[1]=off_LED delay_ms(500) pwm[3]=pwm[2] pwm[2]=off_LED delay_ms(500) pwm[4]=pwm[3] pwm[3]=off_LED delay_ms(500) pwm[5]=pwm[4] pwm[4]=off_LED delay_ms(500) pwm[6]=pwm[5] pwm[5]=off_LED delay_ms(500) pwm[7]=pwm[6] pwm[6]=off_LED delay_ms(500) pwm[8]=pwm[7] pwm[7]=off_LED delay_ms(500)
for(x=1;x<9;x++)pwm[x]=0; pwm[8] = on_LED; for(x=8;x>1;x--) { pwm[x-1] = pwm[x]; pwm[x] = off_LED; delay_ms(500); }
pwm[1]=0 pwm[2]=0 pwm[3]=0 pwm[4]=0 pwm[5]=0 pwm[6]=0 pwm[7]=0 pwm[8]=0 -------- pwm[8]=on_LED -------- pwm[7]=pwm[8] pwm[8]=off_LED delay_ms(500) pwm[6]=pwm[7] pwm[7]=off_LED delay_ms(500) pwm[5]=pwm[6] pwm[6]=off_LED delay_ms(500) pwm[4]=pwm[5] pwm[5]=off_LED delay_ms(500) pwm[3]=pwm[4] pwm[4]=off_LED delay_ms(500) pwm[2]=pwm[3] pwm[3]=off_LED delay_ms(500) pwm[1]=pwm[2] pwm[2]=off_LED delay_ms(500)
#define on_LED max_var_PWM #define off_LED 0
while(1) { pwm[1] = on_LED; delay_ms(500); pwm[1] = off_LED; delay_ms(500); }
while(1) { for(x=0;x<100;x++) { pwm[1] = x; delay_ms(10); } }
دیدگاه