Thông báo

Collapse
No announcement yet.

em mới làm quen với lập trình 89s52 bằng KEILC , bác nào giúp em bài này với! hic !

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

  • #16
    chưa chắc

    uchar i;
    void main() {
    for(i=0;i<16;++i) {
    P1_0=!P1_0; //dao led
    delay_ms(200);

    }
    //sau khi het 8 lan
    while(1);
    }
    lập trình vi điều khiển 8051 - avr - pic- thiết kế mạch điện tử

    Học Hiểu Nguyên Tắc - Tuân Theo Nguyên Tắc - Giải Trừ Nguyên Tắc

    Comment


    • #17
      em đã làm đc rồi! thanks cả nhà nhiều! vui quá hihi

      Comment


      • #18
        em đã làm xong! chạy cũng đạt yêu cầu nhưng hơi dài!hihi thanks cả nhà nhièu!mjjjjjjjjjjjjjj chk...
        #include <regx51.h>
        unsigned int x,y;
        //------------cac ham con------------
        //------------chuong trinh con giu cham---
        void giucham()
        {
        for(y=0;y<8;y++)
        {
        for(x=0;x<12000;x++){}
        }
        }
        //chuong trinh con nhay led----
        void nhayled()
        {
        P1_0=0;
        giucham();
        P1_0=1;
        giucham();
        P1_0=0;
        giucham();
        P1_0=1;
        giucham();
        P1_0=0;
        giucham();
        P1_0=1;
        giucham();
        P1_0=0;
        giucham();
        P1_0=1;
        giucham();
        P1_0=0;
        giucham();
        P1_0=1;
        giucham();
        P1_0=0;
        giucham();
        P1_0=1;
        giucham();
        P1_0=0;
        giucham();
        P1_0=1;
        giucham();
        P1_0=0;
        giucham();
        P1_0=1;
        giucham();
        }
        //------------chuong trinh chinh---------
        void main (void)
        {
        while(1)
        {
        nhayled();
        while(1);
        }
        }
        //---------------------------------------
        Last edited by gagafayfay; 14-07-2012, 10:08.

        Comment


        • #19
          Nguyên văn bởi gagafayfay Xem bài viết
          em làm như thế này và chạy đc! đã đạt yêu cầu!
          #include <AT89x52.h>
          unsigned int x,y;
          void giucham()
          {
          for (y=0;y<8;y++)

          for (x=0;x<12000;x++) {}
          }

          void nhayled()

          {
          P1_0=0;
          giucham();
          P1_0=1;
          giucham();
          P1_0=0;
          giucham;
          P1_0=1;
          giucham();
          P1_0=0;
          giucham;
          P1_0=1;
          giucham();
          P1_0=0;
          giucham;
          P1_0=1;
          giucham();
          P1_0=0;
          giucham;
          P1_0=1;
          giucham();
          P1_0=0;
          giucham;
          P1_0=1;
          giucham();
          P1_0=0;
          giucham;
          P1_0=1;
          giucham();
          P1_0=0;
          giucham;
          P1_0=1;
          giucham();
          }
          void main (void)
          {
          while(1);
          {
          nhayled();
          while(1);
          }
          }
          2 cái vòng while(1); của bạn đều có ý là ko làm gì cả. vậy vì sao bạn phải dùng 2 lệnh while. Mình nghĩ bạn có thể bỏ cái while ở trên đi được
          Nguyễn Huy Biên - 01649 802 694
          gmail :

          Comment


          • #20
            Nguyên văn bởi tan955 Xem bài viết
            chưa chắc

            uchar i;
            void main() {
            for(i=0;i<16;++i) {
            P1_0=!P1_0; //dao led
            delay_ms(200);

            }
            //sau khi het 8 lan
            while(1);
            }
            Về cơ bản thì đảo bit thực thi lâu hơn set bit. Nên cách này ko tối ưu (và cũng ko đơn giản nữa).
            Computer Science major - Vietnamese-German University
            Sponsored by

            Comment


            • #21
              Nguyên văn bởi minh_cly Xem bài viết
              Về cơ bản thì đảo bit thực thi lâu hơn set bit. Nên cách này ko tối ưu (và cũng ko đơn giản nữa).
              cũng chưa hẵn vì Asm có sắn lệnh CPL , hi vọng trình biên dịch thông minh , và đằng nào cũng phải delay . ok!
              lập trình vi điều khiển 8051 - avr - pic- thiết kế mạch điện tử

              Học Hiểu Nguyên Tắc - Tuân Theo Nguyên Tắc - Giải Trừ Nguyên Tắc

              Comment


              • #22
                Nguyên văn bởi gagafayfay Xem bài viết
                em đã làm xong! chạy cũng đạt yêu cầu nhưng hơi dài!hihi thanks cả nhà nhièu!mjjjjjjjjjjjjjj chk...
                Code:
                #include <regx51.h>
                unsigned int x,y;
                //------------cac ham con------------
                //------------chuong trinh con giu cham---
                void giucham()
                {
                for(y=0;y<8;y++)
                {
                for(x=0;x<12000;x++){}
                }
                }
                //chuong trinh con nhay led----
                void nhayled()
                {
                P1_0=0;
                giucham();
                P1_0=1;
                giucham();
                P1_0=0;
                giucham();
                P1_0=1;
                giucham();
                P1_0=0;
                giucham();
                P1_0=1;
                giucham();
                P1_0=0;
                giucham();
                P1_0=1;
                giucham();
                P1_0=0;
                giucham();
                P1_0=1;
                giucham();
                P1_0=0;
                giucham();
                P1_0=1;
                giucham();
                P1_0=0;
                giucham();
                P1_0=1;
                giucham();
                P1_0=0;
                giucham();
                P1_0=1;
                giucham();
                }
                //------------chuong trinh chinh---------
                void main (void)
                {
                while(1)
                {
                nhayled();
                while(1);
                }
                }
                //---------------------------------------
                viết như vầy này cho cực. nhưng sửa lại cho bạn để đỡ mất cái lệnh while

                Code:
                #include <regx51.h>
                unsigned int x,y;
                //------------cac ham con------------
                //------------chuong trinh con giu cham---
                void giucham()
                {
                for(y=0;y<8;y++)
                {
                for(x=0;x<12000;x++){}
                }
                }
                //------------chuong trinh chinh---------
                void main (void)
                {
                P1_0=0;
                giucham();
                P1_0=1;
                giucham();
                P1_0=0;
                giucham();
                P1_0=1;
                giucham();
                P1_0=0;
                giucham();
                P1_0=1;
                giucham();
                P1_0=0;
                giucham();
                P1_0=1;
                giucham();
                P1_0=0;
                giucham();
                P1_0=1;
                giucham();
                P1_0=0;
                giucham();
                P1_0=1;
                giucham();
                P1_0=0;
                giucham();
                P1_0=1;
                giucham();
                P1_0=0;
                giucham();
                P1_0=1;
                giucham();
                
                while(1)
                {
                // khỏi cần code gì hết.
                }
                }
                //---------------------------------------

                Comment

                Về tác giả

                Collapse

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

                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