Tổng quát về chíp nhớ 8255
3. Đọc và kiểm tra trạng thái:
- Các lệnh đọc vào
o Thanh ghi trạng thái nếu cửa dùng chế độ 1, 2
o 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
20 trang |
Chia sẻ: hao_hao | Lượt xem: 7252 | Lượt tải: 4
Bạn đang xem nội dung tài liệu Tổng quát về chíp nhớ 8255, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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…………………………………………...5
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 lối với VXL và TNB…………………………………13
1.Ghép lối với VXL…………………………………………………13
2.Ghép lối với TNB…………………………………………………15
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), và 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).
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.
2
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 0 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
3
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.
Trạng thái logic ghi/đọc được nhận biết qua các tín hiệu điều khiển ,
. 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ì moi 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:
4
1.2 Các chế độ làm việc của 8255.
Để 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.
5
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.
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.
6
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 để 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.
7
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
dề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á 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.
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.
8
Sơ đồ ghép nối của 8255 ở mode 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:
- 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:
9
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.
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.
10
- 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:
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.
Nội dung thanh ghi trạng thái:
11
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 try 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.
12
- 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 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 thông
thương thực hiện chức
năng nay.
13
Chương II: Ghép lối với VXL và TNB.
1.Ghép lố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ử ly.
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 (CS ) Tập các
lệnh đọc RD và ghi WR 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.
A1 A0 CS RD WR Lệnh( Của VXL) Chiều di 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
0
1
1
1
0
0
1
1
Ghi cửa A
Ghi cửa B
D0…… D7 → Cửa A
D0…… D7 → Cửa B
14
11
0
1
1
1
0
0
1
1
Ghi cửa C
Ghi thanh ghi điều khiển
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.
Sơ Đồ ghép nối 8255 vơi VXL
15
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.
16
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
thêm các cửa khác cho mục đích này ngoài cửa trao đổi số liệu
- 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.
17
• 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
18
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
- Đư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
o Thanh ghi trạng thái nếu cửa dùng chế độ 1, 2
o 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.
Nhận xét của thầy giáo
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
19
……………………………………………………………………………………………
……………………………………………………………………………………………
…………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
…………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
…………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
…………………………
20
Các file đính kèm theo tài liệu này:
- 69972954_8255_3979.pdf