Khi ta muốn sử dụng Timer 0 ở mode 2, ta cần khởi động thanh ghi TMOD:
Trả lời:
Đáp án đúng: A
Timer 0 mode 2 là chế độ tự động nạp lại (auto-reload). Trong thanh ghi TMOD, các bit điều khiển timer 0 là:
- Bit 0 và bit 1 (M0, M1) xác định mode của Timer 0. Để chọn mode 2, ta cần đặt M1 = 1 và M0 = 0. Như vậy, hai bit này sẽ là '10' (tương ứng với giá trị 2 trong hệ thập phân).
- Bit 2 (CT0) chọn giữa Timer (0) và Counter (1). Trong trường hợp này, ta muốn sử dụng Timer, nên CT0 = 0.
- Bit 3 (GATE0) chọn giữa việc cho phép timer chạy khi chân INT0 ở mức cao (GATE0 = 1) hoặc chạy độc lập (GATE0 = 0). Trong trường hợp này, ta không đề cập đến việc sử dụng GATE, nên mặc định GATE0 = 0.
Vậy, ta có cấu hình cho timer 0 là: GATE0 CT0 M1 M0 = 0010. Để đưa cấu hình này vào thanh ghi TMOD, ta dùng lệnh MOV TMOD, #02H.





