Tải bản đầy đủ (.pdf) (7 trang)

vxl ch03 8051 3 5 timer v01 8485

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (271.72 KB, 7 trang )

Hiệu đính từ slide của thầy Hồ Trung Mỹ
Bộ mơn Điện tử - DH BK TPHCM

CHƯƠNG 3
HỌ VI ĐIỀU KHIỂN 8051

1

3.4 Timer
(Mạch định thời)

2


Giới thiệu về timer
• Timer là một chuỗi các flip-flop chia đôi tần số mắc nối tiếp
với nhau, chúng nhận tín hiệu vào làm nguồn xung nhịp.
Xung nhịp được đưa vào flip-flop thứ nhất để chia đôi tần
số xung nhịp. Ngõ ra của flip-flop thứ nhất làm xung nhịp
cho flip-flop thứ hai (cũng làm việc chia đơi tầnsố), và v.v...
• Vì mỗi tầng kế tiếp chia đơi cho nên timer có n tầng sẽ cho
xung ra có tần số là tần số xung nhịp chia cho 2n. Ngõ ra
của tầng cuối làm xung nhịp cho flip-flop báo tràn của timer
(còn gọi là cờ timer TF [Timer Flag]).
• Giá trị nhị phân trong các flip-flop của timer có thể xem
như số đếm số xung nhịp (hoặc các sự kiện) từ khi timer
bắt đầu chạy. Thí dụ timer 16 bit sẽ đếm lên từ 0000H đến
FFFFH. Cờ báo tràn sẽ lên 1 khi số đếm tràn từ FFFFH
3
đến 0000H.


TD: Timer 3 bit

4


Timer trong 8051

• 8051/8031 có hai timer 16 bit (T0 và T1), mỗi timer có bốn chế độ
hoạt động.
• Người ta sử dụng các timer để:
a) định khoảng thời gian,
b) đếm sự kiện hoặc
c) tạo tốc độ baud cho cổng nối tiếp có sẵn trong 8051/8031.

• Mỗi timer 16 bit có 16 tầng hay tầng cuối cùng chia tần số xung
nhịp cho 216=65536. Nguồn xung nhịp cho các timer là xung
vng có tần số bằng 1/12 tần số xung nhịp cung cấp cho 8051.
• Trong các ứng dụng định khoảng thời gian, người ta lập trình
cho timer tràn ở một khoảng đều đặn và đặt cờ tràn timer lên 1.
Cờ được dùng để đồng bộ hóa hoặc đo thời gian trơi qua giữa
hai sự kiện (ví dụ: đo độ rộng xung).
• Đếm sự kiện được dùng để xác định số lần xảy ra của một sự
kiện hơn là đo khoảng thời gian trôi qua giữa các sự kiện. Một
“sự kiện” là bất cứ tác động bên ngồi nào có thể cung cấp một
chuyển tiếp 1 sang 0 từ chân T0, T1(ở P3) của 8051/8031.
• Các timer cũng có thể cung cấp xung nhịp tốc độ baud cho 5
cổng nối tiếp có sẵn trong 8051/8031.

Các thanh ghi timer
• Timer (T0/T1) của 8051 được tạo bởi 2 thanh

ghi 8 bit.
• Timer 0 (T0) được tạo bởi
– TL0 vàTH0 (L=Low và H=High)
– Truy cập chúng như các thanh ghi khác, TD:

MOV TL0, #55H
MOV R1, TH0
• Timer 1 (T1) được tạo bởi
– TL1 and TH1
6


Các SFR của timer

7

Thanh ghi điều khiển timer (TCON)

8


Thanh ghi chế độ timer (TMOD)

9

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

10



Các chế độ timer và cờ báo tràn

11

Chế độ timer 13 bit (Chế độ 0)

• Chế độ 0 là chế độ timer 13 bit để tương thích với bộ xử lý
trước 8051 là 8048
• Với các thiết kế mới người ta ít dùng chế độ hoạt động này
• Byte cao của timer (THx) nối tiếp với 5 bit thấp của byte
thấp của timer (TLx) để tạo thành timer 13 bit
• Ba bit cao của TLx không được sử dụng
12


Chế độ timer 16 bit (chế độ 1)

• Chế độ 1 là chế độ timer 16 bit giống như chế
độ 0, ngoại trừ lúc này timer hoạt động như
timer 16 bit đầy đủ.
• Tràn xảy ra khi có chuyển tiếp từ FFFFH sang
0000H trong số đếm và nó đặt cờ báo tràn
timer lên 1. Timer tiếp tục đếm tiếp.
• Cờ báo tràn là bit TFx trong TCON mà người
ta có thể đọc ra hoặc ghi vào bằng phần mềm

13

Chế độ timer 8 bit tự nạp lại trị đầu (chế độ 2)


• Chế độ 2 là chế độ tự động nạp giá trị đầu. Byte thấp của timer TLx
làm việc như timer 8 bit trong khi đó byte cao của timer THx giữ giá trị
cần nạp lại.
• Khi bộ đếm tràn từ FFH sang 00H thì khơng những cờ timer được đặt
lên 1 mà giá trị trong THx còn được nạp vào TLx, việc đếm tiếp tục từ
giá trị này đến chuyển tiếp từ FFH sang 00H kế, và cứ tiếp tục như
vậy.
• Chế độ này tiện lợi vì tràn timer xảy ra theo những khoảng thời gian
có chu kỳ một khi TMOD và THx đã được khởi tạo trị
14



×