|
Tài trợ cho PIC Vietnam |
Cơ cấu chấp hành (Actuator) Động cơ DC, AC, động cơ không chổi than, động cơ không cảm biến... |
|
Ðiều Chỉnh | Xếp Bài |
08-11-2011, 11:16 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: Sep 2011
Bài gửi: 1
: |
Giúp e về code pwm
E làm mạch đk 1 động cơ,dùng pic 16f877a, dùng l293d để đảo chiều, điều rộng xung bằng pp pwm.đây là code của e:
#include <16F877A.h> #device adc=8 #FUSES NOWDT //No Watch Dog Timer #FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD) #FUSES NOPUT //No Power Up Timer #FUSES NOPROTECT //Code not protected from reading #FUSES NODEBUG //No Debug mode for ICD #FUSES NOBROWNOUT //No brownout reset #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O #FUSES NOCPD //No EE protection #FUSES NOWRT //Program memory not write protected #use delay(clock=20000000) void main() { // cai PWM bo dieu che xung cho dong co set_tris_c(0x00); set_tris_b(0xff); setup_ccp1(CCP_PWM); // Bat che do PWM cho RC1 setup_ccp2(CCP_PWM); setup_timer_2(T2_DIV_BY_16,200,1);//Ta co PR2=199,prescale=1 //Tpwm=[PR2+1]*4*1/clock*prescale=[199+1]*4/20000000*1=40 us //Fpwm=1/Tpwm=25 kHZ // set_tris_c(0b00000000); WHILE(1) { set_pwm1_duty(1023);delay_us(40); set_pwm1_duty(0);delay_us(40); } } Vấn đề gặp phải là dù thay đổi duty nhưng điện áp vào đc k hề thay đổi ( tốc độ k thay đổi đc )....Xin cho e hỏi là code đã sai ở chỗ nào |
|
|