Ðăng Nhập

View Full Version : Sử dụng 4 kênh PWM của dsPIC30F4013


nbb3i
16-07-2010, 12:18 PM
em đã có đọc bài tut về PWM của anh Nam với dsPIC30F4012.
Tuy nhiên với con 4013 này thì việc sử dụng các kênh PWM của nó khác với con 4012. Để sử dụng PWM thì cần truy cập vào các thanh ghi điều khiển đầu ra OCx (Output Compare)
http://www.mikroe.com/img/publication/dspic-books/programming-c-dspic/chapter/ch06/fig6-10a.gif
void Init_PWM(void){
TRISD = 0x0100; //OC1 (RD0) is output
IPC0 = 0x4444; //Output Compare module 1 interrupt enable
OC1R = 1001; //If OC1R=TMR2, leading edge at pin OC1
OC1RS = 500; //If OC1RS=TMR2, trailing edge at OC1
PR2 = 1001; //PR2 at maximum, time base 2 free-running
T2CON = 0x8000; //Time base 2 operates with prescaler 1:1 and internal clock
OC1CON = 0x0005; //Configuration of Output Compare 1 module,
}đây là đoạn chương trình mình viết trên C30 để dùng chân OC1 làm một kênh PWM. Các thanh ghi OC1R, OC1RS và PR dùng để điều khiển độ rộng xung và tốc độ băm xung.
Code trên là mình dựa trên bài tut này: http://www.mikroe.com/eng/chapters/view/54/chapter-6-output-compare-module/#ch6.4.1
Tuy nhiên mình không hiểu tại sao khi dùng 2 kênh OC để chạy PWM thì chỉ có 1 kênh OC1 chạy đúng

nbb3i
20-07-2010, 08:34 AM
Đã xử lý được bằng cách dùng 2 timer riêng cho 2 kênh PWM

hungcuong208
17-06-2014, 04:46 PM
anh có doan code giao tiếp pc với dspic ko?...share em với ...code mẫu....em nhìn và viết lại