• Webdien.com - Cầu nối dân điện


    1. [HOT] - Webdien đang tuyển các vị trí quản lý cao cấp

      ntech.com.vn

  • Kết quả 1 đến 8 của 8
    1. #1
      Tham gia
      19-05-2012
      Bài viết
      21
      Cảm ơn
      33
      Thanked 1 Time in 1 Post

      Mặc định cách tính thời gian hàm delay trong ngôn ngữ c

      hiện giờ em sài thạch anh 12mhz cho con 89c51 và hàm delay em viết như sau :
      void delay(unsigned char m)
      {
      while(m--);
      }
      ai biết cách tính thời gian hàm dealy trên giúp mình với?
      và em muốn delay 1s thì viết như thế nào và độ chính xác cao ko?
      và còn cách nào viết hàm delay có độ chính xác cao ko nhỉ

      --------------------------------------------------------------------------------
      Xem bài viết cùng chuyên mục:


    2. #2
      Tham gia
      16-04-2012
      Bài viết
      90
      Cảm ơn
      0
      Được cảm ơn 38 lần, trong 25 bài

      Mặc định Ðề: cách tính thời gian hàm delay trong ngôn ngữ c

      Hi!

      Cái này mình cũng chưa từng ngồi tính nên không biết nữa. Bạn cần làm với độ chính xác cao lắm hả?

      Như vậy thì theo mình biết thì bạn nên viết hàm delay dùng ngôn ngữ máy ASM, khi đó sẽ có thể tính chính xác được thời gian delay.

      Thân.

    3. Những thành viên đã cảm ơn tantravinh vì bài viết hữu ích:


    4. #3
      Tham gia
      12-01-2012
      Địa chỉ
      VN
      Bài viết
      15
      Cảm ơn
      0
      Được cảm ơn 9 lần, trong 8 bài

      Mặc định Ðề: cách tính thời gian hàm delay trong ngôn ngữ c

      thạch anh 12M : mất 1/12M chu kỳ lệnh;
      Nếu bác dùng keil thì chuyển thử code sang ASM rồi cứ thế nhân lên(có lệnh 1 chu kỳ, có lệnh 2 chu kỳ) => Thời gian cần tìm.
      Hình như dùng Simulator của keil nó cũng hiện được thời gian.

    5. Những thành viên đã cảm ơn bxt vì bài viết hữu ích:


    6. #4
      Tham gia
      21-06-2009
      Bài viết
      310
      Cảm ơn
      110
      Được cảm ơn 262 lần, trong 124 bài

      Mặc định Ðề: cách tính thời gian hàm delay trong ngôn ngữ c

      Dùng Simulator của Keil chỉ giúp ước lượng được thời gian thực thi chương trình, dùng debug chính xác thời gian 1s khá mệt vì phụ thuộc vào trình biên dịch và cách bạn khai báo và tổ chức toàn bộ chương trình.

      Để chính xác và dễ làm, bạn nên viết 1 hàm delay = ASM rồi nhúng vào chương trình C của bạn. Viết hàm delay = ASM thì rất đơn giản, sau đó nhúng vào chương trình C. Ba hoa thêm thì nhúng ASM vào C là 1 giải pháp tốt để đảm bảo CODE nhanh và dễ đọc/kiểm tra, đồng thời vẫn tối ưu/ chính xác cho 1 số thủ tục cố định ( ví dụ như delay )

    7. Những thành viên đã cảm ơn aladanh2000 vì bài viết hữu ích:


    8. #5
      Tham gia
      19-05-2012
      Bài viết
      21
      Cảm ơn
      33
      Thanked 1 Time in 1 Post

      Mặc định Ðề: cách tính thời gian hàm delay trong ngôn ngữ c

      Trích dẫn Gửi bởi aladanh2000 Xem bài viết
      Dùng Simulator của Keil chỉ giúp ước lượng được thời gian thực thi chương trình, dùng debug chính xác thời gian 1s khá mệt vì phụ thuộc vào trình biên dịch và cách bạn khai báo và tổ chức toàn bộ chương trình.

      Để chính xác và dễ làm, bạn nên viết 1 hàm delay = ASM rồi nhúng vào chương trình C của bạn. Viết hàm delay = ASM thì rất đơn giản, sau đó nhúng vào chương trình C. Ba hoa thêm thì nhúng ASM vào C là 1 giải pháp tốt để đảm bảo CODE nhanh và dễ đọc/kiểm tra, đồng thời vẫn tối ưu/ chính xác cho 1 số thủ tục cố định ( ví dụ như delay )
      bác có thể chỉ giúp em cách nhúng 1 hàm delay bằng ASM rồi nhúng vào 1 chương trình C với (vì cách này em chưa thử bao giờ) và chương trình trong c chỉ cần nhấp nháy led nối với cổng P1.0
      mong bác giúp em với

    9. #6
      Tham gia
      18-05-2010
      Địa chỉ
      Long Hải
      Bài viết
      1,565
      Cảm ơn
      226
      Được cảm ơn 906 lần, trong 605 bài

      Mặc định Ðề: cách tính thời gian hàm delay trong ngôn ngữ c

      Trích dẫn Gửi bởi quang111 Xem bài viết
      bác có thể chỉ giúp em cách nhúng 1 hàm delay bằng ASM rồi nhúng vào 1 chương trình C với (vì cách này em chưa thử bao giờ) và chương trình trong c chỉ cần nhấp nháy led nối với cổng P1.0
      mong bác giúp em với
      nó có cái lệnh hỗ trợ. keil C thì tôi không biết, nhưng lập trình cho PIC mà sử dụng CCS thì nó có cặp lệnh này
      #asm
      // chèn code ASM vào đây
      #endasm
      Cao Văn Hưởng
      Email: vanhuongcao@gmail.com

    10. Những thành viên đã cảm ơn caovanhuong vì bài viết hữu ích:


    11. #7
      Tham gia
      19-05-2012
      Bài viết
      21
      Cảm ơn
      33
      Thanked 1 Time in 1 Post

      Mặc định Ðề: cách tính thời gian hàm delay trong ngôn ngữ c

      bác nào biết giúp với

    12. #8
      Tham gia
      25-11-2011
      Bài viết
      6
      Cảm ơn
      9
      Được cảm ơn 0 lần, trong 0 bài

      Mặc định Ðề: cách tính thời gian hàm delay trong ngôn ngữ c

      cho mình hỏi cách sử dụng timer trong asm

    Trả lời với tài khoản Facebook

    Các Chủ đề tương tự

    1. Trợ giúp - timer off delay trong PLC CP1E omron
      Bởi tudienviet trong diễn đàn Điều khiển hệ thống điện
      Trả lời: 0
      Bài cuối: 27-04-2014, 12:02
    2. Trợ giúp - timer on delay off delay mua ở đâu?giá khoản bao nhiêu
      Bởi jennyboy_dhtv trong diễn đàn Thiết bị điện khác...
      Trả lời: 4
      Bài cuối: 04-09-2013, 16:56
    3. Trợ giúp - cách phân biệt role thời gian "on delay" và "off delay"
      Bởi muaxuannhonho77 trong diễn đàn Thiết bị điện khác...
      Trả lời: 13
      Bài cuối: 04-09-2013, 12:04
    4. Trợ giúp - Cho mình hỏi về các code delay trong lập trình VĐK 89s52
      Bởi minhhoangLX trong diễn đàn Vi xử lý - Vi điều khiển
      Trả lời: 2
      Bài cuối: 23-03-2013, 16:34
    5. Trợ giúp - cách tạo thời gian trễ (delay) cho 8051
      Bởi i'myour trong diễn đàn Vi xử lý - Vi điều khiển
      Trả lời: 3
      Bài cuối: 26-10-2011, 06:26
    Văn Võ Trạng Nguyên
    Hắc Hiệp Đại Chiến Thánh Bài 2
    Đặc Cảnh Diệt Ma
    Khử Ma Đạo Trưởng
    Cương Thi Diệt Tà
    Sự Hình Thành Của Đế Chế Mông Cổ
    NHỮNG KHOẢNH KHẮC ĐÁNG NHỚ CỦA GIẢI GOLF PHÚ MỸ HƯNG 2016