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

  • 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 !

    đây là lần đầu em làm quen với KeilC
    có bài này nhờ các bác chỉ dùm em! đề bài là:
    " lập trình nháy 1 led đơn ở chan p1.0 đúng 8 lần thì tắt!"
    em làm mấy lần cũng không tắt led đc! dùng proteus mô phỏng thì thấy led cứ nháy liên tục không dừng lại ! bác nào giúp em với. thanks!

  • #2
    Nguyên văn bởi gagafayfay Xem bài viết
    đây là lần đầu em làm quen với KeilC
    có bài này nhờ các bác chỉ dùm em! đề bài là:
    " lập trình nháy 1 led đơn ở chan p1.0 đúng 8 lần thì tắt!"
    em làm mấy lần cũng không tắt led đc! dùng proteus mô phỏng thì thấy led cứ nháy liên tục không dừng lại ! bác nào giúp em với. thanks!
    Bạn dùng 1 vòng lặp for (i = 0; i < 8; i++), cho i chạy từ 0 cho tới 7 thì nháy đúng 8 lần thoy (đây là kiến thức lập trình cơ bản đó nhá).
    Computer Science major - Vietnamese-German University
    Sponsored by

    Comment


    • #3
      for (i=0;i<=7;++i)
      {
      P1=255;
      delay(100);
      P1=0xfe;
      }
      P1=255;
      yh: vinhtk1205
      ngu phải học

      Comment


      • #4
        Nguyên văn bởi vinhtk1205 Xem bài viết
        for (i=0;i<=7;++i)
        {
        P1=255;
        delay(100);
        P1=0xfe;
        }
        P1=255;
        Thiếu delay sau dòng P1=0xfe;, ko thoy thì vừa mới tắt là bật lên lại đó.
        Computer Science major - Vietnamese-German University
        Sponsored by

        Comment


        • #5
          Thiếu delay sau dòng P1=0xfe;, ko thoy thì vừa mới tắt là bật lên lại đó.
          Uhm ! Bn nói chuẩn rồi . he
          yh: vinhtk1205
          ngu phải học

          Comment


          • #6
            kết cho cái while(1) vào thì đảm bảo chết đứng
            trên lý thuyết thì chạy 8 lần là dừng đúng theo cấu trúc của C nhưng trên thực tế thì chạy hết chương trình trong main con vdk nó tự chạy lại từ đầu, bao gồm cả các hàm và biến khởi tạo
            Website chính thức đổi địa chỉ website thành
            Mời các bạn ghé thăm !!!

            Comment


            • #7
              Nguyên văn bởi mast090 Xem bài viết
              kết cho cái while(1) vào thì đảm bảo chết đứng
              trên lý thuyết thì chạy 8 lần là dừng đúng theo cấu trúc của C nhưng trên thực tế thì chạy hết chương trình trong main con vdk nó tự chạy lại từ đầu, bao gồm cả các hàm và biến khởi tạo
              Chính xác là nó bị reset.
              Computer Science major - Vietnamese-German University
              Sponsored by

              Comment


              • #8
                Nguyên văn bởi mast090 Xem bài viết
                kết cho cái while(1) vào thì đảm bảo chết đứng
                trên lý thuyết thì chạy 8 lần là dừng đúng theo cấu trúc của C nhưng trên thực tế thì chạy hết chương trình trong main con vdk nó tự chạy lại từ đầu, bao gồm cả các hàm và biến khởi tạo
                sửa lại như thế này được không?
                Code:
                while(1)
                {
                while(i!=8)
                {
                p1.0=1;
                delay(100);
                p1.0=0;
                delay(100);
                i++;
                }
                }

                Comment


                • #9
                  vấn đề của chủ thớt là đúng 8 lần rồi tắt
                  -> đơn giản là nháy 8 lần (có thể dùng for), xong ta cho while(1);
                  thế là xong

                  Comment


                  • #10
                    mình cũng mới tập tành vdk, mình cũng làm thử bài này mình dung asm chứ không phải c, mình làm nó nháy đúng 8 lần nhưng rồi nó không tắt mà cứ sáng hoài luôn

                    Comment


                    • #11
                      rồi rồi mình làm được rồi thay vì cho led chạy mức 1 mình cho nó chạy mức 0 nên khi kết thúc vòng lặp thì nó tắt luôn

                      Comment


                      • #12
                        Nguyên văn bởi caovanhuong Xem bài viết
                        sửa lại như thế này được không?
                        Code:
                        while(1)
                        {
                        while(i!=8)
                        {
                        p1.0=1;
                        delay(100);
                        p1.0=0;
                        delay(100);
                        i++;
                        }
                        }
                        chuẩn men, nói chung là nhiều cách
                        Website chính thức đổi địa chỉ website thành
                        Mời các bạn ghé thăm !!!

                        Comment


                        • #13
                          Nguyên văn bởi mast090 Xem bài viết
                          chuẩn men, nói chung là nhiều cách
                          Cũng đc thoy, nhưng dễ gây khó hỉu.
                          Computer Science major - Vietnamese-German University
                          Sponsored by

                          Comment


                          • #14
                            Code:
                            uchar i;
                            void main() {
                            	for(i=0;i<8;++i) {
                            		P1_0=0; //bat led
                            		delay_ms(200);
                            		P1_0=1; //tat led
                            		delay_ms(200);
                            	}
                            	//sau khi het 8 lan
                            	while(1);
                            }
                            chắc đơn giản hơn code của em Hương rồi

                            Comment


                            • #15
                              Nguyên văn bởi kidteam Xem bài viết
                              Code:
                              uchar i;
                              void main() {
                              	for(i=0;i<8;++i) {
                              		P1_0=0; //bat led
                              		delay_ms(200);
                              		P1_0=1; //tat led
                              		delay_ms(200);
                              	}
                              	//sau khi het 8 lan
                              	while(1);
                              }
                              chắc đơn giản hơn code của em Hương rồi
                              Chính xác, đây là cái đơn giản nhất.
                              Computer Science major - Vietnamese-German University
                              Sponsored by

                              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