Họ vi điều khiển MCS52 có 3 timer T0, T1, T2. Các timer T0 và T1 có các thanh ghi và hoạt động giống như họ 51. Ở đây chỉ trình bày thêm phần hoạt động của timer T2.
Các thanh ghi của timer/counter T2 bao gồm: thanh ghi TL2, TH2, thanh ghi điều khiển T2CON, thanh ghi RCAP2L và RCAP2H.
Timer/counter T2 có thể dùng để định thời timer hoặc dùng như bộ đếm counter để đếm xung ngoài đưa đến ngõ vào T2 chính là chân P1.0 của port 1 như hình 4-16.
Timer/counter T2 có 3 kiểu hoạt động: tự động nạp lại, thu nhận và thiết lập tốc độ baud để phục vụ cho truyền dữ liệu.
Chức năng của thanh ghi điều khiển T2CON như bảng 4-10:
Bit Kí hiệu Địa chỉ Chức năng
7 TF2 CFH Cờ tràn Timer 2: hoạt động giống như các timer trên (TF2 sẽ
không được thiết lập lên mức 1 nếu bit TCLK hoặc RCLK ở mức 1).
6 EXF2 CEH Cờ ngoài của timer T2: chỉ được set khi xảy ra sự thu nhận hoặc
nạp lại dữ liệu bởi sự chuyển trạng thái từ 1 sang 0 ở ngõ vào T2EX và EXEN2 = 1; khi cho phép timer T2 ngắt, EXF2=1 thì CPU sẽ thực hiện chương trình con phục vụ ngắt Timer T2, bit EXF2 có thể bằng phần mềm.
5 RCLK CDH Xung clock thu của timer 2. Khi RCLK=1 thì timer T2 cung cấp
tốc độ baud cho port nối tiếp để nhận dữ liệu về và timer T1 sẽ cung cấp tốc độ baud cho port nối tiếp để phát dữ liệu đi.
4 TCLK CCH Xung clock phát của timer 2. Khi TCLK=1 thì timer T2 cung cấp
tốc độ baud cho port nối tiếp để phát dữ liệu đi và timer T1 sẽ cung cấp tốc độ baud cho port nối tiếp để nhận dữ liệu về.
3 EXEN2 CBH Bit điều khiển cho phép tác động từ bên ngoài. Khi EXEN2 = 1
thì hoạt động thu nhận và nạp lại của timer T2 chỉ xảy ra khi ngõ vào T2EX có sự chuyển trạng thái từ 1 sang 0.
2 TR2 CAH Bit điều khiển Timer 1 đếm / ngừng đếm:
TR2 = 1 thì timer 1 được phép đếm xung.
TR2 = 0 thì timer 1 không được phép đếm xung (ngừng).
Dùng lệnh điều khiển bit TR2 để cho phép timer1 đếm hay ngừng đếm.
1 C/T2 C9H Bit lựa chọn counter hay timer:
C/T2 = 1 : đếm xung từ bên ngoài đưa đến ngõ vào T2. C/T2 = 0 : định thời đếm xung nội bên trong.
0 CP/RL2 C8H Cờ thu nhận/nạp lại dữ liệu của timer T2.
Khi bit này = 1 thì thu nhận chỉ xảy ra khi có sự chuyển trạng thái từ 1 sang 0 ở ngõ vào T2EX và EXEN2=1; khi bit này = 0 thì quá trình tự động nạp lại khi timer T2 tràn hoặc khi có sự chuyển trạng thái ở ngõ vào T2EX và bit EXEN2 = 1; nếu bit RCLK hoặc TCLK = 1 thì bit này xem như bỏ.
Hình 4-16. Sơ đồ chân của 89C52 với ngõ vào T2 là P1.0 và T2EX là P1.1 .