Cho em hỏi về lệnh while trong mạch led nháy.

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • chipvipclip
    Thành viên mới
    • Nov 2013
    • 17

    #1

    Cho em hỏi về lệnh while trong mạch led nháy.

    #include <16f877a.h>
    #include <def_877a.h>
    #device *=16 ADC=8
    #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,NOLVP, NOCPD, NOWRT
    #use delay(clock=20000000)
    void main()
    {
    // Thiet lap che do cho PORTB
    TRISB=0;
    PORTB=0xff;
    While(1)
    {
    output_b(0);
    delay_ms(200);
    output_b(0xff);
    delay_ms(200);
    }
    }
    Cho em hỏi là lệnh while này hoạt động thế nào? Tại sao khi em thay là while(0) thì led không nháy? Còn khi em để là while(1) hoặc while(2), While(3) thì led vẫn nháy bình thường.
  • tjeunjnzah
    Thành viên tích cực
    • Feb 2009
    • 719

    #2
    đó là vòng lặp vô hạn!
    hãy làm theo cách của bạn!

    Comment

    • chipvipclip
      Thành viên mới
      • Nov 2013
      • 17

      #3
      Nguyên văn bởi tjeunjnzah Xem bài viết
      đó là vòng lặp vô hạn!
      Cho em hỏi ý nghĩa của các số trong ngoặc while().

      Comment

      • lowpass
        Thành viên tích cực
        • Jul 2011
        • 511

        #4
        Xem lại cấu trúc vòng lặp while
        while (điều_kiện là đúng)
        câu_lệnh;
        có nghĩa là nếu điều kiện là đúng thì thực hiện câu lệnh trong vòng lặp, nếu điều kiện sai thì thoát khỏi vòng lặp, ở đây các số trong ngoặc khác 0 sẽ cho giá trị là đúng, nếu số trong ngoặc bằng 0, thì điều kiện là sai, vậy bạn cho giá trị trong ngoặc là 1,2,3,4..... thì luôn đúng---> thực hiện vòng lặp, nếu bạn cho giá trị trong ngoặc là 0 thì điều kiện sai---> thoát khỏi vòng lặp...
        Email:
        Đau đầu vì điện tử

        Comment

        Về tác giả

        Collapse

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

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

        Collapse

        Đang tải...