zxjtam:
/*前段時間在此處發表了關于直流電機pwm調速時間的控制的一個帖子,現已經改好,并測試通過現修改后貼出來!IAR軟件編程*/#include#include#includestatic longtime;structPUMP_DATA{ unsignedlongpump_pwm; unsignedlongpump_time;};structPUMP_DATApumdate,*pump_p=&pumdate;#pragmavector=TIMER1_OVF_vect //應該改成這個中斷0.005s__interruptvoidtimer1(){ time++; if(time>=pump_p->pump_time) { DDRD_DDD4=0; OCR1B=0; }}voidpump_bsp(structPUMP_DATA*p_pump){ DDRD_DDD4=1; OCR1B=p_pump->pump_pwm; }voidinit_time1(){ TCCR1A=0X20; TCCR1B=0X11; ICR1=20000; TIMSK=TIMSK|(1pump_time=12000;//定時運行的時間1分鐘 init_time1(); pump_bsp(pump_p);}