🌱 Bài 13. 8051 Timer Mode 1/Mode 2
👉👉 Timer Mode 1
Timer mode 1 cũng hoạt động tương tự như mode 0, có thể nhìn thấy điều đó trong phần cứng (hình bên dưới). Điều khác nhau Timer 1 dùng thanh ghi 16-bit (tức là dùng cả 8 bit của 2 thanh ghi THx và TLx).
Xem lại Bài viết về Timer 0 & Bài về Timer
👉👉Timer Mode 2
Về cơ bản, mode 2 của timer cũng hoạt động như mode 0/1. Nhưng phần thanh ghi của nó có sự khác biệt. Thanh ghi TLx vẫn dùng để chứa giá trị đếm. Trong khi THx chứa giá trị để tự động nạp lại. Chọn Timer 0/1 mode 2 bằng cách M1:M0 = 1:0.
Hoạt động của Timer 2:
- Bit C/T trong thanh ghi TMOD chọn Timer hoặc Counter.
- Set giá trị cho THx và TLx.
- Kích hoạt timer bằng cách đặt TRx = 1 (GATE = 0).
- Khi timer được kích hoạt, giá trị THx sẽ được tải tự động vào TLx và TLx sẽ được đếm từ giá trị đó.
- Sau khi TLx tràn (từ 0xFF -> 0x00), cờ TFx = 1 và giá trị THx sẽ một lần nữa được tải tự động vào TLx.
Ví dụ: Tạo trễ thời gian 100us, thạch anh ngoài 12MHz.
➤ clock = 12MHz/12 = 1MHz -> Chu kỳ máy = 1/1MHz = 1us.
Muốn trễ 100us, cần đếm: Count = 100us/1us = 100.
➤ Giá trị đếm lớn nhất là 2^8 (8 bit) = 255.
Giá trị cần nạp cho THx:
➤ Value = (255 - Count) + 1 = 156 = 0x9C
Để tạo sự đồng đều, đặt giá trị đầu TLx = THx = 0x9C.
>>>= Follow ngay =<<<
💚 Kênh Youtube Lập trình - Điện tử 💚
Để nhận được những bài học miễn phí mới nhất nhé 😊