giúp mình cách điều xung PWM

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • thieugiaanh2
    Thành viên mới
    • Nov 2012
    • 10

    #1

    giúp mình cách điều xung PWM

    Click image for larger version

Name:	dk dong co.jpg
Views:	1
Size:	109.8 KB
ID:	1416279

    code:
    #include <16F877A.h>
    #include <def_877a.h>
    #FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
    #FUSES NOPUT //No Power Up Timer
    #FUSES NOPROTECT //Code not protected from reading
    #use delay(clock=20000000)
    int8 mode;
    void main()
    {
    trise = 0;
    trisa = 0x3F;
    porte = 0x07;
    mode = 0;
    while(1)
    {
    if(RA0==0)
    porte = 0x01;
    if(RA1==0)
    porte = 0x02;
    if(RA2==0)
    {setup_timer_2(T2_DIV_BY_4,124,1);
    setup_ccp2(CCP_PWM);
    set_pwm1_duty(113);
    }
    }
    }

    sao mình nhấn nút tại RA2 mà động cơ đứng yên không có quay ? Ai bik cách điều xung giúp mình với. Thk nhìu
  • tien168bn
    Thành viên chính thức
    • Aug 2011
    • 80

    #2
    Mình ko nói tới mạch của bạn nhé. Còn về code:
    Thứ nhât:
    -Chưa định nghĩa các port MCU. Ở đây sẽ là :
    #byte porta = 0x05
    #byte portb = 0x06
    #byte portc = 0x07
    #byte portd = 0x08
    - Nên sử dụng truy xuất nhanh các port bằng cách:
    #use fast_io(a)
    #use fats_io(b)
    #use fast_io(c)
    #use fast_io(d)
    -Chú ý khai báo cổng vào ra cho chính xác. Nhớ rằng vào là F, ra là 0.
    Thứ hai:
    - Hai dòng setup_timer_2... và setup_ccp2 nên để lên ngay sát chỗ khai báo các cổng vào ra. đặt ra ngoài vong while(true).
    Thứ ba:
    -Trong khi xét nút ra2 thì xét thêm chân chiều của động cơ. Phần khai báo trong hàm main cần thêm chân chiều nữa nhé, như bạn làm mới chỉ có chân xung thôi.
    Chúc vui !

    Hotmail: tien168bn.utehy@hotmail.com
    Gmail: tien168bn.utehy@gmail.com

    Comment

    • thieugiaanh2
      Thành viên mới
      • Nov 2012
      • 10

      #3
      mình xài thư viện "def_877a.h" cũng cần định nghĩa port nữa hả ?

      Comment

      • vinhtk1205
        Thành viên chính thức
        • Jul 2012
        • 59

        #4
        tiện cho mình hỏi . con pic16f877a này có thể điều khiển được 2 động cơ không . mình thấy nó có 2 captrue thui thi phải
        yh: vinhtk1205
        ngu phải học

        Comment

        • duong_act
          Thành viên tích cực
          • Nov 2008
          • 4903

          #5
          Nó điều khiển được nhiều động cơ. Không riêng gì 2 cái

          Comment

          • vinhtk1205
            Thành viên chính thức
            • Jul 2012
            • 59

            #6
            điều chế bằng PWM ấy . Mình thấy nó có CCP1 với CCP2 thui . mà điều khiển 2 động cơ bằng L298 . Nó có 4 chân in cơ mà
            yh: vinhtk1205
            ngu phải học

            Comment

            • duong_act
              Thành viên tích cực
              • Nov 2008
              • 4903

              #7
              Nó có bao nhiêu IO thì có thể có từng đấy PWM
              89C51 thì có CCP nào đâu mà người ta vẫn pwm đấy thôi.

              Comment

              • vinhtk1205
                Thành viên chính thức
                • Jul 2012
                • 59

                #8
                Uhm ! mình hiểu rồi trên PIC nó có hỗ trợ PWM bằng phần cứng Chỉ cần khai báo hàm là được
                yh: vinhtk1205
                ngu phải học

                Comment

                Về tác giả

                Collapse

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

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

                Collapse

                There are no results that meet this criteria.

                Đang tải...