Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
512,5 KB
Nội dung
CHƢƠNG 3: TỔ CHỨC NHẬP / XUẤT •Các phƣơng pháp nhập xuất liệu •PPI 8255A •Các mạch hỗ trợ 8:12 PM Chƣơng Các phƣơng pháp nhập xuất liệu •Hỏi vòng (polling) •Ngắt (Interrupt) •DMA (Direct Memory Access) 8:12 PM Chƣơng Các phƣơng pháp nhập xuất liệu Hỏi vòng (Polling) Thiết bị ngoại vi gởi liệu đến µP µP READ READ IO IO DATA ACCEPT 8:12 PM READ Chƣơng IO 3 Các phƣơng pháp nhập xuất liệu Hỏi vòng (Polling) µP gởi liệu đến thiết bị ngoại vi IO µP ACCEPT DATA IO WRITE IO 8:12 PM Chƣơng Các phƣơng pháp nhập xuất liệu Ngắt (Interrupt) Thiết bị ngoại vi gởi liệu đến µP IO µP DATA INTA INTR IO IO 8:12 PM Chƣơng Các phƣơng pháp nhập xuất liệu Ngắt (Interrupt) Đáp ứng µP có u cầu ngắt Stack B1: Cất ghi cờ (FR – Flag Register) vào stack SP = SP - SS:[SP] = FR B2: cấm ngắt khác (TF = 0, IF = 0) IP (byte thấp) IP (byte cao) CS (byte thấp) CS (byte cao) FR (byte thấp) FR (byte cao) B3: lƣu địa quay chƣơng trình SP = SP – 2; SS:[SP] = CS SP = SP – 2; SS:[SP] = IP B4: chuyển tới chƣơng trình phục vụ ngắt 8:12 PM Chƣơng SP Các phƣơng pháp nhập xuất liệu Ngắt (Interrupt) Đáp ứng µP kết thúc yêu cầu ngắt Stack B1: Quay chƣơng trình IP = SS:[SP] SP = SP + IP CS = SS:[SP] CS SP = SP + FR B2: Khôi phục ghi cờ IP (byte thấp) IP (byte cao) CS (byte thấp) CS (byte cao) FR (byte thấp) FR (byte cao) FR = SS:[SP] SP =8:12 SPPM +2 Chƣơng Các phƣơng pháp nhập xuất liệu Ngắt (Interrupt) Xửlý ƣu tiên ngắt INTR µP Mức ƣu tiên IO 1 IO 2 IO 3 DATA INTA INTR 8:12 PM Chƣơng Các phƣơng pháp nhập xuất DMAC: DMA Controller liệu DRQ: DMA Request DMA (Direct Memory Access) HRQ: Hold Request HLDA: Hold Ackowledge DACK: DMA Acknowledge Address bus Data bus P DMAC HOLD HLDA I/O HRQ DRQ DRQ HLDA DACK DACK Memory Control bus 8:12 PM Chƣơng PPI 8255A Giới thiệu PPI 8255A (Programmable Peripheral Interface) (Programmable Parallel Interface) Cấu trúc Port A (8 bit) Nhóm A Port B (8 bit) Nhóm B Port C (8 bit) 8:12 PM PCH (4 bit): PC4 – PC7 PCL (4 bit): Chƣơng 3PC0 – PC3 10 PPI 8255A Thanh ghi điều khiển (Control Register) Chế độ BSR (Bit Set / Reset) D7 D6 D5 D4 D3 X X X Không sử dụng 000: 001: 010: 011: 8:12 PM D2 Chọn Port C PC0 100: PC1 101: PC2 110: PC3 111: Chƣơng D1 D0 S/R 1: Set PC4 0: Reset PC5 PC6 PC7 17 PPI 8255A Chế độ BSR (Bit Set / Reset) - Để đặt hay xoá bit Port C, từ điều khiển đƣợc ghi vào ghi điều khiển không ghi vào Port C - Một từ điều khiển BSR ảnh hƣởng đến bit Port C - Từ điều khiển BSR không ảnh hƣởng đến I/O mode 8:12 PM Chƣơng 18 PPI 8255A Chế độ BSR (Bit Set / Reset) Tạo xung PC6 PC6 = 1: PC6 = 0: 8:12 PM CW = 0xxx 110 1b CW = 0000 1101b (0Dh) CW = 0000 1100b (0Ch) Chƣơng 19 PPI 8255A Chế độ I/O - Xác định địa port A, B, C CR - Ghi từ điều khiển vào ghi điều khiển - Ghi lệnh I/O để giao tiếp với ngoại vi qua port A, B, C 8:12 PM Chƣơng 20 A15 A14 PPI 8255A A13 A12 Chế độ I/O A11 2 2 34 33 32 31 30 29 28 27 36 35 IOR IOW A0 A1 RESET D0 D1 D2 D3 D4 D5 D6 D7 PA PA PA PA PA PA PA PA RD WR A0 A1 RESET CS PB PB PB PB PB PB PB PB 8255 U?A Chế độ 0: I/O đơn giản A10 PC PC PC PC PC PC PC PC 7400 A9 A8 A7 2 S A6 S A5 A4 A3 8:12 PM A2 2 2 Chƣơng S S 21 PPI 8255A Chế độ I/O Địa port A, B, C CR: A1 CS A15 … A10 A9 A8 A7 … A2 A1 A0 A0 PORT Địa 0 1 0 0 A 300h 0 1 0 B 301h 0 1 0 C 302h 0 1 0 1 CR 303h 8:12 PM Chƣơng 22 220 R4 PPI 8255A Chế độ I/O Ghi từ điều khiển vào ghi điều khiển 34 33 32 31 30 29 28 27 35 36 D0 D1 D2 D3 D4 D5 D6 D7 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 A0 A1 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 RESET RD WR CS PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 -Port A: nối với Led xuất -Port B: nối với công tắc nhấn nhập -Port C: điều khiển Relay xuất 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10 16 15 14 13 12 11 10 LED LED VCC LS1 LS2 8255 SW1 SW2 LS3 SW3 SW4 8:12 PM Chƣơng 23 PPI 8255A Chế độ I/O 0 0 Ghi từ điều khiển vào ghi điều khiển MOV AL,82h MOV DX,303h OUT DX,AL 8:12 PM Nhóm A Nhóm B PCH (PC7 PC4) 1: Input 0: Output PCL (PC3 PC0) 1: Input 0: Output PA 1: Input 0: Output PB 1: Input 0: Output Mode 1x: Mode 01: Mode 00: Mode Mode 1: Mode 0: Mode Chƣơng 24 PPI 8255A Chế độ I/O Chế độ 1: I/O dùng bắt tay (handshake) •Hai Port A, B làm việc nhƣ Port I/O bit •Mỗi Port sử dụng đƣờng từ Port C làm tín hiệu bắt tay •Dữ liệu nhập / xuất đƣợc chốt •Hỗ trợ ngắt 8:12 PM Chƣơng 25 PPI 8255A Chế độ I/O Chế độ 1: I/O dùng bắt tay (handshake) - Port A nhập INTE: cho phép ngắt hay cấm cách dùng chế độ BSR tác động đến PC4 Port A INTE (PC4) PC4 STB PC5 IBF PC3 INTR STB: Strobe IBF: Input Buffer Full INTR: Interrupt Request INTE: Interrupt Enable 8:12 PM Chƣơng 26 PPI 8255A Chế độ I/O Chế độ 1: I/O dùng bắt tay (handshake) - Port B nhập INTE: cho phép ngắt hay cấm cách dùng chế độ BSR tác động đến PC2 Port B INTE (PC2) PC2 STB PC1 IBF PC0 INTR STB: Strobe IBF: Input Buffer Full INTR: Interrupt Request INTE: Interrupt Enable 8:12 PM Chƣơng 27 PPI 8255A Chế độ I/O Chế độ 1: I/O dùng bắt tay (handshake) - Port A xuất INTE: cho phép ngắt hay cấm cách dùng chế độ BSR tác động đến PC6 Port A INTE (PC6) PC6 OBF ACK PC3 INTR PC7 ACK: Acknowledge OBF: Output Buffer Full INTR: Interrupt Request INTE: Interrupt Enable 8:12 PM Chƣơng 28 PPI 8255A Chế độ I/O Chế độ 1: I/O dùng bắt tay (handshake) - Port B xuất INTE: cho phép ngắt hay cấm cách dùng chế độ BSR tác động đến PC2 Port B INTE (PC2) PC2 OBF ACK PC0 INTR PC1 ACK: Acknowledge OBF: Output Buffer Full INTR: Interrupt Request INTE: Interrupt Enable 8:12 PM Chƣơng 29 PPI 8255A Chế độ I/O Chế độ 1: I/O dùng bắt tay (handshake) - Port A, B xuất Các tín hiệu bắt tay: PC3,6,7: dùng cho PA; PC0,1,2: dùng cho PB PC4, PC5: dùng cho mục đích I/O Thanh ghi điều khiển: D7 D6 D5 Chế độ 8:12 PM D4 D3 1/0 D2 D1 D0 x Chế độ PC4,5 nhập: CW = 1010 1100b (ACh) PC4,5 xuất: CW = 1010Chƣơng 0100b (A4h) 30 PPI 8255A Chế độ I/O Chế độ 1: I/O dùng bắt tay (handshake) - Port A, B xuất Xác định trạng thái chân điều khiển: đọc từ Port C D7 D5 D4 D3 OBF A INTEA I/O I/O INTRA INTEB 8:12 PM D6 Chƣơng D2 D1 D0 OBF B INTRB 31 ... Thiết bị ngoại vi gởi liệu đến µP µP READ READ IO IO DATA ACCEPT 8:12 PM READ Chƣơng IO 3 Các phƣơng pháp nhập xuất liệu Hỏi vòng (Polling) µP gởi liệu đến thiết bị ngoại vi IO µP ACCEPT... (byte cao) FR = SS:[SP] SP =8:12 SPPM +2 Chƣơng Các phƣơng pháp nhập xuất liệu Ngắt (Interrupt) Xử lý ƣu tiên ngắt INTR µP Mức ƣu tiên IO 1 IO 2 IO 3 DATA INTA INTR 8:12 PM Chƣơng Các phƣơng pháp... DATA IO WRITE IO 8:12 PM Chƣơng Các phƣơng pháp nhập xuất liệu Ngắt (Interrupt) Thiết bị ngoại vi gởi liệu đến µP IO µP DATA INTA INTR IO IO 8:12 PM Chƣơng Các phƣơng pháp nhập xuất liệu Ngắt