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
8086/8088
lệnh
vào/ra
của
6. Nối ghép 8255 ở máy tính XT
7. Minh họa gửi dữ liệu ra máy in
1. Giới thiệu
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
Hệ máy vi
tính
BUS
Bộ vi xử lý
Bộ nhớ
HT hỗ trợ I/O
PORT
Máy in
Bàn
phím
ổ đĩa
Hình 1: Hệ thống hỗ trợ Vào/Ra
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.
ã Dùng mạch logic thiết kế cổng vào
ra
Sử dụng bộ đệm 74LS373 làm mạch ra
74LS373
D
D0
D0
Bus dữ liệu
Hệ thống
(AL)
D7
Đến
ngoại vi
D7
A0
Bus
địa chỉ
hệ thèng
A7
G
OC
IOW
H×nh 4.1. Thùc hiƯn lƯnh "OUT 99H, AL"
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
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
ùng bộ đệm dữ liệu 74LS244 làm mạch và
74LS244
Q0
D0
Đến D0D7 bus dữ
liệu
hệ thống
T bus ngo i
D7
Q7
A0
Bus
địa chỉ
hệ thống
A7
OC
OC
IOR
Hình 4.3. M¹ch thùc hiƯn lƯnh "IN AL,
9FH"
74LS244
D0
D4
D0
Từ ngoại vi
D4
hệ
D7
D7
A0
Bus
địa chỉ
hệ thống
A7
Đến
bus dữ
liệu
G
thống
G
IOR
Hình 4.2. Mạch thực hiện lÖnh "IN AL,
5FH"
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
2. Chip điều khiển vào ra
8255
Điều khiển
Bộ đệm dữ
Đọc/Ghi
Điều khiển nhóm
B
Cổng
B
PB0-PB7
PA0-PA7
Cổng
CL
PC0-PC3
liệu
Điều khiển nhóm
A
Cổng
CU
Cổng
A
PC4-PC7
Sơ đồ khối chip 8255
PA3
PA2
PA1
PA0
RD
CS
GND
A1
A0
PC7
PC6
PC5
PC4
PC0
PC1
PC2
PC3
PB0
PB1
PB2
1
40
2
39
3
38
4
37
5
36
6
8
2
5
5
A
35
7
34
8
33
9
32
10
31
11
30
12
29
13
PA4
PA5
PA6
PA7
WR
RESET
D0
D1
D2
D3
D4
D5
D6
D7
Vcc
PB7
PB6
PB5
PB4
PB3
H×nh 12.1. Chip
8255
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
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
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.
Thanh ghi tõ ®iỊu khiĨn
D7
D1
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
D6
D0
D5
D4
D3
D2
Nhãm B
Port CL
1= Input
0= Output
Port B
1= Input
0= Output
Chọn chế độ
0=Chế độ 0
1= Chế độ 1
Hình 12.2. Từ ®iỊu khiĨn 8255 (chÕ ®é I/O)
Đị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
1
x
x
Thanh
ghi
điều
khiển
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
D0
D7
D0
D7
IOW
IOR
A0
A1
WR
RD
A0
A1
CS
A7
8255
H×nh 4.6. CÊu h×nh vÝ dơ 1
A
B
CL
CU
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.
Thanh ghi tõ ®iỊu khiĨn
D7
D1
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
D6
D0
D5
D4
D3
D2
Nhãm B
Port CL
1= Input
0= Output
Port B
1= Input
0= Output
Chọn chế độ
0=Chế độ 0
1= Chế độ 1
Hình 12.2. Từ ®iỊu khiĨn 8255 (chÕ ®é I/O)
Gi ả i:
a) Các địa chỉ cổng nhưư sau:
CS
A1 A0
Đ Þa chØ Cæng
001010 0
001010 0
001010 1
001010 1
0
1
0
1
28H
29H
2AH
2BH
Cæng A
Cæng B
Cæng C
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
OUT 2BH,AL
IN AL,28H
OUT 29H,AL
OUT 2AH,AL
;PA=vµo, PB=ra, PC=ra
;gưi tíi thanh ghi điều khiển
;lấy d ữ liệu vào từ PA
;gửi d ÷ liƯu tíi cỉng PB vµ
;cỉng PC
Ví dụ 2: Chế độ Vào ra đơn gi ản
Cổng PCL và PCU khác chiều
A2
D0
D7
D0
D7
A
IOW
B
IOR
WR
RD
A0
A1
A0
A1
CS
A7
Hình 4.7. Cấu hình ví dụ 2
CL
CU
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.