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

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • thanhtuanbkd
    Thành viên mới
    • May 2011
    • 3

    #1

    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!
  • 01642555134
    Thành viên tích cực
    • Jul 2012
    • 626

    #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

    • thanhtuanbkd
      Thành viên mới
      • May 2011
      • 3

      #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

      • KVLV
        Thành viên tích cực
        • Aug 2010
        • 1986

        #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

        • donan1919
          Thành viên chính thức
          • Feb 2012
          • 33

          #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==7) k=0;
              }
          }
          
          /**************************************************/ 
          

          Comment

          • donan1919
            Thành viên chính thức
            • Feb 2012
            • 33

            #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==7) k=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

            • donan1919
              Thành viên chính thức
              • Feb 2012
              • 33

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

              Comment

              • donan1919
                Thành viên chính thức
                • Feb 2012
                • 33

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

                Comment

                • thanhnha220
                  Banned
                  • Dec 2012
                  • 165

                  #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

                  • 01642555134
                    Thành viên tích cực
                    • Jul 2012
                    • 626

                    #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

                    • donan1919
                      Thành viên chính thức
                      • Feb 2012
                      • 33

                      #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

                      • donan1919
                        Thành viên chính thức
                        • Feb 2012
                        • 33

                        #12
                        #define hang RC
                        #define cot RB

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

                        Comment

                        • donan1919
                          Thành viên chính thức
                          • Feb 2012
                          • 33

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

                          Comment

                          • viboyth.haui
                            Thành viên tích cực
                            • Feb 2012
                            • 300

                            #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

                            • daohuytien
                              Thành viên tích cực
                              • Mar 2008
                              • 440

                              #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

                              Đang tải...