Thông báo

Collapse
No announcement yet.

Cách làm trễ???

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

  • Cách làm trễ???

    Cho mình hỏi làm sao để viết được chương trình con để làm trễ 1 lệnh theo ý muốn??? PHải tính thế nào? Ví dụ làm trễ 1s, 2s,...

  • #2
    dùng timer đếm ,hoặc tạo vòng lặp không làm gì cả rồi dựa vào chu kỳ lệnh ,thạch anh để canh thời gian.

    Comment


    • #3
      Bác nói làm trễ 1 lệnh là như thế nào?
      Ý bác muốn làm gì nói cụ thể hơn thì chúng tôi mới giúp được.
      Ví dụ: làm trể 1S với thạch anh 12MHz. -> 1 chu kỳ máy = 1uS =1/1000000S
      khoi động timer 50000uS
      Cho timer chạy 10 lần là được 1S.
      Thân

      Comment


      • #4
        Chào Omeruby!

        Giả sử dùng AT89C51 và gắn thạch anh 12MHz.
        Tần số thạch anh sẽ được chia 12 trước khi đưa vào bộ gõ nhịp. (12MHz/12 = 1MHz = 1.000.000 Hz)
        Vậy một lệnh mất 1micro giây. Hay 1 giây thực hiện được một triệu lệnh.
        Đặt Timer0 ở chế độ 8 bit tự nạp. Cài đặt timer0 trễ 200micro giây (MOV TH0, #-200)
        Cho phép timer0 ngắt toàn cục.
        Trong ngắt Timer0 ta đếm một biến (giả sử đặt tên là gCount)
        Kiểm tra giá trị biến gCount đạt giá trị định thời
        _ Trễ 1s: gCount=5000 (200*5.000=1.000.000micro giây = 1s)
        _ Trễ 2s: gCount=10.000 (200*10.000=2.000.000micro giây = 1s)
        Nếu biến đạt giá trị định thời thì thực thi lệnh và nhớ reset biến (MOV gCount, #0)
        Chúc bạn thành công!
        Một bông hồng cho những ai đang còn mẹ,
        Đang còn mẹ để lòng vui sướng hơn ..

        Comment

        Về tác giả

        Collapse

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

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

        Collapse

        Đang tải...
        X