Thông báo

Collapse
No announcement yet.

cần giúp về code cho 8051!?

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

  • #31
    lần lượt ạ. anh coi dùme em đoạn code này có j sai mà em biên dịch không có dc. cái này là em tự viết
    // Khai bao thu vien
    #include <REGX51.H>
    // Ham Delay
    void delay(int time)
    {
    while(time--)
    {
    int temp = 121;
    while(temp--);
    }
    //Bat dau than chuong trinh luon nay
    void main ()
    {
    while (1) // gia tri 1 là luon dung nen vong lap la vo tan cho den khi mat dien
    {
    P2=0x01;
    delay(50);
    P2=0x02;
    delay(50);
    P2=0x04;
    delay(50);
    P2=0x08;
    delay(50);
    P2=0x10;
    delay(50);
    P2=0x20;
    delay(50);
    P2=0x40;
    delay(50);
    P2=0x80;
    delay(50);
    }
    }// Khai bao thu vien
    #include <REGX51.H>
    // Ham Delay
    void delay(int time)
    {
    while(time--)
    {
    int temp = 121;
    while(temp--);
    }
    //Bat dau than chuong trinh luon nay
    void main ()
    {
    while (1) // gia tri 1 là luon dung nen vong lap la vo tan cho den khi mat dien
    {
    P2=0x01;
    delay(50);
    P2=0x02;
    delay(50);
    P2=0x04;
    delay(50);
    P2=0x08;
    delay(50);
    P2=0x10;
    delay(50);
    P2=0x20;
    delay(50);
    P2=0x40;
    delay(50);
    P2=0x80;
    delay(50);
    }
    }

    Comment


    • #32
      nếu sáng lần lượt từ 0 đến 7 thì bạn khai báo mảng
      unsigned int A[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}
      for(i=0;i<8;i++){
      P2=A[i].delay(100)} ;
      thế là xong
      ở đây 0xfe ứng với trạng thái đầu tiên 11111110
      tiếp theo trạng thái 2 là 0xfd :11111101
      trạng thái 3 là 0xfb :11111011
      nói đến đây chắc bạn hiểu rồi chứ.đổi mã hex trực tiếp trên web nè :Binary/Decimal/Hexadecimal Converter

      từ đây bạn có thể suy ra nhiều cái hay hơn nữa.hi.mình cũng vừa học đc xong nên biết cảm giác mới học nó ntn.phê

      Comment


      • #33
        nhưng mà mấy dòng như anh nhìn khó hiểu quá. em muốn nó kiểu như thế này cơ:
        P2=0xfe;
        delay(50);
        P2=0xfe;
        ........
        như thế đó anh

        Comment


        • #34
          cái của t cho ngắn gọn chứ như của bạn là thủ công.cực kì dài nếu viết nhiều hiệu ứng

          Comment


          • #35
            #include <REGX51.H>
            // Ham Delay
            void delay(int time)
            {
            while(time--)
            {
            int temp = 121;
            while(temp--);
            } }
            //Bat dau than chuong trinh luon nay
            void main ()
            {
            while (1) // gia tri 1 là luon dung nen vong lap la vo tan cho den khi mat dien
            {
            P2=0x01;
            delay(50);
            P2=0x02;
            delay(50);
            P2=0x04;
            delay(50);
            P2=0x08;
            delay(50);
            P2=0x10;
            delay(50);
            P2=0x20;
            delay(50);
            P2=0x40;
            delay(50);
            P2=0x80;
            delay(50);
            }
            }




            bạn thử code này xem

            Comment


            • #36
              em biết nhưng phải biết bò rồi mới biết chạy chứ anh! anh cho em cái đoạn code dạng như vậy dc không ạ. không thì anh sửa đoạn code trên của em xem nó có sai chỗ nào không mà khi dịch nó báo lỗi
              Build target 'Target 1'
              compiling hoa.c...
              HOA.C(12): error C141: syntax error near 'void'
              Target not created

              Comment


              • #37
                mình sửa rồi đó.bạn thiếu dấu } gần chỗ void

                Comment


                • #38
                  ý dc rồi anh ạ. không biết sai chỗ nào anh nhỉ?

                  Comment


                  • #39
                    dạ. em cám ơn anh

                    Comment


                    • #40
                      uhm.mình cũng vừa học thôi.có gì trao đổi thêm

                      Comment


                      • #41
                        hì hục mãi dc cái code mà nó dài quá. anh chỉ em cách thu gọn nó nhá.
                        code:
                        #include <REGX51.H>
                        // Ham Delay
                        void delay(int time)
                        {
                        while(time--)
                        {
                        int temp = 121;
                        while(temp--);
                        } }
                        //Bat dau than chuong trinh luon nay
                        void main ()
                        {
                        while (1) // gia tri 1 là luon dung nen vong lap la vo tan cho den khi mat dien
                        {
                        P2=0xfe;
                        delay(500);
                        P2=0xfd;
                        delay(500);
                        P2=0xfb;
                        delay(500);
                        P2=0xf7;
                        delay(500);
                        P2=0xef;
                        delay(500);
                        P2=0xdf;
                        delay(500);
                        P2=0xbf;
                        delay(500);
                        P2=0x7f;
                        delay(500);
                        P2=0x7e;
                        delay(500);
                        P2=0x7d;
                        delay(500);
                        P2=0x7b;
                        delay(500);
                        P2=0x77;
                        delay(500);
                        P2=0x6f;
                        delay(500);
                        P2=0x5f;
                        delay(500);
                        P2=0x3f;
                        delay(500);
                        P2=0x3e;
                        delay(500);
                        P2=0x3d;
                        delay(500);
                        P2=0x3b;
                        delay(500);
                        P2=0x37;
                        delay(500);
                        P2=0x2f;
                        delay(500);
                        P2=0x1f;
                        delay(500);
                        P2=0x1e;
                        delay(500);
                        P2=0x1d;
                        delay(500);
                        P2=0x1b;
                        delay(500);
                        P2=0x17;
                        delay(500);
                        P2=0x0f;
                        delay(500);
                        P2=0x0e;
                        delay(500);
                        P2=0x0d;
                        delay(500);
                        P2=0x0b;
                        delay(500);
                        P2=0x07;
                        delay(500);
                        P2=0x06;
                        delay(500);
                        P2=0x05;
                        delay(500);
                        P2=0x03;
                        delay(500);
                        P2=0x02;
                        delay(500);
                        P2=0x01;
                        delay(500);
                        P2=0x00;
                        delay(500);
                        P2=0x01;
                        delay(500);
                        P2=0x02;
                        delay(500);
                        P2=0x04;
                        delay(500);
                        P2=0x08;
                        delay(500);
                        P2=0x10;
                        delay(500);
                        P2=0x20;
                        delay(500);
                        P2=0x40;
                        delay(500);
                        P2=0x80;
                        delay(500);
                        P2=0x81;
                        delay(500);
                        P2=0x82;
                        delay(500);
                        P2=0x84;
                        delay(500);
                        P2=0x88;
                        delay(500);
                        P2=0x90;
                        delay(500);
                        P2=0xa0;
                        delay(500);
                        P2=0xc0;
                        delay(500);
                        P2=0xc1;
                        delay(500);
                        P2=0xc2;
                        delay(500);
                        P2=0xc4;
                        delay(500);
                        P2=0xc8;
                        delay(500);
                        P2=0xd0;
                        delay(500);
                        P2=0xe0;
                        delay(500);
                        P2=0xe1;
                        delay(500);
                        P2=0xe2;
                        delay(500);
                        P2=0xe4;
                        delay(500);
                        P2=0xe8;
                        delay(500);
                        P2=0xf0;
                        delay(500);
                        P2=0xf1;
                        delay(500);
                        P2=0xf2;
                        delay(500);
                        P2=0xf4;
                        delay(500);
                        P2=0xf8;
                        delay(500);
                        P2=0xf9;
                        delay(500);
                        P2=0xfa;
                        delay(500);
                        P2=0xfc;
                        delay(500);
                        P2=0xfd;
                        delay(500);
                        P2=0xfe;
                        delay(500);
                        P2=0xff;
                        delay(500);
                        }
                        }
                        còn đây là clip nháy của nó:

                        Comment


                        • #42
                          hiệu ứng đầu tiên bạn có thể dùng lệnh dịch phải ví dụ :
                          P2=0xfe;
                          delay(50);
                          for(i=0;i<8;i++)
                          {P2=P2<<1;
                          delay(50);
                          }
                          hiệu ứng thứ 2 : bạn nhét tất cả vào 1 mảng. sao đó chỉ đọc ký tự trong mảng đó là ok
                          Nguyễn Huy Biên - 01649 802 694
                          gmail :

                          Comment


                          • #43
                            Nguyên văn bởi bienhou Xem bài viết
                            hiệu ứng đầu tiên bạn có thể dùng lệnh dịch phải ví dụ :
                            P2=0xfe;
                            delay(50);
                            for(i=0;i<8;i++)
                            {P2=P2<<1;
                            delay(50);
                            }
                            hiệu ứng thứ 2 : bạn nhét tất cả vào 1 mảng. sao đó chỉ đọc ký tự trong mảng đó là ok
                            anh nói em nỏ hiểu chi hết

                            Comment


                            • #44
                              Bạn có thể tham khảo code này của mình led.c
                              mình dùng hàm và mảng
                              vanduc0211@gmail.com

                              Comment


                              • #45
                                ai giải thích cho em dc không.
                                P2=0xfe;
                                delay(50);
                                for(i=0;i<8;i++)
                                {P2=P2<<1;
                                delay(50);
                                }

                                Comment

                                Về tác giả

                                Collapse

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

                                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