TRƯỜNG ĐẠI HỌC THÀNH ĐÔ KHOA ĐIỆN – ĐIỆN TỬ
CHƯƠNG III
Giáo viên : ĐẶNG VĂN HIẾU
Giáo Viên: Đặng Văn Hiếu 10/04/13 1
I. CÁC BỘ TIMER
1. Timer là gì?
2. Các timer trong 8051.
3. Các chế độ hoạt động của timer.
4. Lập trình cho timer.
Giáo Viên: Đặng Văn Hiếu 10/04/13 2
TIMER LÀ GÌ?
- Các bộ định thời (Timer) được sử dụng rất rộng dãi trong các ứng
dụng đo lường và điều khiển.
- Vi điều khiển TA89S52 có 3 bộ định thời 16 bít Timer 0, Timer 1, Timer 2 trong đó Timer 0 và Timer 1 có bốn chế độ hoạt động, Timer 2
có
ba chế độ hoạt động. Các bộ định thời được sử dụng để định khoảng thời gian (hẹn giờ), đếm các sự kiện xảy ra bên ngoài bộ vi điều khiển.Tùy thuộc vào ứng dụng, đầu vào bộ định thời có thể là nguồn xung lấy từ xung nhịp của vi điều khiển hoặc nguồn xung từ bên ngoài đưa đến.
Giáo Viên: Đặng Văn Hiếu 10/04/13 3
TIMER LÀ GÌ?
- Trong các ứng dụng định khoảng thời gian, Timer được lập trình sao cho sẽ tràn sau một khoảng thời gian và thiết lập cờ tràn bằng 1. cờ tràn được sử dụng bởi trương trình để thực hiện một hành động tương ứng như kiểm tra các trạng thái ngõ vào hay gửi các sự kiện ra các ngõ ra.
- Đếm sự kiện dùng để xác định số lần xảy ra của một sự kiện. Trong ứng dụng này người ta đưa các sự kiện thành sự chuyển mức từ 1 xuống 0 trên các chân T0, T1 hoặc T2 để dùng các timer tưng ứng đếm các sự kiện đó.
- Ngoài ra các Timer còn được dùng để tạo xung nhịp hoặc đo độ
rộng xung.
Giáo Viên: Đặng Văn Hiếu 10/04/13 4
CÁC THANH GHI CỦA TIMER
- Thanh ghi chế độ định thời (TMOD) Thanh ghi TMOD chứa hai nhóm 4 bít dùng để đặt chế độ lsmf việc cho
Timer 0 và Timer 1.
Giáo Viên: Đặng Văn Hiếu 10/04/13 5
CÁC THANH GHI CỦA TIMER
- Chức năng các bít trên thanh ghi chế độ định thời (TMOD)
GATE 1: Bít mở cổng cho Timer 1, khi được đặt bằng 1 thì Timer 1chỉ chạy khi chân INT 1 ở mức cao. Nếu bít này được đặt là 0 thì hoạt động của Timer 1 không bị ảnh hưởng bởi mức logic trên chân INT 1.
GATE 0: Bít mở cổng cho Timer 0, khi được đặt bằng 1 thì Timer 0 chỉ chạy khi chân INT 0 ở mức cao. Nếu bít này được đặt là 0 thì hoạt động của Timer 0 không bị ảnh hưởng bởi mức logic trên chân INT 0.
C/#T1: Bít chọn chế độ Counter/Timer của Timer 1. Nếu 1 là đếm sự kiện,
nếu 0 là định thời gian.
C/#T0: Bít chọn chế độ Counter/Timer của Timer 0. Nếu 1 là đếm sự kiện,
nếu 0 là định thời gian.
M1-M0: Hai bít chọn chế độ làm việc của Timer (00,01,10,11)
Giáo Viên: Đặng Văn Hiếu 10/04/13 6

