Thông báo

Collapse
No announcement yet.

cho e hỏi về led matrix

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

  • cho e hỏi về led matrix

    tình hình là e đã đọc các bài viết về lad matrix trên 4rum rùi, thêm 1 ít mày mò nữa thì được cái mạch với code để nó hiện lên hình trái tim trên matrix 8x8.e đang vướng ở phần dịch nó sang trái,sang phải, đại loại là hình phải chuyển động. e gửi tất lên. a e góp ý giúp mình làm thế nào cho có hình chuyển động.

    #include <REGX51.H>
    #include <string.h>
    unsigned char code code_Tab[8]=
    {
    0x66,0xFF,0xFF,0xFF,0x7E,0x3C,0x18,0x00 //hinh trai tim
    };
    unsigned char code code_row[8]= // quet hang
    {
    0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F
    };
    #define SH_C P2_0
    #define DS_C P2_1
    #define ST_C P2_2


    #define SH_R P3_0
    #define DS_R P3_1
    #define ST_R P3_2

    unsigned long Tck,F;
    unsigned char Tckh,Tckl,X;
    unsigned int Pos=0,lengh_STR;
    unsigned char Tic=0;
    void delay_ms(long ms)
    {
    long i,j;
    for(i=0;i<=ms;i++)
    for(j=0;j<=7;j++)
    {;}
    }
    void dich_595_C(char in_C)
    {
    int k_C;
    bit out_C;
    for(k_C=0;k_C<8;k_C++)
    {
    out_C=in_C&0x80;
    DS_C=out_C;
    in_C=in_C<<1;
    SH_C=1;
    SH_C=0;
    }
    ST_C=1;//delay_ms(1);
    ST_C=0;
    }
    void dich_595_R(char in_R)
    {
    int k_R;
    bit out_R;
    for(k_R=0;k_R<8;k_R++)
    {
    out_R=in_R&0x80;
    DS_R=out_R;
    in_R=in_R<<1;
    SH_R=1;
    SH_R=0;
    }
    ST_R=1;//delay_ms(1);
    ST_R=0;
    }
    void main ()
    {
    unsigned int m;
    while(1)
    { //n=0;
    for(m=Pos;m<8+Pos;m++)
    {
    dich_595_C(code_Tab[m]);
    dich_595_R(code_row[m]);
    //P3=code_row[m];
    delay_ms(10);
    dich_595_R(0xFF);
    }
    }
    }
    Last edited by hoasua_2005; 27-12-2009, 14:19.

  • #2
    Nguyên văn bởi hoasua_2005 Xem bài viết
    tình hình là e đã đọc các bài viết về lad matrix trên 4rum rùi, thêm 1 ít mày mò nữa thì được cái mạch với code để nó hiện lên hình trái tim trên matrix 8x8.e đang vướng ở phần dịch nó sang trái,sang phải, đại loại là hình phải chuyển động. e gửi tất lên. a e góp ý giúp mình làm thế nào cho có hình chuyển động.


    }
    Muốn dịch thì bạn chỉ cần thuật toán là

    bit7=data_traitim&0x80;
    data_traitim=(data_traitim<<1);
    data_traitim&=0xfe; xóa bit 0 hoặc
    data_traitim |=bit7; xoay tròn trái tim

    rồi quét tương tự như lúc đầu. chúc tc

    Email:
    Tel: 0983.497.310

    Comment


    • #3
      Sau may anh dua mach len ma con dau chi vay toi ngiep nguoi moi

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X