Bài giảng Vi điều khiển
Biên soạn: Ths Lê Hoàng Anh
Trang 26
CHƯƠNG IV : HOẠT ĐỘNG ĐỊNH THỜI
1. MỞ ĐẦU :
Một bộ định thời là một chuỗi các flipflop với mỗi flipflop là một
mạch chia hai,chui này nhận một tín hiệu ngõ vào m ngun xung
clock.Xung clock đt vào flipflop thnhất flipflop y chia đôi tần sxung
clock. Nra của flipflop thứ nhất trở thành ngun xung clock cho flipflop
thhai ,nguồn xung clock y cũng được chia cho 2,v.v..Vì mỗi một tần kế
tiếp nhau đều chia cho 2 nên bđịnh thời có n tầng sẽ chia tần số xung clock
ở ngõ vào của bộ này cho 2.
Ngõ ra của tần cuối cùng làm xung clock cho một flipflop o tràn b
định thời hay còn gi là ctràn (overflow flag),ctràn này được kiểm tra
bởi phần mm hoặc tạo ra một bngắt.Giá trị nhị phân trong các flipflop của
bđịnh thời là sđếm của các xung clock từ bộ định thời bắt đầu đếm.Thí
dmột bộ định thời 16bit sẽ đếm từ 0000H đến FFFH.Cờ tràn được set bắng
1 khi xy ra tràn số đếm tFFFFH xuống 0000H.
LSB MSB
Clock
Q0
Q1
Q2
Flag
D /Q
Q0
D /Q
Q1
D /Q
Q2
D /Q
Q
Clock
Flag Flipflop
Bài giảng Vi điều khiển
Biên soạn: Ths Lê Hoàng Anh
Trang 27
Hoạt động của một bộ định thời đơn gin được minh họa trong hình
bên trên,b định thời 3 bit.Mỗi một tầng là một D-FF kích khi cạnh âm
hoạt động như một mạch chia cho 2 do ta nối ngõ ra Q đảo với ngõ o D.
Flipflop cđơn gin là một mạch chốt D được set bằng 1 bởi tầng cuối ca
bđịnh thời.Giản đthi gian hình trên cho thấy tầng thứ nhất (Q0 ) chia
hai tn sxung clock,tng thứ hai chia 4 tần số xung clock và v.v… Sđếm
(count) được ghi ở dạng thập phân được kiểm tra dễ dàng bng cách khảo
sát trng thái của 3 flipflop.T dsđếm là 4 xut hiện khi Q2=1,Q1=0
Q0=0(410=1002).Các flipflop hình trên c flipflop tác động cạnh âm
(nghĩa là ngõ ra Q của các flipflop đổi trạng thái theo cạnh âm cuả xung
clock).Khi sđếm tràn t1112 xung 0002,ngõ ra Q2 cnh âm(10)m
cho trng thái của flipflop cờ đổi từ 0 lên 1(ngõ vào D của flipflop này luôn
luôn logic 1)
Bđịnh thời được sdụng trong hầu hết c ứng dụng hướng điều
khiển và 8051 với các bộ định thời trên chip không phải là trường hợp ngoại
lệ.8051 hai bộ định thời 16 bit ,mỗi bộ 4 chế độ hoạt động .Bộ định
thời thứ 3 với ba chế độ hoạt động được tm vào đối với chip 8051.Các bộ
định thời được dùng để:
(a) Định thời trong một khoảng thời gian
(b) Đếm sự kiện
(c) Tạo tốc độ baud cho port nối tiếp của chip 8051.
Với bộ định thời 16 bit ,tầng cuối cùng (tng thứ 16)chia tần số xung
clock của ngõ vào của bộ định thời cho 216=65536.
Trong các ng dụng định thời trong một khoảng thời gian, b định
thời được lập trình sao cho s tràn sau một khoãng thời gian quy định và set
ctràn của bộ định thời bằng 1.Cờ tràn được sử dụng để đồng bộ chương
trình nhm thực hin một ng việc như kiểm tra trạng thái của các ngõ
nhập hoặc gửi dliu đến cac ngõ xuất.Các ứng dụng khác thể sdụng
xung clock của bộ định thời để đo khoảng thời gian giữa hai skiện(thí d
đo độ rộng xung).
Việc đếm skiện được dùng để xác định sln xuất hiện của mt s
kiện hơn đo thời gian của các skiện.Tskiện” là một kích tch bên
ngoài cung cấp một chuyển trạng thái từ 1 xuống 0 tới một chân của chip
8051.Các bđịnh thời cũng có thể cung cấp xung clock tốc độ baud cho port
nối tiếp bên trong 8051.
Các bđịnh thời 8051 được truy xuất bằng cách sdụng 6 thanh ghi
chức năng đặc bit.Với bđịnh thời thứ 3 của chip 8052,ta có thêm 5 thanh
ghi chức năng đặc biệt nữa để truy xuất bộ định thi này.
Bài giảng Vi điều khiển
Biên soạn: Ths Lê Hoàng Anh
Trang 28
SFR của Mục đích Địa ch Định địa chỉ bit
bộ định thời
TCON Điều khiển 88H
TMOD Chọn chế độ 89H Không
TL0 Byte thấp của bộ định thời 0 8AH Không
TL1 Byte thấp của bộ định thời 1 8BH Không
TH0 Byte cao của bộ định thời 0 8CH Không
TH1 Byte cao của bộ định thời 1 8DH Không
T2CON Điều khiển bộ định thời 2 C8H
RCAP2H Nhận byte thấp của bộ định thi 2 CAH Không
RCAP2L Nhận byte cao ca bộ định thời 2 CBH Không
TL2 Byte thấp của bộ định thời 2 CCH Không
TH2 Byte cao của bộ định thời 2 CDH Không
2. THANH GHI CH ĐỘ ĐỊNH THỜI ( TMOD ):
Thanh ghi TMOD (timer mode register) chứa hai nhóm 4 bit dùng để thiết
lập chế độ hoạt động cho bđịnh thời 0 và b định thời 1.TMOD kng
được định địa chỉ từng bit. Một cách tổng quát,TMOD được nạp một lần bởi
phần mềm thời điểm bắt đầu của một chương trình để khởi động chế đ
hoạt động của bộ định thi .Sau đó bộ định thời thể được dừng, được bắt
đầu,v.v…bằng cách truy xut các thanh ghi chức ng đặc biệt khác của bộ
định thời.
Bit Tên B
định
thời
t
7 GATE 1 Bit điều khiển cổng.Khi được set lên 1,bđịnh
thời chỉ hoạt động trong khi INT1 đảo ở mức cao
6 C/
T
1 Bit chọn chức năng đếm hoặc định thời
1 = đếm sự kiện
0 = định thời trong một khoảng thời gian
5 M1 1 Bit chọn chế độ thứ nhất
4 M0 1 Bit chọn chế độ thứ hai
3 GATE 0 Bit điều khin cổng cho bộ định thời 0
2 C/
T
0 Bit chn chức ng đếm hoặc định thời cho bộ
định thời 0
1 M1 0 Bit chọn chế độ thứ nhất
0 M0 0 Bit chọn chế độ thứ hai
Thanh ghi chn chế độ định thời
Bài giảng Vi điều khiển
Biên soạn: Ths Lê Hoàng Anh
Trang 29
M1 M0 Chế độ t
0 0 0 Chế độ định thời 13 bit
0 1 1 Chế độ định thời 16 bit
1 0 2 Chế độ tự động nạp lại 8 bit
1 1 3 Chế độ định thời chia xẻ
Các chế độ định thời
3. THANH GHI ĐIỀU KHIỂN ĐỊNH THỜI ( TCON ):
Thanh ghi TCON chứa các bit điều khiển, bit trạng thái của bộ định thời 0
bđịnh thời 1.Bốn bit cao trong TCON (TCON4 - TCON7) được dùng
để điều khiển cho bđịnh thời hoạt động, ngưng (TR0,TR1) hoặc để báo b
định thời tràn (TF0,TF1). Bốn bit thấp của TCON(TCON0- TCON3) không
dùng để điều khiển các bộ định thời,chúng được dùng để phát hiện và khi
động các ngắt ngoài.
Bit
hiệu
Địa chỉ
bit t
TCON.7
TF1 8FH Ctràn của bđịnh thời 1.Cờ này được set bởi
phần cng khi tn,được xóa bởi phần
mm,hoặc bởi phn cng khi vi xử trỏ đến
chương trình phục vụ ngắt
TCON.6
TR1
8EH Bit điều khiển hoạt động của bộ định thời 1.Bit
này được set hoặc được xóa bởi phần mềm để
điều khin bộ định thời hoạt động hay ngưng
hoạt động
TCON.5
TF0 8DH Cờ tràn của bộ định thi 0
TCON.4
TR0
8CH Bit điều khiển hoạt động của bộ định thời 0
TCON.3
IE1 8BH C ngắt bên ngoài 1.Cnày được set bởi phần
cứng khi cạnh âm( xuống),xuất hiện trên chân
INT1 đảo,được xóa bởi phần mm,hoặc bởi phần
cứng khi CPU trỏ đến chương trình phc vụ ngắt
TCON.2
IT1 8AH Bit chn ngắt ngoài 1 thuộc loại tác động cạnh
hay tác động mức.0:mức;1:cạnh
TCON.1
IE0 89H Cngắt bên ngoài 0 (kích khởi cạnh)
TCON.0
IT0 88H Bit chn ngắt ngoài 0 thuộc loại tác động cạnh
hay tác động mức.0:mức;1:cạnh
Thanh ghi điều khiển định thời TCON
Bài giảng Vi điều khiển
Biên soạn: Ths Lê Hoàng Anh
Trang 30
4. CÁC CHẾ ĐỘ ĐỊNH THỜI VÀ CỜ TRÀN :
Do ta hai bđịnh thời trên chip 8051,kí hiu x” được sdụng để
chhoặc bđịnh thời 0 hoặc bộ định thời 1.Thí d: THx thlà TH0 hay
TH1 tùy theo bđịnh thời 0 hay 1.
4.1 Chế độ định thời 13 bit (chế đ 0) :
Chế độ định thời 0 là chế độ định thời 13 bit cung cấp khả năng tương
thích vi bộ vi điu khiển tin nhiệm 8048.Chế độ y không được dùng cho
các thiết kế mới .Byte cao ca bộ định thi THx được ghép cascade với 5 bit
thấp ca byte thấp của bộ định thời THx để tạo thành mt bộ định thời 13bit.
Ba bit cao của TLx không sử dụng.
Overflow flag
4.2 Chế độ định thời 16 bit (chế đ 1) :
Chế độ định thời 16 bit có cấu hình ging như chế độ định thời 13
bit.Khi xung clock b định thi đếm n : 0000H,0001H,0002H
FFFFH ( 65535 ). Một tràn s xuất hin khi s chuyn s đếm t FFFFH
xuống 0000H, s kiện này s set c tràn bng 1 ( TFx = 1 ) b định thi
tiếp tục đếm .Bit ý nghĩa lớn nht (MSB : Most significant bit) của giá tr
trong các thanh ghi định thi bit 7 của THx bit có ý nghĩa thấp nhất
(LSB : Least significan bit ) là bit 0 của TLx. c thanh ghi định thời (
THx,TLx) có th được đọc hoặc ghi bng phn mềm bất k thời điểm nào.
TLx THx
4.3 Chế độ tự nạp lại 8 bit (chế độ 2):
Chế độ 2 là chế độ tự nạp lại 8bit. Byte thấp của bộ định thời (TLx)
hoạt đng định thời 8 bit trong khi byte cao của bộ định thi lưu giữ giá trị
nạp li. Khi sđếm tràn tFFH xung 00H không ch c tràn của b định
thời set lên 1 giá tr trong THx còn được nạp vào TLx, việc đếm s được
tiếp tục t giá try cho đến khi xảy ra lần tràn kế tiếp,v.v…
TLx(5 bit) THx( 8 bit)
TFx
TFx
Timer clock
Timer clock