Thông báo

Collapse
No announcement yet.

Thắc mắc về việc tạo 2 kênh điều xung cho MSP430

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

  • Thắc mắc về việc tạo 2 kênh điều xung cho MSP430

    Mình code tạo 2 xung PWM ra chân P1.2 và P1.3, dựa vào code mẫu của TI cho msp430. Mình biên dịch và đã mô phỏng thành công trên protues nhưng không hiểu sao thử trên mạch thực tế thì chỉ có mỗi chân P1.2 có xung, chân 1.3 ko hề có xung. Mình thử với các code mẫu khác và cả code trên mạng nhưng kết quả vẫn như vậy. Có cao thủ nào biết tình trạng này không?
    Đây là code:
    Code:
    #include  <msp430x12x2.h>
    void main(void)
    {
      WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
      P1DIR |= 0x0C;                            // P1.2 and P1.3 output
      P1SEL |= 0x0C;                            // P1.2 and P1.3 TA1/2 otions
      CCR0 = 655;                               // PWM Period/2
      CCTL1 = OUTMOD_6;                         // CCR1 toggle/set
      CCR1 = 32;                                // CCR1 PWM duty cycle
      CCTL2 = OUTMOD_6;                         // CCR2 toggle/set
      CCR2 = 49;                                // CCR2 PWM duty cycle
      TACTL = TASSEL_1 + MC_1;                  // ACLK, up mode
    
      _BIS_SR(LPM0_bits);                       // Enter LPM0
    }

  • #2
    bạn cho biết cụ thể bạn đang dung con msp430 nào vây? minh vẫn sử dụng được nhiều pwm cua msp430 mà

    Comment


    • #3
      Mình dùng msp430g2231 và msp430g2553, ko con nào tạo ra đc xung ở cả 2 chân cả

      Comment


      • #4
        Vậy là bó tay con gà quay hả mấy pro

        Comment


        • #5
          dùng msp430g2231 và msp430g2553 sao lại khai bao : #include <msp430x12x2.h>

          Comment


          • #6
            Khai báo con g2231 hay g2553 cũng chả khác gì hết, theo suy đoán có thể do servo @@!

            Comment


            • #7
              Bạn xem lại datasheet nhé, theo code của bạn P1.2 là TA0.1 nhưng TA0.2 thì 2 con này không có, con msp430g2553 có TA1.1 và TA1.2 nhé.
              |

              Comment


              • #8
                Code:
                /*Author : 
                *******************************
                ******************************
                School : 
                email : 
                ******************************
                Chip : MSP430G2553
                ******************************
                */
                #include  <msp430g2553.h>
                void F_pwm(int p1_2,int p1_3){
                  int a,b;
                  a=20*p1_2;
                  // Tính % cho PWM trên chân P1_2
                  b=20*p1_3;
                  // Tinh % cho PWM trên chân P1_3
                  TACCR0 = 2000;
                  // Chu Ki PWM : 2000*1/1.1M
                
                  CCR1 = a;
                  // Nap PWM duty cycle cho P1.2
                  CCR2 = b;
                  // Nap PWM duty cycle cho P1.3
                }
                void main(void)
                {
                  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
                  TACTL = TASSEL_2 + MC_1;                  // SMCLK, up mode
                  P1DIR =0x0c;                            // P1.2 output
                  P1SEL =0x0c;                            // P1.2 TA0.1
                  CCTL1 = OUTMOD_7;                         // CCR1 reset/set  
                  CCTL2 = OUTMOD_7;
                  while(1){
                    for(int i=0;i<101;i++){
                      F_pwm(i,100-i);
                      // dieu che xung tu 0%->100% cho p1.2
                      // dieu che xung tu 100%->0% cho p2.3
                      __delay_cycles(50000);
                      // Tao Tre
                    }
                  }
                }
                Bạn tham khảo thử code này nha mình củng chỉ mới làm quen với MSP nên có gì sai mong mọi người góp ý, cám ơn các bạn và các anh

                Comment

                Về tác giả

                Collapse

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

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

                Collapse

                • Andrea14
                  Vấn đề về tốc độ quay
                  bởi Andrea14
                  Chào mọi người,

                  Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...
                  Hôm qua, 12:42
                • bqviet
                  Trả lời cho Đấu tắt điện cho máy tính bảng
                  bởi bqviet
                  Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
                  06-12-2025, 17:17
                • nguyendinhvan
                  Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
                  bởi nguyendinhvan
                  Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
                  05-12-2025, 19:59
                • afrendly
                  Trả lời cho Đấu tắt điện cho máy tính bảng
                  bởi afrendly
                  Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
                  04-12-2025, 01:27
                Đang tải...
                X