![]() |
|
![]() |
#1 |
Đệ tử 1 túi
Tham gia ngày: Feb 2012
Bài gửi: 12
: |
Cần giúp đỡ PWM PIC18F4431
Mình viết code này mà ko hiểu sao khi dùng hai modul pwm thì chạy ngon lành, dùng thêm một modul nữa thì cái modul dùng thêm đó luôn có xung ra. ví dụ như trong code dưới là dùng pwm2 và pwm6 chạy hai bánh, pwm4 điều khiển tay gắp. mà cứ bất nguồn mạch đk là tay gắp lại hoạt động luôn. Khẳng định là mạch công suất ko có vấn đề j, vì e dùng mạch đó chạy động cơ bnhs vẫn ngon lành.
|
![]() |
![]() |
![]() |
#2 | |
Đệ tử 1 túi
Tham gia ngày: Feb 2012
Bài gửi: 12
: |
Trích:
![]() |
|
![]() |
![]() |
![]() |
#3 |
Đệ tử 2 túi
Tham gia ngày: Feb 2011
Bài gửi: 45
: |
bạn đọc exemple của ccs í, trong đó nó có 1 số vd về power PWM
|
![]() |
![]() |
![]() |
#4 |
Nhập môn đệ tử
Tham gia ngày: Dec 2012
Bài gửi: 1
: |
pro giúp mình sửa lỗi code đo chu kì xung píc6f877a
#include <16F877a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP #use delay(clock=20000000) #use fast_io(b) #use fast_io(d) #use fast_io(e) #BYTE portb=0x6 #BYTE portd=0x8 #BYTE porte=0x9 #bit b7=portb.7 int8 a[3]={0x01,0x38,0x0E}; int16 n,p; int8 t,tam,i,k; void xuatlcd(); void khoitao(); void ngat(); #INT_CCP1 void ngat() { k=1; t=0; } void main() { enable_interrupts(int_CCP1); enable_interrupts(GLOBAL); setup_timer_1(T1_INTERNAL|T1_DIV_BY_4); setup_ccp2(CCP_CAPTURE_RE); setup_ccp1(CCP_CAPTURE_FE); set_timer1(0); SET_TRIS_c(0b01111111); SET_TRIS_e(0); SET_TRIS_d(0); for (i=0;i<=2;i++) { tam=a[i]; khoitao(); } while(1) { if(input(pin_c1)&&t==0) { set_timer1(0); t++; k=0; } if(k==1) { n=CCP_2; p=(n*0.8)/58; tam=0x80; khoitao(); tam=(p/100)+48; xuatlcd(); tam=(p%100)/10+48; xuatlcd(); tam=(p%100)%10+48; xuatlcd(); t=0; } } } void khoitao() { porte=0b100; portd=tam; porte=0b000; delay_ms(20); } void xuatlcd() { porte=0b101; portd=tam; porte=0b001; delay_ms(20); } |
![]() |
![]() |
![]() |
|
|