mấy anh kiểm tra cho e mạch vs code này vs

Discussion in 'Lớp C17' started by phamngocson, Dec 18, 2017.

  1. phamngocson

    phamngocson Trứng gà

    Em chào mấy a
    Mạch e làm tạo hiệu ứng nhiều led dùng msp430g2553
    Nhưng khi e nạp code vào thì led trên kit nhấp nháy liên tục.
    còn bên mạch e làm thì 4 led nó sáng nhưng nhấp nháy nhanh ko theo hiệu ứng code
    Mấy a kiểm tra giúp e xem code này đúng chưa ạ.Mấy chân CL,ST,DT,CK em kết nối vs các chân P2.0 P1.2 P1.1 P1.0
    đây là file mạch nguyên lý của e. EM nghĩ chỉ có sài phần code
    https://drive.google.com/open?id=1dwHJxa-UtbeLVinrt5LD6sel_SYBrOVU
    còn đây mạch lúc e test
    https://drive.google.com/open?id=1zVdg8LPoCqXtjZ-bRfefMRZRNMljSv5d
    Mấy anh kt sớm giúp e vs
    Code:
    #include "msp430.h"
    unsigned char i,j,k;
    //---------Hieu ung 1-----------//
    void quetled1()
    {
      for(i=0;i<32;i++)
      {
        P1OUT = BIT1;
        __delay_cycles(50000);
        P1OUT = 0x07;
        __delay_cycles(50000);
      }
    }
    //---------Hieu ung 2-----------//
    void quetled2()
    {
        for( i=0;i<1;i++)
        {
          for(j=0;j<4;j++)
          {
            P1OUT = 0x02;
            __delay_cycles(50000);
            P1OUT = 0x07;
            __delay_cycles(50000);
          }
          for(k=0;k<32;k++)
          {
            P1OUT = 0x00;
            __delay_cycles(50000);
            P1OUT = 0x05;
            __delay_cycles(50000);
          }
        }
    }
    //---------Hieu ung 3 -----------//
    void quetled3()
    {
      for(i=0;i<10;i++)
      {
        P1OUT = BIT1;
        __delay_cycles(50000);
        P1OUT = 0x07;
        __delay_cycles(50000);
    
        for(j=0;j<8;j++)
        {
        P1OUT = 0x00;
        __delay_cycles(50000);
        P1OUT = 0x05;
        __delay_cycles(50000);
        }
    }}
    //---------Hieu ung 4 -----------//
    void quetled4()
    {
        for( i=0;i<8;i++)
        {
          for(j=0;j<4;j++)
          {
            P1OUT = 0x02;
            __delay_cycles(50000);
            P1OUT = 0x07;
            __delay_cycles(50000);
          }
          for(k=0;k<2;k++)
          {
            P1OUT = 0x00;
            __delay_cycles(50000);
            P1OUT = 0x05;
            __delay_cycles(50000);
    }}}
    //---------Hieu ung 5 -----------//
    void quetled5 ()
    {
          for(i=0;i<32;i++)
          {
          P1OUT=0x02;
          __delay_cycles(50000);
          P1OUT=0x07;
          __delay_cycles(50000);
          P1OUT=0x00;
          __delay_cycles(50000);
          P1OUT=0x05;
          __delay_cycles(50000);
          }
    }
    
    //---------Hieu ung 6 -----------//
    void quetled6()
    {
        for( i=0;i<15;i++)
        {
          for(j=0;j<3;j++)
          {
            P1OUT = 0x02;
            __delay_cycles(50000);
            P1OUT = 0x07;
            __delay_cycles(50000);
          }
           for( k=0;k<4;k++)
           {
            P1OUT = 0x00;
            __delay_cycles(50000);
            P1OUT = 0x05;
            __delay_cycles(50000);}
            }
    }
    //---------Hieu ung 7 -----------//
    void quetled7()
    {
      for(i=0;i<4;i++)
      {
       __delay_cycles(10000);
       for(j=0;j<32;j++)
       {
         P1OUT=0X02;
         __delay_cycles(10000);
         P1OUT=0x03;
       }
       __delay_cycles(5000);
       P1OUT=0x07;
       __delay_cycles(5000);
       for(k=0;k<32;k++)
       {
         P1OUT=0X00;
         __delay_cycles(5000);
         P1OUT=0x01;
       }
         __delay_cycles(5000);
         P1OUT=0x07;
    }}
    
    //--------- Ham main -----------//
    
    void main( void )
    {
      // Stop watchdog timer to prevent time out reset
      WDTCTL = WDTPW + WDTHOLD;
      P1DIR = 0xff;
      P2DIR = 0xff;
    while(1)
    {
      P2OUT=0xff;
        quetled1();
        quetled2();
        quetled3();
        quetled4();
        quetled5();
        quetled6();
        quetled1();
        quetled7();
    } }
     
    Last edited: Dec 18, 2017
  2. Vũ Huy Hợp

    Vũ Huy Hợp Thành Viên PIF

    Hi em, anh thấy trong phần cứng em có sài 74HC245 anh không biết em sài con ý ở đây mục đích gì nhưng anh thấy trong sơ đồ schme của em thứ tự chân con ý có vẻ không đúng. Theo anh thì em nên sài BJT hoặc IC đệm dòng để cho led sáng đều đẹp.
    [​IMG]
    Còn phần code thì anh nhìn ko hiểu lắm em nên define mấy cái chân Data, Clock, Latch cho người đọc dễ hiểu nhé. Mà trong phần code phần dịch bit của 74HC595 em code chưa đúng lắm em có thể coi lại lý thuyết ở đây nha: http://www.payitforward.edu.vn/wordpress/tutorials/dien-tu-co-ban-cho-sv-nam-nhat/bai-4/
     
  3. phamngocson

    phamngocson Trứng gà


    • code này khi build bị lỗi a,a xem giúp e vs
      Code:
      #include "MSP430G2553.h"
      
      #define clk      BIT0
      #define data     BIT1
      #define latch1   BIT2
      #define clear    BIT3
      void clock(){
         P1OUT |= clk;
         P1OUT &= ~clk;
      }
      void latch(){
        P1OUT &= ~latch1;
        P1OUT |= latch1 ;
      }
      void het(){
        for (int i=0;i<24;i++){
          P1OUT &=~ data ;
            clock();
            latch();
          __delay_cycles(100000);
        }
      }
      void sang_tat_xen_ke(int n){ // dua vao 1010.....
        for (int i=0;i<n;i++){
          P1OUT |= data ;
            clock();
          P1OUT &=~ data ;
           clock();  }
          latch();
        __delay_cycles(500000);
         for (int i=0;i<n;i++){ // dua vao 0101....
          P1OUT &=~ data ;
            clock();
          P1OUT |= data ;
           clock();  }
          latch();
      __delay_cycles(500000);
      }
      void h(int solan){
        for (int i=0;i<solan;i++){
          sang_tat_xen_ke(24);
          }
      }
      void sang_het(int n){// sang het 24 led
        for (int i=0;i<n;i++){
          P1OUT |= data;
          clock();
         
          latch();}
        __delay_cycles(500000);
      }
      void tat_het(int n){// tat het 24 led
        for (int i=0;i<n;i++){
          P1OUT &=~ data;
          clock();
          latch();}
        __delay_cycles(500000);
      }
      void t(int solan){
        for (int i=0;i<solan;i++){
          sang_het(24);
          tat_het(24);
        }
      }
      void nua_tim(int n){
        for (int i=0;i<n;i++){
          P1OUT |= data;
          clock();}
          latch();
        __delay_cycles(500000);
        for (int i=0;i<n;i++){
          P1OUT &=~ data;
          clock();}
          latch();
        __delay_cycles(500000);
      }
      void k(int solan){
        for (int i=0;i<solan;i++){
          nua_tim (6);
        }
      }
      void mot_tu(int n){ // 6 led chay
        for (int i=0;i<n;i++){
          P1OUT |= data;
          clock();
          clock();}
          latch();
        __delay_cycles(500000);
        for (int i=0;i<n;i++){
          P1OUT &=~ data;
          clock();
          clock();}
          latch();
        __delay_cycles(500000);
      }
      void p(int solan){
        for (int i=0;i<solan;i++){
          nua_tim (12);
        }
      }
      void main( void )
      {
        // Stop watchdog timer to prevent time out reset
        WDTCTL = WDTPW + WDTHOLD;
        P1DIR= 0xff;
        while(1){
           P1OUT |= clear;
           t(2);
           h(3);
           het();
           k(2);
           het();
           p(3);
           het();
           
        }
      }
      
    • con 74hc245 là để đệm dòng đó a.
    • em cứ vẽ theo bên proteus nhưng sao mấy cái chân e cắm vào msp430g2553 ko đúng a.[​IMG]
    • con ic e sửa lại chân rồi a xem giúp e vs [​IMG]
    • https://drive.google.com/open?id=1h4DMOyfm5Fl5oke2vw9wErm7ThiJAji0
    • mà sao e up ảnh lên nó báo lỗi a nhỉ
    • e có thắc mắc khi mình vẽ mạch in thì ở lớp bot các chân nối đúng vs nhau nhưng khi cắm linh kiện thì nó bị ngược chân,làm sao để khác phục nó a
     
    Last edited: Dec 19, 2017
  4. Vũ Huy Hợp

    Vũ Huy Hợp Thành Viên PIF

    Em thử nạp code vào rồi chạy mô phỏng thử trên protues xem nó có chạy không? Mà em có học trên cs1 không? Bữa nào rảnh qua phòng 304B1 anh check mạch cho cũng được :))
     
  5. phamngocson

    phamngocson Trứng gà

    A ơi,chiều thứ 6 a rảnh ko,e lên cs1 nhờ a giúp e vs,em đang cần gấp cho thứ 2.Mà làm sao để liên lạc dc với a nhỉ
     
  6. Vũ Huy Hợp

    Vũ Huy Hợp Thành Viên PIF

    Ừm chiều thứ 6 lên thì điện anh nhé 0979189834 :)
     
    2death likes this.
Loading...

Share This Page