Thông báo

Collapse
No announcement yet.

các bác giúp sửa hộ e cái ct với help????

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

  • #16
    Nguyên văn bởi tdm Xem bài viết
    đã sửa cho bạn:
    Code:
    #include"reg52.h"
    #include"stdio.h"
    #include"intrins.h"
    char x,y,i,j,q,tong1;
    int tong2;
    char mu(char u,char v);
    char duoithuan(char vovan);
    char duoinguoc();
    char sangdanthuan(char vovan);
    char sangdannguoc(char vovan);
    char nhicthuan(char vovan);
    char nhicnguoc(char vovan);
    void delay(unsigned long int t);
    void nhay(char t);
    void duoi0();
    void duoi1();
    void duoitren();
    void duoiduoi();
    void duoitrai();
    void duoiphai();
    void sangdan0();
    void sangdan1();
    void sangdantren();
    void sangdanduoi();
    void sangdantrai();
    void sangdanphai();
    void nhictren();
    void nhicduoi();
    void hay1();
    void hay2();
    void main()
    {
        while(1)
        {
        nhay(10);
        for(q=0;q<2;q++)
            {
            nhictren();
            nhicduoi();
            nhay(3);
            }
            for(q=0;q<2;q++)
            {
            sangdantren();
            nhay(3);
            sangdanduoi();
            nhay(3);
            }
            
            for(q=0;q<2;q++)
            {
            duoitren();
            nhay(3);
            duoiduoi();
            nhay(3);
            }
    
        for(q=0;q<2;q++)
        {
        sangdantrai();
        nhay(3);
        sangdanphai();
        nhay(3);
        }
        for(q=0;q<2;q++)
        {
        duoitrai();
        nhay(3);
        duoiphai();
        nhay(3);
        }
        for(q=0;q<2;q++)
        {
        sangdan0();
        nhay(3);
        sangdan1();
        nhay(3);
        }
        for(q=0;q<2;q++)
        {
        duoi0();
        nhay(3);
        duoi1();
        nhay(3);
        }
    
        
        hay1();
        hay2();
            hay1();
        hay2();
    
        nhictren();
        nhicduoi();
        for(q=0;q<100;q++)
        {
            P0=P1=P2=P3=0x00;
            delay(1000);
            P0=P1=P2=P3=0xff;
            delay(1000);
        }
        }
    }
    void delay(unsigned long int t)
    {
        unsigned long int l;
        for(l=0;l<t;l++);
    }
    char mu(char u,char v)
    {    char s=1,q;    
        for(q=1;q<=v;q++)
        s=s*u;
        return s;        
    }
    void nhay(char t)
    {    
        for(i=0;i<t;i++)
        {
            P0=P1=P2=P3=0x00;
            delay(4000);
            P0=P1=P2=P3=0xff;
            delay(4000);
        }
    }
    char duoithuan(char vovan)
    {    
            if(vovan%2!=0)
            tong1=2*tong1+1;
            else
            tong1=2*tong1;
         return tong1;
    }
    char duoinguoc()
    {      
        tong2=tong2>>1;
        return tong2;
    }
    char sangdanthuan(char vovan)
    {
        x=x-mu(2,vovan);
        return x;
    }
    char sangdannguoc(char vovan)
    {
        y=y-mu(2,7-vovan);
        return y;
    }
    char nhicthuan(char vovan)
    {
        x=mu(2,vovan);
        return x;
    }
    char nhicnguoc(char vovan)
    {
        y=mu(2,7-vovan);
        return y;
    }
    void duoi0()
    {    P0=P1=P2=P3=0xff;
        tong1=0;
        for(j=1;j<=8;j++)
        {
        P0=~duoithuan(j);
        delay(2000);
        }
        tong2=21760;
        P0=0x55;
        for(j=1;j<=8;j++)
        {
        P0=~P0;
        P2=~duoithuan(j);//
        delay(2000);
        }
        tong2=21760;
        P0=0x55;
        P2=0xaa;
        for(j=1;j<=8;j++)
        {
        P0=~P0;
        P2=~P2;
        P3=~duoinguoc();
        delay(2000);
        }
            tong2=21760;
        P0=0x55;
        P2=0xaa;
        for(j=1;j<=8;j++)
        {
        P0=~P0;
        P2=P3=~P2;
        P1=~duoinguoc();
        delay(2000);
        }
    }
    void duoi1()
    {    P0=P1=P2=P3=0xff;
        tong1=0;
        for(j=1;j<=8;j++)
        {
        P1=~duoithuan(j);
        delay(2000);
        }
        tong1=0;
        P1=0x55;
        for(j=1;j<=8;j++)
        {
        P1=~P1;
        P3=~duoithuan(j);
        delay(2000);
        }
        tong1=0;
        P1=P3=0x55;
        
        for(j=1;j<=8;j++)
        {
        P1=P3=~P1;
        
        P2=~duoinguoc();//
        delay(2000);
        }
            tong2=21760;
        P1=P3=P2=0x55;
        
        for(j=1;j<=8;j++)
        {
        P1=P2=P3=~P1;
    
        P0=~duoinguoc();
        delay(2000);
        }
    }
    void duoitren()
    {    P0=P1=P2=P3=0xff;
        tong1=0;
        for(j=1;j<=8;j++)
        {
        P1=P0=~duoithuan(j);
        delay(2000);
        }
        tong1=0;
        tong2=21760;
        P1=0x55;
        for(j=1;j<=8;j++)
        {
        P1=P0=~P1;
        P3=~duoithuan(j);
        P2=~duoithuan(j);//
        delay(2000);
        }
        
    }
    void duoiduoi()
    {    P0=P1=P2=P3=0xff;
        tong1=0;
        tong2=21760;
        for(j=1;j<=8;j++)
        {
        P2=~duoinguoc();//
        P3=~duoinguoc();
        delay(2000);
        }
        tong2=21760;
        P2=0x55;
        P3=0xaa;
        for(j=1;j<=8;j++)
        {
        P2=~P2;
        P3=~P3;
        P0=P1=~duoinguoc();
        delay(2000);
        }
        
    }
    void duoitrai()
    {    P0=P1=P2=P3=0xff;
        tong2=21760;
        for(j=1;j<=8;j++)
        {
        P0=~duoinguoc();
        P2=~duoithuan(j);//
        delay(2000);
        }
        tong1=0;
        tong2=21760;
        P0=0xaa;
        for(j=1;j<=8;j++)
        {
        P0=P2=~P0;
        P3=~duoinguoc();
        P1=~duoithuan(j);
        delay(2000);
        }
        
    }
    void duoiphai()
    {    P0=P1=P2=P3=0xff;
        tong1=0;
        tong2=21760;
        for(j=1;j<=8;j++)
        {
        P3=~duoithuan(j);
        P1=~duoinguoc();
        delay(2000);
        }
        tong1=0;
        P1=0xaa;
        P3=0x55;
        for(j=1;j<=8;j++)
        {
        P1=~P1;
        P3=~P3;
        P2=    ~duoinguoc();//
        P0=~duoithuan(j);
        delay(2000);
        }
        
    }
    void sangdan0()
    {    P0=P1=P2=P3=0xff;
        x=y=255;
        for(j=0;j<8;j++)
        {
        P0= sangdanthuan(j);
        delay(2000);
        }
        x=y=255;
            for(j=0;j<8;j++)
        {
        P2=sangdanthuan(j);//
        delay(2000);
        }
        x=y=255;
        
            for(j=0;j<8;j++)
        {
        P3=sangdannguoc(j);
        delay(2000);
        }
        x=y=255;
        for(j=0;j<8;j++)
        {
        P1=sangdannguoc(j);
        delay(2000);
        }
    }
    void sangdan1()
    {    P0=P1=P2=P3=0xff;
        x=y=255;
        for(j=0;j<8;j++)
        {
        P1= sangdanthuan(j);
        delay(2000);
        }
        x=y=255;
            for(j=0;j<8;j++)
        {
        P3=sangdanthuan(j);
        delay(2000);
        }
        x=y=255;
        
            for(j=0;j<8;j++)
        {
        P2=sangdannguoc(j);//
        delay(2000);
        }
        x=y=255;
        for(j=0;j<8;j++)
        {
        P0=sangdannguoc(j);
        delay(2000);
        }
    }
    void sangdantren()
    {    P0=P1=P2=P3=0xff;
        x=y=255;
        for(j=0;j<8;j++)
        {
        P1=P0= sangdanthuan(j);
        delay(2000);
        }
        x=y=255;
        for(j=0;j<8;j++)
        {
        P3=sangdanthuan(j);    
        P2=sangdanthuan(j);    //
        delay(2000);
        }
        x=y=255;
    }
    void sangdanduoi()
    {    P0=P1=P2=P3=0xff;
        x=y=255;
        for(j=0;j<8;j++)
        {
        P2= sangdannguoc(j);//
        P3=sangdannguoc(j);
        delay(2000);
        }
        x=y=255;
        for(j=0;j<8;j++)
        {
        P1=P0=sangdannguoc(j);
        delay(2000);
        }
        x=y=255;
    }
    void sangdantrai()
    {    P0=P1=P2=P3=0xff;
        x=y=255;
        for(j=0;j<8;j++)
        {
        P0=sangdannguoc(j);
        P2=sangdanthuan(j);     //
        delay(2000);
        }
        x=y=255;
        for(j=0;j<8;j++)
        {
        P3=sangdannguoc(j);
        P1=sangdanthuan(j);
        delay(2000);
        }
    }
    void sangdanphai()
    {    P0=P1=P2=P3=0xff;
        x=y=255;
        for(j=0;j<8;j++)
        {
        P1=sangdannguoc(j);
        P3=sangdanthuan(j);
        delay(2000);
        }
        x=y=255;
        for(j=0;j<8;j++)
        {
        P0=sangdanthuan(j);
        P2=sangdannguoc(j);    //
        delay(2000);
        }
    }
    void nhictren()
    {    P0=P1=P2=P3=0xff;
        for(j=0;j<8;j++)
        {
        P0=P1=~nhicthuan(j);
        delay(2000);
        }
        P1=P0=0xff;
            for(j=0;j<8;j++)
        {
        P3=~nhicthuan(j);
        P2=~nhicthuan(j);//
        delay(2000);
        }
        P3=0xff;
    }
    void nhicduoi()
    {    P0=P1=P2=P3=0xff;
        for(j=0;j<8;j++)
        {
        P2=~nhicnguoc(j);  //
        P3=~nhicnguoc(j);
        delay(2000);
        }
        P2=P3=0xff;
            for(j=0;j<8;j++)
        {
        P0=P1=~nhicnguoc(j);
    
        delay(2000);
        }
        P3=0xff;
    }
    void hay1()
    {  P0=P1=P2=P3=0xff;
        x=y=255;
        for(j=0;j<8;j++)
        {
        P1=P3=sangdannguoc(j);
        P0=sangdanthuan(j);
        P2=sangdanthuan(j);    //
        delay(2000);
        }    
    }
    void hay2()
    {
    P0=P1=P2=P3=0xff;
        x=y=255;
        for(j=0;j<8;j++)
        {
        P0=sangdannguoc(j);
        P2=sangdannguoc(j);    //
        P1=P3=sangdanthuan(j);
        delay(2000);
        }    
    }
    thank bác nhưng mà hình như nó bị lỗi chỗ nào hay sao ý bác ak.nạp vào thấy nó chạy lỗi 1 số led

    Email:
    Gmail:

    Comment


    • #17
      mà bác có cái code nào mà khoảng hơn 10 hiệu ứng đẹp đẹp dùng cho 89c51 thì cho a/e xin với nha.e cũng đang muốn làm mấy cái này mà code hình như đơn giản quá.ek biết viết nên đành phải nhờ.hihi
      thank trc.
      good luck !!

      Email:
      Gmail:

      Comment


      • #18
        tham khảo tại đây
        http://www.dientuvietnam.net/forums/...50/index2.html

        Comment


        • #19
          Nguyên văn bởi 0973885865 Xem bài viết
          lâu lắm k thấy bác xuất hiện trên dd nhỉ.e làm trên 89c51 thui con 52 chưa có.đang kiếm cái code nhiều hiệu ứng chút cho đỡ nhàm chán ý mà.
          mà bác có làm mấy cái mạch này k vậy

          Email:
          Gmail:

          Comment


          • #20
            e thấy cái này trên mạng thấy cũng nhiều hiệu ứng hay hay mà k biết 89c51 có đủ nhiệt k nhỉ ai là chủ nhân hay có code cho e xin với nha vì chỉ có 89c51 nên bác nào có code nhiều hiệu ứng càng tốt nhưng 89c51 phải đủ nhiệt nha.hihi
            thank các bác nhìu
            good luck !!!

            Email:
            Gmail:

            Comment


            • #21
              bạn xem cái link đó con 51 đủ dùng bộ nhớ 4k nhưng khi nạp vẫn nạp được hơn 1 chút

              Comment


              • #22
                Chủ thớt thử code của mình xem sao

                bh1.asm

                Comment


                • #23
                  Nguyên văn bởi 0973885865 Xem bài viết
                  bạn xem cái link đó con 51 đủ dùng bộ nhớ 4k nhưng khi nạp vẫn nạp được hơn 1 chút
                  vâng thank bác nhưng k thấy để e xem lại sau

                  Email:
                  Gmail:

                  Comment


                  • #24
                    Nguyên văn bởi ckd08 Xem bài viết
                    Chủ thớt thử code của mình xem sao

                    bh1.asm
                    cam ơn bác nhìu nhưng e k dịch đc sang file hex bác dịch luôn hộ e xem sai chỗ nào hình như là ngay lệnh đầu tiên thì phải mà code này 89c51 có nạp đc k đấy bác ???

                    Email:
                    Gmail:

                    Comment


                    • #25
                      Chương trình bình thường mà bạn. Cái file hex này tới 7kb lận Bạn thử xóa bớt vài dòng rồi biên dịch lại xem sao.
                      bh1.hex

                      Comment


                      • #26
                        Nguyên văn bởi ckd08 Xem bài viết
                        Chương trình bình thường mà bạn. Cái file hex này tới 7kb lận Bạn thử xóa bớt vài dòng rồi biên dịch lại xem sao.
                        bh1.hex
                        bác biết thì sửa hộ e chứ e thì biết j biết đã k nhờ các bác rồi.hihi
                        good luck

                        Email:
                        Gmail:

                        Comment


                        • #27
                          ak mà đây là thành quả của e tuy k đc nhiều hiệu ứng lắm nhưng cũng tạm các bác xem thế nào

                          Email:
                          Gmail:

                          Comment


                          • #28
                            Nguyên văn bởi ckd08 Xem bài viết
                            Chương trình bình thường mà bạn. Cái file hex này tới 7kb lận Bạn thử xóa bớt vài dòng rồi biên dịch lại xem sao.
                            bh1.hex
                            ak mà cái code của bác mấy k thì e cũng chưa xem nhưng mà cũng nạp đc vao chíp nhưng mà nạp xong thì nó chạy có led tối led sáng lẫn lộn hết ak.cái nháy cái k.hình như code này lỗi rồi bác ak.bác thử bật proteus lên xem lỗi bác xem thế nào chứ

                            Email:
                            Gmail:

                            Comment


                            • #29
                              Size hex file không phải kích thước thật trên Rom đâu.
                              kích thước gần đúng =1/2(size hex file).
                              , , ,

                              Comment


                              • #30
                                Nguyên văn bởi tuankep6 Xem bài viết
                                ak mà đây là thành quả của e tuy k đc nhiều hiệu ứng lắm nhưng cũng tạm các bác xem thế nào
                                thêm hiệu ứng:
                                Code:
                                #include"reg52.h"
                                char x,y,i,j,q,tong1;
                                int tong2;
                                         const unsigned char ma_led[6][8]={           
                                         0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,//sang dan lsb..msb
                                         0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,//sang dan msb..lsb
                                         0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xff,//toi dan lsb..msb
                                         0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF,//toi dan msb.lsb
                                         0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,//toi dan 1 led lsb...msb
                                        0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};//toi dan 1 led msb...lsb
                                 void delay(unsigned long int t)
                                {
                                    unsigned long int l;
                                    for(l=0;l<t;l++);
                                }
                                 void sang_dan()
                                {
                                 P0=P1=P2=P3=0xff;
                                for(x=0;x<=7;x++)
                                  {    
                                  P1=ma_led[0][x];
                                  delay(2000);
                                  }
                                 for(x=0;x<=7;x++)
                                  {    
                                  P3=ma_led[0][x];
                                  delay(2000);
                                  } 
                                   for(x=0;x<=7;x++)
                                  {    
                                  P2=ma_led[1][x];
                                  delay(2000);
                                  }    
                                 for(x=0;x<=7;x++)
                                  {    
                                  P0=ma_led[1][x];
                                  delay(2000);
                                  }
                                }
                                 void toi_dan()
                                {
                                P0=P1=P2=P3=0x00;
                                for(x=0;x<=7;x++)
                                  {    
                                  P1=ma_led[2][x];
                                  delay(2000);
                                  }
                                 for(x=0;x<=7;x++)
                                  {    
                                  P3=ma_led[2][x];
                                  delay(2000);
                                  } 
                                   for(x=0;x<=7;x++)
                                  {    
                                  P2=ma_led[3][x];
                                  delay(2000);
                                  }    
                                 for(x=0;x<=7;x++)
                                  {    
                                  P0=ma_led[3][x];
                                  delay(2000);
                                  }
                                }
                                    void toi_dan_1_led()
                                {
                                P0=P1=P2=P3=0x00;
                                delay(2000);
                                for(x=0;x<=7;x++)
                                  {    
                                  P1=ma_led[4][x];
                                  delay(2000);
                                  }
                                   P0=P1=P2=P3=0x00;
                                 for(x=0;x<=7;x++)
                                  {    
                                  P3=ma_led[4][x];
                                  delay(2000);
                                  } 
                                    P0=P1=P2=P3=0x00;
                                   for(x=0;x<=7;x++)
                                  {    
                                  P2=ma_led[5][x];
                                  delay(2000);
                                  }    
                                 for(x=0;x<=7;x++)
                                  {    
                                  P0=ma_led[5][x];
                                  delay(2000);
                                  }
                                  P0=P1=P2=P3=0x00;
                                }
                                   void sang_2ben()
                                {
                                P0=P1=P2=P3=0xff;
                                for(x=0;x<=7;x++)
                                  {    
                                  P0=ma_led[0][x];
                                  P1=ma_led[0][x];
                                  delay(2000);
                                  }
                                 for(x=0;x<=7;x++)
                                  {    
                                  P2=ma_led[0][x];
                                  P3=ma_led[0][x];
                                  delay(2000);
                                 }
                                 }
                                 void kieu_4()
                                {
                                for(x=0;x<=7;x++)
                                  {    
                                  P0=ma_led[0][x];
                                  P1=ma_led[0][x];
                                  delay(2000);
                                  }
                                 for(x=0;x<=7;x++)
                                  {    
                                  P2=ma_led[1][x];
                                  P3=ma_led[1][x];
                                  delay(2000);
                                  } 
                                   
                                }
                                    void kieu_5()
                                {
                                for(x=0;x<=7;x++)
                                  {    
                                  P1=ma_led[0][x];
                                  P3=ma_led[1][x];
                                  P0=ma_led[0][x];
                                  P2=ma_led[1][x];
                                  delay(2000);
                                  }
                                }
                                   void kieu_6()
                                {
                                for(x=0;x<=7;x++)
                                  {    
                                  P0=ma_led[2][x];
                                  P1=ma_led[2][x];
                                  P2=ma_led[3][x];
                                  P3=ma_led[3][x];
                                  delay(2000);
                                  }
                                   
                                }
                                 void nhap_nhay_nua()
                                {
                                 P0=P1=P2=P3=0xff;
                                for(x=0;x<=8;x++)
                                  {    
                                  P0=P2=0x00;
                                  delay(2000);
                                  P0=P2=0xff;
                                  P1=P3=0x00;
                                  delay(2000);
                                  P1=P3=0xff;
                                  }
                                 
                                }
                                void nhap_nhay_nua_cheo()
                                {
                                 P0=P1=P2=P3=0xff;
                                for(x=0;x<=8;x++)
                                  {    
                                  P2=P1=0x00;
                                  delay(2000);
                                  P2=P1=0xff;
                                  P0=P3=0x00;
                                  delay(2000);
                                  P0=P3=0xff;
                                  }
                                 
                                }
                                 void da_hai()
                                {
                                for(x=0;x<=8;x++)
                                  {    
                                  P0=P1=P2=P3=0x55;
                                  delay(2000);
                                  P0=P1=P2=P3=0xaa;
                                  delay(2000);
                                  
                                }
                                }
                                  void nhap_nhay()
                                {
                                for(x=0;x<=8;x++)
                                  {    
                                  P0=P1=P2=P3=0x00;
                                  delay(2000);
                                  P0=P1=P2=P3=0xff;
                                  delay(2000);
                                  
                                }
                                }
                                 void main()
                                {
                                  while(1)
                                  {
                                   sang_dan();
                                   nhap_nhay();
                                   toi_dan();
                                   nhap_nhay();
                                   sang_2ben();
                                   nhap_nhay();
                                   kieu_4()    ;
                                   nhap_nhay();
                                   kieu_5()    ;
                                   nhap_nhay();
                                   kieu_6()    ;
                                   nhap_nhay();
                                   nhap_nhay_nua();
                                   nhap_nhay();
                                   da_hai();
                                   toi_dan_1_led();
                                   nhap_nhay();
                                   da_hai();
                                  nhap_nhay_nua_cheo();
                                  nhap_nhay();
                                  }
                                }
                                |

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X