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

                  Đang tải...
                  X