Bài giảng Kỹ thuật vi xử lý - Chương 4: Tổ chức vào ra dữ liệu
Các tín hiệu của 8086 và các mạch phụ trợ 8284, 8288
Ghép nối 8088 với bộ nhớ
Ghép nối 8086 với bộ nhớ
Ghép nối với thiết bị ngoại vi
Tóm tắt nội dung Bài giảng Kỹ thuật vi xử lý - Chương 4: Tổ chức vào ra dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
IO/M A17 A18 A19 A0-A12 D0-D7 Giải mã địa chỉ bộ nhớdùng bộ giải mã Dùng bộ giải mã kép 2-4 74LS139 Ví dụ: Dùng EPROM 27128 (16K*8) để ghép thành bộ nhớ 64 K cho 8088 bắt đầu từ địa chỉ F0000H 1A 1B 2A 2B Giải mã địa chỉ bộ nhớdùng PROM Dùng PROM TPB28L42 (512*8) 2764 A0-A12 D0-D7 CS OE RD A13 A14 A15 A16 IO/M A17 A18 A19 TPB28L42 A0 A1 A2 A3 A4 A5 A6 A7 G A8 A0-A12 D0-D7 Giải mã địa chỉ bộ nhớdùng PAL Chương 4: Tổ chức vào ra dữ liệu Các tín hiệu của 8086 và các mạch phụ trợ 8284, 8288 Ghép nối 8088 với bộ nhớ Các loại bộ nhớ bán dẫn Giải mã địa chỉ cho bộ nhớ Ghép nối 8088 với bộ nhớ Ghép nối 8088 với ROM Ghép nối 8088 với SRAM Ghép nối 8088 với DRAM Ghép nối 8086 với bộ nhớ Ghép nối với thiết bị ngoại vi Ghép nối 8088 với bộ nhớ Nguyên tắc: Ghép trực tiếp: Thời gian truy cập bộ nhớ của CPU > thời gian truy cập của bộ nhớ + thời gian giải mã địa chỉ Ghép có chèn thêm thời gian đợi của CPU Thời gian truy cập bộ nhớ của CPU 256: 16 bit A0-A15: 0000H-FFFFH 8 bit dữ liệu hay 16 bit? Nếu cổng là 8 bit: chọn 1 trong 2 bank Nếu cổng là 16 bit: chọn cả 2 bank BHE A0 D8-D15 D0-D7 Giải mã địa chỉ cho các thiết bị vào/ra Ví dụ: Giải mã địa chỉ cho thiết bị ra 8 bit với địa chỉ 07H 07H= 0000 0111 D0-D7 CS WE D8-D15 A0 A1 A2 A3 A4 A5 A6 M/IO WR A7 BHE 8088 8086 Giải mã địa chỉ cho các thiết bị vào/ra Ví dụ: Giải mã địa chỉ cho thiết bị ra 16 bit với địa chỉ cổng 64H và 65H 64H= 0110 0100 65H= 0110 0101 D8-D15 CS WE D8-D15 A1 A2 A3 A4 A5 A6 M/IO WR A7 D0-D7 CS WE D7-D0 Giải mã địa chỉ cho các thiết bị vào/ra Ví dụ: Giải mã địa chỉ cho các cổng vào ra 8 bit ở bank thấp với các địa chỉ 10H, 12H, 14H, 16H, 18H, 1AH, 1CH, 1EH 10H=0001 0000 12H=0001 0010 .... 1EH=0001 1110 A1 A2 A3 A0 M/IO A4 A5 A7 A6 Chương 4: Tổ chức vào ra dữ liệu Các tín hiệu của 8086 và các mạch phụ trợ 8284, 8288 Ghép nối 8088 với bộ nhớ Ghép nối 8086 với bộ nhớ Ghép nối với thiết bị ngoại vi Các kiểu ghép nối vào/ra Giải mã địa chỉ cho các thiết bị vào/ra Mạch ghép nối vào ra song song lập trình được 8255A Cấu trúc của 8255A Các chế độ làm việc của 8255A Lập trình cho 8255A Mạch điều khiển bàn phím/màn hình lập trình được 8279 Bộ định thời lập trình được 8254 Giao tiếp truyền thông lập trình được 16550 Bộ biến đổi số tương tự DAC0830 và bộ biến đổi tương tự số ADC0804 Cấu trúc của 8255A Giao tiếp các thiết bị tương thích TTL với vi xử lý Thường được dùng để giao tiếp bàn phím và máy in trong các may tính PC (dưới dạng là một khối trong chíp tích hợp) Cần chèn trạng thái đợi khi làm việc với vi xử lý >8 Mhz Có 24 đường vào ra và có 3 chế độ làm việc Trong các máy PC, địa chỉ cổng của 8255 là 60H-63H Cấu trúc của 8255A Cấu trúc của 8255A Cấu trúc của 8255A Các chế độ làm việc của 8255A Các chế độ làm việc của 8255A Chế độ 0: Chế độ vào ra đơn giản: các cổng có thể làm việc như là cổng vào có đệm hoặc cổng ra có chốt đệm. Chế độ 1: Chế độ này cho phép cổng A và B làm việc như các thiết bị vào hoặc ra có tín hiệu móc nối (handshaking) do các bit tương ứng của cổng C trong cùng nhóm đảm nhiệm Chế độ 2: chế độ này cho phép cổng A làm việc 2 chiều với các tín hiệu móc nối do cổng PCH đảm nhiệm. Cổng B có thể làm việc ở chế độ 1 hoặc 0 Chế độ 0 Chế độ 0 Giả thiết địa chỉ của các cổng của 8255 là 0700H-0703H ; Lập trình cho 8255 MOV AL, 10000000B ; Port A, Port B mode 0, output MOV DX, 703H OUT DX, AL ; Thủ tục hiển thị LED từ dữ liệu chứa trong bộ nhớ DISP PROC NEAR PUSHF ; cất các thanh ghi vào ngăn xếp PUSH AX PUSH BX PUSH DX PUSH SI ; Thiết lập các thanh ghi để hiển thị MOV BX, 8 ;số LED MOV AH, 7FH ;chọn LED đầu tiên 0111 1111 MOV SI, OFFSET MEM-1 ; địa chỉ chứa dữ liệu MOV DX,701H ; địa chỉ cổng B ;Hiển thị 8 số DISP1: MOV AL, AH ;chọn 1 số OUT DX, AL DEC DX ; địa chỉ cổng A MOV AL, [BX+SI] ; dữ liệu của 7 đoạn led OUT DX, AL CALL Delay ; trễ 1 ms ROR AH, 1 ;số tiếp theo INC DX ; địa chỉ cổng B DEC BX ;giảm chỉ số JNZ DISP1 ; lặp lại 8 lần ;khôi phục lại các thanh ghi POP SI POP DX POP BX POP AX POPF RET DISP ENDP Chế độ 0 Chế độ 0 Chế độ 0 ROWS EQU 4 ; 4 hàng COLS EQU 4 ; 4 cột PORTA EQU 50H PORTB EQU 51H KEY PROC NEAR USES CX CALL SCAN ;test all keys JNZ KEY ; if key closed CALL DELAY ; đợi 10 ms CALL SCAN JNZ KEY KEY1: CALL SCAN JZ KEY1 ; if no key closed CALL DELAY CALL SCAN JZ KEY1 PUSH AX ;cất mã hàng MOV AL, COLS ;cal starting row key SUB AL, CL MOV CH, ROWS MUL CH MOV CL, AL DEC CL POP AX KEY2: ROR AL,1 ;find row position INC CL JC KEY2 MOV AL,CL ;move code to AL RET KEY ENDP SCAN PROC NEAR USES BX MOV CL, ROWS ;form row mask MOV BH, OFFH SHL BH, CL MOV CX, COLS ;load column count MOV BL, OFEH ;get selection mode SCAN1: MOV AL, BL ;select column OUT PORTB, AL ROL BL, 1 IN AL, PORTA; read rows OR AL,BH CMP AL, 0FFH ;test for a key JNZ SCAN2 LOOP SCAN1 SCAN2: RET SCAN ENDP DELAY PROC NEAR USES CX MOV CX, 5000 ;10ms (8MHZ) DELAY1: LOOP DELAY1 RET DELAY ENDP Chế độ 1 Port A và B làm việc ở chế độ cổng vào có chốt: dữ liệu sẽ được giữ tại cổng A, B cho đến khi CPU sẵn sàng cổng C làm cổng điều khiển và cấp tín hiệu móc nối Chế độ 1 Chế độ 1 PA0-PA7 D0-D7 DAV PC4 STB 82C55 Keyboard ASCII Bit5 EQU 20H PortC EQU 22H PortA EQU 20H Read PROC NEAR IN AL, PortC ; read PortC Test AL, Bit5 ; test IBF JZ READ ; if IBF=0 IN AL, PortA ; read data RET Read Endp Chế độ 1 Port A và B làm việc ở chế độ cổng ra có chốt: tương tự như cổng ra ở chế độ 0 cổng C làm cổng điều khiển và cấp tín hiệu móc nối 1 Chế độ 1 Chế độ 1 PB0-PB7 D0-D7 ACK PC2 ACK 82C55 Printer ASCII DS PC4 DS: data strobe Chế độ 1 BIT1 EQU 2 PORTC EQU 62H PORTB EQU 61H CMD EQU 63H PRINT PROC NEAR ;check printer ready IN AL,PORTC ;get OBF TEST AL, BIT1 ;test OBF JZ PRINT ;if OBF=0 ;send character to printer MOV AL, AH ;get data OUT PORTB, AL ;print data ;send data strobe to printer MOV AL, 8 ;clear DS OUT CMD,AL MOV AL, 9 ;set DS OUT CMD, AL RET PRINT ENDP Chế độ 2 Chỉ cho phép đối với cổng A Cổng A là cổng 2 chiều, dùng để giao tiếp giữa 2 máy tính hoặc dùng trong chuẩn giao tiếp IEEE-488 GPIB... Chế độ 2 Chương 4: Tổ chức vào ra dữ liệu Các tín hiệu của 8086 và các mạch phụ trợ 8284, 8288 Ghép nối 8088 với bộ nhớ Ghép nối 8086 với bộ nhớ Ghép nối với thiết bị ngoại vi Các kiểu ghép nối vào/ra Giải mã địa chỉ cho các thiết bị vào/ra Mạch ghép nối vào ra song song lập trình được 8255A Mạch điều khiển bàn phím/màn hình lập trình được 8279 Bộ định thời lập trình được 8254 Giao tiếp truyền thông lập trình được 16550 Bộ biến đổi số tương tự DAC0830 và bộ biến đổi tương tự số ADC0804 Mạch điều khiển 8279 Điều khiển bàn phím và màn hiển thị 8279: quét và mã hoá cho bàn phím tới 64 phím bộ đệm FIFO có thể chứa 8 ký tự Điều khiển màn hiển thị tới 16 số 16*8 RAM để chứa thông tin về 16 số hiển thị Các tín hiệu chính: A0: chọn giữa chế độ dữ liệu hoặc điều khiển BD: xoá trắng màn hiển thị CLK: tín hiệu xung nhịp vào CN/ST (control/Strobe): cổng vào nối với phím điều khiển của bàn phím CS : chip select DB7-DB0: bus dữ liệu 2 chiều IRQ: =1 khi có phím bấm OUTA3-OUTA0: dữ liệu tới màn hiển thị (bit cao) OUTB3-OUTB0: dữ liệu tới màn hiển thị (bit thấp) RD: cho phép đọc dữ liệu từ thanh ghi điều khiển hoặc trạng thái RL7-RL0: xác định phím được nhấn SHIFT: nối với phím shift của bàn phím SL3-SL0: tín hiệu quét màn hình và màn hiển thị WR: viết dữ liệu vào thanh ghi điều khiển hoặc thanh ghi dữ liệu Ghép nối 8279 với 8088 Ghép nối 8279 với bàn phím Ghép nối 8279 với màn hiển thị Lập trình cho 8279 Từ điều khiển: D7D6D5D4D3D2D1D0 Lập trình cho 8279 Chương 4: Tổ chức vào ra dữ liệu Các tín hiệu của 8086 và các mạch phụ trợ 8284, 8288 Ghép nối 8088 với bộ nhớ Ghép nối 8086 với bộ nhớ Ghép nối với thiết bị ngoại vi Các kiểu ghép nối vào/ra Giải mã địa chỉ cho các thiết bị vào/ra Mạch ghép nối vào ra song song lập trình được 8255A Mạch điều khiển bàn phím/màn hình lập trình được 8279 Bộ định thời lập trình được 8254 Giao tiếp truyền thông lập trình được 16550 Bộ biến đổi số tương tự DAC0830 và bộ biến đổi tương tự số ADC0804 Bộ định thời lập trình được 8254 Bộ định thời lập trình được 8254 Bộ định thời lập trình được 8254 Bộ định thời lập trình được 8254 Bộ định thời lập trình được 8254 Bộ định thời lập trình được 8254 Bộ định thời lập trình được 8254 Chương 4: Tổ chức vào ra dữ liệu Các tín hiệu của 8086 và các mạch phụ trợ 8284, 8288 Ghép nối 8088 với bộ nhớ Ghép nối 8086 với bộ nhớ Ghép nối với thiết bị ngoại vi Các kiểu ghép nối vào/ra Giải mã địa chỉ cho các thiết bị vào/ra Mạch ghép nối vào ra song song lập trình được 8255A Mạch điều khiển bàn phím/màn hình lập trình được 8279 Bộ định thời lập trình được 8254 Giao tiếp truyền thông lập trình được 16550 Bộ biến đổi số tương tự DAC0830 và bộ biến đổi tương tự số ADC0804 Giao tiếp truyền thông lập trình được 16550 Giao tiếp truyền thông lập trình được 16550 Giao tiếp truyền thông lập trình được 16550 Giao tiếp truyền thông lập trình được 16550 Giao tiếp truyền thông lập trình được 16550 Giao tiếp truyền thông lập trình được 16550 Giao tiếp truyền thông lập trình được 16550 Giao tiếp truyền thông lập trình được 16550 Giao tiếp truyền thông lập trình được 16550 Giao tiếp truyền thông lập trình được 16550 Giao tiếp truyền thông lập trình được 16550 Giao tiếp truyền thông lập trình được 16550 Giao tiếp truyền thông lập trình được 16550 Giao tiếp truyền thông lập trình được 16550 Giao tiếp truyền thông lập trình được 16550 Giao tiếp truyền thông lập trình được 16550 Chương 4: Tổ chức vào ra dữ liệu Các tín hiệu của 8086 và các mạch phụ trợ 8284, 8288 Ghép nối 8088 với bộ nhớ Ghép nối 8086 với bộ nhớ Ghép nối với thiết bị ngoại vi Các kiểu ghép nối vào/ra Giải mã địa chỉ cho các thiết bị vào/ra Mạch ghép nối vào ra song song lập trình được 8255A Mạch điều khiển bàn phím/màn hình lập trình được 8279 Bộ định thời lập trình được 8254 Giao tiếp truyền thông lập trình được 16550 Bộ biến đổi số tương tự DAC0830 và bộ biến đổi tương tự số ADC0804 Bộ biến đổi số tương tự DAC Bộ biến đổi số tương tự DAC Bộ biến đổi tương tự số ADC Bộ biến đổi tương tự số ADC Bộ biến đổi tương tự số ADC
File đính kèm:
- Bài giảng Kỹ thuật vi xử lý - Chương 4 Tổ chức vào ra dữ liệu.ppt