32ledTRÁI TIM dùng ic89c51 cho dân điện tử

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • suyahate
    Thành viên chính thức
    • Oct 2011
    • 48

    #46
    gửi cho mình với nhé: mail : nguyencuongktvt@gmail.com

    thank ban

    Comment

    • boychjpcoj
      Banned
      • Aug 2011
      • 78

      #47
      UPLOAD mạch đây anh em doawnload ở đây.

      Comment

      • dientu1001
        Thành viên mới
        • May 2011
        • 23

        #48
        bạn nào ở hà nội ko, cho em theo học với em học năn 2 rồi mà chưa biết gì cả...hic..bác nào cho em theo với nha...thank nhiều

        Comment

        • boychjpcoj
          Banned
          • Aug 2011
          • 78

          #49
          ai có chtrình sáng dồn 32led trái tim ko. sáng từng led 1 sau đó giữ led nah.

          Comment

          • tuankep6
            Thành viên tích cực
            • Apr 2010
            • 1748

            #50
            Nguyên văn bởi boychjpcoj Xem bài viết
            ai có chtrình sáng dồn 32led trái tim ko. sáng từng led 1 sau đó giữ led nah.
            cái này mình có cái 16 led bác lấy rồi phát triển thêm đc k
            good luck

            Email:
            Gmail:

            Comment

            • tdm
              Thành viên tích cực
              • Sep 2005
              • 349

              #51
              Nguyên văn bởi boychjpcoj Xem bài viết
              ai có chtrình sáng dồn 32led trái tim ko. sáng từng led 1 sau đó giữ led nah.
              thử cái này xem sao:
              Code:
              #include"reg51.h"
              char x,y,i,j,q,g=0x00;
              int tong2;
              unsigned long int time=2000;//thay đổi giá trị time để có delay mong muốn
              void sang_don();
              void don_32();
              void don_24();
              void don_16();
              void don_8();
              const unsigned char ma_led[]= {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x81,0x82,0x84,0x88,0x90,
              0xA0,0xC0,0xC1,0xC2,0xC4,0xC8,0xD0,0xE0,0xE1,0xE2,0xE4,0xE8,0xF0,0xF1,0xF2,0xF4,0xF8,0xF9,0xFA,
              0xFC,0xFD,0xFE,0xff};
              
              unsigned long tam;        
               void delay(unsigned long int t)
              {
                  unsigned long int l;
                  for(l=0;l<t;l++);
              }
               main()
               {
               while(1)
               {
               g=0;
               don_32();
               g++;
               don_24();
               g++;
               don_16();
               g++;
               don_8();
               delay(time+1000);
               P1=P2=P3=P0=0xff;
                }    
               }
               void sang_don()
               {
                 for(x=0;x<=j;x++)
                {
                switch (y)
                {
                 case 0:
                  {
                   if(g==0)
                   P0=~ma_led[0+x];
                   else if(g==1)
                   P2=~ma_led[0+x];
                   else if(g==2)
                   P3=~ma_led[0+x];
                   else if(g==3)
                   P1=~ma_led[0+x];
                   break;
                  }
                  case 1:
                  {
                  if(g==0)
                   P0=~ma_led[8+x];
                   else if(g==1)
                   P2=~ma_led[8+x];
                   else if(g==2)
                   P3=~ma_led[8+x];
                   else if(g==3)
                   P1=~ma_led[8+x];
                   break;
                  }
                   case 2:
                  {
                  if(g==0)
                   P0=~ma_led[15+x];
                   else if(g==1)
                   P2=~ma_led[15+x];
                   else if(g==2)
                   P3=~ma_led[15+x];
                   else if(g==3)
                   P1=~ma_led[15+x];
                   break;
                  }
                    case 3:
                  {
                  if(g==0)
                   P0=~ma_led[21+x];
                   else if(g==1)
                   P2=~ma_led[21+x];
                   else if(g==2)
                   P3=~ma_led[21+x];
                   else if(g==3)
                   P1=~ma_led[21+x];
                   break;
                  }
                   case 4:
                  {
                  if(g==0)
                   P0=~ma_led[26+x];
                   else if(g==1)
                   P2=~ma_led[26+x];
                   else if(g==2)
                   P3=~ma_led[26+x];
                   else if(g==3)
                   P1=~ma_led[26+x];
                   break;
                  }
                    case 5:
                  {
                  if(g==0)
                   P0=~ma_led[30+x];
                   else if(g==1)
                   P2=~ma_led[30+x];
                   else if(g==2)
                   P3=~ma_led[30+x];
                   else if(g==3)
                   P1=~ma_led[30+x];
                   break;
                  }
                   case 6:
                  {
                  if(g==0)
                   P0=~ma_led[33+x];
                   else if(g==1)
                   P2=~ma_led[33+x];
                   else if(g==2)
                   P3=~ma_led[33+x];
                   else if(g==3)
                   P1=~ma_led[33+x];
                   break;
                  }
                    case 7:
                  {
                  if(g==0)
                   P0=~ma_led[35+x];
                   else if(g==1)
                   P2=~ma_led[35+x];
                   else if(g==2)
                   P3=~ma_led[35+x];
                   else if(g==3)
                   P1=~ma_led[35+x];
                   break;
                  }
                }
                
                delay (time);
                }
                j--;
                }
              void don_32()
              {
                j=7;
               for(y=0;y<=7;y++)
               {
                for(q=0;q<=2;q++)
                 {
                for(x=0;x<=7;x++)
                 {
                  switch (q)
                  {
                   case 0:
                   {
                   P1= ~ma_led[x];
                   delay (time);
                   break;
                   }
                    case 1:
                   {
                   P3= ~ma_led[x];
                   delay (time);
                   break;
                   }
                     case 2:
                   {
                   P2= ~ma_led[x];
                   delay (time);
                   break;
                   }
                  }
                  }
                   P2= P1= P3=0xff;
                 }
                sang_don();
                 }
                 }
              void don_24()
              {
                j=7;
               for(y=0;y<=7;y++)
               {
                for(q=0;q<=1;q++)
                 {
                for(x=0;x<=7;x++)
                 {
                  switch (q)
                  {
                   case 0:
                   {
                   P1= ~ma_led[x];
                   delay (time);
                   break;
                   }
                    case 1:
                   {
                   P3= ~ma_led[x];
                   delay (time);
                   break;
                   }
                    
                  }
                  }
                    P1= P3=0xff;
                  }
                sang_don();
                 }
                 }
              void don_16()
              {
                j=7;
               for(y=0;y<=7;y++)
               {
                 for(x=0;x<=7;x++)
                 {
                  P1= ~ma_led[x];
                  delay (time);
                  }
                   P1=0xff;
                  sang_don();
                  }
                  }
                    
               void don_8()
              {
                j=7;
               for(y=0;y<=7;y++)
               {
               sang_don();
                }
              }
              Attached Files
              |

              Comment

              • tuankep6
                Thành viên tích cực
                • Apr 2010
                • 1748

                #52
                Nguyên văn bởi tdm Xem bài viết
                thử cái này xem sao:
                Code:
                #include"reg51.h"
                char x,y,i,j,q,g=0x00;
                int tong2;
                unsigned long int time=2000;//thay đổi giá trị time để có delay mong muốn
                void sang_don();
                void don_32();
                void don_24();
                void don_16();
                void don_8();
                const unsigned char ma_led[]= {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x81,0x82,0x84,0x88,0x90,
                0xA0,0xC0,0xC1,0xC2,0xC4,0xC8,0xD0,0xE0,0xE1,0xE2,0xE4,0xE8,0xF0,0xF1,0xF2,0xF4,0xF8,0xF9,0xFA,
                0xFC,0xFD,0xFE,0xff};
                
                unsigned long tam;        
                 void delay(unsigned long int t)
                {
                    unsigned long int l;
                    for(l=0;l<t;l++);
                }
                 main()
                 {
                 while(1)
                 {
                 g=0;
                 don_32();
                 g++;
                 don_24();
                 g++;
                 don_16();
                 g++;
                 don_8();
                 delay(time+1000);
                 P1=P2=P3=P0=0xff;
                  }    
                 }
                 void sang_don()
                 {
                   for(x=0;x<=j;x++)
                  {
                  switch (y)
                  {
                   case 0:
                    {
                     if(g==0)
                     P0=~ma_led[0+x];
                     else if(g==1)
                     P2=~ma_led[0+x];
                     else if(g==2)
                     P3=~ma_led[0+x];
                     else if(g==3)
                     P1=~ma_led[0+x];
                     break;
                    }
                    case 1:
                    {
                    if(g==0)
                     P0=~ma_led[8+x];
                     else if(g==1)
                     P2=~ma_led[8+x];
                     else if(g==2)
                     P3=~ma_led[8+x];
                     else if(g==3)
                     P1=~ma_led[8+x];
                     break;
                    }
                     case 2:
                    {
                    if(g==0)
                     P0=~ma_led[15+x];
                     else if(g==1)
                     P2=~ma_led[15+x];
                     else if(g==2)
                     P3=~ma_led[15+x];
                     else if(g==3)
                     P1=~ma_led[15+x];
                     break;
                    }
                      case 3:
                    {
                    if(g==0)
                     P0=~ma_led[21+x];
                     else if(g==1)
                     P2=~ma_led[21+x];
                     else if(g==2)
                     P3=~ma_led[21+x];
                     else if(g==3)
                     P1=~ma_led[21+x];
                     break;
                    }
                     case 4:
                    {
                    if(g==0)
                     P0=~ma_led[26+x];
                     else if(g==1)
                     P2=~ma_led[26+x];
                     else if(g==2)
                     P3=~ma_led[26+x];
                     else if(g==3)
                     P1=~ma_led[26+x];
                     break;
                    }
                      case 5:
                    {
                    if(g==0)
                     P0=~ma_led[30+x];
                     else if(g==1)
                     P2=~ma_led[30+x];
                     else if(g==2)
                     P3=~ma_led[30+x];
                     else if(g==3)
                     P1=~ma_led[30+x];
                     break;
                    }
                     case 6:
                    {
                    if(g==0)
                     P0=~ma_led[33+x];
                     else if(g==1)
                     P2=~ma_led[33+x];
                     else if(g==2)
                     P3=~ma_led[33+x];
                     else if(g==3)
                     P1=~ma_led[33+x];
                     break;
                    }
                      case 7:
                    {
                    if(g==0)
                     P0=~ma_led[35+x];
                     else if(g==1)
                     P2=~ma_led[35+x];
                     else if(g==2)
                     P3=~ma_led[35+x];
                     else if(g==3)
                     P1=~ma_led[35+x];
                     break;
                    }
                  }
                  
                  delay (time);
                  }
                  j--;
                  }
                void don_32()
                {
                  j=7;
                 for(y=0;y<=7;y++)
                 {
                  for(q=0;q<=2;q++)
                   {
                  for(x=0;x<=7;x++)
                   {
                    switch (q)
                    {
                     case 0:
                     {
                     P1= ~ma_led[x];
                     delay (time);
                     break;
                     }
                      case 1:
                     {
                     P3= ~ma_led[x];
                     delay (time);
                     break;
                     }
                       case 2:
                     {
                     P2= ~ma_led[x];
                     delay (time);
                     break;
                     }
                    }
                    }
                     P2= P1= P3=0xff;
                   }
                  sang_don();
                   }
                   }
                void don_24()
                {
                  j=7;
                 for(y=0;y<=7;y++)
                 {
                  for(q=0;q<=1;q++)
                   {
                  for(x=0;x<=7;x++)
                   {
                    switch (q)
                    {
                     case 0:
                     {
                     P1= ~ma_led[x];
                     delay (time);
                     break;
                     }
                      case 1:
                     {
                     P3= ~ma_led[x];
                     delay (time);
                     break;
                     }
                      
                    }
                    }
                      P1= P3=0xff;
                    }
                  sang_don();
                   }
                   }
                void don_16()
                {
                  j=7;
                 for(y=0;y<=7;y++)
                 {
                   for(x=0;x<=7;x++)
                   {
                    P1= ~ma_led[x];
                    delay (time);
                    }
                     P1=0xff;
                    sang_don();
                    }
                    }
                      
                 void don_8()
                {
                  j=7;
                 for(y=0;y<=7;y++)
                 {
                 sang_don();
                  }
                }
                bác chơi = C ak thế thì e chịu
                vừa mới học asm thui
                bác có bản asm k e mới viết 16 led thôi chưa viết 32 led để tẹo rảnh viêt cái xem sao

                Email:
                Gmail:

                Comment

                • boychjpcoj
                  Banned
                  • Aug 2011
                  • 78

                  #53
                  đây là chương trình tắt dần ah

                  Comment

                  • boychjpcoj
                    Banned
                    • Aug 2011
                    • 78

                    #54
                    Nguyên văn bởi tdm Xem bài viết
                    thử cái này xem sao:
                    Code:
                    #include"reg51.h"
                    char x,y,i,j,q,g=0x00;
                    int tong2;
                    unsigned long int time=2000;//thay đổi giá trị time để có delay mong muốn
                    void sang_don();
                    void don_32();
                    void don_24();
                    void don_16();
                    void don_8();
                    const unsigned char ma_led[]= {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x81,0x82,0x84,0x88,0x90,
                    0xA0,0xC0,0xC1,0xC2,0xC4,0xC8,0xD0,0xE0,0xE1,0xE2,0xE4,0xE8,0xF0,0xF1,0xF2,0xF4,0xF8,0xF9,0xFA,
                    0xFC,0xFD,0xFE,0xff};
                    
                    unsigned long tam;        
                     void delay(unsigned long int t)
                    {
                        unsigned long int l;
                        for(l=0;l<t;l++);
                    }
                     main()
                     {
                     while(1)
                     {
                     g=0;
                     don_32();
                     g++;
                     don_24();
                     g++;
                     don_16();
                     g++;
                     don_8();
                     delay(time+1000);
                     P1=P2=P3=P0=0xff;
                      }    
                     }
                     void sang_don()
                     {
                       for(x=0;x<=j;x++)
                      {
                      switch (y)
                      {
                       case 0:
                        {
                         if(g==0)
                         P0=~ma_led[0+x];
                         else if(g==1)
                         P2=~ma_led[0+x];
                         else if(g==2)
                         P3=~ma_led[0+x];
                         else if(g==3)
                         P1=~ma_led[0+x];
                         break;
                        }
                        case 1:
                        {
                        if(g==0)
                         P0=~ma_led[8+x];
                         else if(g==1)
                         P2=~ma_led[8+x];
                         else if(g==2)
                         P3=~ma_led[8+x];
                         else if(g==3)
                         P1=~ma_led[8+x];
                         break;
                        }
                         case 2:
                        {
                        if(g==0)
                         P0=~ma_led[15+x];
                         else if(g==1)
                         P2=~ma_led[15+x];
                         else if(g==2)
                         P3=~ma_led[15+x];
                         else if(g==3)
                         P1=~ma_led[15+x];
                         break;
                        }
                          case 3:
                        {
                        if(g==0)
                         P0=~ma_led[21+x];
                         else if(g==1)
                         P2=~ma_led[21+x];
                         else if(g==2)
                         P3=~ma_led[21+x];
                         else if(g==3)
                         P1=~ma_led[21+x];
                         break;
                        }
                         case 4:
                        {
                        if(g==0)
                         P0=~ma_led[26+x];
                         else if(g==1)
                         P2=~ma_led[26+x];
                         else if(g==2)
                         P3=~ma_led[26+x];
                         else if(g==3)
                         P1=~ma_led[26+x];
                         break;
                        }
                          case 5:
                        {
                        if(g==0)
                         P0=~ma_led[30+x];
                         else if(g==1)
                         P2=~ma_led[30+x];
                         else if(g==2)
                         P3=~ma_led[30+x];
                         else if(g==3)
                         P1=~ma_led[30+x];
                         break;
                        }
                         case 6:
                        {
                        if(g==0)
                         P0=~ma_led[33+x];
                         else if(g==1)
                         P2=~ma_led[33+x];
                         else if(g==2)
                         P3=~ma_led[33+x];
                         else if(g==3)
                         P1=~ma_led[33+x];
                         break;
                        }
                          case 7:
                        {
                        if(g==0)
                         P0=~ma_led[35+x];
                         else if(g==1)
                         P2=~ma_led[35+x];
                         else if(g==2)
                         P3=~ma_led[35+x];
                         else if(g==3)
                         P1=~ma_led[35+x];
                         break;
                        }
                      }
                      
                      delay (time);
                      }
                      j--;
                      }
                    void don_32()
                    {
                      j=7;
                     for(y=0;y<=7;y++)
                     {
                      for(q=0;q<=2;q++)
                       {
                      for(x=0;x<=7;x++)
                       {
                        switch (q)
                        {
                         case 0:
                         {
                         P1= ~ma_led[x];
                         delay (time);
                         break;
                         }
                          case 1:
                         {
                         P3= ~ma_led[x];
                         delay (time);
                         break;
                         }
                           case 2:
                         {
                         P2= ~ma_led[x];
                         delay (time);
                         break;
                         }
                        }
                        }
                         P2= P1= P3=0xff;
                       }
                      sang_don();
                       }
                       }
                    void don_24()
                    {
                      j=7;
                     for(y=0;y<=7;y++)
                     {
                      for(q=0;q<=1;q++)
                       {
                      for(x=0;x<=7;x++)
                       {
                        switch (q)
                        {
                         case 0:
                         {
                         P1= ~ma_led[x];
                         delay (time);
                         break;
                         }
                          case 1:
                         {
                         P3= ~ma_led[x];
                         delay (time);
                         break;
                         }
                          
                        }
                        }
                          P1= P3=0xff;
                        }
                      sang_don();
                       }
                       }
                    void don_16()
                    {
                      j=7;
                     for(y=0;y<=7;y++)
                     {
                       for(x=0;x<=7;x++)
                       {
                        P1= ~ma_led[x];
                        delay (time);
                        }
                         P1=0xff;
                        sang_don();
                        }
                        }
                          
                     void don_8()
                    {
                      j=7;
                     for(y=0;y<=7;y++)
                     {
                     sang_don();
                      }
                    }
                    tắt dần ah

                    Comment

                    • tdm
                      Thành viên tích cực
                      • Sep 2005
                      • 349

                      #55
                      Nguyên văn bởi boychjpcoj Xem bài viết
                      tắt dần ah
                      đã mô phỏng thử chưa mà biết nó tắt dần.
                      |

                      Comment

                      • boychjpcoj
                        Banned
                        • Aug 2011
                        • 78

                        #56
                        Nguyên văn bởi tdm Xem bài viết
                        đã mô phỏng thử chưa mà biết nó tắt dần.
                        mô phỏng rồi mà.không phải tắt dần mà là tắt dồn. điều khiển âm ah. thế làm sao sửa diều khiển dương?

                        Comment

                        • ckd_speed
                          Thành viên chính thức
                          • Jun 2010
                          • 36

                          #57
                          Nguyên văn bởi boychjpcoj Xem bài viết
                          mô phỏng rồi mà.không phải tắt dần mà là tắt dồn. điều khiển âm ah. thế làm sao sửa diều khiển dương?
                          Mạch của bạn điều khiển dương mà sáng được cũng hay thật đấy

                          Comment

                          • boychjpcoj
                            Banned
                            • Aug 2011
                            • 78

                            #58
                            Nguyên văn bởi ckd_speed Xem bài viết
                            Mạch của bạn điều khiển dương mà sáng được cũng hay thật đấy
                            thì nó sáng cả rùi tắt dồn lại mà

                            Comment

                            • boychjpcoj
                              Banned
                              • Aug 2011
                              • 78

                              #59
                              Click image for larger version

Name:	10333030_7714476_6pTuLMO_536x715.jpg
Views:	1
Size:	163.3 KB
ID:	1351728Click image for larger version

Name:	10333030_7714529_OLMlDNK_640x480.JPG
Views:	1
Size:	86.0 KB
ID:	1351729
                              anh em góp ý hey

                              Comment

                              • phamtungnd92
                                Thành viên mới
                                • Oct 2011
                                • 6

                                #60
                                các bác ơi cho em hỏi.cái mạch trái tim của em dung 32 led nhưng phải cắm đi cắm lại máy lần nó mới chạy đươc.mong các bác chỉ giúp em với.

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                There are no results that meet this criteria.

                                Đang tải...