Các chế độ hoạt động của timer 2

Một phần của tài liệu Thiết kế bộ KIT thực hành vi điều khiển 8051 (Trang 41 - 44)

Chế độ thu nhận (capture)

Hình 2.13. Timer 2 ở chế độ thu nhận

Khi CP/#RL2 = 1, chế độ thu nhận của Timer 2 được chọn bởi bit EXEN2. Xung clock cấp cho Timer 2 cũng được lấy từ một trong hai nguồn và được điều khiển bởi C/#T2 (tưng tự Timer 0, Timer 1). Điều khiển sự hoạt động của Timer 2 cũng là bit TR2. Giá trị đếm của Timer được chứa trong TH2 và TL2 (Timer 2 hoạt động như một Timer 16 bit ). Khi xảy ra tràn TF2 được đặt bằng 1.

Giá trị hiện thời của Timer 2 nằm trong TH2 và TL2 sẽ được chuyển tương ứng vào RCAP2H và PCAP2L khi bit EXEN2 được đặt bằng 1 và có sự chuyển mức từ 1 xuống 0 trên chân T2EX. Sự chuyển mức này kết hợp với việc đặt bit EXF2 =1 sẽ gây ra ngắt ngoài do Timer 2.

Chế độ tự nạp lại

Trong chế độ này, khi bit DCEN =0 Timer 2 hoạt động như một Timer 16 bit tự nạp lại. Giá trị nạp lại được chứa trong RCAP2H và RCAP2L. Sự kiện này lại xảy ra khi :

Hoặc là xảy tràn tức là có sự chuyển số đếm từ FFFFH sang 0.

Hoặc là có sự chuyển mức từ 1 xuống 0 trên chân T2EX khi EXEN2 đã được đặt bằng 1. Sự chuyển mức này cũng đồng thời đặt EXF2 =1.

Hình 2.15. Timer 2 ở chế độ tự nạp lại (DCEN=1)

Khi bit DCEN =1, Timer 2 vẫn hoạt động như một Timer 16 bit tự nạp lại, có hai cách tự nạp lại :

Cách thứ nhất : Khi chân T2EX được đặt ở mức logic 1, Timer 2 sẽ đếm tiến từ giá trị xuất phát cho đến khi có sự chuyển số từ FFFFH sang 0 thì xảy ra tràn. Sự kiện tràn sẽ thiết lập cờ TF2 đồng thời nạp lại giá trị cho Timer, giá trị nạp lại được chứa trong RCAP2H và RCAP2L.

Cách thứ hai: Khi chân T2EX được đặt ở mức logic 0, Timer 2 sẽ đếm lùi từ giá trị xuất phát cho đến giá trị được đặt trong RCAP2H và RCAP2L khi xảy ra tràn. Sự kiện tràn sẽ thiết lập cờ TF2 đồng thời nạp lại giá trị cho Timer, giá trị nạp sẽ là FFFFH.

Tạo tốc độ Baud cho cổng nối tiếp

Một phần của tài liệu Thiết kế bộ KIT thực hành vi điều khiển 8051 (Trang 41 - 44)