Nguyên tắc hoạt động của các bộ định thời nh− sau:
Nguồn xung clock đ−ợc đ−a tới Timer từ một trong cách phụ thuộc vào bit C-T trong thanh ghi TMOD:
• Nếu C-/T = 1, xung clock sẽ đ−ợc lấy từ bộ tạo xung bên ngồi qua
chân Tx(T0,T1 hoặc T2).
• Nếu C-/T = 0, xung clock sẽ đ−ợc lấy từ bộ chia tần trong chip, tần
số của xung ở đây là 1/12 tần số của bộ dao động thạch anh (Fosc).
Nguồn xung clock nĩi trên sẽ đ−ợc điều khiển để đ−a tới các Timer bằng các bit: TR, GATE và mức logic trên các chân INTx:
• Nếu TRx=0, các Timer sẽ bị cấm mà khơng cần quan tâm tới GATE
• Nếu TRx=1, các Timer sẽ hoạt động với một trong 2 điều kiện sau xảy ra (thể hiện bằng cổng ‘OR”): Thứ nhất: bit GATE=1; thứ hai: trên chân INTx cĩ mức logic 1.
Giá trị lớn nhất mà các Timer chứa đ−ợc là 65535 (t−ơng ứng FFFF(H)), khi đếm quá giá trị này sẽ xảy ra tràn, khi cờ tràn TF sẽ đ−ợc đặt bằng 1 và gây ra ngắt do bộ định thời. Căn cứ vào sự kiện này bộ xử lý ngắt sẽ nạp dịa chỉ của vector ngắt cho con trỏ PC, bộ vi điều khiển sẽ thực hện ch−ơng trình ở đây.
Trong hệ điều hành thời gian thực, bộ định thời là một trong những tài nguyên phần cứng khơng thể thiếu. Bộ định thời dùng để xác định các khoảng thời gian thích hợp cho mỗi tiến trình hoạt động (gọi là timer tick). Khoảng thời gian này cĩ thể thay đổi dẽ dàng nhờ việc nạp các giá trị khác nhau cho bộ timer. Khoảng thời gian này cũng thay đổi tuỳ theo các ứng dụng thời gian thực sao cho nĩ ln nhỏ hơn thời gian đáp ứng của hệ thống với các kích thích bên ngồi.
2.1.4. Bộ xử lý ngắt.
Ngắt cĩ thể hiểu đơn giản là tạm dừng một hoạt động A nào đĩ và chuyển sang một hoạt động B khác cĩ nhu cầu cấp thiết hơn. Khi xảy ra ngắt, tồn bộ các cơng việc, trạng thái của hoạt động A sẽ đ−ợc cất vào ngăn xếp để làm căn cứ tiếp diễn khi bộ vi xử lý đã hồn thành xong hoạt động B và quay trở lại với hoạt động A.
AT89S52 cĩ 6 nguồn ngắt: - Ngắt ngồi đến từ chân /INT0. - Ngắt ngồi đến từ chân /INT1. - Ngắt do bộ timer 0.
- Ngắt do bộ timer 1. - Ngắt do bộ timer 2.
- Ngắt do Port nối tiếp.
6 nguồn ngắt này đ−ợc xố khi Reset và đ−ợc đặt riêng bằng phần mềm bởi các bit trong các thanh ghi cho phép ngắt (IE), thanh ghi −u tiên ngắt (IP).