Tải bản đầy đủ (.ppt) (134 trang)

Ghép nối với vào ra Input / Output Peripheral Interfacing

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.22 MB, 134 trang )

Ghép nối với vào ra
Input / Output
Peripheral Interfacing
Phạm Thế Duy
()

Các khái niệm chung

Các cổng vào ra

Là thiết bị ngăn cách giữa BUS dữ
liệu và các thiết bị ngoại vi. Các cổng
vào ra sẽ mở để CPU giao tiếp với
thiết bị ngoại vi khi CPU cấp đúng địa
chỉ của nó.

Là các vi mạch tích hợp giao tiếp với
BUS dữ liệu của CPU bằng cổng 03
trạng thái.

Phân loại các cổng vào ra.

Theo kiểu truyền dữ liệu:

Vào ra song song.

Vào ra nối tiếp.

Theo tín hiệu truyền:

Vào ra số



Vào ra tương tự: ADC, DAC

Theo cơ chế hoạt động của vào ra:

Vào ra cơ bản.

Vào ra lập trình.

Theo phương pháp điều khiển của CPU:

Vào ra theo phương pháp quét vòng: polling

Vào ra theo ngắt: Interrupt.

Vào ra bằng thâm nhập trực tiếp bộ nhớ: DMA – Direct
Memory Access.

Các thiết bị ngoại vi

Các thiết bị chỉ vào.

Các thiết bị chỉ ra.

Các thiết bị vừa vào vừa ra.

Giống như bộ nhớ các cổng vào ra sẽ
được CPU định vị bằng một vi trí cố
định gọi là địa chỉ cổng.


Khác với bộ nhớ mỗi chip vào ra chỉ
có một hoặc một vài địa chỉ.

Các cổng ra

Giống như bộ nhớ, CPU có thể ghi dữ
liệu tới các cổng ra.

Khi ghi dữ liệu tới bộ nhớ sử dụng
lệnh MOV [BX],AL.

Khi ghi dữ liệu tới vào ra sử dụng lệnh
OUT DX,AL

Các cổng vào

Giống như bộ nhớ, CPU có thể đọc
dữ liệu từ các cổng vào.

Khi đọc dữ liệu tới bộ nhớ sử dụng
lệnh MOV AL,[BX]

Khi đọc dữ liệu tới vào ra sử dụng
lệnh IN AL,DX.

Địa chỉ hoá bộ nhớ và vào
ra

Bộ nhớ và vào ra:


Có thể truy cập bằng cùng một lệnh hoặc khác lệnh.

Địa chỉ hoá bằng toàn bộ hoặc một phần BUS địa
chỉ.

Có thể sử dụng chung các tín hiệu điều khiển hoặc
sử dụng riêng các tín hiệu điều khiển.

Có thể nhiều hơn hoặc 2
16

cổng.

Vào ra có thể truy cập bằng không gian địa chỉ dành
cho bộ nhớ.

Hai dạng của lệnh IN/OUT
Dạng 1

IN AL, port#
Hoặc

OUT port#, AL

Ví dụ:

BACK: IN AL,22H
CMP AL, 100
JNZ BACK


Dạng 2

MOV DX,port#
IN AL, DX
Hoặc

MOV DX, port#
OUT DX, AL

Cổng vào ra 8 và 16 bit

Với 8088 :

MOV DX, 648H
OUT DX, AX ;AX = 76A9H

Cấp địa chỉ và ALE

Ghi byte thấp (A9), IOW

Định thời ghi

Cấp địa chỉ (649) và ALE

Ghi byte cao (76), IOW

Định thời ghi

Với 8086 :


MOV DX, 648H
OUT DX, AX ;AX = 76A9H

Cấp địa chỉ và ALE

Ghi một từ (76A9), IOW

Định thời ghi

Các cổng vào ra cơ
bản

Thực hiện cổng ra đơn giản

Sử dụng 8 đèn LED.
Use 8 LED’s
8088
Minimum
Mode
A18
A0
:
D7
D6
IOR
IOW
A19
D5
D4
D3

D2
D1
D0
:
mov al,55h
out dx, al
:
:
:

Thực hiện cổng ra đơn giản

Sử dụng 8 đèn LED.

Các LED sẽ sáng theo giá trị trên BUS dữ
liệu, sẽ không điều khiển được theo ý
muốn.

Cần sử dụng vi mạch ra và bộ giải mã địa
chỉ sao cho LED chỉ được cấp dữ liệu khi
CPU cấp đúng địa chỉ bằng lệnh OUT (giả
sử chúng ta cần địa chỉ là F000H)
Sử dụnng 74LS245 và bộ giải mã địa chỉ
:
mov al, 55H
mov dx, F000H
out dx, al
:
8088
Minimum

Mode
A18
A0
:
D7
D6
IOR
IOW
A19
D5
D4
D3
D2
D1
D0
74LS245
B0
B1
B2
B3
B4
B5
B6
B7
A0
A1
A2
A3
A4
A5

A6
A7
E DIR 5V
A
1
5
A
1
4
A
1
3
A
1
2
A
1
1
A
1
0
A
9
A
8
A
7
A
6
A

5
A
4
A
3
A
2
A
1
A
0
IOW

Thực hiện cổng ra đơn giản

Sử dụng cổng đệm 74245 dữ liệu sẽ bị
mất sau khi thực hiện lệnh OUT, do cổng
đóng lại.

Làm sao để LED vẫn sáng?

Vẫn sử dụng chip vào ra và bộ giải mã để
dữ liệu chỉ cung cấp tới LED khi CPU cung
cấp đúng địa chỉ bằng lệnh OUT, nhưng
chip cần có chức năng giữ lại dữ liệu cho
tới khi có lệnh OUT kế tiếp.
Sử dụng 74LS373 và bộ giải mã địa chỉ
:
mov al, 55H
mov dx, F000H

out dx, al
:
A
1
5
8088
Minimum
Mode
A18
A0
:
D7
D6
IOR
IOW
A19
D5
D4
D3
D2
D1
D0
A
1
4
A
1
3
A
1

2
A
1
1
A
1
0
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
IOW
74LS373
Q0

Q1
Q2
Q3
Q4
Q5
Q6
Q7
D0
D1
D2
D3
D4
D5
D6
D7
OELE

Thực hiện cổng vào đơn giản

Sử dụng 8 phím nhấn.

Cần sử dụng vi mạch ra và bộ giải mã địa
chỉ sao cho các phím chỉ đọc bằng lệnh IN
với đúng địa chỉ của cổng (giả sử chúng ta
cần địa chỉ là F000H).

Làm thế nào để giao tiếp các phím nhấn
với hệ thống CPU ?
Sử dụng 74LS245 và bộ giải mã địa chỉ
:

mov dx, F000H
in al, dx
:
A
1
5
8088
Minimum
Mode
A18
A0
:
D7
D6
IOR
IOW
A19
D5
D4
D3
D2
D1
D0
A
1
4
A
1
3
A

1
2
A
1
1
A
1
0
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
IOR
5V

74LS245
B0
B1
B2
B3
B4
B5
B6
B7
A0
A1
A2
A3
A4
A5
A6
A7
E DIR
Có thể sử dụng chung một địa chỉ cho một cổng vào và một cổng ra?

Điều khiển đọc phím nhấn

Quét vòng – Polling

Ngắt - Interrupt
Quét vòng
mov dx, F000
L1: in al, dx
cmp al, FF
je L1

:
:
A
1
5
8088
Minimum
Mode
A18
A0
:
D7
D6
IOR
IOW
A19
D5
D4
D3
D2
D1
D0
74LS245
B0
B1
B2
B3
B4
B5
B6

B7
A0
A1
A2
A3
A4
A5
A6
A7
E DIR
A
1
4
A
1
3
A
1
2
A
1
1
A
1
0
A
9
A
8
A

7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
IOR
5V
Output Port Design
T1 – T4 of OUT 99H, AL ?
G
D
Q
.
.
.
74LS373
D0
Q0
OCG
Input Port Design

T1 – T4 of IN AL, 5FH ?
D0
D7
Q0
74LS244
Q7
OC
.
.
.
.
.
.
.
.
.

Ví dụ về giao tiếp DIP - SW

Ví dụ về giao tiếp LED

×