17-11-2008, 11:04 PM | #1 |
Đệ tử 2 túi
Tham gia ngày: Apr 2008
Bài gửi: 26
: |
cần giúp đỡ về Power PWM pic8f4431
em có viết code điều khiển microstep cho dc Bưóc,nên xài các chân PWm1,3,5,7 đê điều khiển nhưng ko bít sao pwm ko chạy theo ý mún.Chương trình cảu em như sau:
Code:
#include <18f4431.h> #FUSES NOWDT, HS, NOPUT, NOPROTECT,NOLVP #use delay(clock=20000000) //int8 duty_cycle; void main() { while(true) { setup_power_pwm_pins(PWM_ODD_ON,PWM_ODD_ON,PWM_ODD_ON,PWM_ODD_ON); setup_power_pwm(PWM_CLOCK_DIV_4|PWM_FREE_RUN,1,0,80,0,1, 0); set_power_pwm_override(1, false, 0); set_power_pwm_override(3, false, 0); set_power_pwm_override(5, false, 0); set_power_pwm_override(7, false, 0); set_power_pwm0_duty(200); //motor1 set_power_pwm2_duty(500); //motor2 set_power_pwm4_duty(0); //motor3 set_power_pwm6_duty(1000); //motor4 // setup_power_pwm_pins(PWM_odd_on,PWM_OFF,PWM_OFF,PWM_OFF); // setup_power_pwm(PWM_CLOCK_DIV_16,1,0,1000,1,0); // set_power_pwm1_override(1,false,0); // set_power_pwm0_duty(1000); } } Em thử xoá đoạn code set_power_pwm_override(7, false, 0); set_power_pwm0_duty(200); //motor1 set_power_pwm2_duty(500); //motor2 set_power_pwm4_duty(0); //motor3 set_power_pwm6_duty(1000); //motor4 nhưng nó cũng chạy như chưa từng xoá chỉ khi em xoá setup_power_pwm(PWM_CLOCK_DIV_4|PWM_FREE_RUN,1,0,8 0,0,1, 0); thì nó moi dừng em xài thạch anh 20MHz.Xin Các anh chỉ bảo giúp em em mò hoài mà ko dc thay đổi nội dung bởi: namqn, 19-11-2008 lúc 01:50 AM. |
|
|