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

Các bộ định thời

Một phần của tài liệu NGHIÊN CỨU, THIẾT KẾ HỆ ĐIỀU HÀNH TRÊN BỘ VI ĐIỀU KHIỂN 8 BÍT (Trang 35 -37 )

Caực boọ ủũnh thụứi (Timer) coự theồ hieồu laứ moọt chuoĩi caực flip-flop chia ủõi tần soỏ noỏi tieỏp vụựi nhau, chuựng nhaọn tớn hieọu vaứo laứm nguồn xung nhũp, ngoừ ra cuỷa tần soỏ cuoỏi laứm nguồn xung nhũp cho flip-flop baựo traứn cuỷa Timer (flip-flop cụứ). Giaự trũ nhũ phãn trong caực flip-flop cuỷa Timer coự theồ

RAM W OE W RD PSEN

xem nhử soỏ ủeỏm soỏ xung nhũp (hoaởc caực sửù kieọn) tửứ khi khụỷi ủoọng Timer. Vớ dú Timer 16 bit seừ ủeỏm lẽn tửứ 0000H ủeỏn FFFFH, cụứ baựo traứn seừ lẽn 1 khi soỏ ủeỏm traứn tửứ FFFFH ủeỏn 0000H.

AT89S52 coự 3 Timer 16 bit, moĩi Timer coự boỏn cheỏ ủoọ hoát ủoọùng. Ngửụứi ta sửỷ dúng caực Timer ủeồ: ẹũnh khoaỷng thụứi gian, ủeỏm sửù kieọn hoaởc táo toỏc ủoọ baud cho port noỏi tieỏp trong.

Hình 2.7. Hoạt động của Timer0 và Timer1 ở chế độ 1.

Nguyên tắc hoạt động của các bộ định thời nh− sau:

Nguồn xung clock đ−ợc đ−a tới Timer từ một trong cách phụ thuộc vào bit

C-T trong thanh ghi TMOD:

• Nếu C-/T = 1, xung clock sẽ đ−ợc lấy từ bộ tạo xung bên ngồi qua

chân Tx(T0,T1 hoặc T2).

• Nếu C-/T = 0, xung clock sẽ đ−ợc lấy từ bộ chia tần trong chip, tần

số của xung ở đây là 1/12 tần số của bộ dao động thạch anh (Fosc).

Nguồn xung clock nĩi trên sẽ đ−ợc điều khiển để đ−a tới các Timer bằng

các bit: TR, GATE và mức logic trên các chân INTx:

• Nếu TRx=0, các Timer sẽ bị cấm mà khơng cần quan tâm tới GATE

• Nếu TRx=1, các Timer sẽ hoạt động với một trong 2 điều kiện sau xảy ra (thể hiện bằng cổng ‘OR”): Thứ nhất: bit GATE=1; thứ hai: trên chân INTx cĩ mức logic 1.

Giá trị lớn nhất mà các Timer chứa đ−ợc là 65535 (t−ơng ứng FFFF(H)), khi

đếm quá giá trị này sẽ xảy ra tràn, khi cờ tràn TF sẽ đ−ợc đặt bằng 1 và gây ra

ngắt do bộ định thời. Căn cứ vào sự kiện này bộ xử lý ngắt sẽ nạp dịa chỉ của

vector ngắt cho con trỏ PC, bộ vi điều khiển sẽ thực hện ch−ơng trình ở đây.

Trong hệ điều hành thời gian thực, bộ định thời là một trong những tài nguyên phần cứng khơng thể thiếu. Bộ định thời dùng để xác định các khoảng thời gian thích hợp cho mỗi tiến trình hoạt động (gọi là timer tick). Khoảng thời gian này cĩ thể thay đổi dẽ dàng nhờ việc nạp các giá trị khác nhau cho bộ timer. Khoảng thời gian này cũng thay đổi tuỳ theo các ứng dụng thời gian thực sao cho nĩ luơn nhỏ hơn thời gian đáp ứng của hệ thống với các kích thích bên ngồi.

Một phần của tài liệu NGHIÊN CỨU, THIẾT KẾ HỆ ĐIỀU HÀNH TRÊN BỘ VI ĐIỀU KHIỂN 8 BÍT (Trang 35 -37 )

×