5. 2.1 Vi mạch đệm 74LS245:
5.3.4 Ghép nối 8255A với Máy tính và TBN
Sơ đồ ghép nối cổng vào ra theo chương trình với VXL và TBN như hình dưới. PPI 8255A đặt giữa VXL và TBN, đóng vai trò trung chuyển tin giữa VXL và TBN qua các đường tín hiệu của Máy tính và TBN
Hình 5.6. Ghép nối 8255A với MVT và TBN
+ Phần ghép nối với Máy tính
Các tín hiệu về số liệu (data bus) D0 – D7, địa chỉ thấp (A0,A1), lệnh đọc (RD), lệnh ghi (WR) được nối thẳng với các lối vào tương ứng của PPI 8255A
Tín hiệu /CS (Chip Select) của PPI được nối với bộ giải mã các địa chỉ cao (A2 – An) của VXL
Các tín hiệu ra yêu cầu ngắt chương trình (INTRA, INTRB) của 8255 được nối vào lối vào INTR của VXL qua một vi mạch logic OR
+ Phần ghép nối với thiết bị ngoài:
Tuỳ thuộc loại TBN, số bit của đường tín hiệu số liệu và phương thức trao đổi tin mà ta có cách mắc đường tín hiệu khác nhau.
Chế độ 0: Ba đường tín hiệu PA, PB, PC đều được dùng để trao đổi số liệu hoặc tin về điều khiển và trạng thái một cách bình đẳng với nhau và tuỳ ý lựa chọn. Ở chế độ này có thể:
+ Không cần đối thoại giữa 8255 và TBN, chỉ có trao đổi số liệu trên 1 trong 3 cổng
+ Nếu cần tin về điều khiển hay đọc trạng thái của TBN ta sử dụng thêm các cổng khác cho mục đích này ngoài cổng trao đổi số liệu
Chế độ 1: Chỉ có hai cổng A,B trao đổi số liệu độc lập nhau, còn các đường PCi của cổng PC để dùng để hội thoại cho các cổng A,B ở trên. Các đường này có chiều và vai trò xác định do đó không thể thay đổi.
Chế độ 2: Chỉ cho cổng PA với số liệu vào/ra hai chiều. Các bit của PC cũng có vai trò và chiều xác định
Ở các chế độ bắt tay (đối thoại), giữa 8255 và TBN chỉ trao đổi hai tín hiệu hỏi đáp mà thôi
Một số ứng dụng ghép nối 8255 với thiết bị ngoài: + Mạch ghép nối 8255 ở chế độ 0:
Ở hình 5.7 giới thiệu cách ghép nối 8255 với máy in qua cổng PA có chiều ra, và ghép nối với một bộ biến đổi tương tự - số qua cổng PB có chiều vào. Cổng C được dành cho các tín hiệu đối thoại. Trong đó:
Nửa C thấp là cổng vào, đọc trạng thái của máy in và ADC PC0 cho trạng thái máy in bận (busy)
PC1 cho tín hiệu ACK của máy in
PC2 Cho tín hiệu EOC (End of Convertion) của ADC Nửa C cao để đưa ra các tin về điều khiển
PC4 đưa ra tín hiệu chốt dữ liệu cho máy in PC5 đưa ra tín hiệu Start cho ADC.
Hình 5. 7. Ghép nối 8255A với MVT và TBN ở chế độ 0
• Ghép nối 8255 ở chế độ 1:
Hình 5.8. Ghép nối 8255A với MVT và TBN ở chế độ 1
Chương trình trao đổi tin cho 8255A
Tuỳ theo cách mắc và TBN, chương trình cần có các khối lệnh cơ bản sau:
1. Khởi tạo: đó là lênh ghi vào thanh ghi điều khiển của 8255 với địa chỉ thấp A0, A1 = 11 tới từ điều khiển. Các bit từ điều khiển này được xác định bởi:
- Chế độ của các cổng
- Chiều (vào/ra) của các cổng
điều khiển TBN. Nếu ở chế độ 1,2 các bit nay là các bit PCi của đối thoại, ta không cần phải viết lệnh đưa giá trị ra nữa. Còn trường hợp ở chế độ 0 ta có thể dùng một trong hai cách sau:
- Lập/ xoá từng bit PCi của cổng PC - Đưa tin ra các bit của các cổng 3. Đọc và kiểm tra trạng thái:
- Các lệnh đọc vào
+ Thanh ghi trạng thái nếu cổng dùng chế độ 1, 2
+ Một cổng bất kỳ ở chế độ 0 dùng để ghi trạng thái của TBN. - Lệnh và logic (AND) để chắn các bit không cần kiểm tra
- Lệnh so sánh (CMP) với các giá trị 1 của bit đó
- Lệnh trở về vị trí có lệnh đọc trạng thái nếu kết quả so sánh không đúng trạng thái cần xét
4. Trao đổi số liệu:
- Đưa số liệu vào (IN đv VXL họ 86) hay chuyển số liệu MOV (của VXL 8085)
- Đưa số liệu ra (OUT ) hay chuyển số liệu MOV