Chức năng của khối chia xung,định thời như đã nói ở phần đầu bao gồm hai nhiệm vụ : * Chia tần số xung Clock cho việc truyền nhận dữ liệu.
* Chia xung để thực hiện việc ngắt quãng theo thời gian cho CPU.
Khi ghép nối 8253 với mạch thiết kế ta cũng không cần phải thông qua các mạch phụ trợ nào cả,cách ghép nối mạch định thời với các thiết bị như sau:
Các đường dữ liệu từ D0-D7 được nối lên DATA BUS.
Hai tín hiệu RD,WR được nối vào hai chân diều khiển RD,WR của CPU Z80 để điều khiển việc đọc ,ghi vào 8253.
Tín hiệu ChipSlect (CS) được nối vào ngõ ra của khối giải mã thiết bị ngoại vi để xác định địa chỉ đồng thời để chọn thiết bị khi CPU làm việc với mạh định thời.
Ta chỉ sử dụng hai ngõ ra OUT 0 , OUT 1
Hai ngõ vào CLK 0 và CLK 1 được nối vào xung Clock của hệ thống.
Ngõ ra OUT 0 được nối vào hai chân TxCLK và RxCLK của 8251 để chia tần số cho nhịp truyền nhận của vi mạch giao tiếp này.
Ngõ ra OUT 1 được đưa vào chân ngắt quãng không che NMI của Z80 để thực hiện việc ngắt quãng cho CPU.
Hai chân A0 và A1 được nối vào hai đường địa chỉ tương ứng A0,A1 cùng với hai tín hiệu RD,WR để chọn ra một trong bốn Mode hoạt động sau:
A1 A0 RD WR HOẠT ĐỘNG
0
0
1 1 0 Số đếm Bộ đếm 1
1
0 1 0 Số đếm Bộ đếm 2
1
1 1 0 Từ điều khiển Cổng điều khiển 0 0 0 1 Bộ đếm 0 Tuyến dữ liệu 0 1 0 1 Bộ đếm 1 Tuyến dữ liệu 1 0 0 1 Bộ đếm 2 Tuyến dữ liệu 1 1 0 1 Không hoạt động
IV.1 CÁCH CHIA TẦN SỐ CHO TỐC ĐỘ TRUYỀN NHẬN CỦA 8251:
Muốn chia đúng nhịp truyền nhận việc phải làm là tìm được số chia để ghi vào bộ chia cho 8253.Các ngõ vào CLK của 8253 đều có tần số vào của hệ thống nên có tần số là 1,8432 MHz = 1843200 Hz.
Khi mạch truyền nhận hoạt động tốc độ truyền nhận là 2400 Baud nên việc chia tầng số chia nhịp được thực hiện theo công thức sau:
Tần số nhịp truyền nhận = Tốc độ truyền * 16 = 2400 * 16 = 38400 (Hz) Bộ chia (Số chia) = 1843200 : 38400 = 48
Vậy ta phải ghi số chia = 48 (hệ Hecxan = 30H) vào bộ chia của 8253 để chia tần số cho nhịp truyền nhận.
IV.2 CÁCH CHIA TẦN SỐ ĐỂ XÁC ĐỊNH THỜI GIAN NGẮT QUÃNG CHO CPU
Tần số xung Clock làm việc của Z80 là 1843200 Hz nên khoảng thời gian ngắt quãng cho CPU có thể được chọn nằm trong khoảng 1ms – 100 ms . Để dể nhìn ta chọn thời gian ngắt quãng cho CPU là 10ms.Việc chia thời gian cho CPU được thực hiện như sau:
1 Hz tương đương với thời gian = 1s 10 ms tương đương với thời gian = 100 Hz Nên tầng số cho việc ngắt quãng phải = 100 Hz Nhịp vào của CLK có tầng số = 1843200
Vậy số chia phải ghi vào bộ chia của 8253 cho việc ngắt quãng là 18432