PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   dsPIC - Bộ điều khiển tín hiệu số 16-bit (http://www.picvietnam.com/forum/forumdisplay.php?f=29)
-   -   Sử dụng 4 kênh PWM của dsPIC30F4013 (http://www.picvietnam.com/forum/showthread.php?t=6681)

nbb3i 16-07-2010 12:18 PM

Sử dụng 4 kênh PWM của dsPIC30F4013
 
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/publicatio...6/fig6-10a.gif
PHP Code:

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/v...odule/#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


Múi giờ GMT. Hiện tại là 08:41 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam