« Home « Kết quả tìm kiếm

Chương 6 - Vào ra Dữ liệu bằng cách thăm dò


Tóm tắt Xem thử

- Ch−ơng 6.
- Vμo ra Dữ liệu bằng cách thăm dò.
- Giới thiệu chung về các ph−ơng pháp điều khiển vμo/ra dữ liệu.
- Sau khi đã trình bμy về các mạch th−ờng dùng cho việc phối ghép CPU với thiết ngoại vi ta sẽ tiến hμnh nghiên cứu các ph−ơng thức điều khiển việc trao đổi dữ.
- Nói chung ng−ời ta phân biệt ra 3 ph−ơng pháp điều khiển vμo/ra dữ liệu:.
- vμo/ra dữ liệu điều khiển bằng cách thăm dò trạng thái sẵn sμng của thiết bị ngoại vi..
- vμo/ra dữ liệu điều khiển bằng cách ngắt bộ vi xử lý..
- vμo/ra dữ liệu điều khiển bằng phần cứng phụ để thâm nhập trực tiếp vμo bộ nhớ..
- Mỗi ph−ơng pháp điều khiển vμo/ra dữ liệu nói trên có những đặc điểm khác nhau vμ sẽ đ−ợc ứng dụng trong các hoμn cảnh khác nhau.
- điều khiển đơn giản nhất mμ chúng ta xem xét trong ch−ơng nμy lμ ph−ơng pháp thăm dò (polling) trạng thái sẵn sμng lμm việc của thiết bị ngoại vi tr−ớc khi thực hiện vμo/ra dữ liệu.
- Các ph−ơng pháp điều khiển vμo ra dữ liệu khác sẽ đ−ợc giới thiệu trong các ch−ơng sau..
- Vμo/ra dữ liệu bằng ph−ơng pháp thăm dò.
- Vấn đề điều khiển vμo/ra dữ liệu sẽ trở thμnh rất đơn giản nếu thiết bị ngoại vi lúc nμo cũng sẵn sμng chờ để lμm việc với CPU.
- lμ một thiết bị vμo) lắp sẵn trong một hệ thống điều khiển lúc nμo cũng có thể cung cấp số đo về nhiệt độ của đối t−ợng cần điều chỉnh, còn một bộ đèn LED 7 nét (nh− lμ một thiết bị ra) dùng để chỉ thị một giá trị nμo đó của một đại l−ợng vật lý nhất định trong hệ thống nói trên thì lúc nμo cũng có thể biểu hiện thông tin đó.
- Nh− vậy khi CPU muốn có thông tin về nhiệt độ của hệ thống thì nó chỉ việc đọc cổng phối ghép với bộ đo nhiệt độ, vμ nếu CPU muốn biểu diễn thông tin vừa đọc đ−ợc trên đèn LED thì nó chỉ việc đ−a tín hiệu điều khiển tới đó mμ không cần phải kiểm tra xem các thiết bị nμy có đang sẵn sμng lμm việc hay không..
- Tuy nhiên trong thực tế không phải lúc nμo CPU cũng lμm việc với các đối t−ợng "liên tục sẵn sμng".
- Thông th−ờng khi CPU muốn lμm việc với một đối t−ợng nμo đó, tr−ớc tiên nó phải kiểm tra xem thiết bị đó có đang ở trạng thái sẵn sμng lμm việc hay không, nếu có thì nó mới thực hiện việc trao đổi dữ liệu.
- Nh− vậy, nếu lμm việc theo ph−ơng thức thăm dò thì thông th−ờng CPU phải đ−ợc dμnh riêng cho việc trao đổi dữ liệu vì nó phải liên tục kiểm tra trạng thái sẵn sμng của thiết bị ngoại vi thông qua các tín hiệu móc nối (handshake signal).
- Các tín hiệu nμy đ−ợc lấy từ các mạch phối ghép, do ng−ời thiết kế tạo ra, để cho ch−ơng trình thăm dò hoạt.
- Sau đây lμ thí dụ một cách tạo ra tín hiệu móc nối vμ l−u đồ thuật toán của ch−ơng trình dùng cho việc trao đổi dữ liệu giữa CPU vμ thiết bị ngoại vi (hình 6.1)..
- Trong thí dụ nμy để cho vấn đề đơn giản, ta giả thiết CPU chỉ lμm việc với 1 thiết bị vμo vμ 1 thiết bị ra.
- Việc tổ chức phối ghép đ−ợc thực hiện trên các mạch IC cỡ vừa để ta dễ theo rõi các tín hiệu..
- Một cổng vμo số 0 (có địa chỉ 00) đ−ợc dùng để đọc trạng thái sẵn sμng của 2 thiết bị ngoại vi nói trên.
- Tín hiệu sẵn sμng của thiết bị ngoại vi số 1 (cổng vμo 01).
- đ−ợc đặt vμo bit D0, tín hiệu sẵn sμng của thiết bị ngoại vi số 2 (cổng ra 02) đ−ợc đặt vμo bit D1.
- Các bit nμy sẽ có giá trị 1 khi thiết bị ngoại vi t−ơng ứng ở trạng thái sẵn sμng lμm việc với CPU vμ chúng sẽ đ−ợc đ−a vμo bus dữ liệu khi CPU đọc nó bằng lệnh đọc cổng vμo số 0.
- Ch−ơng trình trao đổi dữ liệu sẽ kiểm tra các bit báo sẵn sμng nμy vμ sẽ có các đáp ứng phù hợp..
- Mô tả hoạt động của phần mạch vμo dữ liệu.
- Khi thiết bị vμo số 1 có 1 byte số liệu cần trao đổi, nó đ−a ra xung STB để cho phép mạch chốt 8 bit lấy byte dữ liệu đó đồng thời kích cho mạch lật D (mạch tạo tín hiệu sẵn sμng) lμm việc.
- CPU sẽ thăm dò trạng thái sẵn sμng của thiết bị vμo số 1 qua bit D0 khi nó đọc cổng 00.
- Đến khi CPU đọc 1 byte dữ liệu vμo thì đồng thời nó.
- xoá luôn mạch tạo trạng thái sẵn sμng để chuẩn bị cho lần lμm việc tới với 1 byte dữ.
- Sơ đồ mạch tạo tín hiệu móc nối..
- T−ơng tự ta cũng có thể dễ dμng thấy đ−ợc cách hoạt động của phần mạch thứ hai của hình 6.1 với chức năng đ−a dữ liệu ra thiết bị số 2..
- Thiết bị Chốt.
- Thiết bị Mạch.
- L−u đồ thuật toán cho ch−ơng trình vμo/ra dữ liệu của cổng số 01/02 theo sơ.
- đồ móc nối trên hình 6.2 đ−ợc thể hiện ở hình 6.2 a) vμ b) đ−ờng liền nét..
- a) đọc dữ liệu từ cổng 01 b) ghi dữ liệu ra cổng 02.
- L−u đồ ch−ơng trình đọc vμ ghi dữ liệu..
- Lập ch−ơng trình theo l−u đồ trên hình 6.2a để thực hiện việc đọc vμo 1 dữ.
- liệu mỗi khi cổng 01 báo sẵn sμng rồi xử lý số liệu đó.
- Có 100 số liệu phải đọc nh− vậy (giả thiết có sẵn ch−ơng trình con xử lý dữ liệu có tên Xuly.
- Cứ mỗi lần nhận đ−ợc tín hiệu báo sẵn sμng của cổng 01 ta gọi ch−ơng trình con Xuly.
- Thân của ch−ơng trình hoμn thμnh công việc nói trên (theo l−u đồ trên hình 6.2a, đ−ờng liền nét) có thể có cấu trúc sau:.
- số dữ liệu phải đọc trong CX Đọc cổng 00.
- Đọc cổng 01.
- Đọc cổng 00.
- vòng thăm dò.
- đọc cổng 00 để kiểm tra cờ sẵn sμng TEST AL,1 .
- thiết bị số 01 sẵn sμng?.
- ch−a, quay lại thăm dò tiếp IN AL,1 .
- sẵn sμng, đọc cổng 01.
- xử lý dữ liệu.
- ch−a hết, quay lại thăm dò tiếp Ra:....
- Trong tr−ờng hợp thiết bị vμo/ra hoạt động theo cách khác: cờ sẵn sμng để báo cho CPU đọc/ghi nhiều byte dữ liệu cùng một lúc thì ta có nhánh ch−ơng trình đi theo.
- Lúc nμy ta phải sửa đổi đôi chút cả trong phần mạch tạo ra tín hiệu móc nối lẫn trong phần ch−ơng trình để cho toμn hệ thống lμm việc đúng..
- Trong thí dụ trên, nếu thay vì các mạch IC cỡ vừa (các mạch cổng 3 trạng thái vμ chốt 8 bit) ta dùng mạch 8255A để phối ghép CPU với thiết bị ngoại vi thì công việc về phần cứng sẽ đ−ợc đơn giản đi nhiều vì bản thân 8255A có khả năng tạo ra các tín hiệu móc nối (đối thoại) đ−ợc cả với CPU lẫn với thiết bị ngoại vi.
- Việc đọc (thăm dò) trạng thái của các tín hiệu móc nối chỉ đơn giản lμ đọc các bit t−ơng ứng của cổng PC..
- Trên hình 6.3 lμ thí dụ một ứng dụng của 8255A để phối ghép với CPU 8088 trong việc vμo/ra dữ liệu theo kiểu thăm dò trạng thái sẵn sμng của thiết bị ngoại vi..
- Trong thí dụ nμy ta ch−a sử dụng đến chức năng của các tín hiệu móc nối INTR của mạch 8255A, nh−ng tại đây ta cũng có thể nhận thấy rằng nếu tín hiệu INTR nμy.
- đ−ợc nối vμo chân INTR của 8088 thì ta có khả năng thực hiện một kiểu phối ghép khác để vμo/ra dữ liệu.
- Đó lμ điều khiển vμo/ra dữ liệu bằng cách ngắt CPU.
- điều khiển vμo/ra dữ liệu kiểu nμy sẽ đ−ợc trình bμy ở ch−ơng sau..
- Thiết bị vμo STB.
- Thiết bị ra D0-D7.
- Mạch 8255A dùng để phối ghép vμo/ra ở chế độ thăm dò.

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt