Thông báo

Collapse
No announcement yet.

Led matrix 8x64 chạy chữ + sơ đồ mạch + code

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

  • Led matrix 8x64 chạy chữ + sơ đồ mạch + code

    Chào tất cả các anh chị,
    Em đang tìm hiểu để làm 1 mạch led matrix 8x64 chạy chữ để làm kỷ niệm nhưng còn mù mờ quá. Anh chị nào có mạch hay đồ án về cái này post lên cho anh em tham khảo với.

    Thanks!

  • #2
    d8a6y nè bạn MOV00042 - YouTube
    không tiếp nhận cuộc gọi qua điện thoại vì đi làm toàn tập, tính khí thất thường, hay nóng võ công lại cao

    Comment


    • #3
      Hi anh 01642555134,
      Đúng là mạch mình cần, nhưng giống như cưỡi ngựa xem hoa, không để lại dấu vết biết làm sao lần mò học hỏi hả anh?

      Comment


      • #4
        Nguyên văn bởi thanhtuanbkd Xem bài viết
        Chào tất cả các anh chị,
        Em đang tìm hiểu để làm 1 mạch led matrix 8x64 chạy chữ để làm kỷ niệm nhưng còn mù mờ quá. Anh chị nào có mạch hay đồ án về cái này post lên cho anh em tham khảo với.

        Thanks!
        đây, tham khảo nha. http://www.dientuvietnam.net/forums/...matrix-135141/
        3 màu luôn.
        Mãi đi tìm vàng.

        Comment


        • #5
          em viết code led matrix mà khong biết bị lỗi gì. mong anh em sữa lỗi giúp em với. thanks
          PHP Code:
          /*****************Bo Tien Xu Li********************/

          #include <16f877.h>
          #fuses hs,nowdt
          #use delay (clock=20000000)
                             
          /**************Khai bao bien toan cuc**************/

          unsigned char kytu[9];
          unsigned char k=0;

          /*******************Khai bao ham*******************/

          //==================Ham delay======================

          void delay(unsigned int time)
          {
              
          unsigned int i;
              for(
          i=0;i<time;i++);
          }

          //=================Ham ma hoa======================

          void mahoa(unsigned char x)
          {
              switch(
          x)
              {
                  case 
          0// space
                  
          {
                      
          kytu[0]=0x00;kytu[1]=0x00;kytu[2]=0x00;kytu[3]=0x00;kytu[4]=0x00;
                      
          kytu[5]=0x00;kytu[6]=0x00;kytu[7]=0x00;kytu[8]=0x00; break;
                  }
                  case 
          1// chu C
                  
          {
                      
          kytu[0]=0x00;kytu[1]=0x72;kytu[2]=0x8A;kytu[3]=0x86;kytu[4]=0x82;
                      
          kytu[5]=0x2;kytu[6]=0x2;kytu[7]=0x2;kytu[8]=0x00; break;
                  }        case 
          2// chu H
                  
          {
                      
          kytu[0]=0x00;kytu[1]=0xFF;kytu[2]=0x10;kytu[3]=0x10;kytu[4]=0x10;
                      
          kytu[5]=0x10;kytu[6]=0x10;kytu[7]=0xFF;kytu[8]=0x00; break;
                  }
                  case 
          3// chu A
                  
          {
                      
          kytu[0]=0x00;kytu[1]=0xFE;kytu[2]=0x11;kytu[3]=0x11;kytu[4]=0x11;
                      
          kytu[5]=0x11;kytu[6]=0x11;kytu[7]=0xFE;kytu[8]=0x00; break;
                  }
                  case 
          4// chu N
                  
          {
                      
          kytu[0]=0x00;kytu[1]=0xFF;kytu[2]=0x02;kytu[3]=0x04;kytu[4]=0x08;
                      
          kytu[5]=0x10;kytu[6]=0x20;kytu[7]=0xFF;kytu[8]=0x00; break;
                  }
                  case 
          5// chu G
                  
          {
                      
          kytu[0]=0x00;kytu[1]=0x7E;kytu[2]=0x81;kytu[3]=0x81;kytu[4]=0x81;
                      
          kytu[5]=0x91;kytu[6]=0x91;kytu[7]=0x72;kytu[8]=0x00; break;
                  }
                  case 
          6// space      
                  
          {
                      
          kytu[0]=0x00;kytu[1]=0x00;kytu[2]=0x00;kytu[3]=0x00;kytu[4]=0x00;
                      
          kytu[5]=0x00;kytu[6]=0x00;kytu[7]=0x00;kytu[8]=0x00; break;
                  }
              }
          }

          //======================Ham hien thi================

          void hienthi()
          {
              
          unsigned char dichhienthi,solanlap,n;
              
          unsigned char cot[8]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
              for(
          dichhienthi=0;dichhienthi<8;dichhienthi++)
              {
                  for(
          solanlap=0;solanlap<50;solanlap++)
                  {
                      for(
          n=0;n<8;n++)
                      {
                          if((
          dichhienthi+n)<8)
                          {
                              
          mahoa(k);
                              
          P1=cot[n];
                              
          P2=kytu[dichhienthi+n];
                              
          delay(50);
                          }
                          if((
          dichhienthi+n)>8)                
                          {
                              
          mahoa(k+1);
                              
          P1=cot[n];
                              
          P2=kytu[(dichhienthi+n)-8];
                              
          delay(50);
                          }
                          
          P1=255;
                          
          P2=0;
                      }
                  }
              }
                      
          }

          /*********************Ham chinh********************/

          void main(void)
          {
              while(
          1)
              {
                  
          hienthi();
                  
          k++;
                  if(
          k==7k=0;
              }
          }

          /**************************************************/ 

          Comment


          • #6
            Nguyên văn bởi donan1919 Xem bài viết
            em viết code led matrix mà khong biết bị lỗi gì. mong anh em sữa lỗi giúp em với. thanks
            PHP Code:
            /*****************Bo Tien Xu Li********************/

            #include <16f877.h>
            #fuses hs,nowdt
            #use delay (clock=20000000)
                               
            /**************Khai bao bien toan cuc**************/

            unsigned char kytu[9];
            unsigned char k=0;

            /*******************Khai bao ham*******************/

            //==================Ham delay======================

            void delay(unsigned int time)
            {
                
            unsigned int i;
                for(
            i=0;i<time;i++);
            }

            //=================Ham ma hoa======================

            void mahoa(unsigned char x)
            {
                switch(
            x)
                {
                    case 
            0// space
                    
            {
                        
            kytu[0]=0x00;kytu[1]=0x00;kytu[2]=0x00;kytu[3]=0x00;kytu[4]=0x00;
                        
            kytu[5]=0x00;kytu[6]=0x00;kytu[7]=0x00;kytu[8]=0x00; break;
                    }
                    case 
            1// chu C
                    
            {
                        
            kytu[0]=0x00;kytu[1]=0x72;kytu[2]=0x8A;kytu[3]=0x86;kytu[4]=0x82;
                        
            kytu[5]=0x2;kytu[6]=0x2;kytu[7]=0x2;kytu[8]=0x00; break;
                    }        case 
            2// chu H
                    
            {
                        
            kytu[0]=0x00;kytu[1]=0xFF;kytu[2]=0x10;kytu[3]=0x10;kytu[4]=0x10;
                        
            kytu[5]=0x10;kytu[6]=0x10;kytu[7]=0xFF;kytu[8]=0x00; break;
                    }
                    case 
            3// chu A
                    
            {
                        
            kytu[0]=0x00;kytu[1]=0xFE;kytu[2]=0x11;kytu[3]=0x11;kytu[4]=0x11;
                        
            kytu[5]=0x11;kytu[6]=0x11;kytu[7]=0xFE;kytu[8]=0x00; break;
                    }
                    case 
            4// chu N
                    
            {
                        
            kytu[0]=0x00;kytu[1]=0xFF;kytu[2]=0x02;kytu[3]=0x04;kytu[4]=0x08;
                        
            kytu[5]=0x10;kytu[6]=0x20;kytu[7]=0xFF;kytu[8]=0x00; break;
                    }
                    case 
            5// chu G
                    
            {
                        
            kytu[0]=0x00;kytu[1]=0x7E;kytu[2]=0x81;kytu[3]=0x81;kytu[4]=0x81;
                        
            kytu[5]=0x91;kytu[6]=0x91;kytu[7]=0x72;kytu[8]=0x00; break;
                    }
                    case 
            6// space      
                    
            {
                        
            kytu[0]=0x00;kytu[1]=0x00;kytu[2]=0x00;kytu[3]=0x00;kytu[4]=0x00;
                        
            kytu[5]=0x00;kytu[6]=0x00;kytu[7]=0x00;kytu[8]=0x00; break;
                    }
                }
            }

            //======================Ham hien thi================

            void hienthi()
            {
                
            unsigned char dichhienthi,solanlap,n;
                
            unsigned char cot[8]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
                for(
            dichhienthi=0;dichhienthi<8;dichhienthi++)
                {
                    for(
            solanlap=0;solanlap<50;solanlap++)
                    {
                        for(
            n=0;n<8;n++)
                        {
                            if((
            dichhienthi+n)<8)
                            {
                                
            mahoa(k);
                                
            P1=cot[n];
                                
            P2=kytu[dichhienthi+n];
                                
            delay(50);
                            }
                            if((
            dichhienthi+n)>8)                
                            {
                                
            mahoa(k+1);
                                
            P1=cot[n];
                                
            P2=kytu[(dichhienthi+n)-8];
                                
            delay(50);
                            }
                            
            P1=255;
                            
            P2=0;
                        }
                    }
                }
                        
            }

            /*********************Ham chinh********************/

            void main(void)
            {
                while(
            1)
                {
                    
            hienthi();
                    
            k++;
                    if(
            k==7k=0;
                }
            }

            /**************************************************/ 
            chỗ P1 và P2 mình làm sao cho hết bị lỗi, vì con này lấy trên chip vdk 89c51 em muốn chuyển sang 16f877

            Comment


            • #7
              sao không có ai giúp em hết zậy

              Comment


              • #8
                sao chẳng lấy ai giúp mình j trời

                Comment


                • #9
                  lên gogờ mà tìm cái này nhiều lắm nhung chỉ có tính chất tham khảo thôi còn bê nguyên si mà làm chưa chắc chạy đâu

                  Comment


                  • #10
                    giúp gì chứ, bạn phải đặt ra câu hỏi,thì a e mới bít mà giúp bạn đc chứ, bạn thắc mắc chỗ nào. thì pót lên a e cùng tr3 lời
                    không tiếp nhận cuộc gọi qua điện thoại vì đi làm toàn tập, tính khí thất thường, hay nóng võ công lại cao

                    Comment


                    • #11
                      mình thắc mắc ngay chỗ mình bôi đỏ đó, mình tính chuyển sang con chip 16f877 mà không bít ngõ ra P1 và P2 sửa làm sao hết



                      void hienthi()
                      {
                      unsigned char dichhienthi,solanlap,n;
                      unsigned char cot[8]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
                      for(dichhienthi=0;dichhienthi<8;dichhienthi++)
                      {
                      for(solanlap=0;solanlap<50;solanlap++)
                      {
                      for(n=0;n<8;n++)
                      {
                      if((dichhienthi+n)<8)
                      {
                      mahoa(k);
                      P1=cot[n];
                      P2=kytu[dichhienthi+n];

                      delay(50);
                      }
                      if((dichhienthi+n)>8)
                      {
                      mahoa(k+1);
                      P1=cot[n];
                      P2=kytu[(dichhienthi+n)-8]
                      ;
                      delay(50);
                      }
                      P1=255;
                      P2=0;

                      }
                      }
                      }

                      }

                      Comment


                      • #12
                        #define hang RC
                        #define cot RB

                        thêm này vào mà vẫn báo lỗi

                        Comment


                        • #13
                          có anh nào giúp em khắc phục lỗi này không

                          Comment


                          • #14
                            Nguyên văn bởi donan1919 Xem bài viết
                            có anh nào giúp em khắc phục lỗi này không
                            Bạn thử thay PB,PC trong lệnh define đó bằng địa chỉ cụ thể của nó xem
                            vanduc0211@gmail.com

                            Comment


                            • #15
                              mình không biết trong Pic như thế nào nhưng trong 89xxx này thì khi khai báo cần có lệnh #include<regx51.h> ở đầu .bạn xem thử nhé
                              chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
                              Everything should be made as simple as possible, but not simpler

                              Comment

                              Về tác giả

                              Collapse

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

                              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