MATRIX 8x24

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • thuy_huyen
    Thành viên mới
    • Aug 2010
    • 21

    #16
    Em cảm ơn Mr.ngoc nhiều lắm!!!!

    Comment

    • thuy_huyen
      Thành viên mới
      • Aug 2010
      • 21

      #17
      Em chào mọi người!!
      em có thể hỏi cái này được không ạ?
      Trong 1 đoạn cde của AVR viết bằng Code vision người ta có khai báo 1 cái là

      // Global enable interrupts
      #asm("sei")

      k=-48;
      length = cdmd;
      for (i=0;i<length;i++)
      {
      chu[i]=macdinh[i];
      };



      thì cái dòng #asm("sei")
      có nghĩa là gị vậy mấy anh???
      Em cảm ơn nhiều lắm

      Comment

      • vo_cam
        Thành viên tích cực
        • Mar 2008
        • 284

        #18
        Nguyên văn bởi thuy_huyen Xem bài viết
        Em chào mọi người!!
        em có thể hỏi cái này được không ạ?
        Trong 1 đoạn cde của AVR viết bằng Code vision người ta có khai báo 1 cái là

        // Global enable interrupts
        #asm("sei")

        k=-48;
        length = cdmd;
        for (i=0;i<length;i++)
        {
        chu[i]=macdinh[i];
        };



        thì cái dòng #asm("sei")
        có nghĩa là gị vậy mấy anh???
        Em cảm ơn nhiều lắm
        #asm("sei")
        sei = set enable interupt : Có nghĩa là cho phép ngắt toàn cục
        dùng chỉ thị #asm để nhúng lệnh asm vào trong chương trình C
        0945061338(vocam.h@gmail.com,lehanhdtk3@gmail.com)
        ||
        PROGRAMING(C,ASM),HARDWARE,LMD,RTC,GPRS,GPS....ALL OF VDK

        Comment

        • thuy_huyen
          Thành viên mới
          • Aug 2010
          • 21

          #19
          các anh ơi cho em hỏi cái này tí.Sao em mô phỏng con AVR trên protues mà nó không chạy đúng tí nào nhỉ??? hay mình phải làm mạch test thì nó mới chạy?
          các anh xem thử phần lập trình và mạch nguyên lý của em trên protues xem có chổ nào sai không !!!
          Em cả ơn rất nhiều
          http://www.mediafire.com/?2pj1mcb33nee3l5

          Comment

          • tthdts
            Thành viên mới
            • Nov 2011
            • 8

            #20
            ai làm mạch này rồi cho minh xin sơ đồ và code đc ko. m đang làm mà thấy không ổ lắm. chữ nó bị nhòe sang hai bên và không sáng lắm. chắc do m ko biết lắp trazistor.hi.thank trước...

            Comment

            • phucan2104
              Thành viên chính thức
              • Aug 2011
              • 39

              #21
              Bạn vào đây xem thử, minh đã ưng dụng làm mach thật chạy rất tốt, nếu bạn ở TP.HCM bạn vào cửa hàng đó mua mạch in 8X24 (khoan 20 ngan) về hàn linh kiện vô là chay thôi
              Trao đổi học tập - chi tiết

              Comment

              • dtcn_112
                Thành viên tích cực
                • Apr 2012
                • 267

                #22
                cách quét led này tốn chân vi điều khiển mình có mạch matrix 8x48 này,hi vọng giúp ích,code mình vừa viết lại bằng ngôn ngữ asm trên phần mềm keil c ,trước đây thì mình viết bằng ride link:matrix chi co 595.rar
                mạch này chỉ dùng ít chân vi điều khiền rất hay dùng

                Comment

                • supermohan
                  Thành viên chính thức
                  • Jun 2011
                  • 32

                  #23
                  #include <REGX51.H>
                  /* Cot tu P1.0 den 1.7
                  Hang tu P2.0 den P3.7
                  De quet dua muc logic 0 lan luot ra cong 0
                  */
                  /* Ham tre */
                  void delay(long time)
                  {
                  long n;
                  for(n=0; n<time; n++)
                  {
                  ;
                  }
                  }
                  unsigned char kytu1[9];
                  unsigned char kytu2[9];
                  unsigned char k=0;
                  /* Ham nap gia tri hien thi cac ky tu vao mang kytu1
                  co 8 gia tri dua ra va 1 gia tri khong bat den nao de cac ky tu cach nhau 1 cot */
                  void mahoa(unsigned char x)
                  {
                  switch(x)
                  {
                  case 0: { kytu1[0]=0x00; kytu1[1]=0x00; kytu1[2]=0x00; kytu1[3]=0x00;
                  kytu1[4]=0x00; kytu1[5]=0x00; kytu1[6]=0x00; kytu1[7]=0x00; kytu1[8]=0x00; kytu2[0]=0x00; kytu2[1]=0x00; kytu2[2]=0x00; kytu2[3]=0x00;
                  kytu2[4]=0x00; kytu2[5]=0x00; kytu2[6]=0x00; kytu2[7]=0x00; kytu2[8]=0x00;
                  break; }
                  case 1: { kytu1[0]=0x00; kytu1[1]=0x3E; kytu1[2]=0x0A; kytu1[3]=0x0E;
                  kytu1[4]=0x00; kytu1[5]=0x38; kytu1[6]=0x08; kytu1[7]=0x08; kytu1[8]=0x00; kytu2[0]=0x00; kytu2[1]=0x00; kytu2[2]=0x00; kytu2[3]=0x00;
                  kytu2[4]=0x00; kytu2[5]=0x00; kytu2[6]=0x00; kytu2[7]=0x00; kytu2[8]=0x00;
                  break; }
                  case 2: { kytu1[0]=0x00; kytu1[1]=0x38; kytu1[2]=0x28; kytu1[3]=0x38;
                  kytu1[4]=0x00; kytu1[5]=0x38; kytu1[6]=0xA8; kytu1[7]=0xF8; kytu1[8]=0x00; kytu2[0]=0x00; kytu2[1]=0x3E; kytu2[2]=0x0A; kytu2[3]=0x0E;
                  kytu2[4]=0x00; kytu2[5]=0x38; kytu2[6]=0x08; kytu2[7]=0x08; kytu2[8]=0x00;
                  break; }
                  case 3: { kytu1[0]=0x00; kytu1[1]=0x38; kytu1[2]=0x08; kytu1[3]=0x08;
                  kytu1[4]=0x00; kytu1[5]=0x38; kytu1[6]=0x28; kytu1[7]=0x38; kytu1[8]=0x20; kytu2[0]=0x00; kytu2[1]=0x38; kytu2[2]=0x28; kytu2[3]=0x38;
                  kytu2[4]=0x00; kytu2[5]=0x38; kytu2[6]=0xA8; kytu2[7]=0xF8; kytu2[8]=0x00;
                  break; }
                  case 4: { kytu1[0]=0x20; kytu1[1]=0x00; kytu1[2]=0x38; kytu1[3]=0x08;
                  kytu1[4]=0x38; kytu1[5]=0x08; kytu1[6]=0x38; kytu1[7]=0x00; kytu1[8]=0x38; kytu2[0]=0x00; kytu2[1]=0x38; kytu2[2]=0x08; kytu2[3]=0x08;
                  kytu2[4]=0x00; kytu2[5]=0x38; kytu2[6]=0x28; kytu2[7]=0x38; kytu2[8]=0x20;
                  break; }
                  case 5: { kytu1[0]=0x38; kytu1[1]=0x08; kytu1[2]=0x38; kytu1[3]=0x08;
                  kytu1[4]=0x38; kytu1[5]=0x00; kytu1[6]=0x38; kytu1[7]=0x00; kytu1[8]=0x38; kytu2[0]=0x20; kytu2[1]=0x00; kytu2[2]=0x38; kytu2[3]=0x08;
                  kytu2[4]=0x38; kytu2[5]=0x08; kytu2[6]=0x38; kytu2[7]=0x00; kytu2[8]=0x38;
                  break; }
                  case 6: { kytu1[0]=0x38; kytu1[1]=0x08; kytu1[2]=0x38; kytu1[3]=0x00;
                  kytu1[4]=0x38; kytu1[5]=0xA8; kytu1[6]=0xF8; kytu1[7]=0x00; kytu1[8]=0x00; kytu2[0]=0x38; kytu2[1]=0x08; kytu2[2]=0x38; kytu2[3]=0x08;
                  kytu2[4]=0x38; kytu2[5]=0x00; kytu2[6]=0x38; kytu2[7]=0x00; kytu2[8]=0x38;
                  break; }
                  case 7: { kytu1[0]=0x00; kytu1[1]=0x3C; kytu1[2]=0x0A; kytu1[3]=0x3C;
                  kytu1[4]=0x02; kytu1[5]=0x3E; kytu1[6]=0x02; kytu1[7]=0x00; kytu1[8]=0x3E; kytu2[0]=0x38; kytu2[1]=0x08; kytu2[2]=0x38; kytu2[3]=0x00;
                  kytu2[4]=0x38; kytu2[5]=0xA8; kytu2[6]=0xF8; kytu2[7]=0x00; kytu2[8]=0x00;
                  break; }
                  case 8: { kytu1[0]=0x3E; kytu1[1]=0x2A; kytu1[2]=0x3E; kytu1[3]=0x00;
                  kytu1[4]=0x2E; kytu1[5]=0x2A; kytu1[6]=0x3E; kytu1[7]=0x00; kytu1[8]=0x3E; kytu2[0]=0x00; kytu2[1]=0x3C; kytu2[2]=0x0A; kytu2[3]=0x3C;
                  kytu2[4]=0x02; kytu2[5]=0x3E; kytu2[6]=0x02; kytu2[7]=0x00; kytu2[8]=0x3E;
                  break; }
                  case 9: { kytu1[0]=0x3E; kytu1[1]=0x22; kytu1[2]=0x22; kytu1[3]=0x00;
                  kytu1[4]=0x28; kytu1[5]=0x10; kytu1[6]=0x28; kytu1[7]=0x00; kytu1[8]=0x28; kytu2[0]=0x3E; kytu2[1]=0x2A; kytu2[2]=0x3E; kytu2[3]=0x00;
                  kytu2[4]=0x2E; kytu2[5]=0x2A; kytu2[6]=0x3E; kytu2[7]=0x00; kytu2[8]=0x3E;
                  break; }
                  case 10: { kytu1[0]=0x28; kytu1[1]=0x10; kytu1[2]=0x28; kytu1[3]=0x00;
                  kytu1[4]=0x00; kytu1[5]=0x00; kytu1[6]=0x00; kytu1[7]=0x00; kytu1[8]=0x00; kytu2[0]=0x3E; kytu2[1]=0x22; kytu2[2]=0x22; kytu2[3]=0x00;
                  kytu2[4]=0x28; kytu2[5]=0x10; kytu2[6]=0x28; kytu2[7]=0x00; kytu2[8]=0x28;
                  break; }
                  case 11: { kytu1[0]=0x00; kytu1[1]=0x00; kytu1[2]=0x00; kytu1[3]=0x00;
                  kytu1[4]=0x00; kytu1[5]=0x00; kytu1[6]=0x00; kytu1[7]=0x00; kytu1[8]=0x00; kytu2[0]=0x28; kytu2[1]=0x10; kytu2[2]=0x28; kytu2[3]=0x00;
                  kytu2[4]=0x00; kytu2[5]=0x00; kytu2[6]=0x00; kytu2[7]=0x00; kytu2[8]=0x00;
                  break; }
                  case 12: { kytu1[0]=0x00; kytu1[1]=0x00; kytu1[2]=0x00; kytu1[3]=0x00;
                  kytu1[4]=0x00; kytu1[5]=0x00; kytu1[6]=0x00; kytu1[7]=0x00; kytu1[8]=0x00; kytu2[0]=0x00; kytu2[1]=0x00; kytu2[2]=0x00; kytu2[3]=0x00;
                  kytu2[4]=0x00; kytu2[5]=0x00; kytu2[6]=0x00; kytu2[7]=0x00; kytu2[8]=0x00;
                  break; }
                  }
                  }
                  /* Ham quet led ma tran_ vua hien thi vua dich ky tu dan sang trai*/
                  void hienthi(void)
                  {
                  unsigned char n,m,lap;
                  unsigned char cot[8]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
                  for(m=0; m<8 ; m++)
                  {
                  for(lap=0; lap<2; lap ++)
                  {
                  for(n=0; n<8 ; n++)
                  {
                  if((n+m)<9 )
                  {
                  mahoa(k);
                  P0=cot[n];
                  P2=kytu1[n+m];
                  P3=kytu2[n+m];
                  delay(100);
                  }
                  if((n+m) > 7)
                  {
                  mahoa(k+1);
                  P0=cot[n];
                  P2=kytu1[n+m-8];
                  P3=kytu2[n+m-8];
                  delay(100);
                  }
                  P0=0xFF;
                  P2=0x00;
                  P3=0x00;
                  }
                  }
                  }
                  }
                  void main(void)
                  {
                  while(1)
                  {
                  hienthi();
                  k=k+1;
                  if(k==12) k=0;
                  }
                  }
                  Bác thử dùng code này xem, ở đây e dùng 3 port, đk 8x16, pác mún thêm port thì thêm vào hàm main, còn mún chỉnh nhanh chậm thì sửa 2 dòng delay là oker
                  Đừng tự hào nhà nghèo mà học giỏi.
                  Hãy tự hỏi tại sao giỏi mà vẫn nghèo.
                  Riêng mình: "vừa nghèo vừa ngu" :))

                  Comment

                  • anndt_55
                    Thành viên mới
                    • Aug 2013
                    • 4

                    #24
                    Bác có mạch 8x24 dùng mega8 + 595 không cho em xin với ạ.

                    Comment

                    Về tác giả

                    Collapse

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

                    Bài viết mới nhất

                    Collapse

                    Đang tải...