Thông báo

Collapse
No announcement yet.

[Help] Khắc phục lỗi kelc

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

  • [Help] Khắc phục lỗi kelc

    Tình hình là em đang làm cái led cube nhưng khi em lập trình hiệu ứng các số 3,2,1 quay 360 độ và đếm lùi thì báo lỗi " auto segment too large " code của em như thế này
    #include<reg52.h>
    #include<intrins.h>
    #include<stdlib.h>
    #include<stdio.h>
    sbit lop1=P0^0;
    sbit lop2=P0^1;
    sbit lop3=P0^2;
    sbit lop4=P0^3;
    sbit lop5=P0^4;
    sbit c1 = P1^0;
    sbit c2 = P1^1;
    sbit c3 = P1^2;
    sbit c4 = P1^3;
    sbit c5 = P1^4;
    sbit c6 = P1^5;
    sbit c7 = P1^6;
    sbit c8 = P1^7;
    sbit c9 = P3^7;
    sbit c10 = P3^6;
    sbit c11 = P3^5;
    sbit c12 = P3^4;
    sbit c13 = P3^3;
    sbit c14 = P3^2;
    sbit c15 = P3^1;
    sbit c16 = P3^0;
    sbit c17 = P2^0;
    sbit c18 = P2^1;
    sbit c19 = P2^2;
    sbit c20 = P2^3;
    sbit c21 = P2^4;
    sbit c22 = P2^5;
    sbit c23 = P2^6;
    sbit c24 = P2^7;
    sbit c25 = P0^5;

    void delay(unsigned int t)
    {
    int i;
    for(i=0;i<=t;i++);
    }
    //______________________________________//
    void _3_21(void)
    {
    unsigned int i,j,k;
    unsigned char quet[5]={0xfe,0xfd,0xfb,0xf7,0xef};
    unsigned char M[27][5] = {{0xff,0xff,0xff,0xff,0xff},
    {0xbf,0xef,0xbf,0xef,0xbf},
    {0x7f,0xfb,0xef,0xfb,0x7f},
    {0xff,0xfe,0xff,0xfe,0xff}, //co cot 25
    {0xff,0xff,0xff,0xff,0xff},
    {0xbf,0xef,0xff,0xef,0xbf},
    {0x7f,0xfb,0xff,0xfb,0x7f},
    {0xff,0xfe,0xff,0xfe,0xff}, //co cot 25
    {0xff,0xff,0xff,0xff,0xff},
    // So 2//
    {0xff,0xff,0xff,0xff,0xff},
    {0xbf,0xef,0xbf,0xff,0xaf},
    {0x7f,0xfb,0xef,0xff,0x7b},
    {0xff,0xfe,0xff,0xff,0xfe}, //co cot 25
    {0xff,0xff,0xff,0xff,0xff},
    {0xbf,0xef,0xff,0xbf,0xaf},
    {0x7f,0xfb,0xff,0x7f,0x7b},
    {0xff,0xfe,0xff,0x7f,0xfe}, // co cot 25
    {0xff,0xff,0xff,0xff,0xff},
    // So 1//
    {0xff,0xff,0xff,0xff,0xff},
    {0xff,0xff,0xff,0xff,0xbf},
    {0xff,0xff,0xff,0xff,0x7f},
    {0xff,0xff,0xff,0xff,0xff},
    {0xff,0xff,0xff,0xff,0xff},
    {0xff,0xbf,0xff,0xff,0xbf},
    {0xff,0x7f,0xff,0xff,0x7f},
    {0xff,0xff,0xff,0xff,0xff},
    {0xff,0xff,0xff,0xff,0xff}};

    unsigned char N[27][5] ={{0xff,0xff,0xff,0xff,0xff},
    {0xfb,0xef,0xff,0xef,0xfb},
    {0xfd,0xbf,0xff,0xbf,0xfd},
    {0xfe,0xff,0xff,0xff,0xfe}, // co cot 25
    {0xff,0xff,0xff,0xff,0xff},
    {0xfb,0xef,0xfb,0xef,0xfb},
    {0xfd,0xbf,0xfd,0xbf,0xfd},
    {0xfe,0xff,0xfe,0xff,0xfe}, // co cot 25
    {0xff,0xff,0xff,0xff,0xff},
    // SO 2//
    {0xff,0xff,0xff,0xff,0xff},
    {0xfb,0xef,0xff,0xfb,0xeb},
    {0xfd,0xbf,0xff,0xfd,0xbd},
    {0xfe,0xff,0xff,0xfe,0xfe}, // co cot 25
    {0xff,0xff,0xff,0xff,0xff},
    {0xfb,0xef,0xfb,0xff,0xeb},
    {0xfd,0xbf,0xfd,0xff,0xbd},
    {0xfe,0xff,0xfe,0xff,0xfe},// co cot 25
    {0xff,0xff,0xff,0xff,0xff},
    //So 1//
    {0xff,0xff,0xff,0xff,0xff},
    {0xff,0xfb,0xff,0xff,0xfb},
    {0xff,0xfd,0xff,0xff,0xfd},
    {0xff,0xfe,0xff,0xff,0xfe},
    {0xff,0xff,0xff,0xff,0xff},
    {0xff,0xff,0xff,0xff,0xfb},
    {0xff,0xff,0xff,0xff,0xfd},
    {0xff,0xff,0xff,0xff,0xfe},
    {0xff,0xff,0xff,0xff,0xff}};

    unsigned char L[27][5] ={{0xe3,0xdd,0xf3,0xdd,0xe3},
    {0xf7,0xff,0xf7,0xff,0xf7},
    {0xf7,0xff,0xf7,0xff,0xf7},
    {0x77,0xff,0x77,0xff,0x77}, // co cot 25
    {0xe3,0xdd,0xe7,0xdd,0xe3},
    {0xf7,0xff,0xf7,0xff,0xf7},
    {0xf7,0xff,0xf7,0xff,0xf7},
    {0x77,0xff,0xf7,0xff,0x77}, // co cot 25
    {0xe3,0xdd,0xf3,0xdd,0xe3},
    // So 2//
    {0xe3,0xdd,0xf3,0xef,0xc1},
    {0xf7,0xff,0xf7,0xff,0xf7},
    {0xf7,0xff,0xf7,0xff,0xf7},
    {0x77,0xff,0x77,0xff,0x77}, // co cot 25
    {0xe3,0xdd,0xe7,0xfb,0xc1},
    {0xf7,0xff,0xf7,0xff,0xf7},
    {0xf7,0xff,0xf7,0xff,0xf7},
    {0x77,0xff,0xf7,0xff,0x77}, // co cot 25
    {0xe3,0xdd,0xf3,0xef,0xc1},
    //So 1//
    {0xf7,0xe7,0xf7,0xf7,0xe3},
    {0xf7,0xf7,0xf7,0xf7,0xf7},
    {0xf7,0xf7,0xf7,0xf7,0xf7},
    {0xf7,0xf7,0xf7,0xf7,0x77},
    {0xf7,0xf3,0xf7,0xf7,0xe3},
    {0xf7,0xf7,0xf7,0xf7,0xf7},
    {0xf7,0xf7,0xf7,0xf7,0xf7},
    {0xf7,0x77,0xf7,0xf7,0x77},
    {0xf7,0xe7,0xf7,0xf7,0xe3}};

    for(i=0;i<=26;i++)
    {
    for(k=0;k<=500;k++) // vong lap tao tre//
    {
    for(j=0;j<=4;j++)
    {
    P0= quet[j];
    P1= M[i][j];
    P2= N[i][j];
    P3= L[i][j];
    if((i==3&&j==1)||(i==3&&j==3)||(i==7&&j==1)||(i==7 &&j==3)||(i=12&&j==1)||(i==12&&j==4)||(i==16&&j==1 )||(i==16&&j==4))
    c25=0;
    else c25=1;
    delay(2);
    }
    }
    }
    }
    void main(void)
    {
    while(1)
    {
    _3_21();
    }
    }
    pro nào vào giải thích giúp em với
    Dùng thử website bán hàng chuyên nghiệp hoàn toàn miễn phí :

    Liên hệ ngay: 01649440 năm một năm

  • #2
    bạn thêm chữ code trước khai báo các mảng xem sao, ví dụ code unsigned char

    Comment


    • #3
      Nguyên văn bởi trimen Xem bài viết
      bạn thêm chữ code trước khai báo các mảng xem sao, ví dụ code unsigned char
      em thêm vào được rồi dịch ra file hex không có lỗi gì nhưng mà khi nạp vào vdk chạy ở mạch thật thì ko chạy đc nản quá. em nghĩ thuật toán quét đúng rồi nhưng chỉ sợ ở chỗ kiểm tra đk if có vấn đề
      Dùng thử website bán hàng chuyên nghiệp hoàn toàn miễn phí :

      Liên hệ ngay: 01649440 năm một năm

      Comment


      • #4
        Build target 'Target 1'
        linking...
        BL51 BANKED LINKER/LOCATER V6.02 - SN: Eval Version
        COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2006
        "pho.obj"
        TO "pho"
        RAMSIZE(256)
        ************************************************** ****************************
        * RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 081DH BYTE (101%) *
        ************************************************** ****************************
        Program Size: data=60.0 xdata=0 code=2221
        LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)
        *** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED
        MODULE: D:\PHO\5X5X5\C51\LIB\C51S.LIB (-----)
        LIMIT: 0800H BYTES
        Target not created

        mình đang lập trinh led cube 5x5x5 nhưng khi nhấn f7 thì nó báo lỗi này
        các pro jup mình với

        Comment


        • #5
          @myfriend_bd: lỗi đầy bộ nhớ đó bạn, bạn thêm code trước các khai báo mảng thử.
          @manh_a2k46: anh chịu rồi, em kiểm tra lại code thử, khai báo vậy là nó lưu được rồi nhưng nhớ là khai báo vậy thì mảng đó chỉ đọc chứ không ghi được.

          Comment


          • #6
            em tim ra nguyên nhân tại sao nó lại ko đc rồi . vì e lập trình hiệu ứng từng lớp sáng tuần tự thì thấy tran a1013 nó ko đóng và ngắt nhanh được em nghĩ có thể là do phần cứng có vấn đề.
            em dung tran a1013 trở treo 1k trở nối từ P0 vào chân B của tran 100 ohm. ko biết có lỗi gì koClick image for larger version

Name:	Untitled.jpg
Views:	1
Size:	19.2 KB
ID:	1360555
            Dùng thử website bán hàng chuyên nghiệp hoàn toàn miễn phí :

            Liên hệ ngay: 01649440 năm một năm

            Comment


            • #7
              cũng chương trình đó người ta đưa ra file hex đc
              nhưng sao mình đưa vào thì nó lại báo lỗi
              //led cube 5x5x5
              // Su dung chip 89s52
              //================================================== ==
              #include <REGX52.H>
              #include<stdlib.h>
              unsigned int i,j,k,n;

              sbit d1 = P1^0;
              sbit d2 = P1^1;
              sbit d3 = P1^2;
              sbit d4 = P1^3;
              sbit d5 = P1^4;
              sbit d6 = P1^5;
              sbit d7 = P1^6;
              sbit d8 = P1^7;
              sbit d9 = P3^0;
              sbit d10 = P3^1;
              sbit d11 = P3^2;
              sbit d12 = P3^3;
              sbit d13 = P3^4;
              sbit d14 = P3^5;
              sbit d15 = P3^6;
              sbit d16 = P3^7;
              sbit d17 = P2^0;
              sbit d18 = P2^1;
              sbit d19 = P2^2;
              sbit d20 = P2^3;
              sbit d21 = P2^4;
              sbit d22 = P2^5;
              sbit d23 = P2^6;
              sbit d24 = P2^7;
              sbit led = P0^6;
              sbit d25=P0^6;
              sbit c1 = P0^0;
              sbit c2 = P0^1;
              sbit c3 = P0^2;
              sbit c4 = P0^3;
              sbit c5 = P0^4;
              //================================================== =========
              void delay(unsigned int time)
              {
              while(time--){
              unsigned char j = 125;
              while(j--);
              };}
              //================================================== =========
              void delay0 (unsigned int t)
              {
              for(i=0;i<=t;i++);
              }
              //================================================== =========

              //HIEU UNG CHAY VONG TRON
              void vongtron(unsigned char ms,unsigned char n)
              {P1=P2=P3=0xff;led=1;
              for(i=0;i<n;i++)
              {
              c1=0;
              d21=0;delay(ms);d20=0;delay(ms);d11=0;delay(ms);d1 0=0;delay(ms);d1=0;delay(ms);
              d2=0;delay(ms);d3=0;delay(ms);d4=0;delay(ms);d5=0; delay(ms);d6=0;delay(ms);
              d15=0;delay(ms);d16=0;delay(ms);led=0;delay(ms);d2 4=0;delay(ms);d23=0;delay(ms);
              d22=0;delay(ms);d19=0;delay(ms);d12=0;delay(ms);d9 =0;delay(ms);d8=0;delay(ms);
              d7=0;delay(ms);d14=0;delay(ms);d17=0;delay(ms);d18 =0;delay(ms);d13=0;delay(ms);
              }

              }
              //================================================== =========

              //HIEU UNG LOP NGANG CHAY LEN _ XUONG
              void nuocdang(unsigned char ms,unsigned char n)
              {
              for(j=0;j<n;j++)
              {
              unsigned char M[9]={0xBE,0xBD,0xBB,0xB7,0xAF,0xB7,0xBB,0xBD,0xBE };
              P1=0;P2=0;P3=0;
              for(i=0;i<9;i++)
              {P0=M[i];
              delay(ms);}
              }}

              //================================================== =========
              //HIEU UNG LOP NGANG CHAY LEN _ XUONG pro
              void nuocdang1(unsigned char ms,unsigned char n)
              {
              for(j=0;j<n;j++)
              {
              unsigned char M[10]={0xBE,0xBc,0xB8,0xB0,0xA0,0xB0,0xB8,0xBc,0xBE,0xf f };
              P1=0;P2=0;P3=0;
              for(i=0;i<10;i++)
              {P0=M[i];
              delay(ms);}
              }}

              //================================================== =========

              //HIEU UNG LOP DUNG DI CHUYEN
              void pittong(unsigned char ms,unsigned char n)
              {
              for(i=0;i<n;i++)
              {
              P0=0;P2=0x0F;P1=0XFF;P3=0XFF;delay(ms);
              P3=0x7F;P2=0xF0;P1=0XFF;led=1;delay(ms);
              P3=0x83;P1=0XFF;P2=0XFF;delay(ms);
              P1=0x1F;P3=0xFC;delay(ms);
              P1=0xE0;P2=0XFF;P3=0XFF;delay(ms);
              P1=0x1F;P3=0xFC;delay(ms);
              P3=0x83;P1=0XFF;P2=0XFF;delay(ms);
              P3=0x7F;P2=0xF0;P1=0XFF;delay(ms);
              P2=0x0F;P1=0XFF;P3=0XFF;led=0;delay(ms);
              }}

              //================================================== =========
              //HIEU UNG NAM MOC LEN
              void nammoc(unsigned char ms,unsigned char n)
              {
              for(i=0;i<n;i++)
              { P0=0xFE;P3=0xEF;P2=0XFF;P1=0XFF;delay(ms);
              P0=0xFD;P3=0xC7;P2=0XFF;P1=0XFF;delay(ms);
              P0=0xFB;P3=0xC7;P1=0x7F;P2=0xFD;delay(ms);
              P0=0xF7;P3=0xC6;P1=0x3F;P2=0xF8;delay(ms);
              P0=0xAF;P1=0;P2=0;P3=0;delay(ms);

              P0=0xAF;P1=0;P2=0;P3=0;delay(ms);
              P0=0xAF;P1=0xC0;P3=0x39;P2=0x07;delay(ms);
              P0=0xB7;P1=0xC0;P3=0x39;P2=0x07;delay(ms);
              P0=0xBB;P1=0xC0;P3=0x39;P2=0x07;delay(ms);
              P0=0xBD;P1=0xC0;P3=0x39;P2=0x07;delay(ms);
              P0=0xBE;P1=0xC0;P3=0x39;P2=0x07;delay(ms);
              }}


              //================================================== =========

              //CHOP TAT KHOI
              void choptat(unsigned char ms,unsigned char n)
              {
              for(i=0;i<n;i++)
              {
              P0=0;P1=0;P2=0;P3=0;delay(ms);
              P0=P1=P2=P3=0xff;delay(ms);
              }
              }

              //================================================== =========

              void socxien(unsigned char ms,unsigned char n)
              {
              for(i=0;i<n;i++)
              {
              P0=0xE0;P1=0xEF;P2=0XFF;P3=0XFF;delay(ms);//X1
              P0=0XE0;P1=0xD7;P3=0XFF;P2=0XFF;delay(ms);//X2
              P0=0XE0;P1=0xBB;P3=0xBF;P2=0XFF;delay(ms);//X3
              P0=0XE0;P1=0x7D;P3=0x5F;P2=0XFF;delay(ms);//X4
              P0=0;P1=0xFE;P3=0xEE;P2=0xFE;delay(ms);//X5
              P0=0XE0;P1=0XFF;P3=0xF5;P2=0x7D;delay(ms);//X6
              P0=0XE0;P1=0XFF;P3=0xFB;P2=0xBB;delay(ms);//X7
              P0=0XE0;P1=0XFF;P3=0XFF;P2=0xD7;delay(ms);//X8
              P0=0XE0;P1=0XFF;P3=0XFF;P2=0xEF;delay(ms);//X9
              }
              }


              //================================================== =========
              //hieu ung dem nguoc
              void demnguoc(unsigned int ms)
              {
              //so 9

              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              P0=0xfd;P1=P3=0xff;P2=0xff;led=0;delay(1);
              P0=0xfb;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              P0=0xf7;P1=P3=0xff;P2=0xdf;led=0;delay(1);
              P0=0xef;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              }
              //so 8
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              P0=0xfd;P1=P3=0xff;P2=0xdf;led=0;delay(1);
              P0=0xfb;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              P0=0xf7;P1=P3=0xff;P2=0xdf;led=0;delay(1);
              P0=0xef;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              }
              //so 7
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=P3=0xff;P2=0xdf;led=1;delay(1);
              P0=0xfd;P1=P3=0xff;P2=0xbf;led=1;delay(1);
              P0=0xfb;P1=P3=0xff;P2=0x7f;led=1;delay(1);
              P0=0xf7;P1=P3=0xff;P2=0xff;led=0;delay(1);
              P0=0xef;P1=P3=0xff;P2=0x0f;led=0;delay(1);
              }

              //so 6
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              P0=0xfd;P1=P3=0xff;P2=0xdf;led=0;delay(1);
              P0=0xfb;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              P0=0xf7;P1=P3=0xff;P2=0xdf;led=1;delay(1);
              P0=0xef;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              }
              //so 5
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              P0=0xfd;P1=P3=0xff;P2=0xff;led=0;delay(1);
              P0=0xfb;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              P0=0xf7;P1=P3=0xff;P2=0xdf;led=1;delay(1);
              P0=0xef;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              }
              //so 4
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=P3=0xff;P2=0xff;led=0;delay(1);
              P0=0xfd;P1=P3=0xff;P2=0xff;led=0;delay(1);
              P0=0xfb;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              P0=0xf7;P1=P3=0xff;P2=0xdf;led=0;delay(1);
              P0=0xef;P1=P3=0xff;P2=0xdf;led=0;delay(1);
              }
              //so 3
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              P0=0xfd;P1=P3=0xff;P2=0xff;led=0;delay(1);
              P0=0xfb;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              P0=0xf7;P1=P3=0xff;P2=0xff;led=0;delay(1);
              P0=0xef;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              }
              //so 2
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              P0=0xfd;P1=P3=0xff;P2=0xbf;led=1;delay(1);
              P0=0xfb;P1=P3=0xff;P2=0x7f;led=1;delay(1);
              P0=0xf7;P1=P3=0xff;P2=0xdf;led=0;delay(1);
              P0=0xef;P1=P3=0xff;P2=0x3f;led=1;delay(1);
              }
              //so 1
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=P3=0xff;P2=0x1f;delay(1);
              P0=0xfd;P1=P3=0xff;P2=0xbf;delay(1);
              P0=0xfb;P1=P3=0xff;P2=0xbf;delay(1);
              P0=0xf7;P1=P3=0xff;P2=0x9f;delay(1);
              P0=0xef;P1=P3=0xff;P2=0xbf;delay(1);
              }
              //so 0
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              P0=0xfd;P1=P3=0xff;P2=0xdf;led=0;delay(1);
              P0=0xfb;P1=P3=0xff;P2=0xdf;led=0;delay(1);
              P0=0xf7;P1=P3=0xff;P2=0xdf;led=0;delay(1);
              P0=0xef;P1=P3=0xff;P2=0x1f;led=0;delay(1);
              }
              }


              void chu_M(unsigned char ms)
              {
              //============== ADD THEM CHU MR.TEE===============================
              //chu M
              for(n=0;n<=ms;n++)
              {
              P0=0xbe;P1=0xff;P3=0x7f;P2=0xe7;delay(1);
              P0=0xbd;delay(1);
              P0=0xbb;P2=0xa5;delay(1);
              P0=0xb7;P2=0x42;delay(1);
              P0=0xaf;P2=0xe7;delay(1);
              }
              P0=P1=P2=P3=0xff;
              }
              //=====================================

              void chu_R(unsigned char ms)
              {
              //chu R
              for(n=0;n<=ms;n++)
              {
              P0=0xbe;P1=0xff;P3=0x7f;P2=0xdb;delay(1);
              P0=0xfd;P3=0xff;P2=0x5a;delay(1);
              P0=0xfb;P2=0x18;delay(1);
              P0=0xb7;P3=0x7f;P2=0xdb;delay(1);
              P0=0xef;P3=0xff;P2=0x18;delay(1);
              }
              P0=P1=P2=P3=0xff;
              }

              //=====================================

              void chu_T(unsigned char ms)
              {
              //chu T
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=0xff;P3=0xff;P2=0xbd;delay(1);
              P0=0xfd;delay(1);
              P0=0xfb;delay(1);
              P0=0xf7;delay(1);
              P0=0xaf;P3=0x7f;P2=0x00;delay(1);
              }
              P0=P1=P2=P3=0xff;
              }
              //=======================================

              void chu_E(unsigned char ms)
              {
              //chu E
              for(n=0;n<=ms;n++)
              {
              P0=0xbe;P1=0xff;P3=0x7f;P2=0x00;delay(1);
              P0=0xfd;P3=0xff;P2=0xef;delay(1);
              P0=0xfb;P2=0x00;delay(1);
              P0=0xf7;P2=0xe7;delay(1);
              P0=0xaf;P3=0x7f;P2=0x00;delay(1);
              }
              P0=P1=P2=P3=0xff;
              }


              //================= ADD XONG CHU MR.TEE============================


              void locxoay(unsigned char ms,unsigned char m)
              {
              for(i=0;i<m;i++)
              {
              //L1
              for(n=0;n<=ms;n++)
              {
              P0=0xbe;P1=0xfe;P3=0xff;P2=0xff;delay(1);
              P0=0xfd;P1=0xfd;P2=0x7f;delay(1);
              P0=0xfb;P1=0xfb;P2=0xbf;delay(1);
              P0=0xf7;P1=0xf7;P2=0xdf;delay(1);
              P0=0xef;P1=0xef;P2=0xef;delay(1);
              }
              //L2
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=0xfd;P3=0xff;P2=0x7f;delay(1);
              P0=0xfd;P1=0xfb;P2=0xbf;delay(1);
              P0=0xfb;P1=0xf7;P2=0xdf;delay(1);
              P0=0xf7;P1=0xef;P2=0xef;delay(1);
              P0=0xef;P1=0xdf;P2=0xf7;delay(1);
              }
              //L3
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=0xfb;P3=0xff;P2=0xbf;delay(1);
              P0=0xfd;P1=0xf7;P2=0xdf;delay(1);
              P0=0xfb;P1=0xef;P2=0xef;delay(1);
              P0=0xf7;P1=0xdf;P2=0xf7;delay(1);
              P0=0xef;P1=0xff;P3=0xbb;P2=0xff;delay(1);
              }
              //L4
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=0xf7;P3=0xff;P2=0xdf;delay(1);
              P0=0xfd;P1=0xef;P2=0xef;delay(1);
              P0=0xfb;P1=0xdf;P2=0xf7;delay(1);
              P0=0xf7;P1=0xff;P3=0xbb;P2=0xff;delay(1);
              P0=0xef;P1=0xff;P3=0x7d;P2=0xff;delay(1);
              }
              //L5
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=0xef;P3=0xff;P2=0xef;delay(1);
              P0=0xfd;P1=0xdf;P2=0xf7;delay(1);
              P0=0xfb;P1=0xff;P3=0xbb;P2=0xff;delay(1);
              P0=0xf7;P3=0x7d;delay(1);
              P0=0xaf;P1=0xfe;P3=0xff;delay(1);
              }
              //L6
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=0xdf;P3=0xff;P2=0xf7;delay(1);
              P0=0xfd;P1=0xff;P3=0xbb;P2=0xff;delay(1);
              P0=0xfb;P3=0x7d;delay(1);
              P0=0xb7;P1=0xfe;P3=0xff;delay(1);
              P0=0xef;P1=0xfd;P2=0x7f;delay(1);
              }
              //L7
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=0xff;P3=0xbb;P2=0xff;delay(1);
              P0=0xfd;P3=0x7d;delay(1);
              P0=0xbb;P1=0xfe;P3=0xff;delay(1);
              P0=0xf7;P1=0xfd;P2=0x7f;delay(1);
              P0=0xef;P1=0xfb;P3=0xff;P2=0xbf;delay(1);
              }
              //L8
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=0xff;P3=0x7d;P2=0xff;delay(1);
              P0=0xbd;P1=0xfe;P3=0xff;delay(1);
              P0=0xfb;P1=0xfd;P2=0x7f;delay(1);
              P0=0xf7;P1=0xfb;P2=0xbf;delay(1);
              P0=0xef;P1=0xf7;P2=0xdf;delay(1);
              }} }

              //hieu ung quet toan bo khung

              void quetkhung(unsigned char ms)
              {
              //L1
              for(n=0;n<=(ms+50);n++)
              {
              P0=0xbe;P1=0xc0;P3=0x39;P2=0x07;delay(1);
              }
              //L2
              for(n=0;n<=(ms+40);n++)
              {
              P0=0xbe;P1=0xc0;P3=0x39;P2=0x07;delay(1);
              P0=0xbd;P1=0xee;P3=0xff;P2=0xef;delay(1);
              }
              //L3
              for(n=0;n<=(ms+30);n++)
              {
              P0=0xbe;P1=0xc0;P3=0x39;P2=0x07;delay(1);
              P0=0xbd;P1=0xee;P3=0xff;P2=0xef;delay(1);
              P0=0xbb;P2=0xef;delay(1);
              }
              //L4
              for(n=0;n<=(ms+20);n++)
              {
              P0=0xbe;P1=0xc0;P3=0x39;P2=0x07;delay(1);
              P0=0xbd;P1=0xee;P3=0xff;P2=0xef;delay(1);
              P0=0xbb;P3=0xff;P2=0xef;delay(1);
              P0=0xb7;P1=0xee;P3=0xff;P2=0xef;delay(1);
              }
              //L5
              for(n=0;n<=ms;n++)
              {
              P0=0xbe;P1=0xc0;P3=0x39;P2=0x07;delay(1);
              P0=0xfd;P1=0xee;P3=0xff;P2=0xef;led=0;delay(1);
              P0=0xfb;led=0;delay(1);
              P0=0xf7;led=0;delay(1);
              P0=0xef;led=0;delay(1);
              }
              //L6
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=0xc0;P3=0x39;P2=0x07;led=0;delay(1);
              P0=0xfd;P1=0xee;P3=0xff;P2=0xef;led=0;delay(1);
              P0=0xfb;led=0;delay(1);
              P0=0xf7;led=0;delay(1);
              P0=0xef;P1=0xc4;P3=0x7d;P2=0x47;led=0;delay(1);
              }
              //L7
              for(n=0;n<=(ms-50);n++)
              {
              P0=0xfe;P1=0xc0;P3=0x39;P2=0x07;led=0;delay(1);
              P0=0xfd;P1=0xee;P3=0xff;P2=0xef;led=0;delay(1);
              P0=0xfb;led=0;delay(1);
              P0=0xf7;led=0;delay(1);
              P0=0xef;P1=0xc4;P3=0x7d;P2=0x47;led=0;delay(1);
              }
              //L8
              for(n=0;n<=(ms+100);n++)
              {
              P0=0xfe;P1=0xc0;P3=0x39;P2=0x07;led=0;delay(1);
              P0=0xfd;P1=0xee;P3=0xff;P2=0xef;led=0;delay(1);
              P0=0xfb;led=0;delay(1);
              P0=0xf7;led=0;delay(1);
              P0=0xef;P1=0xc0;P3=0x39;P2=0x07;led=0;delay(1);
              }

              P0=P1=P2=P3=0xff;
              delay(2000);
              for(i=0;i<8;i++)
              {
              for(n=0;n<=ms;n++)
              {
              P0=0xfb;P3=0xef;delay(1);
              }
              for(n=0;n<=ms;n++)
              {
              P0=0xf5;P3=0xfe;P2=0xfa;P1=0xbf;delay(1);
              }
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=0xc0;P3=0x39;P2=0x07;led=0;delay(1);
              P0=0xfd;P1=0xee;P3=0xff;P2=0xef;led=0;delay(1);
              P0=0xfb;led=0;delay(1);
              P0=0xf7;led=0;delay(1);
              P0=0xef;P1=0xc0;P3=0x39;P2=0x07;led=0;delay(1);
              }
              }
              }

              //=================================================

              //guong nuoc
              void guongnuoc1(unsigned char ms,unsigned char a)
              {
              for(i=0;i<a;i++)
              {
              //L1
              for(n=0;n<=ms;n++)
              {
              P0=0xef;P1=0xe0;P3=0xff;P2=0xff;delay(1);
              P0=0xf7;P1=0x1f;P3=0xfc;delay(1);
              P0=0xfb;P1=0xff;P3=0x83;delay(1);
              P0=0xfd;P3=0x7f;P2=0xf0;delay(1);
              P0=0xfe;P3=0xff;P2=0x0f;led=0;delay(1);
              }
              //L2
              for(n=0;n<=(5*ms);n++)
              {
              P0=0xfb;P1=0x00;P3=0x00;P2=0x00;led=0;delay(1);
              }
              //L3
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=0xe0;P3=0xff;P2=0xff;delay(1);
              P0=0xfd;P1=0x1f;P3=0xfc;delay(1);
              P0=0xfb;P1=0xff;P3=0x83;delay(1);
              P0=0xf7;P3=0x7f;P2=0xf0;delay(1);
              P0=0xef;P3=0xff;P2=0x0f;led=0;delay(1);
              }
              //L4
              for(n=0;n<=(ms*5);n++)
              {
              P0=0xe0;P1=0xff;P3=0x83;P2=0xff;delay(1);
              }
              }
              }

              //============================================

              //guong nuoc 2
              void guongnuoc2(unsigned char ms,unsigned char a)
              {
              for(i=0;i<a;i++)
              {
              //L1
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=0xfe;P3=0xf9;P2=0xe7;delay(1);
              P0=0xfd;P1=0xfd;P3=0xf6;P2=0xdb;delay(1);
              P0=0xfb;P1=0x7b;P3=0xef;P2=0xbd;delay(1);
              P0=0xf7;P1=0xb7;P3=0xdf;P2=0x7e;delay(1);
              P0=0xef;P1=0xcf;P3=0x3f;P2=0xff;led=0;delay(1);
              }
              //L2
              for(n=0;n<=(5*ms);n++)
              {
              P0=0xfb;P1=0x00;P3=0x00;P2=0x00;led=0;delay(1);
              }
              //L3
              for(n=0;n<=ms;n++)
              {
              P0=0xef;P1=0xfe;P3=0xf9;P2=0xe7;delay(1);
              P0=0xf7;P1=0xfd;P3=0xf6;P2=0xdb;delay(1);
              P0=0xfb;P1=0x7b;P3=0xef;P2=0xbd;delay(1);
              P0=0xfd;P1=0xb7;P3=0xdf;P2=0x7e;delay(1);
              P0=0xfe;P1=0xcf;P3=0x3f;P2=0xff;led=0;delay(1);
              }
              //L4
              for(n=0;n<=(5*ms);n++)
              {
              P0=0xe0;P1=0x7b;P3=0xef;P2=0xbd;delay(1);
              }
              }
              }
              void guongnuoc3(unsigned char ms,unsigned char n)
              {
              P0=0x40;P1=P3=P2=0xff;d21=0;delay(1000);
              d18=0;delay(1000);d15=0;delay(1000);d15=1;d18=1;d1 3=0;d5=d19=d7=0;delay(1000);
              for(i=0;i<n;i++)
              {
              {
              P0=0x40;P1=0xAF;P3=0xEF;P2=0xEB;delay(ms);
              P0=0x40;P1=0x7B;P3=0xEF; P2=0xBD;delay(ms);
              P0=0 ;P1=0xFE;P3=0xEE;P2=0xFE;delay(ms);
              P0=0x40;P3=0x83;delay(ms);}
              }}


              //================================================== ===============
              void lapdien(unsigned char ms,unsigned char n)
              {
              for(i=0;i<n;i++)
              {
              P0=0xAF;P1=0;P2=0;P3=0;delay(ms);//TREN CUNG
              P0=0x40;P1=0xE0;P2=0XFF;P3=0XFF;delay(ms); //MAT1
              P1=0xFE;P3=0xF9;P2=0xE7;delay(ms);//MAT2
              P0=0;P2=0x0F;P1=0XFF;P3=0XFF;delay(ms); //MAT3
              P1=0xCF;P3=0x3F;P2=0XFF;delay(ms);//MAT4
              P0=0xBE;P1=0;P2=0;P3=0;delay(ms);//DUOI CUNG
              P0=0;P1=0xCF;P3=0x3F;P2=0XFF;delay(ms);//MAT4
              P2=0x0F;P1=0XFF;P3=0XFF;delay(ms); //MAT3
              P0=0x40;P1=0xFE;P3=0xF9;P2=0xE7;delay(ms);//MAT2
              P1=0xE0;P2=0XFF;P3=0XFF;delay(ms); //MAT1
              }
              }

              void songbien(unsigned char ms,unsigned char m)
              {
              for(i=0;i<m;i++)
              {
              //L1
              for(n=0;n<=ms;n++)
              {
              P0=0xfb;P1=0xfe;P3=0xf9;P2=0xe7;delay(1);
              P0=0xf7;P1=0xfd;P3=0xf6;P2=0xdb;delay(1);
              P0=0xef;P1=0x7b;P3=0xef;P2=0xbd;delay(1);
              P0=0xf7;P1=0xb7;P3=0xdf;P2=0x7e;delay(1);
              P0=0xfb;P1=0xcf;P3=0x3f;P2=0xff;led=0;delay(1);
              }
              //L2
              for(n=0;n<=ms;n++)
              {
              P0=0xfd;P1=0xfe;P3=0xf9;P2=0xe7;delay(1);
              P0=0xfb;P1=0xfd;P3=0xf6;P2=0xdb;delay(1);
              P0=0xf7;P1=0x7b;P3=0xef;P2=0xbd;delay(1);
              P0=0xef;P1=0xb7;P3=0xdf;P2=0x7e;delay(1);
              P0=0xf7;P1=0xcf;P3=0x3f;P2=0xff;led=0;delay(1);
              }
              //L3
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=0xfe;P3=0xf9;P2=0xe7;delay(1);
              P0=0xfd;P1=0xfd;P3=0xf6;P2=0xdb;delay(1);
              P0=0xfb;P1=0x7b;P3=0xef;P2=0xbd;delay(1);
              P0=0xf7;P1=0xb7;P3=0xdf;P2=0x7e;delay(1);
              P0=0xef;P1=0xcf;P3=0x3f;P2=0xff;led=0;delay(1);
              }
              //L4
              for(n=0;n<=ms;n++)
              {
              P0=0xfd;P1=0xfe;P3=0xf9;P2=0xe7;delay(1);
              P0=0xfe;P1=0xfd;P3=0xf6;P2=0xdb;delay(1);
              P0=0xfd;P1=0x7b;P3=0xef;P2=0xbd;delay(1);
              P0=0xfb;P1=0xb7;P3=0xdf;P2=0x7e;delay(1);
              P0=0xf7;P1=0xcf;P3=0x3f;P2=0xff;led=0;delay(1);
              }
              //L5
              for(n=0;n<=ms;n++)
              {
              P0=0xfb;P1=0xfe;P3=0xf9;P2=0xe7;delay(1);
              P0=0xfd;P1=0xfd;P3=0xf6;P2=0xdb;delay(1);
              P0=0xfe;P1=0x7b;P3=0xef;P2=0xbd;delay(1);
              P0=0xfd;P1=0xb7;P3=0xdf;P2=0x7e;delay(1);
              P0=0xfb;P1=0xcf;P3=0x3f;P2=0xff;led=0;delay(1);
              }
              //L6
              for(n=0;n<=ms;n++)
              {
              P0=0xf7;P1=0xfe;P3=0xf9;P2=0xe7;delay(1);
              P0=0xfb;P1=0xfd;P3=0xf6;P2=0xdb;delay(1);
              P0=0xfd;P1=0x7b;P3=0xef;P2=0xbd;delay(1);
              P0=0xfe;P1=0xb7;P3=0xdf;P2=0x7e;delay(1);
              P0=0xfd;P1=0xcf;P3=0x3f;P2=0xff;led=0;delay(1);
              }
              //L7
              for(n=0;n<=ms;n++)
              {
              P0=0xef;P1=0xfe;P3=0xf9;P2=0xe7;delay(1);
              P0=0xf7;P1=0xfd;P3=0xf6;P2=0xdb;delay(1);
              P0=0xfb;P1=0x7b;P3=0xef;P2=0xbd;delay(1);
              P0=0xfd;P1=0xb7;P3=0xdf;P2=0x7e;delay(1);
              P0=0xfe;P1=0xcf;P3=0x3f;P2=0xff;led=0;delay(1);
              }
              //L8
              for(n=0;n<=ms;n++)
              {
              P0=0xf7;P1=0xfe;P3=0xf9;P2=0xe7;delay(1);
              P0=0xef;P1=0xfd;P3=0xf6;P2=0xdb;delay(1);
              P0=0xf7;P1=0x7b;P3=0xef;P2=0xbd;delay(1);
              P0=0xfb;P1=0xb7;P3=0xdf;P2=0x7e;delay(1);
              P0=0xfd;P1=0xcf;P3=0x3f;P2=0xff;led=0;delay(1);
              }
              }}

              //================================================== ========

              void thap(unsigned char ms,unsigned char m)
              {
              for(i=0;i<m;i++)
              {
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=0xc0;P3=0x39;P2=0x07;led=0;delay(1);
              P0=0xfd;P1=0x3f;P3=0xd6;P2=0xf8;delay(1);
              P0=0xfb;P1=0xff;P3=0xef;P2=0xff;delay(1);
              }
              for(n=0;n<=ms;n++)
              {
              P0=0xfd;P1=0xc0;P3=0x39;P2=0x07;led=0;delay(1);
              P0=0xfb;P1=0x3f;P3=0xd6;P2=0xf8;delay(1);
              P0=0xf7;P1=0xff;P3=0xef;P2=0xff;delay(1);
              }
              for(n=0;n<=ms;n++)
              {
              P0=0xfb;P1=0xc0;P3=0x39;P2=0x07;led=0;delay(1);
              P0=0xf7;P1=0x3f;P3=0xd6;P2=0xf8;delay(1);
              P0=0xef;P1=0xff;P3=0xef;P2=0xff;delay(1);
              }
              }
              }

              //================================================== ====

              void thap1(unsigned char ms,unsigned char m)
              {
              for(i=0;i<m;i++)
              {
              for(n=0;n<=ms;n++)
              {
              P0=0xef;P1=0xc0;P3=0x39;P2=0x07;led=0;delay(1);
              P0=0xf7;P1=0x3f;P3=0xd6;P2=0xf8;delay(1);
              P0=0xfb;P1=0xff;P3=0xef;P2=0xff;delay(1);
              }
              for(n=0;n<=ms;n++)
              {
              P0=0xf7;P1=0xc0;P3=0x39;P2=0x07;led=0;delay(1);
              P0=0xfb;P1=0x3f;P3=0xd6;P2=0xf8;delay(1);
              P0=0xfd;P1=0xff;P3=0xef;P2=0xff;delay(1);
              }
              for(n=0;n<=ms;n++)
              {
              P0=0xfb;P1=0xc0;P3=0x39;P2=0x07;led=0;delay(1);
              P0=0xfd;P1=0x3f;P3=0xd6;P2=0xf8;delay(1);
              P0=0xfe;P1=0xff;P3=0xef;P2=0xff;delay(1);
              }
              }
              }


              //================================================== =============

              void phaohoa(unsigned char ms,unsigned char m)
              {
              P0=P1=P2=P3=0xff;
              c1=0;d13=0;delay(ms);c2=0;delay(ms);c3=0;delay(ms) ;c4=0;delay(ms);c5=0;delay(ms);
              //L1
              for(n=0;n<=m;n++)
              {
              P0=0xfe;P1=P2=P3=0xff;delay(1);
              P0=0xfd;d13=0;delay(1);
              P0=0xfb;d13=0;delay(1);
              P0=0xf7;d13=0;delay(1);
              P0=0xef;d13=0;d9=0;d7=0;d19=0;d17=0;delay(1);
              }
              //L2
              for(n=0;n<=m;n++)
              {
              P0=0xfe;P1=P2=P3=0xff;delay(1);
              P0=0xfd;delay(1);
              P0=0xfb;d13=0;delay(1);
              P0=0xf7;d13=0;delay(1);
              P0=0xef;d13=0;d1=0;d5=0;d21=0;led=0;delay(1);
              }
              //L3
              for(n=0;n<=m;n++)
              {
              P0=0xfe;P1=P2=P3=0xff;delay(1);
              P0=0xfd;delay(1);
              P0=0xfb;d13=0;delay(1);
              P0=0xf7;d13=0;d1=0;d5=0;d21=0;led=0;delay(1);
              P0=0xef;d13=0;d1=0;d5=0;d21=0;led=0;delay(1);
              }
              //L4
              for(n=0;n<=m;n++)
              {
              P0=0xfe;P1=P2=P3=0xff;delay(1);
              P0=0xfd;delay(1);
              P0=0xfb;d1=0;d5=0;d21=0;led=0;delay(1);
              P0=0xf7;d13=0;d1=0;d5=0;d21=0;led=0;delay(1);
              P0=0xef;d13=0;d1=0;d5=0;d21=0;led=0;delay(1);
              }
              //L5
              for(n=0;n<=m;n++)
              {
              P0=0xfe;P1=P2=P3=0xff;delay(1);
              P0=0xfd;d1=0;d5=0;d21=0;led=0;delay(1);
              P0=0xfb;d1=0;d5=0;d21=0;led=0;delay(1);
              P0=0xf7;d1=0;d5=0;d21=0;led=0;delay(1);
              P0=0xef;d13=0;d1=0;d5=0;d21=0;led=0;delay(1);
              }
              c1=c2=c3=c4=c5=0;d1=0;d5=0;d21=0;led=0;d13=1;delay (ms);
              c5=1;delay(ms);
              c4=1;delay(ms);
              c3=1;delay(ms);
              c2=1;delay(ms);
              c1=1;delay(ms);
              }
              void tunghung(unsigned char ms,unsigned char n)
              {
              for(i=0;i<n;i++)
              {
              P0=0xbe;P1=0xce;P3=0x39;P2=0xe7;delay(ms);
              P0=0xfd;P1=0xb5;P3=0xd6;P2=0x5a;delay(ms);
              P0=0xfb;P1=0x7b;P3=0xef;P2=0xbd;delay(ms);
              P0=0xf7;P1=0xb5;P3=0xd6;P2=0x5a;delay(ms);
              P0=0xaf;P1=0xce;P3=0x39;P2=0xe7;delay(ms);
              P0=0xb7;delay(ms);
              P0=0xbb;delay(ms);
              P0=0xbd;delay(ms);
              P0=0xbe;delay(ms);
              }}
              void chu_I(unsigned char ms)
              {
              //chu I
              for(n=0;n<=ms;n++)
              {
              P0=0xbe;P1=0xff;P3=0x7f;P2=0x00;delay(1);
              P0=0xfd;P3=0xff;P2=0xbd;delay(1);
              P0=0xfb;P2=0xbd;delay(1);
              P0=0xf7;P2=0xbd;delay(1);
              P0=0xaf;P3=0x7f;P2=0x00;delay(1);
              }P0=P1=P2=P3=0xff;
              }
              void chu_L(unsigned char ms)
              {
              //chu love
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=0xff;P3=0xff;P2=0xbd;delay(1);
              P0=0xfd;P2=0x18;delay(1);
              P0=0xbb;P3=0x7f;P2=0x00;delay(1);
              P0=0xf7;delay(1);
              P0=0xef;P3=0xff;P2=0x5a;delay(1);
              }
              P0=P1=P2=P3=0xff;
              }
              void chu_U(unsigned char ms)
              {
              //chu you
              for(n=0;n<=ms;n++)
              {
              P0=0xfe;P1=0xff;P3=0xff;P2=0x18;delay(1);
              P0=0xbd;P3=0x7f;P2=0xe7;delay(1);
              P0=0xbb;delay(1);
              P0=0xb7;delay(1);
              P0=0xaf;;P3=0x3f;P3=0x7f;P2=0xe7;delay(1);
              }P0=P1=P2=P3=0xff;
              }



              void diemsang(unsigned char ms,unsigned char n)
              {
              P0=P1=P2=P3=0xff;
              for(i=0;i<n;i++)
              {
              c3=0;d13=0;delay(ms);c3=1;d13=1;
              c2=0;c4=0;d9=0;d7=0;d19=0;d17=0;delay(ms);c2=1;c4= 1;d9=1;d7=1;d19=1;d17=1;
              c1=0;c5=0;d1=d5=d21=led=0;delay(ms);c1=1;c5=1;d1=d 5=d21=led=1;
              c2=0;c4=0;d9=0;d7=0;d19=0;d17=0;delay(ms);c2=1;c4= 1;d9=1;d7=1;d19=1;d17=1;
              c3=0;d13=0;delay(ms);c3=1;d13=1;
              }
              }


              void hinhvuongnho(unsigned char ms,unsigned char n)
              {
              c1=c2=c3=c4=c5=0;
              for(i=0;i<n;i++)
              {P1=P2=P3=0xff;
              led=0;delay(ms);
              d16=d17=d24=0;delay(ms);d17=1;
              d13=d14=d15=d18=d23=0;delay(ms);d13=d14=d18=1;
              d22=d19=d12=d9=d8=d7=d6=0;delay(ms);
              P1=0xc0;P3=0x39;P2=0x07;led=0;delay(ms);
              }
              }
              void toa_ra (void)
              {
              d13=0;
              c1=0;
              delay0(10000);
              c1=1;c2=0;delay0(10000);
              c2=1;c3=0;delay0(10000);
              c3=1;c4=0;delay0(10000);
              c4=1;c5=0;delay0(10000);
              delay0(20000);
              d13=1;d7=d8=d9=d12=d14=d17=d18=d19=0;
              delay0(15000);
              d7=d8=d9=d12=d14=d17=d18=d19=1;
              d1=d2=d3=d4=d5=d10=d15=d20=d25=d24=d23=d22=d21=d16 =d11=d6=0;
              delay0(10000);
              c5=1;c4=0;delay0(10000);
              c4=1;c3=0;delay0(8000);
              c3=1;c2=0;delay0(6000);
              c2=1;c1=0;delay0(4000);
              c1=1;d1=d2=d3=d4=d5=d10=d15=d20=d25=d24=d23=d22=d2 1=d16=d11=d6=1;
              delay0(10000);
              c1=0;d1=d2=d3=d4=d5=d10=d15=d20=d25=d24=d23=d22=d2 1=d16=d11=d6=0;
              delay0(4000);
              c1=1;c2=0;delay0(4000);
              c2=1;c3=0;delay0(6000);
              c3=1;c4=0;delay0(8000);
              c4=1;c5=0;delay0(10000);
              d1=d2=d3=d4=d5=d10=d15=d20=d25=d24=d23=d22=d21=d16 =d11=d6=1;
              delay0(10000);
              d7=d8=d9=d12=d14=d17=d18=d19=0;delay0(10000);
              d7=d8=d9=d12=d14=d17=d18=d19=1;
              }
              void cotxoay(unsigned char ms,unsigned char n)
              {P0=0x00;led=1;
              for(i=0;i<n;i++)
              {
              d1=d5=d21=d25=0;delay(ms);d1=d5=d21=d25=1;
              d4=d10=d22=d16=0;delay(ms);d4=d10=d22=d16=1;
              d3=d11=d23=d15=0;delay(ms);d3=d11=d23=d15=1;
              d2=d20=d24=d6=0;delay(ms);d2=d20=d24=d6=1;
              }
              }
              void giunbo(unsigned char ms,unsigned char n)
              {P0=P1=P2=P3=0xff;
              for(i=0;i<n;i++)
              {
              c5=0;d5=0;delay(ms);d4=0;delay(ms);d3=0;delay(ms); d2=0;delay(ms);d1=0;delay(ms);
              d5=1;delay(ms);d4=1;delay(ms);d3=1;delay(ms);d2=1; delay(ms);d1=1;delay(ms);c5=1;
              c4=0;d3=0;delay(ms);d8=0;delay(ms);d13=0;delay(ms) ;d18=0;delay(ms);d23=0;delay(ms);
              d3=1;delay(ms);d8=1;delay(ms);d13=1;delay(ms);d18= 1;delay(ms);d23=1;delay(ms);c4=1;
              c3=0;d25=0;delay(ms);d17=0;delay(ms);d13=0;delay(m s);d9=0;delay(ms);d1=0;delay(ms);
              d25=1;delay(ms);d17=1;delay(ms);d13=1;delay(ms);d9 =1;delay(ms);d1=1;delay(ms);c3=1;
              c1=0;d21=0;delay(ms);d22=0;delay(ms);d23=0;delay(m s);d24=0;delay(ms);d25=0;delay(ms);
              d21=1;delay(ms);d22=1;delay(ms);d23=1;delay(ms);d2 4=1;delay(ms);d25=1;delay(ms);c1=1;
              c2=0;d5=0;delay(ms);d7=0;delay(ms);d13=0;delay(ms) ;d19=0;delay(ms);d21=0;delay(ms);
              d5=1;delay(ms);d7=1;delay(ms);d13=1;delay(ms);d19= 1;delay(ms);d21=1;delay(ms);c2=1;
              }
              }
              void pittong_1()
              {P0=0x00;P1=P2=P3=0xff;led=0;delay(1000);d24=0;del ay(1000);
              d23=0;delay(1000);d22=0;delay(1000);d21=0;delay(10 00);}

              //============================== HAM CHINH ==================================
              void main(void)
              {P0=P1=P2=P3=0xff;
              delay(800);
              while(1)
              {
              chu_M(700);
              delay(500);
              chu_R(700);
              delay(500);
              chu_T(700);
              delay(500);
              chu_E(700);
              delay(500);
              chu_E(700);
              delay(500);
              locxoay(20,10);
              vongtron(200,1);
              phaohoa(100,30);
              choptat(300,3);
              diemsang(100,8);
              chu_I(600);
              delay(300);
              chu_I(600);
              delay(300);
              chu_L(600);
              delay(300);
              chu_L(600);
              delay(300);
              chu_U(600);
              delay(300);
              chu_U(600);
              delay(300);
              for(i=0;i<4;i++)
              phaohoa(100,30);
              vongtron(200,1);
              thap(150,4);
              thap1(150,4);
              lapdien(150,4);
              nuocdang(100,3);
              pittong(100,3);
              songbien(30,10);
              guongnuoc3(150,10);
              quetkhung(100);
              P0=0xbf;delay(200);
              toa_ra();delay(200);
              toa_ra();delay(200);
              toa_ra();delay(200);
              toa_ra();delay(200);
              hinhvuongnho(1000,2);
              tunghung(150,6);
              tunghung(60,8);
              tunghung(30,18);
              tunghung(5,60);
              P0=P1=P2=P3=0xff;
              c1=c2=c3=c4=c5=0;
              vongtron(200,1);
              nuocdang1(120,3);
              nuocdang1(60,6);
              nuocdang1(30,18);
              nuocdang(10,40);
              guongnuoc1(27,4);
              guongnuoc2(27,4);
              nammoc(120,4);
              cotxoay(600,16);
              choptat(300,3);
              giunbo(100,6);
              for(i=0;i<4;i++)
              phaohoa(100,30);
              delay(300);
              chu_I(600);
              delay(300);
              chu_I(600);
              delay(300);
              chu_L(600);
              delay(300);
              chu_L(600);
              delay(300);
              chu_U(600);
              delay(300);
              chu_U(600);
              delay(300);
              vongtron(200,1);
              thap(150,4);
              thap1(150,4);
              hinhvuongnho(1000,4);
              socxien(150,6);
              locxoay(20,10);
              tunghung(150,6);
              tunghung(60,8);
              tunghung(30,18);
              tunghung(5,60);
              chu_M(600);
              delay(300);
              chu_R(600);
              delay(300);
              chu_T(600);
              delay(300);
              chu_E(600);
              delay(300);
              chu_E(600);
              delay(300);
              P0=P1=P2=P3=0xff;
              c1=c2=c3=c4=c5=0;
              vongtron(200,1);
              songbien(30,10);
              guongnuoc3(150,12);
              lapdien(150,4);
              diemsang(100,8);
              cotxoay(600,16);
              guongnuoc1(27,10);
              quetkhung(100);
              vongtron(200,1);
              nuocdang(130,8);
              pittong_1();
              pittong(130,8);
              guongnuoc2(27,10);
              nammoc(120,4);
              giunbo(100,6);
              nuocdang1(120,3);
              nuocdang1(60,6);
              nuocdang1(30,18);
              nuocdang(10,40);
              toa_ra();delay(200);
              toa_ra();delay(200);
              toa_ra();delay(200);
              toa_ra();delay(200);
              locxoay(20,10);
              diemsang(100,6);
              for(n=0;n<4;n++)
              demnguoc();delay(250);
              for(i=0;i<4;i++)
              phaohoa(100,30);
              giunbo(100,4);
              } }

              bạn copy về rồi đưa vào keil c của bạn thử chạy có được không
              jup minh vói

              Comment


              • #8
                mình cũng ko dịch ra đc. nó báo lỗi 'target object modules' . Mình ko biết lỗi này. ah mà bạn đang làm cube 555 phải ko phần cứng bạn làm thế nào đấy. mình cũng đang là 1 con nhưng mà đang lỗi phần cứng nên chưa lập trình được . phần mềm hỏng còn đỡ chứ phần cứng mà hỏng thì nản lắm
                Dùng thử website bán hàng chuyên nghiệp hoàn toàn miễn phí :

                Liên hệ ngay: 01649440 năm một năm

                Comment


                • #9
                  ý quên lúc nãy chưa add file c vào. mình add vào rồi sửa lỗi thì nó báo ntn cũng tuơng tự như của bạn ở bên trên kia.
                  RAMSIZE(256)
                  ************************************************** ****************************
                  * RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 260BH BYTE (475%) *
                  ************************************************** ****************************
                  Program Size: data=30.0 xdata=0 code=10000
                  LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)
                  *** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED
                  MODULE: C:\KEIL\C51\LIB\C51S.LIB (-----)
                  LIMIT: 0800H BYTES
                  Target not created


                  Hình như là do code vượt quá bộ nhớ flashrom của 89s52 là 8k rồi. mình thấy của bạn nhiều hiệu ứng thật đấy. mình có xem qua 1 code thấy có 20 hiệu ứng là đầy chip rồi. b thử bỏ bớt hiệu ứng đi xem có đc ko
                  Dùng thử website bán hàng chuyên nghiệp hoàn toàn miễn phí :

                  Liên hệ ngay: 01649440 năm một năm

                  Comment


                  • #10
                    code bác myfrend_bd khó mà chạy thật được hiệu ứng thì nhiều mà không biết bác dùng chíp gì em có gợi ý bác thêm:delay0(1); vào cuối các hiệu ứng trong vòng lặp while(1) xem thế nào nhé

                    Comment


                    • #11
                      Nguyên văn bởi manh_a2k46 Xem bài viết
                      em tim ra nguyên nhân tại sao nó lại ko đc rồi . vì e lập trình hiệu ứng từng lớp sáng tuần tự thì thấy tran a1013 nó ko đóng và ngắt nhanh được em nghĩ có thể là do phần cứng có vấn đề.
                      em dung tran a1013 trở treo 1k trở nối từ P0 vào chân B của tran 100 ohm. ko biết có lỗi gì ko[ATTACH=CONFIG]44478[/ATTACH]
                      Anh nghĩ PORT 2 nó không chịu nổi dòng đổ xuống, em thử dùng ic đệm mắc vào port2 hoặc treo trở cho nó thử xem

                      Comment


                      • #12
                        Nếu dòng đổ xuống quá lớn thì chip đã bị treo nhưng đây ko sao cả. Bây giờ em chỉ lập trình hiệu ứng dk trên các cột thôi nhìn cũng tạm đc với người ko biết nhưng quá cùi với ng thông thạo. lúc nào quay video up lên cho a xem . Mà hôm nay em cho led chạy rồi dùng đồng hồ đo thì thấy các lớp led bị thông dòng với nhau (khi không bật nguồn led thì ko bi thông dòng) liệu có phải khi hàn em làm led thông rồi ko giờ mà hỏng khối led thì ko có cách nào sửa nữa nản quá. Chấp nhận làm xấu vậy thôi
                        Dùng thử website bán hàng chuyên nghiệp hoàn toàn miễn phí :

                        Liên hệ ngay: 01649440 năm một năm

                        Comment


                        • #13
                          chưng trình theo mình nghĩ là ok rùi
                          nhưng sao chạy là nó báo lỗi như vậy đấy.
                          chương trình chạy cho ic at89s52.
                          làm mạch chủ yếu là chương trình thui.
                          nếu manh_a2k46 cho mình xem chương trình thì mình hướng dẫn làm mạch cho.
                          cũng đơn giản thui

                          Comment


                          • #14
                            Nguyên văn bởi myfriend_bd Xem bài viết
                            chưng trình theo mình nghĩ là ok rùi
                            nhưng sao chạy là nó báo lỗi như vậy đấy.
                            chương trình chạy cho ic at89s52.
                            làm mạch chủ yếu là chương trình thui.
                            nếu manh_a2k46 cho mình xem chương trình thì mình hướng dẫn làm mạch cho.
                            cũng đơn giản thui
                            chương trình thì mình chưa viết đc nhiều vì mấy hôm nay toàn mày mò sửa phần cứng thôi. mình viết mấy hiệu ứng cần dùng đến quét led mới hiển thị đc nạp vào ic test thử thấy phần cứng ko đáp ứng đc nên phải sửa phần cứng mới lập trình tiếp đc. giờ phát hiện ra là nó hỏng khối led rồi nên chắc phải bỏ dở thôi. hết tiền mua led rồi.
                            bạn làm đc phần cứng ok rồi nhưng chưa lập trình xong ah? bạn chia sẻ các thông số phần cứng mình xem với.
                            Dùng thử website bán hàng chuyên nghiệp hoàn toàn miễn phí :

                            Liên hệ ngay: 01649440 năm một năm

                            Comment


                            • #15
                              code bác gửi lên em dùng keil c 4 dùng 89s53 thấy code không có lỗi gì nhưng file hex là 28kb,không biết nạp chip được không,nếu bác cần em send cho qua mail mà mail bác là gì nhỉ

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X