3TC - KTMT - Chuong 5 - 2-Ghép Nối Ngoại Vi

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 21

GHÉP NỐI VI XỬ LÝ INTEL 8086

VỚI THIẾT BỊ NGOẠI VI


5.3 Ghép nối VXL 8086 với thiết bị ngoại vi

• 5.3.1 Phân loại thiết bị ngoại vi


• a/ Phân loại thiết bị ngoại vi theo địa chỉ
• b/ Phân loại thiết bị ngoại vi theo giao diện ghép nối
• Ghép nối qua các cổng và/ra song song
• Ghép nối qua các chip (IC) chuyên dụng
• 5.3.2 Thiết kế bộ giải mã địa chỉ để ghép nối VXL với I/O
• 5.3.3 Một số ví dụ điều khiển ngoại vi
• 5.4 Các Phương pháp vào ra dữ liệu
Phân loại thiết bị ngoại vi theo địa chỉ
Các thiết bị ngoại vi có địa chỉ dùng chung Các thiết bị ngoại vi có địa chỉ riêng biệt
- Định nghĩa: Dùng 1 phần bộ nhớ chính - Không sử dụng bộ nhớ chính
- Các bít địa chỉ: 20 bit địa chỉ (A0-A19) - 16 bít địa chỉ (A0-A15)
- Dung lượng bộ nhớ: 1MB - 64KB
- Tín hiệu điều khiển: M (M/IO) - IO
- Lệnh hợp ngữ: MOV - IN/OUT
Phân loại thiết bị ngoại vi theo giao diện ghép
nối I0 O0
I1 Cổng O1
I2 Vào/ O2
• Ghép nối qua các cổng I3 Ra O3
IC Giải mã
I4 song O4
vào/ra song song I5 song O5
I6 O6
• Cổng vào (Buffer/Cổng I7 CS O7
đệm/IC 74244/74245)
I0 O0
• Cổng ra (Latch/Cổng chốt / I1 Cổng O1
IC 74374/74373) I2 Vào/ O2
Ra O3
I3
IC Giải mã
I4 song O4
I5 song O5
I6 O6
I7 CS O7

A19/A15

A0
M/IO
Phân loại thiết bị ngoại vi theo giao diện ghép
nối
• Ghép nối qua các chip (IC) chuyên dụng
• Phương thức truyền thông:
• Truyền thông nối tiếp:
• Đ/n
• Phân loại: Đồng bộ & Dị bộ
• Đồng bộ
• Dị bộ: Start bit, Stop Bit và Parity bit
• IC 8251
• Truyền thông song song
• Đ/n
• Phân loại:
• IC 8255
• Chế độ vào ra cơ sở: 2 cổng vào ra song song 8 bít là cổng A&B; 2 cổng vào ra song song 4 bít là cổng C
• Chế độ vào ra thăm dò: 2 cổng vào ra song song 8 bít là cổng A&B, cổng C là cổng các tín hiệu điều khiển
• PIC 8259, DMA 8237 (Phương thức trao đổi dữ liệu)
Phân loại thiết bị ngoại vi theo giao diện ghép
nối
• Ghép nối qua các chip (IC) chuyên dụng:
• 8251, 8255, 8259, 8237

IC Các bit địa chỉ trực tiếp Tín hiệu chọn chip Các địa chỉ đầu vào bộ
giải mã địa chỉ
8251 1 (A0) CS (mức thấp) A19/15-A1
8255 2 (A0-A1) CS (mức thấp) A19/15-A2
8259 1 (A0) CS (mức thấp) A19/15-A1
8237 4 (A0-A3) CS (mức thấp) A19/15-A4
Các cổng vào/ra song Không có CS (mức thấp) A19/15-A0
song
I0 O0 D0 TX
I1 Cổng O1 D7 RX
I2 Vào/ O2
I3 Ra O3 8251
IC Giải mã IC Giải mã
I4 song O4 A0
I5 song O5
I6 O6
I7 CS O7 CS

A19/A15
A19/A15

A1
A0
M/IO M/IO

8 8 8 8
D0 D0 D0 I1
D7 Port A D7 D7 I2
8255 8237 8259 I3
8 I4
IC GiảiPort
mã B IC Giải mã IC Giải mã
A0 A0 A0 I5
A1 8 A1 I6
Port C A2 INT I7
CS A3 CS CS I8

A19/A15 A19/A15 A19/A15

A2 A4 A1
M/IO M/IO M/IO
Phân loại thiết bị ngoại vi theo giao diện ghép
nối
• Ghép nối qua các chip (IC) chuyên dụng:
• 8251, 8255, 8259, 8237

IC Các bit địa chỉ trực tiếp Tín hiệu chọn chip Các địa chỉ đầu vào bộ
giải mã địa chỉ
8251 1 (A0) CS (mức thấp) A19/15-A1
8255 2 (A0-A1) CS (mức thấp) A19/15-A2
8259 1 (A0) CS (mức thấp) A19/15-A1
8237 4 (A0-A3) CS (mức thấp) A19/15-A4
Các cổng vào/ra song Không có CS (mức thấp) A19/15-A0
song
5.3.2 Thiết kế bộ giải mã địa chỉ để ghép nối VXL với
I/O (4 bước)
• B1: Xác định các đường địa chỉ trực tiếp và loại thiết bị ngoại vi
• Loại cổng nào/IC chuyên dụng nào->Các đường địa chỉ trực tiếp
• Thuộc loại thiết bị ngoại vi nào (theo phân loại địa chỉ)->A19/A15
• B2: Xác định số đường tín hiệu chọn chip
• B3: Phân giải địa chỉ cơ sở của các tín hiệu chọn chip
• Các địa chỉ A19/A15 – A0
• B4: Vẽ mạch
5.3.2 Thiết kế bộ giải mã địa chỉ để ghép nối VXL với
I/O (4 bước)
• B1: Xác định các đường địa chỉ trực tiếp và loại thiết bị ngoại vi
• Loại cổng nào/IC chuyên dụng nào->Các đường địa chỉ trực tiếp
• Thuộc loại thiết bị ngoại vi nào (theo phân loại địa chỉ)->A19/A15
• B2: Xác định số đường tín hiệu chọn chip
• Mỗi IC chuyên dụng, mỗi cổng vào/ra song song cần 1 tín hiệu chọn chip CS.
• B3: Phân giải địa chỉ cơ sở của các tín hiệu chọn chip
• Các địa chỉ A19/A15 – A0
• B4: Vẽ mạch
I0 O0 D0 TX
I1 Cổng O1 D7 RX
I2 Vào/ O2
I3 Ra O3 8251
IC Giải mã IC Giải mã
I4 song O4 A0
I5 song O5
I6 O6
I7 CS O7 CS

A19/A15
A19/A15

A1
A0
M/IO M/IO

8 8 8 8
D0 D0 D0 I1
D7 Port A D7 D7 I2
8255 8237 8259 I3
8 I4
IC GiảiPort
mã B IC Giải mã IC Giải mã
A0 A0 A0 I5
A1 8 A1 I6
Port C A2 INT I7
CS A3 CS CS I8

A19/A15 A19/A15 A19/A15

A2 A4 A1
M/IO M/IO M/IO
5.3.3 Một số ứng dụng ghép nối VXL với ngoại
vi
• a/ Điều khiển LED đơn
• b/ Điều khiển LED 7 đoạn
• c/ Điều khiển bàn phím
• d/ Điều khiển nhiệt độ
5.3.3 Một số ứng dụng ghép nối VXL với ngoại vi
I0 O0
I1 Cổng O1
• a/ Điều khiển LED đơn I2 Vào/ O2
Ra O3
I3
• 0: Tắt IC Giải
I4 song O4

I5 song O5
• 1: Bật I6 O6
I7 CS O7
Bdau:
MOV AL, 0000 0001B
Lap: OUT ĐC cổng, AL
MOV CX,100
Delay: NOP
LOOP Delay
ROL AL, 1
JMP Lap
5.3.3 Một số ứng dụng ghép nối VXL với ngoại vi

• b/ Điều khiển LED 7 đoạn

; Hiển thị số dư của AX/10 ra LED


MOV BL,10
DIV BL ; AH số dư
MOV AL, AH
OUT ĐC cổng, AL
5.3.3 Một số ứng dụng ghép nối VXL với ngoại vi

• c/ Điều khiển LED 7 đoạn:


• Quét nguồn
• Lưu ảnh trên võng mạc
(Đèn bị nháy)

-> Lưu ảnh trên võng mạc


(ít nhất 25 lần xuất hiện/1s
-> 40ms xuất hiện lại 1 lần
-> 1 đèn sáng 5ms/40ms
ĐK cấp nguồn
• (Port A) Dữ liệu đèn (Port B)
1111 1110 Đèn D0 (Q7)
1111 0111 Đèn D3 (Q4)
5.3.3 Một số ứng dụng ghép nối VXL với ngoại vi

• d/ Điều khiển bàn phím


Điều khiển Trạng thái (Cổng Trạng thái phím bấm
(Cổng ra) vào)
5.3.3DMột
D3D2D1D0 D D D D số
7 6D D Dứng dụng ghép nối VXL với ngoại vi
5 4 3 2 1 0

1111 1111 1111 Nghỉ, Ko xác định được


phím bấm

1110 c/ Điều 1110
khiển1111bàn phím
Chưa có phím bấm
1110 1110 0111 Phím C bấm
1110 1110 1011 Phím D bấm
1110 1110 1101 Phím E bấm
1110 1110 1110 Phím F bấm
1101 1101 1111 Chưa có phím bấm
1101 1101 0111 Phím 8 bấm
1101 1101 1011 Phím 9 bấm
1101 1101 1101 Phím A bấm
1101 1101 1110 Phím B bấm
1011
0111
5.3.3 Một số ứng dụng ghép nối VXL với ngoại vi

• e/ Điều khiển nhiệt độ


• Cổng sensor nhiệt (cổng vào)
• Cổng điều khiển thiết bị (máy lạnh, bếp, đèn, quạt): dữ liệu tắt/bật
• VD: Viết chương trình điều khiển lò ấp trứng. Yêu cầu lò phải duy trì nhiệt độ
trong khoảng từ 30-40 độ, nhiệt độ mỗi trường luôn nhỏ hơn 30 độ. Biết cổng
sensor nhiệt độ là 200 và cổng điều khiển đèn nhiệt là 100 với dữ liệu 1 là tắt
và 0 là bật. Mỗi lần kiểm tra nhiệt độ cách nhau khoảng thời gian tương ứng
1000 lệnh NOP.
. Model Tiny
5.2.3 Một số ứng dụng ghép nối VXL với
.Stack 100h
.Code
org 100h
ngoại vi
JMP Bdau

Bdau: iN AL, 200


• c/CMPĐiều
AL,30
JB NH30
khiển nhiệt độ
VD:
•CMP Viết chương trình điều khiển
AL,40
JA LH40
lòXong1lan
JMP ấp trứng. Yêu cầu lò phải duy trì
NH30: XOR nhiệt
AL, ALđộ trong khoảng từ 30-40
OUT
độ,100, AL độ mỗi trường luôn nhỏ
nhiệt
JMP Xong1lan
LH40: hơn
MOV 30 độ. Biết cổng sensor nhiệt
AL,1
độ100,
OUT là 200
AL và cổng điều khiển đèn
JMP Xong1lan
Xong1lan: nhiệt là 100 với dữ liệu 1 là tắt và
0 làCX,bật.
MOV 1000Kiểm tra nhiệt độ thực
Delay: NOP
hiện
LOOP sau khoảng thời gian tương
Delay
đương
JMP Bdau 1000 lệnh NOP.
5.2.3 Một số ứng dụng ghép nối VXL với
ngoại vi I0 O0 I0 O0
I1 Cổng O1 I1 Cổng O1
I2 Vào/ O2 I2 Vào/ O2
I3 Ra O3 I3 Ra O3
IC Giải mã IC Giải mã
I4 song O4 I4 song O4
I5 song O5 I5 song O5
I6 O6 I6 O6
I7 CS O7 I7 CS O7

A19/A15 A19/A15

A0 A0
M/IO M/IO

You might also like