Alt text: Sơ đồ cấu trúc thanh ghi TCON trong vi điều khiển 8051
Alt text: Sơ đồ cấu trúc thanh ghi TCON trong vi điều khiển 8051

Thanh ghi TCON và TMOD trong 8051

Vi điều khiển 8051 sở hữu tính năng quan trọng là Bộ định thời và Bộ đếm. Tính năng này được sử dụng rộng rãi để đo thời gian và đếm các sự kiện. Hiểu rõ về bộ định thời và bộ đếm giúp chúng ta xây dựng các hệ thống nhúng hiệu quả.

Bộ định thời được dùng để đo thời gian và tạo độ trễ. Bộ đếm dùng để đếm các sự kiện xảy ra bên ngoài vi điều khiển. Ta có thể cấu hình bộ định thời và bộ đếm theo nhiều cách khác nhau để phù hợp với các tác vụ cụ thể.

Vi điều khiển 8051 có hai bộ định thời: Timer 0 và Timer 1. Cả hai đều có thể hoạt động như bộ định thời hoặc bộ đếm. Chúng có độ dài 16-bit nhưng do kiến trúc 8-bit của vi điều khiển, chúng được chia thành hai phần 8-bit: byte thấp và byte cao.

Timer 0 được chia thành hai thanh ghi 8-bit: TL0 (byte thấp) và TH0 (byte cao). Khi hoạt động ở chế độ 16-bit, TL0 tăng trước, sau đó TH0 tăng lên một đơn vị khi TL0 tràn (đạt giá trị 255).

Tương tự, Timer 1 cũng được chia thành hai thanh ghi 8-bit: TL1 (byte thấp) và TH1 (byte cao). Cơ chế hoạt động tương tự như Timer 0.

TCON và TMOD là hai thanh ghi chức năng đặc biệt trong vi điều khiển 8051, dùng để điều khiển bộ định thời và bộ đếm.

TCON (Timer Control Register) điều khiển việc khởi động và dừng bộ định thời, đồng thời báo hiệu khi bộ định thời đếm xong.

TMOD (Timer Mode Register) điều khiển chế độ hoạt động của bộ định thời. Nó cho phép lựa chọn bộ định thời sẽ đếm thời gian hay đếm các sự kiện bên ngoài.

Mỗi bit trong thanh ghi TCON có một chức năng riêng biệt như kiểm soát tràn, điều khiển chạy của Timer 0 và Timer 1, cũng như các cờ ngắt ngoài.

Thanh ghi TMOD được chia thành hai phần 4 bit, mỗi phần điều khiển một bộ định thời. Các bit trong TMOD cho phép lựa chọn chế độ hoạt động (đếm thời gian hay đếm sự kiện), chế độ hoạt động của bộ định thời (13-bit, 16-bit, tự động nạp lại 8-bit, hoặc chia đôi).

Có bốn chế độ hoạt động của bộ định thời/bộ đếm:

  • Chế độ 0: Bộ định thời 13-bit.
  • Chế độ 1: Bộ định thời 16-bit.
  • Chế độ 2: Bộ định thời 8-bit tự động nạp lại.
  • Chế độ 3: Bộ định thời chia đôi.

Mỗi chế độ có ứng dụng riêng. Ví dụ, chế độ 0 dùng cho tạo độ trễ ngắn, chế độ 1 dùng cho đo thời gian hoặc tạo tín hiệu PWM, chế độ 2 dùng cho đo tần số, và chế độ 3 dùng cho đồng hồ thời gian thực.

Việc cấu hình chính xác TCON và TMOD là rất quan trọng để sử dụng hiệu quả bộ định thời và bộ đếm trong 8051. Nhờ đó, ta có thể đo thời gian, đếm sự kiện, tạo tín hiệu PWM và nhiều ứng dụng khác trong hệ thống nhúng.

Comments

No comments yet. Why don’t you start the discussion?

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *