Tải bản đầy đủ - 0 (trang)
Các chế độ làm việc

Các chế độ làm việc

Tải bản đầy đủ - 0trang

104



hay TH1 tùy theo bộ định thời 0 hay 1.

3.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 với bộ vi điều khiển tiền nhiệm 8048.Chế độ này không được dùng

cho các thiết kế mới.Byte cao của bộ định thời THx được ghép cascade với

5 bit thấp của byte thấp của bộ định thời THx để tạo thành một bộ định thời

13bit. Ba bit cao của TLx không sử dụng.



Chế độ định thời 16 bit (chế độ 1).

Chế độ định thời 16 bit có cấu hình giống như chế độ định thời 13

bit. Khi có xung clock bộ định thời đếm lên: 0000H,0001H,0002H …

FFFFH (65535). Một tràn sẽ xuất hiện khi có sự chuyển số đếm từ FFFFH

xuống 0000H, sự kiện này sẽ set cờ tràn bằng 1 (TFx = 1) và bộ định thời

tiếp tục đếm. Bit có ý nghĩa lớn nhất (MSB : Most significant bit) của giá trị

trong các thanh ghi định thời là bit 7 của THx và bit có ý nghĩa thấp nhất

(LSB : Least significan bit ) là bit 0 của TLx. Các thanh ghi định thời (

THx,TLx) có thể được đọc hoặc ghi bằng phần mềm ở bất kỳ thời điểm nào.

3.2.



Timer clock



TLx



THx



TFx



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 thời lưu giữ giá trị

nạp lại. Khi số đếm tràn từ FFH xuống 00H không chỉ cờ tràn của bộ định

thời set lên 1 mà giá trị trong THx còn được nạp vào TLx, việc đếm sẽ được

tiếp tục từ giá trị này cho đến khi xảy ra lần tràn kế tiếp,v.v…

3.3.



Timer clock



TLx



TFx

Reload



THx

Chế độ định thời tách biệt timer (chế độ 3).

Chế độ 3 là chế độ định thời chia xẻ và có hoạt động khác nhau cho

3.4.



105



-



từng bộ định thời. Bộ định thời 0 của chế độ 3 được chia thành 2 bộ định

thời 8 bit hoạt động riêng lẻ TL0 và TF1, mỗi bộ định thời sẽ Set các cờ

tràn tương ứng TF0 và TF1 khi xảy ra tràn.

- Bộ định thời 1 không hoạt động ở chế độ 3 nhưng có thể được

khởi động bắng cách chuyển bộ định thời này vào một trong

các chế độ khác. Giới hạn duy nhất là cờ tràn TF1 của bộ định

thời 1 không bị ảnh hưởng bởi bộ định thời 1 khi bộ này xảy ra

tràn vì TF1 được nối với bộ định thời TH0.

Chế độ chủ yếu cung cấp thêm một bộ định thời 8 bit nữa, nghĩa là

8051 có thêm bộ định thời thứ 3.Khi bộ định thời 0 của chế độ 3,bộ định

thời 1 có thể hoạt động hoặc ngưng bằng cách chuyển bộ này ra khỏi chế

độ 3 hoặc vào chế độ 3. Bộ định thời 1 có thể được sử dụng bởi port nối

tiếp (lúc này bộ định thời 1 làm nhiệm vụ của bộ tạo xung clock tốc độ

baud) hoặc được sử dụng theo một cách nào đó nhưng không yêu cầu ngắt

(vì bộ định thời lúc này khơng còn nối với TF1).

4. Nguồn cung cấp xung cho Timer.

Mục tiêu : Hiểu được chức năng hoạt động của bộ định thời .

Có 2 khả năng tạo ra nguồn xung clock này,việc lựa chọn khả năng

nào do ta thiết lập bit C/ T (counter/timer) của thanh ghi TMOD bằng 1

hay 0 khi bộ định thời được khởi động.Một nguồn xung clock được dùng để

định thời trong một khoảng thời gian, nguồn xung clock còn lại được

dùng để đếm sự kiện.

4.1. Chức năng định thời.

Nếu C/ T =0,hoạt động định thời được chọn và nguồn xung clock

của bộ định thời do mạch dao động bên trong chip tạo ra. Một mạch chia 12

tầng được thêm vào để giảm tần số xung clock đến một giá trị thích hợp với

hầu hết các ứng dụng. Lúc này bộ định thời được dùng để định thời trong

một khoảng thời gian.Các thanh ghi định thời (TLx/THx) đếm lên với

tần số xung clock bằng 1/12 tần số của mạch dao động trên chip (nghĩa

là nếu thạch anh là 12MHz, tần số xung clock là 1MHz). Bộ định thời sẽ

tràn sau một số xung clock cố định phụ thuộc vào giá trị ban đầu nạp cho

các thanh ghi định thời( TLx/THx).

4.2.

Đếm sự kiện.

- Nếu C/ T = 1, bộ định thời được cung cấp xung clock từ

1 nguồn tạo xung bên ngoài. Trong đa số các ứng

dụng,nguồn xung clock này cung cấp cho bộ định thời một

xung dựa trên việc xảy ra một sự kiện bộ định thời bây giờ

đếm sự kiện. Số các sự kiện được xác định trong phần



106



mềm bằng cách đọc các thanh ghi định thời (TLx/THx),

giá trị 16-bit trong các thanh ghi này tăng theo mỗi sự

kiện. Hai chân của port 3( P3.4 và P3.5 ) bây giờ trở thành

ngõ vào xung clock cho các bộ định thời. Chân P3.4 là

ngõ vào xung clock cho bộ định thời 0 (ta còn gọi là chân

T0 ở ngữ cảnh này), chân P3.5 là ngõ vào xung clock cho

bộ định thời 1(T1).

- Trong các ứng dụng đếm sự kiện, các thanh ghi định thời

tăng mỗi khi xảy ra chuyển trạng thái từ 1 xuống 0 ở ngõ

vào Tx (T0 hoặc 1).Ngõ vào Tx được lấy mẫu trong suốt

mỗi một chu kỳ máy, vậy thì khi ngõ vào ở mức cao trong

một chu kỳ và mức thấp trong chu kỳ kế, số đếm được

tăng. Phải mất 2 chu kỳ máy (2us) để nhận biết sự

chuyển trạng thái từ 1 xuống 0, tần số cực đại của nguồn

xung clock bên ngoài là 500KHz (với giả sử chip vi điều

khiển hoạt động với thạch anh 12 MHz).

5. Khởi động, dừng và điều khiển Timer.

Mục tiêu: Điều khiển được sự hoạt động của Timer.

- Cách đơn giản nhất để khởi động và dừng các bộ định thời là

sử dụng bit điều khiển hoạt động TRx trong thanh ghi

TCON. TRx được xóa khi thiết lập hệ thống; nghĩa là các

bộ định thời ngưng hoạt động. Ngược lại nếu ta set bit TRx

nghĩa là cho phép bộ định thời hoạt động. Do thanh ghi

TCON là thanh ghi được định địa chỉ từng bit, ta dễ dàng

khởi động hoặc dừng các bộ định thời bằng chương trình.

- Một phương pháp khác để điều khiển các bộ định thời là sử

dụng bit GATE trong thanh ghi TMOD và ngõ vào /INTx.

Bằng cách set bit GATE lên 1 ta cho phép bộ định thời được

điều khiển bởi /INTx.

6. Khởi tạo và truy xuất thanh ghi Timer.

Mục tiêu: Đặt được các giá trị đếm của Timer và truy xuất giá trị của

Timer khi cần thiết.

Các bộ định thời thường được khởi động một lần ở thời điểm bắt đầu

chương trình để thiết lập chế độ hoạt động yêu cầu.Trong thân của chương

trình,các bộ định thời được điều khiển hoạt động, dừng, kiểm tra các bit cờ

và xóa, cá thanh ghi định thời được đọc hoặc cập nhật tuỳ theo yêu cầu ứng

dụng. TMOD là thanh ghi được khởi động trước tiên vì đây là thanh ghi thiết

lập chế độ hoạt động.



107



Các tác vụ:

+ Đặt chế độ làm việc.

+ Cho timer chạy.

+ Dừng timer.

+ Kiểm tra cờ tràn.

+ Xóa cờ tràn.

+ Đọc và cập nhật các thanh ghi timer.

Chú ý: khi có sử dụng ngắt ngoài ( TD: chế độ 1)

-



Hình 4.2 Ngắt ngồi



Ví dụ:

+ Đặt chế độ làm việc: Khởi động bộ định thời 1 hoạt động ở chế độ 16-bit

(chế độ 1), xung clock được cấp từ mạch dao động trên chip(định thời một

khỏang thời gian).

MOV TMOD,#00010000B

Timer 1: Gate = 0, C/T = 0, M1M0 = 01 (mode 1)

Timer 0 : Gate = 0, C/T = 0, M1M0 = 00(mode 0)

+ Trong trường hợp cần đến số đếm ban đầu, các thanh

ghi định thời TL1/TH1 cũng phải được khởi động. Cần

nhớ là các bộ định thời đếm lên và thiết lập cờ tràn bằng

1 khi xảy ra tràn số đếm từ FFFFH xuống 0000H, vậy



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Các chế độ làm việc

Tải bản đầy đủ ngay(0 tr)

×