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

GIỚI THIỆU VỀ IC8255 TRUYỀN DỮ LIỆU

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 (439.35 KB, 23 trang )

Truyền dữ liệu qua 8255 Nhóm 1
CHƯƠNG I: Tổng Quát Về Chíp Nhớ 8255
1.1. Sơ Đồ Chân
.
Vi mạch gồm 40 chân trong đó. Gồm: PA0PA7 , PB0 ÷ PB7 , PC0 ÷ PC7, D0÷ D7, A0, A1
, , , CS, Reset, Vcc và GND.
Có 24 đường dẫn lối vào/ra xếp thành 3 cổng song song ( portA, portB, portC). Ba
cổng vào ra của nó được lập tr.nh thành các nhóm 12 chân.
- Nhóm A bao gồm cổng portA (PA7 ÷ PA0),nửa cao của cổng portC (PC7 ÷ PC4).
- Nhóm B bao gồm cổng portB (PB7 ÷ PB0), và nửa thấp của cổng portC (PC3 ÷
PC0).
Chân Reset phải được nối với tín hiệu Reset chung của toàn hệ thống (khi Reset các
cổng được định nghĩa là cổng vào để không gây ra sự cố cho các mạch điều khiển).
Page 1
Truyền dữ liệu qua 8255 Nhóm 1
RESET =1: Xoá tất cả các thanh ghi bên trong của 8255, kể cả thanh ghi điều khiển
(control register) và tất cả các cổng (A,B,C ) được đặt về chế độ các cổng vào.
Tín hiệu CS được nối với mạch tạo xung chọn thiết bị để đặt mạch 8255 vào một địa
chỉ cơ sở nào đó. Các tín hiệu địa chỉ A0, A1 sẽ chọn ra 4 thanh ghi bên trong 8255:
một thanh ghi để ghi từ điều khiển (CWR – control word register) cho hoạt động của
8255 và 3 thanh ghi khác ứng với các cổng là PA, PB, PC để ghi đọc dữ liệu theo
bảng:
A1 A0 Lệnh của VXL
Hướng chuyển số
liệu với VXL
0 0 0
0 1
Đọc PortA PortA →D0 ÷D7
0 1 0 0 1
Đọc portB
PortB →D0 ÷D7


1 0 0 0
1
Đọc portC PortC →D0 ÷D7
1 1 0 0 1 Không có giá trị
0 1 0 1 0 Ghi PortA D0 ÷ D7→ PortA
0 1 0 1 0 Ghi PortB D0 ÷ D7→ PortB
1 0 0 1
0
Ghi PortC D0 ÷ D7→ PortC
1 1 0 1 0
Ghi thanh ghi
điều khiển
D0 ÷ D7→ Thanh ghi
điều khiển
x x 1 x x
Vi mạch ở trạng
thái trở kháng
cao
Không có trao đổi số
liệu

Tính linh hoạt của vi mạch này thể hiện ở khả năng lập trình. Ta có thể đặt các mode
hoạt động thông qua thanh ghi điều khiển.
Các chân D0 đến D7 tạo nên kênh dữ liệu 2 hướng có độ rộng 8 bit. Tất cả dữ liệu
khi truy nhập ghi hoặc đọc được dẫn qua kênh dữ liệu này.
Page 2
Truyền dữ liệu qua 8255 Nhóm 1
Trạng thái logic ghi/đọc được nhận biết qua các tín hiệu điều khiển CS RD WR. Trao
đổi thông tin với 8255 chỉ có thể được tiến hành khi CS = 0.
Khi RD= 0 dữ liệu của cổng được chọn được đưa ra kênh dữ liệu và có thể được sử

dụng bởi các vi mạch khác. Khi WR = 0, thì mọi việc xảy ra ngược lại.
Các bit địa chỉ A0 và A1 cùng với các tín hiệu ghi đọc báo cho biết sẽ truy nhập lên
cổng nào.
Sơ đồ khối mô tả chức năng của 8255:

1.2 Các chế độ làm việc của 8255
Page 3
Truyền dữ liệu qua 8255 Nhóm 1
Để xác lập chế độ làm việc cho 8255 ta ghi từ điều khiển vào thanh ghi từ điều khiển
CWR ( Control Word Register ).
Có 2 loại từ điều khiển cho 8255:
- Từ điều khiển định nghĩa cấu hình cho các cổng PA, PB, PC.
- Từ điều khiển lập/xoá từng bit ở đầu ra của PC.
- Tuỳ theo từ lệnh được ghi vào thanh ghi điều khiển khi khởi động của vi mạch mà
ta có các PortA,B,C hoạt động ở:
Vi mạch 8255 có ba chế độ hoạt động cơ bản (Mode) ,có thể chọn các chế độ hoạt
động như sau.
Mode 0: Chế độ vào ra cơ bản.
Mode 1: Chế độ vào ra có hội thoại (Strobe Input/Output ).
Mode 2: Chế độ vào ra bus hai chiều.
Hình vẽ sau minh họa chế độ làm việc của 8255:
Page 4
Truyền dữ liệu qua 8255 Nhóm 1
Khi tín hiệu RESET bằng 1 tất cả các cổng được đưa về trạng thái là các cổng
vào (Input port) nghĩa là tất cả 24 đường của ba cổng đều ở trạng thái trở kháng cao ).
Sau khi tín hiệu RESET bằng 0 th 8255 có thể duy trì trạng thái trên nếu như không
có sự thiết lập trạng thái bổ xung nào nữa.
Trong quá trình thực hiện chương trình của hệ thống, bất kỳ một chế độ nào
khác có thể được chọn nhờ sử dụng lệnh máy OUT.
Page 5

Truyền dữ liệu qua 8255 Nhóm 1
1.2.1 Từ điều khiển định nghĩa cấu hình cho các cổng
Các chế độ của cổng A và cổng B có thể được định nghĩa một cách riêng biệt,
trong khi đó cổng C được chia thành hai phần v. l. do các định cho cổng A và cổng B.
Tất cả các thanh ghi nội và thông tin trạng thái sẽ được xoá khi chế độ thay đổi.
Nhóm B (Group B) có thể được lập trình ở mode 0 để điều khiển các chuyển mạch
đơn giản hoặc hiển thị các kết quả tính toán… Nhóm A có thể được lập trình hoạt
động trong mode1 để điều khiển bàn phím hoặc bộ đọc băng từ hoặc một bộ điều
khiển ngắt cơ bản.
Page 6
Truyền dữ liệu qua 8255 Nhóm 1
1.2.2- Thanh ghi từ điều khiển việc thiết lập/ xóa bít ra Pci
Bất cứ bit nào trong 8 bit của cổng C đều có thể được thiết lập hoặc được xoá nhờ sử
dụng các lệnh ghi ra thanh ghi điều khiển các bit phù hợp. Như vậy khi cổng C đang
được dùng để điều khiển, ghi trạng thái cho cổng A hoặc cổng B thì những bit của
cổng C có thể được xoá hoặc được thiết lập nhờ sử dụng các lệnh xoá, thiết lập bit
như khi cổng C là cổng ra dữ liệu.
1.2.3- Các chế độ làm việc của 8255
Chíp 8255A có 3 chế độ làm việc.
a. Mode 0: Vào ra cơ sở (còn gọi là vào ra đơn giản)
Trong chế độ 0, 8255 cho một khả năng xuất và nhập dữ liệu đơn giản qua 3 cổng
A,B,C. PA, PB, PC được sử dụng độc lập với nhau, 3 đường dây đều được dùng để
Page 7
Truyền dữ liệu qua 8255 Nhóm 1
trao đổi số liệu hoặc thông 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.
b. Mode 1:
- Vi mạch hoạt động gồm 2 nhóm, nhóm A và nhóm B.
- Mỗi nhóm chứa một cổng 8 bit và một cổng điều khiển 4 bít.
- Cổng 8 bit có thề là cổng vào, hoặc cổng ra, hoặc cả hai cổng vào ra đều là chốt.

Xuất dữ liệu ra trong mode 1.
OBF (Output Dufer Full F/F)
- Tín hiệu ra OBF chuyển xề múc thấp để thông báo rằng CPU đ. Ghi dữ liệu ra một
cổng xác định. Tín hiệu OBF F/F sẽ được xác lập ở sườn tín hiệu WR và bị xóa khi
tín hiệu vào ACK ở mức thấp.
Cổng PA, PB có tín hiệu đối thoại tương tự nhau. Tín hiệu ,
báo rằng bộ đệm ra đã đầy cho ngoại vi biết CPU đã ghi dữ liệu vào cổng để
chuẩn bị đưa ra.
Page 8
Truyền dữ liệu qua 8255 Nhóm 1
Tín hiệu này thường nối với tín hiệu của thiết bị nhận.
Tín hiệu , là tín hiệu của ngoại vi cho biết nó đã
nhận được dữ liệu từ các cổng PA, PB.
Tín hiệu INTRA, INTRB là tín hiệu yêu cầu ngắt từ PA, PB. INTEA, INTEB
là tín hiệu của một mạch lật bên trong 8255 để cho phép hoặc cấm yêu cầu ngắt
INTRA hoặc INTRB của PA hoặc PB. INTEA được lập/xoá thông qua bit PC6.
INTEB được lập/xoá thông qua bit PC2.
Khi làm việc ở chế độ xuất thông tin mode 1, thanh ghi trạng thái của 8255
cung cấp các thông tin phản ánh trạng thái hiện hành của mình.
Sơ đồ ghép nối của 8255 ở mode 1:
Page 9
Truyền dữ liệu qua 8255 Nhóm 1
(Output Bufer A full): Báo hiệu bộ đệm cổng ra A đã đầy
(Output Bufer B full): Báo hiệu bộ đệm cổng ra B đã đầy
INTEA ( Interrupt Enable For PortA): cho phép PA chạy ở chế độ ngắt.
INTEB ( Interrupt Enable For PortB): cho phép PB chạy ở chế độ ngắt.
INTRA ( Interrupt PortA ): PA ngắt
INTRB ( Interrupt PortB ): PB ngắt
Nội dung thanh ghi trạng thái của 8255 ở mode 1 cho huớng ra:
Page

10
Truyền dữ liệu qua 8255 Nhóm 1
- Nhận dữ liệu vào trong mode 1
Khi nhận dữ liệu vào trong mode 1 các cổng PA, PB có tín hiệu đối thoại
tương tự nhau:
STB ( cho phép chốt dữ liệu). Khi dữ liệu đã sẵn sàng trên kênh PA, PB ngoại vi phải
dùng STB để báo cho 8255 biết để chốt dữ liệu vào cổng PA hoặc PB. Sau khi 8255
chốt được dữ liệu do thiết bị ngoại vi đưa đến, nó đưa ra tín hiệu IBF (In Buffer full)
để báo cho ngoại vi biết.
Nội dung thanh ghi trạng thái của 8255 ở mode 1 cho hướng vào:
Trong mode 1, hai cổng A và B có thể được lập trình riêng biệt là cổng vào
hoặc ra để hoạt động trong các ứng dụng vào/ra có hội thoại khác nhau. Các từ lệnh
hoạt động trong chế độ này như sau:
Page
11
Truyền dữ liệu qua 8255 Nhóm 1
c. Mode 2:
Trong chế độ này cung cấp khả năng chao đổi dư liệu với các thiết bị ngoại vi
sử dụng một đường truyền 8 bit để vừa truyền vừa nhận dữ liệu (Bus vào/ra hai
chiều). Các tín hiệu hội thoại được dùng trong chế dộ này để điều khiển việc truyền
dữ liệu cũng tương tự mode 1.
Chế độ này chỉ dùng cho cổng PA với vào/ra 2 chiều và các bit PC3 ÷ PC7
dùng làm tín hiệu giao tiếp.
- Cổng A là cổng vào/ra hai chiều 8 bit.
- Các tín hiệu vào ra được chốt lại.
- 5 bit của cổng C được sử dụng làm điều khiển, trạng thái cho cổng A 8 bit.
Mạch logic của 8255 ở mode 2 và các tín hiệu giao tiếp:
Page
12
Truyền dữ liệu qua 8255 Nhóm 1

Cổng PB có thể làm việc ở mode 1 hoặc mode 0 tuỳ theo bit điều khiển trong thanh
ghi CWR.
INTRA: yêu cầu ngắt cho dữ liệu 2 chiều vào/ra.
INTE 1, INTE 2: là 2 tín hiệu của 2 mạch lật bên trong 8255 để cho phép hoặc cấm
yêu cầu ngắt của PA, các bit này được lập xoá bởi PC6 và PC4.
Khi dùng 8255 trong chế độ bus 2 chiều để trao đổi dữ liệu theo cách thăm dò,
phải kiểm tra xem bit IBFA có bằng 0 (đệm vào rỗng) hay không trước khi dùng lệnh
IN để nhận dữ liệu từ cổng PA.
Khi làm việc ở chế độ truyền thông tin 2 chiều của mode 2, thanh ghi trạng thái
của 8255 cung cấp các thông tin phản ánh trạng thái hiện hành của mình.
Page
13
Truyền dữ liệu qua 8255 Nhóm 1
Nội dung thanh ghi trạng thái:
d. Kết hợp các chế độ hoạt động.
Ngoài việc hoạt động riêng rẽ theo tưng chế độ, 8255 còn có khả năng hoạt
động đồng thời các chế độ khi không phải tất cả các bit trong cổng C được sử dụng
để điều khiển hoặc dành cho trạng thái. Các bit còn lại có thể được dùng để thực hiện
các chức năng sau:
- Khi lâp trình là đường truyền vào tín hiệu.
Tất cả các đường vào tín hiệu có thể được truy cập trong suốt quá trình đọc cổng C
thông thường. Như trong hình vẽ minh họa sau:
Page
14
Truyền dữ liệu qua 8255 Nhóm 1
- Khi lập trình là các đường tín hiệu ra.
Các bit trong số các bit cao của cổng C (PC7- PC4) phải được truy cập một cách
riêng rẽ bằng cách sử dụng chức năng xóa/lập bit.
Các bit trong số các bit thấp của cổng C có thể truy cập bằng chức năng xóa/lập bit
hoặc dùng 3 bit tương ứng ghi ra cổng C.

- Đọc trạng thái cổng C.
Trong mode 0, cổng C truyền dữ liệu tới hoặc từ thiết bị ngoại vi. Khi 8255 được
lập trình trong chế độ mode 1 hoặc mode 2, cổng C được sử dụng để tạo ra hoặc nhận
tín hiệu hội thoại trao đổi với các thiết bị ngoại vi. Đọc nội dung cổng C cho phép
người lập trình kiểm tra trạng thái của các thiết bị ngoại vi và điều khiển quá trình
Page
15
Truyền dữ liệu qua 8255 Nhóm 1
trao đổi dữ liệu. Không có lênh đặc biệt nào dùng để đọc thông tin trạng thái từ cổng
C mà chỉ có thao tác đọc thong thương thực hiện chức năng này.
CHƯƠNG II: Ghép nối với VXL và TNB
1.Ghép nối với VXL:
PPI 8255A là vi mạch ghép nối ngoại vi lập trình được (Programmable
periferal interface), thường được gọi là mạch ghép nối vào ra song song lập trình
được. Do khả năng mềm dẻo trong các ứng dụng thực tế, nó là mạch ghép nối được
dùng rất phổ biến trong các hệ vi xử l. 8 bit, 16 bit và 32 bit.
Và được ứng dụng khá rộng rãi:
- Ghép nối với hệ vi xử lý.
Bộ đệm dữ liệu để trao đổi đữ liệu hai chiều MTV và đường đây dẫn dữ liệu trong.
Bộ logic điều khiển đọc viết. Tức là bộ giải m. địa chỉ lệnh cho các thanh ghi đệm và
thanh ghi điểu khiển.
Với tập hợp các tín hiệu địa chỉ (A0, A1). Chọn vi mạch ( ) Tập các lệnh đọc RD
và ghi của VXL ta có các lênh ghi đọc khác nhau cho các cổng (A, B, C) và
từ điều khiển (Control word) như bảng sau:
Page
16
Truyền dữ liệu qua 8255 Nhóm 1
A1 A0 Lệnh của VXL Hướng chuyển số
liệu với VXL
0

0
1
0
1
0
0
0
0
0
0
0
1
1
1
Đọc cửa A
Đọc cửa B
Đọc cửa C
Cửa A→ D0…… D7
Cửa B→ D0…… D7
Cửa C→ D0…… D7
1 1 0 0 1 Không có giá trị
0
0
1
1
1
1
0
1
0

0
0
0
1
1
1
1
0
0
0
0
Ghi cửa A
Ghi cửa B
Ghi cửa C
Ghi thanh ghi điều
khiển
D0…… D7 → Cửa A
D0…… D7 → Cửa B
D0…… D7 → Cửa C
D0…… D7 → Thanh ghi
điều
khiển
x x 1 x x Vi mạch ở trạng
thái trở kháng
cao
Không có trao đổi số
liệu
Page
17
Truyền dữ liệu qua 8255 Nhóm 1

Sơ Đồ ghép nối 8255 với VXL
2. Ghép lối với TNB
Sơ đồ ghép nối cửa 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 dây của MVT và TBN.
Page
18
Truyền dữ liệu qua 8255 Nhóm 1
Phần ghép nối với thiết bị ngoài:
Tuỳ thuộc loại TBN, số bit của đường dây số liệu và phương thức trao đổi tin mà ta
có cách mắc đường dây khác nhau.
- Chế độ 0:
Ba đường dây 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ể:
Article III. 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 Article IV. Nếu cần tin về điều khiển hay đọc trạng thái của TBN ta sử
dụng them các cửa khác cho mục đích này ngoài cửa trao đổi số liệu:
Page
19
Truyền dữ liệu qua 8255 Nhóm 1
- Chế độ 1: Chỉ có hai cửa A,B trao đổi số liệu độc lập nhau, còn các đường PCi của
cửa PC để dùng để hội thoại cho các cửa 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ửa 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 4.x 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ửa vào, đọc trạng thái của máy in và ADC
Article V. PC0 cho trạng thái máy in bận (busy)
Article VI. PC1 cho tín hiệu ACK của máy in
Article VII. 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
Article VIII. PC4 đưa ra tín hiệu chốt dữ liệu cho máy in
Article IX. PC5 đưa ra tín hiệu Start cho ADC.
Page
20
Truyền dữ liệu qua 8255 Nhóm 1
• Ghép nối 8255 ở 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ửa
- Chiều (vào/ra) của các cửa
2. Điều khiển TBN: Cần đưa nội dung của các bit cho các cửa dù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ửa PC
Page
21
Truyền dữ liệu qua 8255 Nhóm 1
- Đưa tin ra các bit của các cửa
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ửa dùng chế độ 1, 2
• Một cửa 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.
Page
22
Truyền dữ liệu qua 8255 Nhóm 1
MỤC LỤC
Chương I: Tổng quát về chíp nhớ 8255…………………….… …………….1
1.1: Sơ Đồ Chân……………………………………………… ….…………… 1
1.2: Các chế độ làm việc…………………………………… ……….………… 4
1.2.1 Từ điều khiển định nghĩa cấu hình cho các cổng …… ………………… 6
1.2.2 Thanh ghi từ điều khiển việc thiết lập/ xóa bít ra Pci…… …………………7
1.2.3- Các chế độ làm việc của 8255……………………… ……………… ……7
Chương II: Ghép nối với VXL và TNB…………… ……………….…….……15
1.Ghép lối với VXL………………………………… …………………….…… 15
2.Ghép lối với TNB……………………………… ………………………………20
Page
23

×