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

Bài giảng cấu trúc máy tính - P6

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 (217.98 KB, 61 trang )


bµi 6

Vµo ra vµ chip
®iÒu khiÓn vµo ra 8255
 

 

1. Giíi thiÖu
2. Chip ®iÒu khiÓn vµo/ra 8255
3. C¸c chÕ ®é lµm viÖc cña chip
®iÒu khiÓn vµo/ra 8255
4. VÝ dô c¸c chÕ ®é lµm viÖc cña
8255
5. C¸c lÖnh vµo/ra cña
8086/8088
6. Nèi ghÐp 8255 ë m¸y tÝnh XT
7. Minh häa göi d÷ liÖu ra m¸y in

HÖ thèng hç trî vµo/ra chñ yÕu
gåm:

Chip ®iÒu khiÓn ng¾t 8259

Chip ®iÒu khiÓn vµo ra 8255

Chip ®Þnh thêi 8253
1. Giíi thiÖu

BUS


Hình 1: Hệ thống hỗ trợ Vào/Ra
Hệ máy vi
tính
Bộ vi xử lý
Bộ nhớ
HT hỗ trợ I/O
PORT
Máy in
ổ đĩa
Bàn
phím

Chèt d÷ liÖu

D÷ liÖu ®­îc CPU truyÒn ra
bus ®Òu ®­îc thiÕt bÞ nhËn
d÷ liÖu chèt l¹i.

Tr­íc khi truyÒn lªn bus,
d÷ liÖu cÇn qua bé ®Öm 3
tr¹ng th¸i.

C¸c cæng cã c¸c m¹ch chèt
®Ó chèt d÷ liÖu.

Bé nhí cã m¹ch chèt bªn
trong.

• Dïng m¹ch logic thiÕt kÕ cæng vµo
ra

Sö dông bé ®Öm 74LS373 lµm m¹ch ra
G
A0
Bus
®Þa chØ
hÖ thèng
A7
74LS373
H×nh 4.1. Thùc hiÖn lÖnh "OUT 99H, AL"
D
D0

§Õn
ngo¹i vi
D7
D0
Bus d÷ liÖu
HÖ thèng
(AL)
D7
IOW
OC

Ví dụ:

Trình bày chức năng mạch ở hình
4.1

Trình bày các bước thực hiện tại 4
chu kỳ T

1
-T
4
tương ứng ở máy tính
8088.
Giải:

Để làm mạch chốt:

Chân OC nối đất.

Chân G dùng để kích hoạt chốt.

IOW được đảo pha và AND với đầu
ra bộ giải mã địa chỉ để tạo tín hiệu
kích hoạt chốt.

Các bước thực hiện lệnh OUT 99H,AL :
1. Tại T
1
, địa chỉ 99H được đưa đến bus
địa chỉ A0-A7 thông qua AD0-AD7 và tín
hiệu ALE.
2. Tại T
2
, cung cấp tín hiệu IOW và nội
dung trong AL được gửi lên bus dữ liệu
AD0-AD7.
3. T
3

là khoảng thời gian cần thiết để
các tín hiệu truyền đến được nơi nhận.
4. Trong khoảng thời gian T
4
, nội dung
của AL (2F) được chốt ở 74LS373 khi
IOW chuyển từ thấp lên cao


A0
Bus
®Þa chØ
hÖ thèng
A7
74LS244
H×nh 4.3. M¹ch thùc hiÖn lÖnh "IN AL,
9FH"
Q0
§Õn D0-
D7 bus d÷
liÖu
hÖ thèng
Q7
D0
T bus ngo iừ à
D7
IOR
OC OC
* Dïng bé ®Öm d÷ liÖu 74LS244 lµm m¹ch vµo


H×nh 4.2. M¹ch thùc hiÖn lÖnh "IN AL,
5FH"

A0
Bus
®Þa chØ
hÖ thèng
A7
74LS244
D0 §Õn
D4 bus d÷
liÖu


D7 thèng
D0
Tõ ngo¹i vi D4
D7
IOR
G
G

Tóm tắt:

Dữ liệu CPU chuyển tới các cổng
có trên bus trong thời gian ngắn
(50 - 100 ns), nên cần được chốt lại
trước khi chuyển sang dữ liệu khác.

Để ngăn ngừa nhiễu, các thiết bị

vào cần được cách ly với bus qua
bộ đệm 3 trạng thái.

Mọi thiết bị (bộ nhớ, ngoại vi) nối
tới bus dữ liệu hệ thống cần có
mạch chốt hoặc bộ đệm 3 trạng
thái.

Cæng
B
Cæng
A
Cæng
CL
Cæng
CU
Bé ®Öm d÷
liÖu
§iÒu khiÓn
§äc/Ghi
§iÒu khiÓn nhãm
A
§iÒu khiÓn nhãm
B
PB0-PB7 PC0-PC3 PC4-PC7
PA0-PA7
S¬ ®å khèi chip 8255
2. Chip ®iÒu khiÓn vµo ra
8255


PA3
PA2
PA1
PA0
GND
A1
A0
PC7
PC6
PC5
PC4
PC0
PC1
PC2
PC3
PB0
PB1
PB2
PA4
PA5
PA6
PA7
D0
D1
D2
D3
D4
D5
D6
D7

Vcc
PB7
PB6
PB5
PB4
PB3
1
40
2
39
3
38
4
37
5
36
6
35
7
34
8
33
9
32
10
31
11
30
12
29

13
28
14
27
15
26
16
25
17
24
18
23
19
22
20
21
8
2
5
5
A
H×nh 12.1. Chip
8255
RD
CS
WR
RESET

3. Các chế độ làm việc của
8255


Chế độ 0 (chế độ vào/ra đơn
giản)
Cổng PA, PB, CL và CU được lập
trình thành cổng vào hoặc cổng
ra. Khi đó tất cả các bit đều
hoặc là vào hoặc là ra và không
điều khiển riêng cho từng bit.

Chế độ 1
Cổng PA và PB làm cổng vào
hoặc ra với khả năng bắt tay
qua các bit của cổng PC.

Chế độ 1 vào ra với khả năng bắt
tay của 8255

Một trong những điểm mạnh nhất
của 8255 là khả năng quản lý các
tín hiệu bắt tay.


Bắt tay là quá trình trao đổi
thông tin qua lại giữa hai thiết bị
thông minh.
Một ví dụ về thiết bị sử dụng tín
hiệu bắt tay là máy in.

1. Byte dữ liệu được chuyển tới bus
dữ liệu của máy in.

2. Máy in được thông báo có byte
dữ liệu cần in thông qua việc kích
hoạt tín hiệu vào STROBE của máy
in.
3. Khi máy in nhận dữ liệu, máy in
thông báo cho nguồn gửi bằng cách
kích hoạt tín hiệu ra ACK
(Acknowledge).
4. Tín hiệu ACK khởi tạo quá trình
cung cấp byte dữ liệu tiếp theo đến
máy in.


Chế độ 2
Cổng PA làm cổng vào/ra hai
chiều với khả năng bắt tay nhờ
các tín hiệu qua cổng PC. Cổng B
có thể ở chế độ 0 hoặc 1.

Chế độ BSR (lập/xoá bit)
Cổng PC được lập trình cho
từng bit.

H×nh 12.2. Tõ ®iÒu khiÓn 8255 (chÕ ®é I/O)

D7 D6 D5 D4 D3 D2
D1 D0
Nhãm B
Port CL
1= Input

0= Output
Port B
1= Input
0= Output
Chän chÕ ®é
0=ChÕ ®é 0
1= ChÕ ®é 1
Nhãm A
1=ChÕ ®é I/O
0=ChÕ ®é BSR
Chän chÕ ®é
00=ChÕ ®é 0
01= ChÕ ®é1
1X=ChÕ ®é 2
Port A
1= Input
0= Output
Port CU
1= Input
0= Output
Thanh ghi tõ ®iÒu khiÓn

§Þa chØ cæng chip ®iÒu khiÓn vµo ra
8255
CS A1 A0 Chän
0 0 0 Cæng A
0 0 1 Cæng B
0 1 0 Cæng C
0 1 1 Thanh ghi ®iÒu
khiÓn

1 x x Kh«ng chän 8255

4. Ví dụ các chế độ làm việc.
* Ví dụ 1: Chế độ vào ra đơn giản
PCL, PCU cùng chiều
A2
A7
Hình 4.6. Cấu hình ví dụ 1
D0
D7
A0
A1
A
B
CL
CU
D0
D7
A0
A1
IOR
IOW
RD
WR
CS
8255

Ví dụ:
Chip 8255 như giới thiệu ở hình 4.6
được định cấu hình như sau: cổng A

là cổng vào, cổng B là cổng ra và tất
cả các bit của cổng C là ra.
a) Tìm các địa chỉ cổng gán cho A, B,
C và thanh ghi điều khiển.
b) Hãy tìm từ điều khiển cho cấu hình
trên.
c) Hãy lập trình các cổng để dữ liệu
vào cổng A được gửi tới cổng B và C.

H×nh 12.2. Tõ ®iÒu khiÓn 8255 (chÕ ®é I/O)

D7 D6 D5 D4 D3 D2
D1 D0
Nhãm B
Port CL
1= Input
0= Output
Port B
1= Input
0= Output
Chän chÕ ®é
0=ChÕ ®é 0
1= ChÕ ®é 1
Nhãm A
1=ChÕ ®é I/O
0=ChÕ ®é BSR
Chän chÕ ®é
00=ChÕ ®é 0
01= ChÕ ®é1
1X=ChÕ ®é 2

Port A
1= Input
0= Output
Port CU
1= Input
0= Output
Thanh ghi tõ ®iÒu khiÓn

Giải:
a) Các địa chỉ cổng nhưư sau:
CS A1 A0 Địa chỉ Cổng
001010 0 0 28H Cổng A
001010 0 1 29H Cổng B
001010 1 0 2AH Cổng C
001010 1 1 2BH Thanh ghi điều khiển
b) Từ điều khiển là 90H hoặc 1001 0000B.
c) Chương trình thực hiện có thể như sau:
MOV AL,90H ;PA=vào, PB=ra, PC=ra
OUT 2BH,AL ;gửi tới thanh ghi điều khiển
IN AL,28H ;lấy dữ liệu vào từ PA
OUT 29H,AL ;gửi dữ liệu tới cổng PB và
OUT 2AH,AL ;cổng PC

A2

A7
H×nh 4.7. CÊu h×nh vÝ dô 2
D0
D7
A0

A1
A
B
CL
CU
D0
D7
A0
A1
IOR
IOW
RD
CS
WR
* VÝ dô 2: ChÕ ®é Vµo ra ®¬n gi¶n
Cæng PCL vµ PCU kh¸c chiÒu

Ví dụ:
Chip 8255 (hình 4.7) được định cấu
hình: PA, PCU - cổng ra, PB, PCL
cổng vào.
a) Tìm địa chỉ các cổng PA, PB, PC
và TGĐK (thanh ghi điều khiển).
b) Tìm từ điều khiển cho cấu hình
trên.
c) Lập trình nhận dữ liệu nhận PA
và gửi ra PB, nhận PCL gửi PCU.

×