Thông báo

Collapse
No announcement yet.

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

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

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

    thank ban

    Comment


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

      Comment


      • #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


        • #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


          • #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


            • #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


              • #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


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

                  Comment


                  • #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


                    • #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


                      • #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


                        • #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


                          • #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


                            • #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


                              • #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

                                • 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
                                • nick22
                                  Trả lời cho Máy điện châm ?
                                  bởi nick22
                                  Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
                                  01-12-2025, 13:23
                                Đang tải...
                                X