Tải bản đầy đủ (.docx) (10 trang)

Giao tiếp song song dùng vi mạch 8255

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 (111.49 KB, 10 trang )

PA3
PA2
PA1
PA0
RD\
CS\
GND
A1
A0
PC7
PC6
PC5
PC4
PC0
PC1
PC2
PC3
PB0
PB1
PB2
PA4
PA5
PA6
PA7
WR\
RESET
D0
D1
D2
D3
D4


D5
D6
D7
Vcc
PB7
PB6
PB5
PB4
PB3
1
20 21
40
D0 – D7
PA0 – PA7
PB0 – PB7
PC0 – PC7
RD\
WR\
RESET
A0
A1
CS\
8255A
8255A
GIAO TIẾP SONG SONG DÙNG VI MẠCH
8255
I. GIỚI THIỆU VỀ VI MẠCH 8255A:
Để vi xử lý giao tiếp với những thiết bò bên ngoài, người ta thường dùng vi
mạch giao tiếp 8255A, vi mạch này có khả năng giao tiếp rất rộng, vừa có thể
xuất dữ liệu, vừa có thể nhận dữ liệu tùy theo người lập trình điều khiển bằng

cách thay đổi thông số của thanh ghi điều khiển.
II. SƠ ĐỒ CHÂN, SƠ ĐỒ LOGIC, CHỨC NĂNG CÁC CHÂN CỦA VI MẠCH 8255A.
Sơ đồ chân và sơ đồ logic của vi mạch 8255A được thể hiện qua hình vẽ:
Hình 6.1 : Sơ đồ chân và sơ đồ logic của vi mạch 8255A
Trong đó:
Chân 1 ÷ 4, 37 ÷ 40 (PA
0
– PA
7
): là các đường xuất nhập có tên là cổng A.
Chân 18 ÷ 25 (PB
0
– PB
7
): là các đường nhập xuất có tên cổng B.
Chân 10 ÷ 13, 14 ÷ 17 (PB
0
– PB
7
): là các đường nhập xuất có tên cổng C.
Chân 27 ÷ 34 (D
0
– D
7
): là các đường dữ liệu (data) hoạt động hai chiều, dẫn tín
hiệu điều khiển từ vi xử lý ra các thiết bò bên ngoài đồng thời nhận các dữ liệu từ các thiết bò
điều khiển bên ngoài vào vi xử lý.
Chân 35 (Reset input): ngõ vào xóa, chân reset phải được nối với tín hiệu reset
out của vi xử lý để không làm ảnh hướng đến mạch điều khiển. Khi reset, các cổng của 8255A
là các ngõ vào, đồng thời tất cả các dữ liệu trên thanh ghi bên trong 8255A đều bò xóa, 8255A

trở về trạng thái ban đầu săn sàng làm việc.
Chân 6 (CS\): tín hiệu ngõ vào chip select (CS\) được điều khiển bởi vi xử lý,
Port A
Port C(4 bit cao)
Nhóm A
Port C(4 bit thấp)
Port B
Nhóm B
Điều khiển nhóm A
Điều khiển nhóm B
Đệm bus dữ liệu
Logic điều khiển ghi/đọc
RD\
WR\
CS\
A0
A1
D7 – D0
PA7 – PA0
PC7 – PC4
PC3 – PC0
PB7 – PC0
dùng để lựa chọn 8255A làm việc khi vi xử lý giao tiếp với nhiều thiết bò.
Chân 5 (RD\): ngõ vào đọc dữ liệu (Read Input).
Chân 36 (WR\) : ngõ vào ghi dữ liệu (Write Input).
Chân 8,9 (A
1
, A
0
): ngõ vào đòa chỉ (Address Input), dùng nhận đòa chỉ vào để lựa

chọn thanh ghi và các cổng.
Bảng đòa chỉ lựa chọn thanh ghi và các cổng:
A
1
A
0
Cổng và thanh ghi
0 0 Cổng A
0 1 Cổng B
1 0 Cổng C
1 1 Thanh ghi điều khiển
Chân 26 (V
cc
) : nguồn 5 V
DC.
Chân 7 (GND) : GND 0 V
DC
.
III. CẤU TRÚC BÊN TRONG VÀ HOẠT ĐỘNG CỦA VI MẠCH 8255A.
1. Sơ đồ khối cấu trúc bên trong của vi mạch 8255A.
Hình 6.2: Sơ đồ khối cấu trúc bên trong của 8255A
2. Hoạt động của vi mạch 8255A:
Từ sơ đồ khối cấu trúc bên trong của vi mạch 8255A ta thấy các cổng của
8255A được chia thành 2 nhóm:
Nhóm A gồm cổng A và 4 bit cao của cổng C.
Nhóm B gồm cổng B và 4 bit thấp của cổng C.
Cấu hình làm việc của 2 nhóm sẽ do nội dung của thanh ghi điều khiển quyết đònh.
Vi mạch 8255 giao tiếp với vi xử lý thông qua các đường sau :
- Đường dữ liệu: gồm 8 đường dữ liệu (D
0

- D
7
). Mã lệnh, các dữ liệu đều được truyền
đi trên đường này.
- Đường đòa chỉ: gồm 2 đường (A
0
– A
1
) dùng để lựa chọn cổng hoặc thanh ghi điều
khiển như đã trình bày ở phần trước.
- Đường điều khiển: gồm các đường RD\, WR\, CS\, Reset dùng để điều khiển việc
hoạt động của 8255A.
Để sử dụng các cổng làm công cụ giao tiếp, người sử dụng phải gửi từ điều khiển ra
thanh ghi điều khiển để 8255A đònh cấu hình làm việc cho các cổng đúng như yêu cầu của
người lập trình.
3. Từ điều khiển:
Từ điều khiển là dữ liệu được gởi tới thanh ghi điều khiển. Giá trò của từ
điều khiển sẽ xác đònh cấu hình làm việc cho các cổng của 8255A, đó là việc lựa
chọn chức năng nhập hay xuất của các cổng.
a. Cấu trúc của từ điều khiển:
Do các cổng của 8255A được chia làm hai nhóm nên từ điều khiển cũng được chia làm
hai nhóm điều khiển tương ứng.
Các bit D
3
, D
4
, D
5
, D
6

dùng để xác đònh cấu hình cho nhóm A:
- Bit D
3
dùng để thiết lập 4 bit cao của cổng C.
D
3
= 0 cổng C là cổng xuất dữ liệu.
D
3
= 1 cổng C là cổng nhập dữ liệu.
- Bit D
4
dùng để thiết lập cổng A.
D
4
= 0 cổng A là cổng xuất dữ liệu.
D
4
= 1 cổng A là cổng nhập dữ liệu.
- Bit D
5
và D
6
dùng thiếp lập mode điều khiển của nhóm A.
D
6
D
5
= 00 : nhóm A hoạt động ở mode 0.
D

6
D
5
= 01 : nhóm A hoạt động ở mode 1.
D
6
D
5
= 1x : nhóm A hoạt động ở mode 2.
Các bit D
0
, D
1
, D
2
dùng để xác đònh cấu hình cho nhóm B.
- Bit D
0
dùng để thiết lập 4 bit thấp của cổng C.
D
0
= 0 cổng C là cổng xuất dữ liệu.
D
0
= 1 cổng C là cổng nhập dữ liệu.
- Bit D
1
dùng để thiết lập cổng B.
Đặt trạng thái cờ.1 = Active
Nhóm B

Nhóm A
D
1
= 0 cổng B là cổng xuất dữ liệu.
D
1
= 1 cổng B là cổng nhập dữ liệu.
- Bit D
2
dùng thiếp lập mode điều khiển của nhóm B.
D
2
= 0 : nhóm B hoạt động ở mode 0.
D
2
= 1 : nhóm B hoạt động ở mode 1.
Hình 6.3 : Cấu trúc từ điều khiển của vi mạch 8255A
RD\
PC4
PC5
PC3
PC6,7
PA0–PA7
INTEA
STBA\
IBFA
INTRA
I/O
b. Cơ chế hoạt động các cổng của 8255A ở các trạng thái.
* Nhóm A và Nhóm B cấu hình ở mode 0.

Khi được đònh ơ cấu hình này, các cổng của hai nhóm hoạt động xuất hoặc nhập dữ liệu
độc lập với nhau.
Từ điều khiển:
1 0 0 D
4
D
3
0 D
1
D
0
Với D
0
, D
1
. D
3
, D
4
tùy chọn theo yêu cầu của người sử dụng.
* Nhóm A được cấu hình ở mode 1.
Ở mode 1, các cổng làm việc có chốt (Strobed I/O), thiết bò giao tiếp muốn
8255A nhận dữ liệu thì thiết bò đó phải tạo ra một tín hiệu yêu cầu 8255A nhận
dữ liệu và ngược lại, 8255A muốn gởi dữ liệu cho một thiết bò khác thì nó phải
gởi 1 tín hiệu yêu cầu thiết bò đó nhận dữ liệu, tín hiệu đó gọi là tín hiệu chốt.
+ Khi cổng A được cấu hình là cổng nhập dữ liệu, chức năng các đường tín hiệu được
trình bày như hình vẽ:
Từ điều khiển :
1 0 1 1 D
3

x x x
Hình 6.4 : Chức năng các đường tín hiệu khi cổng A là cổng nhập dữ liệu
Các đường tín hiệu của cổng C trở thành các đường điều khiển của cổng A.
Trong đó :
Bit INTE
A
(Interrupt Enable) được thiết lập mức logic dưới sự điều khiển của phần
mềm dùng cấu trúc Set/Reset của 8255A.
Bit PC
4
trở thành bit STB
A
(Strobed Input, tác động mức thấp), được dùng để chốt các
dữ liệu ở các ngõ vào PA
0
– PA
7
vào mạch chốt bên trong.
Bit PC
5
trở thành bit IBF
A
(Input Buffer Full, tác động mức cao), dùng để báo cho bên
ngoài biết dữ liệu đã được chốt bên trong.
Bit PC
3
trở thành bit INTR
A
(Interrupt Request, tác động mức cao), bit này có mức logic

×