RESET =1: Xoá tất cả các thanh ghi bên trong của 8255, kể cả thanh ghi điều khiểncontrol 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
Trang 1CHƯƠNG I: Tổng Quát Về Chíp Nhớ 8255 1.1 Sơ Đồ 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 Resetcá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ềukhiển)
Trang 2RESET =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 trong8255: 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
Trang 3Khi 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êncổng nào
Sơ đồ khối mô tả chức năng của 8255:
Trang 4- 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:
Trang 5Khi tín hiệu RESET bằng 1 tất cả các cổng được đưa về trạng thái là cáccổ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ênnế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àokhác có thể được chọn nhờ sử dụng lệnh máy OUT
Trang 61.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êngbiệ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ểnmạ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ìnhhoạ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
Trang 71.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 bitcủ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ậpbit 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ổngA,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ớinhau và tuỳ ý lựa chọn
Trang 8b 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 ramộ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
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
Trang 9Tí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ắtINTRA 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 8255cung 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:
(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 đã đầyINTEA ( Interrupt Enable For PortA): cho phép PA chạy ở chế độ ngắt
Trang 10INTEB ( 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ạitươ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 viphả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 (InBuffer 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àohoặ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ệnhhoạt động trong chế độ này như sau:
Trang 11c 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 haichiề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 ÷ PC7dù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:
Trang 12Cổng PB có thể làm việc ở mode 1 hoặc mode 0 tuỳ theo bit điều khiển trong thanhghi 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ấmyê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 khidù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ạngthá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:
Trang 13- 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 Cthông thường Như trong hình vẽ minh họa sau:
Trang 14- 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áchriê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 bithoặ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 rahoặ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 Ccho 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ểnquá trình trao đổi dữ liệu Không có lênh đặc biệt nào dùng để đọc thông tin trạngthá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
Trang 15CHƯƠ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 (Programmableperiferal 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 đượcdù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:
A1 A0 Lệnh của VXL Hướng chuyển số
liệu với VXL
Trang 160 0 0
1 1
1
Đọc cửa A Đọc cửa B Đọc cửa C
Cửa A→ D 0 …… D 7 Cửa B→ D 0 …… D 7 Cửa C→ D 0 …… D 7
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
D 0 …… D 7 → Cửa A
D 0 …… D 7 → Cửa B
D 0 …… D 7 → Cửa C
D 0 …… D 7 → 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
Trang 17Sơ Đồ 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ìnhdướ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
Trang 18Phầ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 1trong 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:
- Chế độ 1: Chỉ có hai cửa A,B trao đổi số liệu độc lập nhau, còn các đường PCicủ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
Trang 19- 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ó vaitrò 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
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
Trang 20• 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ảiviế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 haicá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
Trang 213 Đọ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áicầ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
Trang 22MỤ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