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

                Đang tải...
                X