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

 

 

ppt155 trang | Chuyên mục: Kiến Trúc Máy Tính | Chia sẻ: dkS00TYs | Lượt xem: 4498 | Lượt tải: 5download
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:

  • pptBài giảng Kỹ thuật vi xử lý - Chương 4 Tổ chức vào ra dữ liệu.ppt