Sử dụng 4 kênh PWM của dsPIC30F4013

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • nbb3i
    Đệ tử 2 túi
    • Aug 2008
    • 45

    #1

    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)

    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
    Last edited by nbb3i; 16-07-2010, 12:24 PM.
    http://group3i.net
  • nbb3i
    Đệ tử 2 túi
    • Aug 2008
    • 45

    #2
    Đã xử lý được bằng cách dùng 2 timer riêng cho 2 kênh PWM
    http://group3i.net

    Comment

    • hungcuong208
      Nhập môn đệ tử
      • Jun 2014
      • 4

      #3
      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

      Comment

      Working...