Thông báo

Collapse
No announcement yet.

Đếm số xung pwm trong Pic 18F4431

Collapse
X
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Đếm số xung pwm trong Pic 18F4431

    Chào cả nhà

    Em tạo chương trình pwm xuất ra trên 4 chân của chip:PWM 1,3,5,7,các chân xuất PWM lẻ là RB1,RB3,RB4,RD7,
    Em muốn hỏi là:
    - Làm sao đếm dc số xung độc lập cho từng PWM này ? ( PWM 1,3,5,7 ) bằng phương pháp kiểm tra thanh ghi.

    Rất mong nhận dc sự giúp đỡ.



    Code:
    setup_power_pwm_pins(PWM_ODD_ON, // module1
    PWM_ODD_ON, // module2
    PWM_ODD_ON, // module3
    PWM_ODD_ON); // module4
    Thiết lập các thông số hoạt động:
    setup_power_pwm(PWM_CLOCK_DIV_4|PWM_FREE_RUN,
    1, //postscale, not used
    0, //initial PTMR
    80, //**************PTPER9à liên quan tới Period
    0, //compare special event, not used
    1, //postscale compare special event, not used
    0); //dead_time
    set_power_pwm_override(1, false, 0); //overide ?,see datasheet
    set_power_pwm_override(3, false, 0);
    set_power_pwm_override(5, false, 0);
    set_power_pwm_override(7, false, 0);
    
    set_power_pwm0_duty(duty0); 
    set_power_pwm2_duty(duty1); 
    set_power_pwm4_duty(duty2); 
    set_power_pwm6_duty(duty3);

  • #2
    Tần số PWM cố định, do người lập trình thiết lập trước. Vậy đếm thời gian là tính ra số xung thôi. Hoặc đặt ngắt PWM mỗi chu kỳ thì tăng biến đếm +1.
    Phần mềm tự do hoặc không dùng máy tính nữa !.

    Comment


    • #3
      Nguyên văn bởi bqviet Xem bài viết
      Tần số PWM cố định, do người lập trình thiết lập trước. Vậy đếm thời gian là tính ra số xung thôi. Hoặc đặt ngắt PWM mỗi chu kỳ thì tăng biến đếm +1.
      Vâng.

      Em cám ơn bác

      if(interrupt_active(INT_TIMER2))
      {
      clear_interrupt(INT_TIMER2);
      count++;
      }

      Comment

      Về tác giả

      Collapse

      luongthitu Tìm hiểu thêm về luongthitu

      Bài viết mới nhất

      Collapse

      Đang tải...
      X