Thông báo

Collapse
No announcement yet.

Ai xem hộ code LED ma trận 8x32 dùng thanh ghi dịch 74HC595 của mình sai ở đâu ?

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

  • Ai xem hộ code LED ma trận 8x32 dùng thanh ghi dịch 74HC595 của mình sai ở đâu ?

    Mình đã làm mạch mô phỏng và viết code...nhưng chạy chưa được...có lẽ là code bị sai...mọi người xem hộ mình cái nhé ! Thanks.
    File đính kèm:http://www.mediafire.com/?o62tiz7in45nx23
    Code: http://www.mediafire.com/download.php?hlnnm4wghjbvpnj
    ---------------------------------
    #include<at89x51.h>
    #include<string.h>
    //-------------Khai bao bien-------------
    sbit SCH=P3^0;
    sbit DATA=P3^1;
    sbit LATCH=P3^2;
    int m,n,t,k;
    //--------------Khai bao mang------------
    unsigned char manghang[]={
    0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,//led tat
    0xFF,0x00,0x00,0xEF,0xEF,0x00,0x00,0xFF,//chu H
    0xFF,0xFF,0x7E,0x00,0x00,0x7E,0xFF,0xFF,//chu I
    0xFF,0x00,0x00,0x6E,0x6E,0x6E,0x7E,0xFF,//chu E
    0xFF,0x01,0x00,0xFE,0xFE,0x00,0x01,0xFF,//chu U
    0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
    0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
    0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
    0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
    };
    unsigned char mangcot1[] = {0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01},mangcot2[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

    //-------------Ham tre-----------------
    void tre(long t)
    {
    int i=0,j;
    for(;i<=10;i++)
    for(j=0;j<=t;j++);
    }
    //-----------Ham cho phep ghi vao thanh ghi HC595---------------
    void Data_bit()
    {
    SCH=1;
    SCH=0;
    }
    //------------Ham viet 8 bit vao thanh ghi HC595--------------
    void data_byte(unsigned char x)
    {
    unsigned char temp,i;
    for(i=0;i<8;i++)
    {
    temp=x;
    temp=temp&0x80;
    if(temp==0x80)
    DATA=1;
    else
    DATA=0;
    x*=2;
    Data_bit();
    }
    }
    //-------------Ham xuat gia tri tu thanh ghi ra cong ra HC595--------------
    void xuat()
    {
    LATCH=1;
    LATCH=0;
    }
    //-------------Ham hien thi ra LED ma tran-----------------
    void hienthi()
    {
    for(n=0;n<=7;n++)
    {
    data_byte(manghang[n+m]);
    if(n+m>=8)data_byte(manghang[n+m-8]);
    if(n+m>=16)data_byte(manghang[n+m-16]);
    if(n+m>=24)data_byte(manghang[n+m-24]);
    //tre(2);
    P1=mangcot1[n];
    xuat();
    tre(2);
    }
    }
    //-----------Ham chinh------------------
    void main(void)
    {
    m=0;
    while(1)
    {
    for(k=0;k<strlen(manghang)-1;k++)
    {
    hienthi();
    tre(2);
    }
    m++;
    if(m==strlen(manghang)-2)m=0;
    }
    }
    Last edited by hieult153; 07-05-2012, 01:03.

  • #2
    ĐÂU BẠN THỬ VIẾT CÁI CODE NÀY XEM THỬ CO ĐƯỢC KHÔNG


    ;..............CHƯƠNG TRÌNH CHÍNH.................


    #include <REGX52.H>
    #include <string.h>

    //******************BANG MA ASCII on LED matrix font 5x7 ****************

    unsigned char code code_Tab[97][6]={
    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,//SPACE 0
    0xFF,0xFF,0xA0,0xFF,0xFF,0xFF,//! 1
    0xFF,0xFF,0xF8,0xF4,0xFF,0xFF,//' 2
    0xEB,0x80,0xEB,0x80,0xEB,0xFF,//# 3
    0xDB,0xD5,0x80,0xD5,0xED,0xFF,//$ 4
    0xD8,0xEA,0x94,0xAB,0x8D,0xFF,//% 5
    0xC9,0xB6,0xA9,0xDF,0xAF,0xFF,//& 6
    0xFF,0xFF,0xF8,0xF4,0xFF,0xFF,//' 7
    0xFF,0xE3,0xDD,0xBE,0xFF,0xFF,//( 8
    0xFF,0xBE,0xDD,0xE3,0xFF,0xFF,//) 9
    0xD5,0xE3,0x80,0xE3,0xD5,0xFF,//* 10
    0xF7,0xF7,0xC1,0xF7,0xF7,0xFF,//+ 11
    0xFF,0xA7,0xC7,0xFF,0xFF,0xFF,//, 12
    0xF7,0xF7,0xF7,0xF7,0xF7,0xFF,//- 13
    0xFF,0x9F,0x9F,0xFF,0xFF,0xFF,//x 14
    0xFF,0xC9,0xC9,0xFF,0xFF,0xFF,// / 15
    0xC1,0xAE,0xB6,0xBA,0xC1,0xFF,//0 16
    0xFF,0xBD,0x80,0xBF,0xFF,0xFF,//1 17
    0x8D,0xB6,0xB6,0xB6,0xB9,0xFF,//2 18
    0xDD,0xBE,0xB6,0xB6,0xC9,0xFF,//3 19
    0xE7,0xEB,0xED,0x80,0xEF,0xFF,//4 20
    0xD8,0xBA,0xBA,0xBA,0xC6,0xFF,//5 21
    0xC3,0xB5,0xB6,0xB6,0xCF,0xFF,//6 22
    0xFE,0x8E,0xF6,0xFA,0xFC,0xFF,//7 23
    0xC9,0xB6,0xB6,0xB6,0xC9,0xFF,//8 24
    0xF9,0xB6,0xB6,0xD6,0xE1,0xFF,//9 25
    0xFF,0xC9,0xC9,0xFF,0xFF,0xFF,//: 26
    0xFF,0xA4,0xC4,0xFF,0xFF,0xFF,//// 27
    0xF7,0xEB,0xDD,0xBE,0xFF,0xFF,//< 28
    0xEB,0xEB,0xEB,0xEB,0xEB,0xFF,//= 29
    0xFF,0xBE,0xDD,0xEB,0xF7,0xFF,//> 30
    0xFD,0xFE,0xAE,0xF6,0xF9,0xFF,//? 31
    0xCD,0xB6,0x8E,0xBE,0xC1,0xFF,//@ 32
    0x83,0xF5,0xF6,0xF5,0x83,0xFF,//A 33
    0xBE,0x80,0xB6,0xB6,0xC9,0xFF,//B 34
    0xC1,0xBE,0xBE,0xBE,0xDD,0xFF,//C 35
    0xBE,0x80,0xBE,0xBE,0xC1,0xFF,//D 36
    0x80,0xB6,0xB6,0xB6,0xBE,0xFF,//E 37
    0x80,0xF6,0xF6,0xFE,0xFE,0xFF,//F 38
    0xC1,0xBE,0xB6,0xB6,0xC5,0xFF,//G 39
    0x80,0xF7,0xF7,0xF7,0x80,0xFF,//H 40
    0xFF,0xBE,0x80,0xBE,0xFF,0xFF,//I 41
    0xDF,0xBF,0xBE,0xC0,0xFE,0xFF,//J 42
    0x80,0xF7,0xEB,0xDD,0xBE,0xFF,//K 43
    0x80,0xBF,0xBF,0xBF,0xFF,0xFF,//L 44
    0x80,0xFD,0xF3,0xFD,0x80,0xFF,//M 45
    0x80,0xFD,0xFB,0xF7,0x80,0xFF,//N 46
    0xC1,0xBE,0xBE,0xBE,0xC1,0xFF,//O 47
    0x80,0xF6,0xF6,0xF6,0xF9,0xFF,//P 48
    0xC1,0xBE,0xAE,0xDE,0xA1,0xFF,//Q 49
    0x80,0xF6,0xE6,0xD6,0xB9,0xFF,//R 50
    0xD9,0xB6,0xB6,0xB6,0xCD,0xFF,//S 51
    0xFE,0xFE,0x80,0xFE,0xFE,0xFF,//T 52
    0xC0,0xBF,0xBF,0xBF,0xC0,0xFF,//U 53
    0xE0,0xDF,0xBF,0xDF,0xE0,0xFF,//V 54
    0xC0,0xBF,0xCF,0xBF,0xC0,0xFF,//W 55
    0x9C,0xEB,0xF7,0xEB,0x9C,0xFF,//X 56
    0xFC,0xFB,0x87,0xFB,0xFC,0xFF,//Y 57
    0x9E,0xAE,0xB6,0xBA,0xBC,0xFF,//Z 58
    0xFF,0x80,0xBE,0xBE,0xFF,0xFF,//[ 59
    0xFD,0xFB,0xF7,0xEF,0xDF,0xFF,//\ 60
    0xFF,0xBE,0xBE,0x80,0xFF,0xFF,//] 61
    0xFB,0xFD,0xFE,0xFD,0xFB,0xFF,//^ 92
    0x7F,0x7F,0x7F,0x7F,0x7F,0xFF,//_ 63
    0xFF,0xFF,0xF8,0xF4,0xFF,0xFF,//' 64
    0xDF,0xAB,0xAB,0xAB,0xC7,0xFF,//a 65
    0x80,0xC7,0xBB,0xBB,0xC7,0xFF,//b 66
    0xFF,0xC7,0xBB,0xBB,0xBB,0xFF,//c 67
    0xC7,0xBB,0xBB,0xC7,0x80,0xFF,//d 68
    0xC7,0xAB,0xAB,0xAB,0xF7,0xFF,//e 69
    0xF7,0x81,0xF6,0xF6,0xFD,0xFF,//f 70
    0xF7,0xAB,0xAB,0xAB,0xC3,0xFF,//g 71
    0x80,0xF7,0xFB,0xFB,0x87,0xFF,//h 72
    0xFF,0xBB,0x82,0xBF,0xFF,0xFF,//i 73
    0xDF,0xBF,0xBB,0xC2,0xFF,0xFF,//j 74
    0xFF,0x80,0xEF,0xD7,0xBB,0xFF,//k 75
    0xFF,0xBE,0x80,0xBF,0xFF,0xFF,//l 76
    0x83,0xFB,0x87,0xFB,0x87,0xFF,//m 77
    0x83,0xF7,0xFB,0xFB,0x87,0xFF,//n 78
    0xC7,0xBB,0xBB,0xBB,0xC7,0xFF,//o 79
    0x83,0xEB,0xEB,0xEB,0xF7,0xFF,//p 80
    0xF7,0xEB,0xEB,0xEB,0x83,0xFF,//q 81
    0x83,0xF7,0xFB,0xFB,0xF7,0xFF,//r 82
    0xB7,0xAB,0xAB,0xAB,0xDB,0xFF,//s 83
    0xFF,0xFB,0xC0,0xBB,0xBB,0xFF,//t 84
    0xC3,0xBF,0xBF,0xDF,0x83,0xFF,//u 85
    0xE3,0xDF,0xBF,0xDF,0xE3,0xFF,//v 86
    0xC3,0xBF,0xCF,0xBF,0xC3,0xFF,//w 87
    0xBB,0xD7,0xEF,0xD7,0xBB,0xFF,//x 88
    0xF3,0xAF,0xAF,0xAF,0xC3,0xFF,//y 89
    0xBB,0x9B,0xAB,0xB3,0xBB,0xFF,//z 90
    0xFB,0xE1,0xE0,0xE1,0xFB,0xFF,//^ 62
    0xE3,0xE3,0xC1,0xE3,0xF7,0xFF,//-> 93
    0xF7,0xE3,0xC1,0xE3,0xE3,0xFF,//<- 94
    0xEF,0xC3,0x83,0xC3,0xEF,0xFF,// 95
    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,//BLANK CHAR 96
    };
    sbit SDA = P2^0;
    sbit SCL = P2^1;
    sbit STR = P2^2;

    sfr DataPort = 0x90;
    //-------------------------------------------
    //-------------------------------------------

    unsigned char *String_input ="Chao mung cac ban den voi website daihocdientu4.jimdo.com - Chuc cac ban co nhung giay phut vui ve tren website";
    // thay doi chu chay bat ky o day !!
    unsigned int Pos=0,lengh_STR;
    unsigned char Tic=0;
    #define With_of_font 6
    void main (){
    unsigned char Temp_code;
    unsigned int j;
    TMOD=0x01;
    TH0=TL0=-100;
    TR0=1;
    ET0=1;
    lengh_STR = strlen(String_input)*6;
    EA=1;
    while(1){

    SDA=1;
    for(j=Pos;j<32+Pos;j++){
    Temp_code=code_Tab[ String_input[(j%lengh_STR)/With_of_font] -32][j%With_of_font];
    DataPort=0xFF;
    SCL=1;
    SCL=0;
    STR=1;
    STR=0;
    DataPort = Temp_code;
    SDA=0;


    }
    }
    }

    void INT_Timer0()interrupt 1{
    Tic++;
    if(Tic==2){
    Tic=0;
    Pos++;
    if(Pos>=lengh_STR)
    Pos=0;
    } }

    Comment


    • #3
      cái code này quen lắm, hình như trên machdientu.net nè
      SĐt: 01238004961

      Comment


      • #4
        co ai co code ben phan mem asem k
        cho m cai vs
        m cam on nhju nh
        email: vanmanh.magic@gmail.com

        Comment


        • #5
          anh thienprodhtd co the vien cho em cai code ma ben phan mem asem k
          em cam on anh nhju
          email: vanmanh.magic@gmail.com

          Comment


          • #6
            strlen là hàm gì thế nhỉ :3

            Comment


            • #7
              hàm strlen() dùng để tính độ dài của một chuỗi bạn puccadangiu

              Comment


              • #8
                void main()
                {
                int n,i,k,j;


                P0_0=0;//den xanh ngang bat 1
                P0_1=1;//den do ngang tat 0
                P0_2=1;//den vang ngang tat 1
                P0_3=1;//den xanh doc tat 0
                P0_4=0;//den do doc bat 1
                P0_5=1;// den vang doc tat 1
                P0_6=0;//den re phai bat 1
                P0_7=1;//den cam re phai tat 0

                while(1)

                {
                for(k=2;k>=0;k--)
                {
                for(i=9;i>=0;i--)
                {
                for(j=0;j<50;j++) //tao thoi gian tre hien thi nhay 100lan
                {
                for(n=0;n<8;n++)
                {
                P2=mahang[n]; //quet hang
                P3=macot[i*8+n]; //quet cot led sau
                P1=macot[k*8+n];//quet cot led truoc
                delayms(1); //thoigian hien thi 1 cot
                }
                }
                if(i==5&&k==0)
                {
                P0=0xDB;
                }
                if(i==0&&k==0)
                {
                P0=0x75;
                }
                }
                }
                giải thích hộ mình từng đoạn lệnh này k,tức là từng bước 1 ấy

                Comment

                Về tác giả

                Collapse

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

                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