Thông báo

Collapse
No announcement yet.

Dành cho người mới tìm hiểu 8051

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

  • bạn ơi! bạn giúp xem minh vẽ cái này đúng chưa với, minh đang Click image for larger version

Name:	dieu khien dong co.jpg
Views:	1
Size:	665.8 KB
ID:	1360444hải làm bài về cái hiển thị tốc độ động cơ có đảo chiều
    Last edited by k43kdtcntn; 02-05-2012, 14:22.

    Comment


    • bạn cho mình hỏi dòng:for(j=0;j<120;j++); ở đây tại sao là 120 thế, bạn chỉ cho minh vs nhé

      Comment


      • co bac nao co the thu gon code nay zum e k za. e chỉ mói tập tành thôi nên chua ranh lam. cảm ơn các bác trước nha !
        mong các bác giúp đỡ giùm
        #include <REGX51.H>
        #define sang 1
        #define tat 0
        sbit led1=P1^0;
        sbit led2=P1^1;
        sbit led3=P1^2;
        sbit led4=P1^3;
        sbit led5=P1^4;
        sbit led6=P1^5;
        sbit led7=P1^6;
        sbit led8=P1^7;
        sbit led9=P3^0;
        sbit led10=P3^1;
        sbit led11=P3^2;
        sbit led12=P3^3;
        sbit led13=P3^4;
        sbit led14=P3^5;
        sbit led15=P3^6;
        sbit led16=P3^7;
        //---------------
        void delay( unsigned int ms )
        {
        unsigned int i,j;
        for (i=0;i<ms;i++)
        for (j=0;j<120;j++)
        {}
        }
        //--------------
        void display_led(unsigned char number)
        {

        switch (number)
        {

        case 1:
        P1=P3=0x80;
        break;
        case 2:
        P1=P3=0x40;
        break;
        case 3:
        P1=P3=0x20;
        break;
        case 4:
        P1=P3=0x10;
        break;
        case 5:
        P1=P3=0x08;
        break;
        case 6:
        P1=P3=0x04;
        break;
        case 7:
        P1=P3=0x02;
        break;
        case 8:
        P1=P3=0x01;
        break;
        } }
        void chopled (unsigned char n)
        { switch (n)
        {
        case 1:
        P1=P3=0x00; delay(500);
        P1=P3=0xff;
        break ;
        case 2:
        P1=P3=0x00; delay(500);
        P1=P3=0xff;
        break;
        case 3:
        P1=P3=0x00; delay(500);
        P1=P3=0xff;
        break;
        case 4:
        P1=P3=0x00; delay(500);
        P1=P3=0xff;
        break;
        } }
        main ()
        {
        unsigned char m;
        P0=P1=P2=P3=0x00;
        while(1)
        {
        for (m=0;m<9;m++)
        {
        display_led(m); delay(500);
        }
        for(m=0;m<4;m++)
        {
        chopled(m); delay(500);
        }
        P1=P3=0x01; delay(500);
        for(m=0;m<8;m++)
        {
        P3=P1=P1<<1; delay(500);
        }
        P1=P3=0xff; delay(500);
        for(m=0;m<8;m++)
        {
        P1=P3=P3>>1; delay(500);
        }
        P1=P3=0xff; delay(500);
        for(m=0;m<8;m++)
        {
        P1=P3=P3>>1; delay(500);
        }
        P1=P3=0xff; delay(500);
        for(m=0;m<8;m++)
        {
        P1=P3=P3>>1; delay(500);
        }
        P1=P3=0xff; delay(500);
        for(m=0;m<8;m++)
        {
        P1=P3=P3>>1; delay(500);
        }
        for(m=0;m<4;m++)
        {
        P1=P3=0x00; delay(500);
        P1=0x01; delay(500);
        P1=0x03; delay(500);
        P1=0x07; delay(500);
        P1=0x0f; delay(500);
        P1=0x1f; delay(500);
        P1=0x3f; delay(500);
        P1=0x7f; delay(500);
        P1=0xff; delay(500);
        P1=0xff;
        P3=0x80; delay(500);
        P3=0xc0; delay(500);
        P3=0xe0; delay(500);
        P3=0xf0; delay(500);
        P3=0xf8; delay(500);
        P3=0xfc; delay(500);
        P3=0xfe; delay(500);
        P3=0xff; delay(500);
        P3=0xff;
        P1=0xfe; delay(500);
        P1=0xfc; delay(500);
        P1=0xf8; delay(500);
        P1=0xf0; delay(500);
        P1=0xe0; delay(500);
        P1=0xc0; delay(500);
        P1=0x80; delay(500);
        P1=0x00; delay(500);
        P1=0x00;
        P3=0x7f; delay(500);
        P3=0x3f; delay(500);
        P3=0x1f; delay(500);
        P3=0x0f; delay(500);
        P3=0x07; delay(500);
        P3=0x03; delay(500);
        P3=0x01; delay(500);
        }
        }
        }
        TÌNH YÊU KHÔNG TỰ SINH RA CŨNG KHÔNG TỰ MÂT ĐI
        MÀ NÓ CHỈ CHUYỂN HÓA TỪ NGƯỜI NÀY SANG NGƯỜI KHÁC . . . ! ! ! !...

        Comment


        • nói thiệt nhìn code bạn đưa lên oải quá .bạn có thể nói ý tưởng hoạt động tôi sẽ giúp viết code nhé ! chứ nhìn thế kia hãi quá!
          Email :
          Phone : 0902 5777 39
          Branch: LẬP TRÌNH CÁC DÒNG CHIP NXP, ST, ATMEL

          Comment


          • ý tưởng là như dầy.
            - sáng led1 va led16 từ ngoài vào trong (led1-->led7,led8<--led16) và ngược lại ( led1<--led7,led8-->led16 )
            - chóp tất tất cả các led
            -sáng lang tu led1-->led16 va ngược lại led1<--led16
            - lại chóp tất led
            như vậy thôi cũng được rồi.
            cảm ơn bác nhiều !
            TÌNH YÊU KHÔNG TỰ SINH RA CŨNG KHÔNG TỰ MÂT ĐI
            MÀ NÓ CHỈ CHUYỂN HÓA TỪ NGƯỜI NÀY SANG NGƯỜI KHÁC . . . ! ! ! !...

            Comment


            • led trang trí ak bạn. code bạn viết không có thuật toán thì đố ai thu gọn được nữa. ngoài giờ làm việc tôi sẽ viết cho bạn.

              Comment


              • đúng led trang trí. mình chỉ mới tìm hiểu thôi nên chưa rành lắm, mong các bác chỉ giáo zum
                TÌNH YÊU KHÔNG TỰ SINH RA CŨNG KHÔNG TỰ MÂT ĐI
                MÀ NÓ CHỈ CHUYỂN HÓA TỪ NGƯỜI NÀY SANG NGƯỜI KHÁC . . . ! ! ! !...

                Comment


                • Nguyên văn bởi quynh Xem bài viết
                  Bây giờ bạn lại muốn 8 con led cùng nhấp nháy thì làm sao?cực kỳ đơn giản.
                  Nối các led như vd trên vào P1(từ P1.0->P1.7)
                  và chương trình sẽ là:
                  ________________
                  Code:
                  #include<regx51.h>
                  void delay(unsigned int ms)//hàm này tạo độ trễ thời gian, dơn vị là ms
                  {
                    unsigned int i;
                      unsigned char j;//khai báo kiểu "char"mỗi biến chỉ chiếm 1 byte
                     for(i=0;i<ms;i++)
                         for(j=0;j<120;j++)
                           {}//không làm gì cả
                  }
                  main()//Chương trình chính
                  {
                  While(1)//tạo vòng lặp vô hạn
                  {
                  P1=0x00;//"0x00"là giá trị viết trong hệ hex, cái này=00000000
                  delay(1000);//tạo độ trễ 1000ms=1s
                  P1=0xff;//"0xff"là giá trị viết trong hệ hex, cái này=11111111
                  delay(1000);
                  }
                  } 
                     
                  }
                  ko thấy nó nháy. thấy cả 8 đèn sáng hết ah

                  Comment


                  • Nguyên văn bởi pm.long Xem bài viết
                    ko thấy nó nháy. thấy cả 8 đèn sáng hết ah
                    bạn post cái sơ đồ mô phỏng lên tôi xem nào? nhìn code thì đúng rồi, bạn cũng có thể xem lại chương trình mô phỏng xem có lỗi gì k?

                    Comment


                    • MÌnh cũng có 1 số tài liệu được coi là cơ bản về VDK 89c nếu ai muốn có thì pm email mình : trinhductrongtk@gamil.com
                      vì mình chưa up tài liêu lên = cách nào được

                      Comment


                      • Cần mua 1 mạch nạp 89c51. ai bán pm qua sdt 0973987355. em o hanoi

                        Comment


                        • Mọi người nói rõ thêm về ma trận led cho em và các thành viên mới tập đc hiểu rõ với. có hình cụ thể thì hay quá. thanks

                          Comment


                          • Nguyên văn bởi chaynhanhthe Xem bài viết
                            Mọi người nói rõ thêm về ma trận led cho em và các thành viên mới tập đc hiểu rõ với. có hình cụ thể thì hay quá. thanks
                            Bạn có thể tham khảo luồng này:
                            http://www.dientuvietnam.net/forums/...mpleted-15613/
                            VNATR Forum:

                            Comment


                            • mình còn 1 mạch sp180s nhưng mình ở phú thọ.bàn ra chợ dời mua cũng dc mà.khoảng 200k là có
                              mạch nạp rom Bùa giao tiếp USB giá 350k - 25Q80 giá 15k...
                              xem chi tiết tại ngohungcuong.tk
                              DT:0973150080

                              Comment


                              • Nguyên văn bởi chaynhanhthe Xem bài viết
                                Cần mua 1 mạch nạp 89c51. ai bán pm qua sdt 0973987355. em o hanoi
                                Mạch nạp bạn có thể mua ở Phan Information Technology
                                VNATR Forum:

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X