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

Tài liệu Các bộ định thời của 8051 ppt

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 (203.06 KB, 15 trang )

Các bộ định thờicủa 8051
Các

bộ

định

thời

của

8051
Bài 9
Bộ môn TĐ
Khoa KTĐK
Khoa

KTĐK
Giới thiệu
Giới

thiệu
•Các b

đ

nh thời
ộ ị
– Các thiết bị thời gian: Tạo thời gian giữ chậm xác định
–Bộ đếm sự kiện: Đếm số lần xảy ra sự kiện (bên
ngoài)


ngoài)
• 8051 có hai bộ đếm 16 bit T0 và T1
•Các bộ định thời của 8051 có thể hoạt động theo
ộtàihế độ
m
ột
v
ài
c
hế

độ
:
–Chế độ của bộ định thời được điều khiển bởi thanh
ghi TMOD
ề ể

Các bộ định thời bị đi

u khi

n bởi thanh ghi TCON (4
bit cao)
•N
g
uồn clock cho b

đ

nh thời là s

y
s clock/12
g ộ ị y
_
Các thanh ghi củabộ định thời
Các

thanh

ghi

của

bộ

định

thời

Mỗibộ định thờicủa 8051 có 2 thanh ghi 8
Mỗi

bộ

định

thời

của


8051



2

thanh

ghi

8

bit

Các thanh ghi củabộ định thời0

Các

thanh

ghi

của

bộ

định

thời


0
– TL0 và TH0
Đ t ậ iố h áth hhikhá

Đ
ược
t
ruy c

p g
iố
ng n
h
ư c
á
c
th
an
h
g
hi

khá
c
• Mov TL0, #55H,

Mov R1 TH0

Mov


R1
,
TH0
• Các thanh ghi của bộ định thời 1
TL1 à TH1

TL1
v
à

TH1
Bộ định thời của 8051: Thanh
hi TMOD
g
hi

TMOD
• Gate-
Đ
iều khiển cổn
g

(
cách khởi tạo và dừn
g
bộ định
g( g
thời)
–0 → cổng mềm (bit TRx ở thanh ghi TCON)


1 → cổn
g
cứn
g

(
Chân INTx
)
g g( )
•C/T-Hoạt động của Counter/Timer
–0 → Hoạt động của bộ định thời (clock là sysclk/12)

1

Ho
ạt động củabộ đếm (clock là chân T0 hoặcT1)

1



Ho
ạt

động

của

bộ


đếm

(clock



chân

T0

hoặc

T1)
•M1:M0-Điều khiển chế độ
– 00 → Mode 0 (bộ định thời 13 bit)
01 Md 1(b
ộ đị hthời16bit
)

01

M
o
d
e
1(b


đị
n

h

thời

16

bit
)
– 10 → Mode 2 (bộ định thời 8 bit, tự động nạp lại)
– 11 → Mode 3 (tách bộ định thời)
Bộ định thời

Mode 1
Bộ

định

thời

Mode

1
•B

đ

nh thời 16 bit
ộ ị
–Nạp vào bộ định thời một số và thiết lập TR để bắt

đầu đếm
Khi bộ đếm quay về 0x0000 nó sẽ thiếtlậpcờ TF và

Khi

bộ

đếm

quay

về

0x0000
,


sẽ

thiết

lập

cờ

TF



gây ra ngắt TF nếu được phép

Bộ định thời

Mode 1
Bộ

định

thời

Mode

1
•Thu

t toán

1. Nạp thanh ghi TMOD để đặt chế độ
2. Nạp giá trị đếm ban đầu vào TLx và THx
3Khởi độ bộ đị hhời
3
.
Khởi

độ
ng
bộ

đị
n
h

t
hời
4. Duy trì kiểm tra cờ TFx (jnb TFx, đích)
5Dừng bộ định thời(clrTRx)vàxoácờ TFx
5
.
Dừng

bộ

định

thời

(clr

TRx)



xoá

cờ

TFx
6. Quay lại bước 2 để nạp lại
•Th

i
g

i
a
n
t
r

ờ ga tễ
–Thời gian trễ = (65536-giá trị ban đầu)*chu kỳ clock
• Thay cho phương pháp dò cờ TFx, một ISR có
thể đ ử d
thể

đ
ược s


d
ụng
Bộ định thời

Ví dụ ở Mode 1
Bộ

định

thời



dụ




Mode

1
•Tạomộtsóng
vuông vớihệ
số lấp đầy
50% trên P1.5
với Timer0
Các bộ định thời và các ngắt
Các

bộ

định

thời



các

ngắt

Khi bộ định thời
Khi

bộ


định

thời

TF1 hoặc TF0
tràn thì n
g
ắt
g
được tạo ra
• Cho
p

p
n
g
ắt
ppg
và sau đó khởi
động bộ định
thời
thời
• ISR xoá tự
độ ờ TF
độ
ng c


TF

x
Bộ định thời để đo thời gian
•Bộđịnh thời đượcsử dụng để đothời
gian trôi qua
–Hữu ích cho các nhiệmvụ thông
h
t
h
ương
– Không chính xác như RTC (đồng hồ
thờigianthực) nhưng rẻ
•Clockcủab

đ

nh thờibằn
g
1
/
12


g
clock của 8051
–Chukỳ thờigianchomộtlần đếmlà
1,085µs

Th
ời
gian

tiêu
tốn
cho
việc
đếm
đén
Th
ời
gian
tiêu
tốn
cho
việc
đếm
đén
khi tràn (quay về 0) là
•Số lần đếm x 1,085µs
•Vídụ:Bộđịnh thời đượcnạpgiátrị
0
xFFF
2
0
xFFF
2
–Số lần đếm đến khi vòng về 0là
0XFFFF-0xFFF2+1 =14
–Thời gian tiêu tốn là: 14 x 1,085µs
Bộ định thời để đothờigian
Bộ


định

thời

để

đo

thời

gian
•Cáchtính
g
iá tr

n
ạp
ban đầu để có đư

cthời

g

ạp

gian giữ chậmyêuc

uT?
–ChiaTcho1,085µs để đượcn(giả thiếttầnsố thạch
anh là 11

,
0592 MHz
)
,
)
– Tìm m=65536-n
– Chuyển m sang số hex, m=0xUUVV
Nạp
TH

0
xUU
v
à
TL

0
xVV

Nạp
TH

0
xUU
v
à
TL

0
xVV

• Để có thờigiangiữ chậmlâuhơn?
–Tổ chứcmột vòng lặp
–Thêmvàomộtsố lệnh (nop), trước khi cho phép bộ
định thờilàmviệclại

Đ
ưaraRTC
(
đồn
g
hồ thời
g
ian th

c
)
( g
g
ự )
Bộ định thời: Các chế độ khác
Bộ

định

thời:

Các

chế


độ

khác
•Chếđộ0
–Giống như chếđộ1nhưng nó là bộđịnh thời13bit
–Thứ từđếmtừ 0x0000 tới 0x1FFF

Chế
độ
2
Chế
độ
2
–Bộđịnh thời8bitvớikhả năng tự nạplại
–Nạpgiátrịđếm vào TH và cho phép bộđịnh thờilàmviệc
8051
à
TL

t ị

TH

8051
nạpv
à
o
TL
g


t
r


TH
– Khi TL quay vòng về 0x00, bộđịnh thờidựng cờ TF (và
ngắt)

Sau khi cờ TF bị xoá bởiISR/lệnh, TL đượcnạplạitừđộng
giá trịởTH và lặplại quá trình trước
– Đượcsử dụng trong truyền thông nốitiếp để tạotốc độ
baud
Các bộ định thờilàbộ đếm
Các

bộ

định

thời



bộ

đếm
•B

đ


nh thời đếm số lần m

t s

ki

n th

c tế xuất
ộ ị ộ ự ệ ự
hiện
– Có bao nhiêu số 1 trong luồng bit

Có bao nhiêu người đi qua của


bao

nhiêu

người

đi

qua

của

•Các bộ đếm tăng số đếm khi chúng nhận một tín
hiệu (đếm xung)

C ủ ể

C
ác bộ định thời c

a 8051 có th

làm việc như
các bộ đếm

Bit
C/
T

th
a
nh
g
hi TM
O
D
p
h

i l
à
1
để

bộ


đế
m h
oạ
t
C/ ở ag Opả à để bộ đế oạ
động
– 2 chân ngoài của 8051 nhận các xung đếm
• P3.4
(
T0
,
chân 14
)
: Xun
g
đếm bên n
g
oài của Timer0
(, ) g g
• P3.5 (T1, chân 15): Xung đếm bên ngoài của Timer1
Ví dụ về bộ đếm


dụ

về

bộ


đếm
• Đếm xun
g
ở chân T1
(
P3.5
)
và hiển th


g
iá tr

của
g () ị g ị
bộ đếm trên cổng P2. Bộ đếm làm việc ở chế độ
2
Cổ bê ài
Cổ
ng

n ngo
ài
•Cổn
g
bên n
g
oài cun
g
cấ

p
khả năn
g
điều khiển bộ định
gg gp g
thời cùng với một thiết bị bên ngoài
– Các nut ấn có thể được sử dụng để cho phép hoặc không cho
phép bộ đếm
–Nút dừng trong một clock cơ sở của 8051
•Thiết lập GATE=1 ở TMOD, sau đó bộ định thời có thể
đư

c điều khiển từ bên n
g
oài
ợ g
– Chân P3.2 (INT0) cho Timer0
– Chân P3.3 (INT1) cho Timer1

Với GATE=1 Timer được phép nếu

Với

GATE=1
,
Timer

được

phép


nếu
–TRx được thiết lập bởi phần mềm (setb TR0)
– AND, INT0 (chân P3.2) phải được kéo lên cao bởi phần cứng

×