Phối ghép CPU với mạch đếm/định thời gian 8254 (8253)

Một phần của tài liệu Kỹ thuật vi xử lý - Chương 9 docx (Trang 26 - 30)

Mạch định thời gian lập trình được 8254 (8253) là một mạhh phụ rất quan trọng trong các hệü vi xử lý của Intel. Nó có thể đáp ứng được các yêu cầu ứng dụng khác nhau trong hệ vi xử lý: đếm thời gian, đếm sự kiện, chia tần số, tạo ra dãy xung...

Sơ đồ khối của vi mạch 8254 và cách phối ghép với CPU được thể hiện trên hình 9.17.

Các tín hiệu của vi mạch 8254 có tên và ý nghĩa giống như của 8088 nên khá quen thuộc và ta sẽ không cần phải giải thích nhiều nữa. Chân chọn võ của vi mạch 8254 phải được nối với đầu ra của một bộ giải mã đểđịnh địa chỉ cơ bản cho mạch. Cùng với địa chỉ cơ bản, các chân địa chỉ A1 và A0 sẽ cung cấp địa chỉ cụ thể của các thanh ghi ở bên trong mạch 8254 khi ghi (lập trình) hoặc đọc thông tin của mạch (xem bảng 9.1). Đó là 3 thanh ghi cho 3 bộ đếm và 1 thanh ghi cho từ điều khiển.

Theo sơđồ khối ta thấy trong vi mạch 8254 có 3 bộ đếm lùi 16 bit, nội dung ban đầu của mỗi bộđếm đều có thể lập trình từ CPU để thay đổi được. Ngoài ra ta còn có thểđiều khiển được hoạt động của các bộđếm bằng tín hiệu từ bên ngoài qua các chân của (GATE) để cho phép bắt đầu đếm (GATE = 1) hay để buộc kết thúc quá trình đếm (GATE = 0).

D0-D7 CPU RD WR Đệm bus dữ liệu Bộ đếm 0 RD Lôgic WR diều A0 khiển A1 ghi/đọc Bộ đếm 1 Clk1 Clk0 Gate0 Gate1 Out1 Out0

Hình 9.17. Sơ đồ khối của vi mạch 8254. Bảng 9.1. Chọn các thanh ghi bên trong 8254

Khởi đầu cho 8254

Cũng như các vi mạch lập trình được khác phụ trợ cho CPU đã nói trước nay, sau khi bật điện mạch 8254 phải được khởi đầu để có thể hoạt động theo đúng yêu cầu. Một điều cần chú ý là trạng thái của 8254 sau khi bật điện là không xác định.

ĐỂ khởi đầu chomạch 8254 ta phải gi từ điều khiển vào thanh ghi từ điều khiển của nó. Dạnh thức từđiều khiển của 8254 được biểu diễn trên hình 9.18.

Ghi/đọc

00: lệnh chốt bộđếm 01: chỉđọc/ghi byte LSB

10: chỉđọc/ghi byte MSB 0: Bộđếm HEX 4 số 11: đọc/ghi byte LSB, tiếp theo là MSB 1: Bộđếm BCD 4 số

D7 D6 D5 D4 D3 D2 D1 D0 A1 A0 Chọn ra 0 0 1 1 0 1 0 1

Thanh ghi cho bộđệm số 0

Thanh ghi cho bộđệm số 1

Thanh ghi cho bộđệm số 2

Chọn bộ đếm Chế độ 00: để chọn bộđếm 0 000: chếđộ 0 - Tạo yêu cầu ngắt khi đếm hết 01: để chọn bộđếm 1 001: chếđộ 1 - Đa hài đợi lập trình được 10: để chọn bộđếm 2 010: chếđộ 2 - Bộ chia tần số cho N

11: để ra lệnh đếm ngược 011: chếđộ 3 - Tạo xung vuông 100: chếđộ 4 - Tạo xung cho phép mềm

101: chếđộ 5 - Tạo xung cho phép cứng

Hình 9.18. Dạng thức thanh ghi từđiều khiển của vi mạch 8254.

Thanh ghi từ điều khển dùng để chứa từ điều khiển cho cả 3 bộ đếm. Với các bit SC1 - SC0 (theo mã hệ 2) ta có thể chọn ra bộ đếm làm việc theo cách thức do từ điều khiển quyết định. Trường hợp đặc biệt khi SC1 - SC0 =11 ta có thể dùng lệnh đọc ngược để đọc nội dung hoặc trạng thái của bộ đếm trong thời điểm hiện tại.

Các bộđếm của mạch 8254 đều làm việc ở chế độđếm lùi. Như vậy số đếm lớn nhất mà ta có thểđưa vào để bắt đầu đếm là 10000H hoặc 1000, vì sau khi lùi 1 ta có nội dung mới của bộ đếm là FFFH hoặc 9999 tuỳ theo bit BCD=D0 là 0 hay 1.

Các bit M2 M1 M0 sẽ xác định các chếđô làm việc của bộđếm, trong đó các đầu vào GATE có những tác động khác nhau đến đầu ra OUT. Mạch 8254 có tất cả 6 chếđộ làm việc và các chếđộ này được đánh số từ 0-5.

Các bit RW1RW0 cho phép chọn cách thức ghi/đọc với các bộ đếm. Ta có thể ghi/đọc tách riêng từng byte của bộ đếm. Nếu muốn ghi/đọc liên tiếp 2 byte của bộ đếm thì ta phải tuân theo thứ tự: byte thấp trước và tiếp theo là byte cao.

Để hạn chế bớt số bit cần thiết cho việc lưu trữ thông tin của điểm ảnh màu mà vẫn đảm bảo được gam màu rộng người ta đã sử dụng việc mã hoá thông tin theo bảng màu ( palette ) . Điều này có nghĩa là trong một thời điểm chúng ta chỉđược sử dụng một số màu trong bảng màu chứa tất cả các màu có thể có .

Ví dụ : vi điều khiển màn hình CGA của hãng IBM có khả năng hiển thị một lúc 320 x 200 điểm với 4 màu chọn trong bảng gồm 16 màu . Vì tại một

thời điểm ta chỉ hiện 4 màu nên để lưu giữ thông tin cho 1 điểm ảnh ta chỉ cần 2 bit .

Ví dụ khác : nếu tại 1 thời điểm ta vừa lòng với việc hiển thị 640 x 400 điểm ảnh với 16 màu trong bảng màu gồm có 256 màu , chứ không phải là 256 màu cùng một lúc , ta sẽ chỉ cần đến 4 bit để lưu giữ thông tin cho 1 điểm ảnh với 1 trong 16 màu . Bộ nhớ RAM đệm sẽ nhỏđi một nửa so với trường hợp hiện đủ 256 màu , lý do là 1 byte trong trường hợp này có thể chứa thông tin cho 2 điểm màu ( xem hình 9.13a ).

Việc chỉ dùng một số màu trong 1 bảng màu để làm giảm kích thước bộ nhớđệm là rất có lợi đối với các bộđiều khiển màn hình có độ phân giải cao ( và như vậy đòi hỏi bộ nhớ lớn ) . Vì điều này làm giảm được tần số truy nhập bộ nhớ RAM đệm khi làm tươi màn hình .

Một biện pháp khác đê làm giảm truy nhập bộ nhớ đệm khi làm tươi màn hình là bằng cách tổ chức bộ nhớ đệm theo các mặt nhớ song song để chứa thông tin của một điểm . Cách tổ chức bộ nhớ cho kiểu hiển thị này được minh hoạ trên hình 9.13b .

Trong cách làm này , 4 bit thông tin của 1 điểm ảnh được để tại các vị trí giống nhau trong 4 byte liên tiếp của bộ nhớ DRAM đệm . Điều này tương đương việc mỗi thông tin về 1 màu được để trong 1 mặt điểm ( bit plan ). Khi bộđiều khiển màn hình lấy 4 byte này vào các thanh ghi của nó thì nó có được cả thảy thông tin của 8 điểm ảnh này được đưa ra màn hình thì bộ nhớ DRAM có thời gian hồi phục để lại có thểđọc tiếp được . (adsbygoogle = window.adsbygoogle || []).push({});

Với 4 bit thông tin cho 1 điểm ảnh trong 4 mặt ta sẽ chọn được 1 trong 16 thanh ghi tương ứng với 1 trong 16 màu của bảng màu gồm 64 màu ( thanh ghi này có 6 bit cho các màu đỏ và đỏ nhạt , xanh biển và xanh biển nhạt , xanh lá cây và xanh lá cây nhạt ) . Đây cũng là cách hiện điểm màu của vĩ điều khiển màn hình EGA ( enhanced graphics adapter : bộ phối ghép đồ hoạ cải tiến ) .

* Các loại phối ghép màn hình thông dụng :

Trên hình 9.14 là bản liệt kê các loại mạch phối ghép màn hinh thông dụng trong thực tế và các thông số kỹ thuật chính của chúng . Hình 9.14 cũng giới thiệu các khuôn mẫu hiễn thị của các vĩ phối ghép màn hình cho các máy vi tính cá nhân của hãng IBM hoặc tương thích .

D7 D0 điểm 1 điểm 0

R G B I R G B I

P1 P0 Bộ nhớ Bộ nhớ đệm hình

Một phần của tài liệu Kỹ thuật vi xử lý - Chương 9 docx (Trang 26 - 30)