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

  • #16
    Nguyên văn bởi daohuytien Xem bài viết
    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é
    mình viết bên 16f877 nên khong được bạn ak.

    Comment


    • #17
      Nguyên văn bởi viboyth.haui Xem bài viết
      Bạn thử thay PB,PC trong lệnh define đó bằng địa chỉ cụ thể của nó xem
      không được anh ơi. vẫn cứ báo lỗi

      Comment


      • #18
        ới bạn ơi ? đây là mục trao đổi về 8051 cơ mà ? thế thì bạn phải sang bên picvietnam.com hỏi thôi
        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


        • #19
          Mình chưa xem sơ đồ chân con pic không biết là nó có p0 : p1 2 : p3 không hay no chia chân tên goi khác.nếu khác phai đăt cho đúng tên. Chứ đắt tên không đúng thi không đc đâu
          Email:
          phương trâm sống "như thế vẫn là chưa đủ"

          Comment


          • #20
            Nguyên văn bởi donan1919 Xem bài viết
            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;

            }
            }
            }

            }
            TUI CHUA LAP TRINH PIC NHUNG MÀ CÓ ĐỌc sơ qua thấy cú pháp của bạn hình như là sai rùi vì pic phải khai báo tần số thạch anh trong lâp trình và các port có định nghĩa khác hình như là ...tui cũng không rõ nhưng mà hông phải là p1,p2 nhu 89 dâu muốn port â xuất phải khai báo trưởc nó mới biết là xuất hay nhâp chứ không như 89 đâu bạn à

            Comment


            • #21
              Bạn phải cho biết là bạn dùng trình dịch gì chứ. ví dụ với CCS nhá
              #include<16F877A.h>
              #fuses NOWDT,PUT,HS,NOPROTECT
              #use delay(clock=10000000)
              #use fast_io(b)
              #byte portb=0x6
              main()
              {
              set_tris_b(0);
              while(true)
              {
              portb=255; //all led on
              delay_ms(1000);
              portb=0; //all led off
              delay_ms(1000);
              }
              }

              Comment


              • #22
                ở code của bạn. P1 là port B. P2 là Port C.
                #use fast_io(b)
                #use fast_io(c)
                #byte P1 = 0x06
                #byte P2 = 0x07
                main()
                {
                set_tris_b(0);
                set_tris_c(0);
                {
                P1=0; // tat cả chân ra P1 = 0
                P2= 255; // tat ca chân ra P2 = 1
                }
                }

                Comment


                • #23
                  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;
                      }
                  }

                  /**************************************************/ 
                  p1 => PORTA
                  p2 => PORTD

                  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