樓主思路同我常用思路應同 如下復一個流星燈程序參考 #include<reg52.h> unsigned int led=0x0; unsigned char Duty_ratio[3]={75,90,98}; unsigned char freq,i,j; void init(void) { TMOD=0x02; TL0=TH0=0xff-200; TR0=1; ET0=1; EA=1; } void timer0(void) interrupt 1 { freq++; } void PWM(void) { led=0x01; for(j=0;j<3;j++) { led=led<<1; if(freq>Duty_ratio[j]) led=led+1; } } void main(void) { init(); while(1) { if (freq>=100) { freq=0; i++; if(i>=90) i=0; //移動速度 } PWM(); P1=~((led<<(i/5))>>4); } } |
很好的思路,赞一个。 |
楼主可以分享代码吗?谢谢! |