Thông báo

Collapse
No announcement yet.

Thắc mắc hàm delay trong keil c

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

  • Thắc mắc hàm delay trong keil c

    đoạn chương trình sau em viết trên Keil C và mô phỏng trên Proteus, ban đầu led 7 đoạn sẽ hiện số 0 ,sau 5s sẽ hiện số 1, nhưng vừa chạy chương trình nó đã hiện số 1, hàm delay không có hiệu lực, em không hiểu vì sao

    #include <REGX52.H>

    unsigned char n;
    unsigned int m;

    void main()
    {
    m=0;
    n=0;
    P2=0xc0;
    //delay
    for(;m<5000;m++)
    for(;n<121;n++);

    P2=0xf9;
    }

  • #2
    Thử lại như sau xem. Bạn chú ý bạn mới chỉ trễ cho giá trị P2=0xC0, còn giá trị P2=0xf9 chưa có trễ.

    #include <REGX52.H>
    void delay(void)
    {
    unsigned char n;
    unsigned int m;
    for(m=0;m<5000;m++)
    for(n=0;n<121;n++)
    {}
    }
    void main()
    {
    while(1)
    {
    P2=0xc0;
    delay();
    P2=0xf9;
    delay();
    }
    }
    Nhà phân phối, đại lý bán biến tần,PLC,HMI,AC Servo... Delta

    Mr.Quỳnh 0978706839

    Comment


    • #3
      cho mình hỏi sao lại có n<121,xem dùm mình luôn hàm này
      void delay(unsigned int x)
      {
      unsigned int j;
      for(j=0;j<x;j--)
      {}
      }
      sao khi viết ct nó ko trễ mà nhảy led liên hồi,ai giúp mình với

      Comment


      • #4
        Nguyên văn bởi kendevil Xem bài viết
        cho mình hỏi sao lại có n<121,xem dùm mình luôn hàm này
        void delay(unsigned int x)
        {
        unsigned int j;
        for(j=0;j<x;j--)
        {}
        }
        sao khi viết ct nó ko trễ mà nhảy led liên hồi,ai giúp mình với
        for(j=0;j<x;j++)

        Comment

        Về tác giả

        Collapse

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

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

        Collapse

        Đang tải...
        X