Thanh ghi TCCR1B
(Timer/Counter1 Control Register B) là một thanh ghi 8-bit quan trọng trong vi điều khiển AVR, đặc biệt là dòng ATmega, dùng để điều khiển hoạt động của Timer/Counter1. TCCR1B
chịu trách nhiệm cấu hình các chế độ hoạt động, nguồn clock và prescaler cho Timer1.
TCCR1B
chứa các bit quan trọng sau:
-
CS12, CS11, CS10 (Clock Select): Ba bit này quyết định nguồn clock và prescaler cho Timer1. Sự kết hợp của các bit này cho phép lựa chọn nhiều mức prescale khác nhau, từ không chia cho đến chia 1024, giúp điều chỉnh tốc độ đếm của Timer1. Việc lựa chọn prescaler phù hợp cho phép Timer1 hoạt động chính xác trong các ứng dụng yêu cầu thời gian chính xác.
-
WGM13, WGM12 (Waveform Generation Mode): Kết hợp với các bit WGM11 và WGM10 trong thanh ghi
TCCR1A
, các bit này xác định chế độ hoạt động của Timer1. Có tổng cộng 16 chế độ hoạt động khác nhau, bao gồm các chế độ Normal, CTC (Clear Timer on Compare Match), Fast PWM và Phase Correct PWM. Mỗi chế độ có cách thức đếm và hoạt động riêng, cho phép Timer1 đáp ứng nhiều yêu cầu ứng dụng khác nhau. -
ICES1 (Input Capture Edge Select): Bit này được sử dụng để chọn cạnh (rising edge hoặc falling edge) của tín hiệu đầu vào trên chân ICP1 để kích hoạt chức năng Input Capture. Chức năng Input Capture cho phép đo độ rộng xung, tần số và khoảng thời gian giữa các xung.
-
ICNC1 (Input Capture Noise Canceler): Bit này kích hoạt bộ khử nhiễu cho chức năng Input Capture, giúp loại bỏ các nhiễu ngắn trên tín hiệu đầu vào, đảm bảo độ chính xác của phép đo.
Việc cấu hình chính xác thanh ghi TCCR1B
là rất quan trọng để Timer1 hoạt động đúng như mong muốn. Ví dụ, để Timer1 hoạt động ở chế độ Normal với prescaler là 8, ta cần đặt CS11
= 1 và các bit còn lại trong TCCR1B
(bao gồm CS12
, CS10
, WGM13
, WGM12
, ICES1
, ICNC1
) về 0.
Sự kết hợp linh hoạt giữa các bit trong thanh ghi TCCR1B
cho phép Timer1 thực hiện nhiều chức năng khác nhau, từ đo thời gian, tạo xung PWM, đếm sự kiện đến điều khiển các thiết bị ngoại vi. Hiểu rõ chức năng của từng bit trong TCCR1B
là chìa khóa để khai thác tối đa khả năng của Timer1 trong vi điều khiển AVR. Việc đọc kỹ datasheet của vi điều khiển cụ thể là cần thiết để nắm rõ chi tiết về thanh ghi TCCR1B
và các chức năng liên quan.