Thông báo

Collapse
No announcement yet.

cho em hỏi về bộ đinh thời và cờ tràn 8051

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

  • cho em hỏi về bộ đinh thời và cờ tràn 8051

    các anh nói cho em tác dụng và cách dùng về bộ định thời và cờ tràn với

  • #2
    Nguyên văn bởi chithanhcp Xem bài viết
    các anh nói cho em tác dụng và cách dùng về bộ định thời và cờ tràn với
    Bộ định thời để đếm chu kì máy, được dùng trong ngắt...
    vd1: lệnh nhảy tại chỗ :sjmp $ ;1 chu kì máy
    vd2: mov TH0,#0ff
    mov TL0,#0f0
    lệnh jnb TF0,$ ; là nhảy tại chỗ cho đến khi trị 16bit trong 2 thanh ghi TH0 và TL0 đếm lên đến ffff rồi tràn về 0000 thì cở TF0 tự sét lên 1.
    Cách dùng: xem datasheet coi thanh ghi TMOD, TCON thì hiểu liền
    CHúc bạn thành công

    Email:
    Tel: 0983.497.310

    Comment


    • #3
      Nguyên văn bởi chithanhcp Xem bài viết
      các anh nói cho em tác dụng và cách dùng về bộ định thời và cờ tràn với
      cái này sách lập trình VDK 8051 nào cũng có nói rõ mà ta , sao lại hỏi nữa . HÌnh như u chưa đọc kỹ sách
      - bộ định thời : đúng như tên gọi , dùng để định trứoc 1 thời gian .Giá trị định trứoc này đc tính từ x - 255(8bit) , x-65536(16bit) . x bắt đầu từ giá trị nào ? Đó là do u thiết lập .
      vd : mún định trứoc thời gian 20 000us => x = 65 536 - 20 000 = 45 536 (=B1E0 hexa) . TH1=0xB1 , TL1=0xE0 .

      - sau khi nạp TH1=0xB1 , TL1=0xE0 , bật timer1 chạy , thì bộ đếm trong timer1 sẽ đếm từ 45 536(B1E0) lên 65 535 . khi đến 65 535 , bộ đếm nhảy về 0 ,thì cờ tràn timer1 có giá trị =1 (chú í ban đầu khi Reset nó = 0 nhá).

      Khi cờ tràn nhảy lên 1 roy thì u thik làm j tiếp theo đó thì tùy , vd : Nếu cờ tràn =1 thì bật led , đảo chân .....

      u c ?

      Comment


      • #4
        các anh nói cho em tác dụng và cách dùng về bộ định thời và cờ tràn với
        Dear chithanhcp!

        -Bộ định thời/Bộ đếm (Timer/Counter) là ngoại vi được thiết kế để thực hiện một nhiệm vụ đơn giản: đếm các xung nhịp. Mỗi khi có thêm một xung nhịp tại đầu vào đếm thì giá trị của bộ đếm sẽ được tăng lên 01 đơn vị (trong chế độ đếm tiến/đếm lên) hay giảm đi 01 đơn vị (trong chế độ đếm lùi/đếm xuống).
        - Xung nhịp đưa vào đếm có thể là một trong hai loại:
        Xung nhịp bên trong IC: Đó là xung nhịp được tạo ra nhờ kết hợp mạch dao động bên trong IC và các linh kiện phụ bên ngoài nối với IC. Ta có thể ví đó là “nhịp tim” để toàn bộ các phần cứng bên trong vi xử lý (bao gồm cả CPU và các ngoại vi) có thể hoạt động được. Trong trường hợp sử dụng xung nhịp loại này, người ta gọi là các bộ định thời (timers). Do xung nhịp bên trong chíp thường đều đặn nên ta có thể dùng để đếm thời gian một cách khá chính xác.
        Xung nhịp bên ngoài IC: Đó là các tín hiệu lôgic thay đổi liên tục giữa 02 mức 0-1và không nhất thiết phải là đều đặn. Trong trường hợp này người ta gọi là các bộ đếm (counters). Ứng dụng phổ biến của các bộ đếm là đếm các sự kiện bên ngoài như đếm các sản phầm chạy trên băng chuyền, đếm xe ra/vào kho bãi…
        - Một khái niệm quan trọng cần phải nói đến là sự kiện “tràn” (overflow). Nó được hiểu là sự kiện bộ đếm đếm vượt quá giá trị tối đa mà nó có thể biểu diễn và quay trở về giá trị 0. Với bộ đếm 8 bit, giá trị tối đa là 255 và là 65535 với bộ đếm 16 bit.

        - Cách sử dụng Timer của 8051:
        Chọn các chế độ hoạt động và cấu hình Timer ở thanh thi TMOD
        Nạp giá trị đếm ban đầu vào các thanh ghi TH, TL
        Set bít TR để cho phép Timer bắt đầu hoạt động
        Cho phép ngắt Timer, cho phép ngắt toàn cục để mỗi lần tràn Timer sẽ gây
        ngắt VDK

        Thân.
        For a better world

        Comment


        • #5
          Chà chà !
          Là giảng viên có khác, khi nào thấy post bài trả lời tôi đều thấy chú trả lời rõ ràng.
          Nhưng mà còn thiếu cái kiểm tra TF khi lập trình Timer làm bộ đếm.

          Comment


          • #6
            Bác chithanh mở 1 luồng cho 1 vấn đề thôi nhé.Mở nhiều quá làm anh em loạn và ko dễ theo dõi cho mọi người


            Add: 97 Quán Nam - Lê Chân - Hải Phòng.
            Tel: 031 518648 Phone: 0904 283 505

            Comment


            • #7
              cảm ơn các bác nhé.em hiểu rồi.vì đang tự học lập trình hợp ngữ nên nhều cái còn chưa biết.thank

              Comment


              • #8
                Nguyên văn bởi tienhuypro Xem bài viết
                Bộ định thời để đếm chu kì máy, được dùng trong ngắt...
                vd1: lệnh nhảy tại chỗ :sjmp $ ;1 chu kì máy
                vd2: mov TH0,#0ff
                mov TL0,#0f0
                lệnh jnb TF0,$ ; là nhảy tại chỗ cho đến khi trị 16bit trong 2 thanh ghi TH0 và TL0 đếm lên đến ffff rồi tràn về 0000 thì cở TF0 tự sét lên 1.
                Cách dùng: xem datasheet coi thanh ghi TMOD, TCON thì hiểu liền
                CHúc bạn thành công
                kiến thức của anh tienhuypro cao siêu quá đề nghị anh mở thêm thread cho pà kon được mở mang tầm mắt đi

                Comment

                Về tác giả

                Collapse

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

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

                Collapse

                Đang tải...
                X