Giáo trình Vi xử lý - Chương 4: Tổ chức nhập/xuất

Tài liu vi xlý  
Tchc nhp / xut  
CHƯƠNG 4: TCHC NHP / XUT  
1. Các mch phtr8284 và 8288  
1.1. Mch to xung nhp 8284  
Mch to xung nhp dùng để cung cp xung nhp cho µP.  
1
2
3
4
5
6
7
8
9
18  
17  
16  
15  
14  
13  
12  
11  
10  
CSYNC  
PCLK  
VCC  
X1  
AEN1  
X2  
RDY1 ASYNC  
READY  
RD2  
EFI  
F/C  
AEN2  
CLK  
OSC  
RES  
GND  
RESET  
8284  
Hình 4.1 – Mch to xung nhp 8284  
CSYNC (Clock Synchronisation): ngõ vào xung đồng bchung khi hthng có  
các 8284 dùng dao động ngoài ti chân EFI. Khi dùng mch dao động trong thì phi  
ni đất.  
PCLK (Peripheral Clock): xung nhp f = fX/6 (fX là tn sthch anh)  
AEN1, AEN2 (Address Enable): cho phép chn các chân RDY1, RDY2 báo  
hiu trng thái sn sàng ca bnhhay thiết bngoi vi  
18  
17  
16  
15  
14  
13  
12  
11  
10  
1
2
3
4
5
6
7
8
9
VCC  
X1  
CSYNC  
PCLK  
X2  
AEN1  
ASYNC RDY1  
EFI  
READY  
RD2  
F/C  
OSC  
RES  
RESET  
AEN2  
CLK  
GND  
8284  
Vcc  
+
Hình 4.2 – Mch khi động cho 8284  
RDY1, RDY2 (Bus ready): to các chu kỳ đợi CPU  
Phm Hùng Kim Khánh  
Trang 74  
Tài liu vi xlý  
Tchc nhp / xut  
READY: ni đến chân READY ca µP.  
CLK (Clock): xung nhp f = fX/3, ni vi chân CLK ca µP.  
RESET: ni vi chân RESET ca µP, là tín hiu khi động li toàn hthng  
RES(Reset Input): chân khi động cho 8284  
OSC: ngõ ra xung nhp có tn sfX  
F/C (Frequency / Crystal): chn ngun tín hiu chun cho 8284, nếu mc cao  
thì chn tn sxung nhp bên ngoài, ngược li thì dùng xung nhp tthch anh  
EFI (External Frequency Input): xung nhp tbdao động ngoài  
ASYNC : chn chế độ làm vic cho tín hiu RDY.  
X1,X2: ngõ vào ca thch anh  
1.2.  
Mch điu khin bus 8288  
Mch điu khin bus 8288 ly mt stín hiu điu khin ca µP và cung cp  
các tín hiu điu khin cn thiết cho hvi xlý.  
1
2
20  
19  
18  
17  
16  
15  
14  
13  
12  
11  
IOB  
CLK  
S1  
VCC  
S0  
3
S2  
4
DT/R MCE/PDEN  
5
ALE  
DEN  
CEN  
6
AEN  
7
MRDC  
AMWC  
MWTC  
GND  
INTA  
8
IORC  
AIOWC  
IOWC  
9
10  
8288  
Hình 4.3 – Mch điu khin bus 8288  
IOB (Input / Output Bus Mode): điu khin để 8288 làm vic các chế độ bus  
khác nhau.  
CLK (Clock): ngõ vào ly txung nhp hthng.  
S2, S1, S0 : các tín hiu trng thái ly trc tiếp tµP. Tutheo các giá trnhn  
được mà 8288 sẽ đưa các tín hiu theo bng 4.1.  
Bng 4.1:  
To tín hiu  
S2  
S1  
S0  
0
0
0
INTA  
IORC  
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
IOWC, AIOWC  
Không  
MRDC  
MRDC  
MWTC, AMWC  
Không  
Phm Hùng Kim Khánh  
Trang 75  
Tài liu vi xlý  
Tchc nhp / xut  
DT/R (Data Transmit/Receive): µP truyn (1) hay nhn (0) dliu.  
ALE (Address Latch Enable): tín hiu cho phép cht địa chỉ  
AEN (Address Enable): chthi gian trkhong 150 ns sto các tín hiu điu  
khin ở đầu ra ca 8288 để đảm bo rng địa chsdng đã hp l.  
MRDC(Memory Read Command): điu khin đọc bnhớ  
MWTC(Memory Write Command): điu khin ghi bnhớ  
AMWC(Advanced MWTC),: ging như MWTC nhưng hot động sm hơn  
mt chút dùng cho các bnhchm đáp ng kp tc độ µP.  
IOWC(I/O Write Command): điu khin ghi ngoi vi  
AIOWC (Advanced IOWC),: ging như IOWC nhưng hot động sm hơn  
mt chút dùng cho các ngoi vi chm đáp ng kp tc độ µP.  
IORC(I/O Read Command): điu khin đọc ngoi vi  
INTA (Interrupt Acknowledge): ngõ ra thông báo µP chp nhn yêu cu ngt  
ca thiết bngoi vi  
CEN (Command Enable): cho phép đưa ra các tín hiu ca 8288.  
DEN (Data Enable): tín hiu điu khin bus dliu thành bus cc bhay bus hệ  
thng.  
MCE / PDEN (Master Cascade Enable / Peripheral Data Enable): định chế độ  
làm vic cho mch điu khin ngt PIC 8259.  
2. Giao tiếp vi thiết bngoi vi  
2.1.  
Các kiu giao tiếp vào / ra  
2.1.1.Thiết bngoi vi có địa chtách ri vi bnhớ  
Trong cách giao tiếp này, bnhdùng toàn bkhông gian 1 MB. Các thiết bị  
ngoi vi scó mt không gian 64 KB cho mi loi cng. Trong kiu giao tiếp này, ta  
phi dùng tín hiu IO/M và các lnh trao đổi dliu thích hp.  
Bnh:  
Ngoi vi:  
IO/M = 0, dùng lnh MOV  
IO/M = 1, dùng lnh IN (nhp) hay OUT (xut)  
2.1.2.Thiết bngoi vi và bnhcó chung không gian địa  
chỉ  
Trong kiu giao tiếp này, thiết bngoi vi schiếm mt vùng nào đó trong  
không gian địa ch1 MB và ta chdùng lnh MOV để thc hin trao đổi dliu.  
2.2.  
Gii mã địa chcho thiết bvào / ra  
Vic gii mã địa chcho thiết bngoi vi cũng tương tvi vic gii mã địa chỉ  
cho bnh. Thông thường, các cng có địa ch8 bit A0 – A7. Tuy nhiên, trong mt số  
hvi xlý, các cng sđịa ch16 bit.  
Ta có thdùng mch NAND để to tín hiu chn cng nhưng mch này chcó  
thgii mã cho 1 cng. Trong trường hp cn nhiu tín hiu chn cng, ta có thdùng  
bgii mã 74LS138 để gii mã cho 8 cng khác nhau.  
Phm Hùng Kim Khánh  
Trang 76  
Tài liu vi xlý  
Tchc nhp / xut  
1
2
3
15  
14  
13  
12  
11  
10  
9
A0  
A1  
A2  
A
B
C
Y0  
Y1  
Y2  
Y3  
Y4  
Y5  
Y6  
Y7  
1
2
6
4
5
IO/M  
G1  
3
A3 - A7  
G2A  
G2B  
7
RD  
74LS138  
(a) Gii mã cho cng vào  
1
15  
A0  
A
Y0  
Y1  
2
14  
13  
12  
11  
10  
9
A1  
B
3
A2  
C
Y2  
Y3  
Y4  
Y5  
Y6  
Y7  
1
6
IO/M  
G1  
3
4
5
A3 - A7  
G2A  
G2B  
2
7
WR  
74LS138  
(b) Gii mã cho cng ra  
Hình 4.4 – Gii mã cho các cng  
2.3.  
Các mch cng đơn gin  
Các mch cng có thể được xây dng tcác mch cht 8 bit (74LS373: kích  
theo mc, 74LS374: kích theo cnh), các mch đệm 8 bit (74LS245). Chúng được  
dùng trong các giao tiếp đơn gin để µP và ngoi vi hot động tương thích vi nhau.  
2.4.  
Giao tiếp vào/ra song song lp trình được 8255A  
PPI (Programmable Peripheral Interface)  
2.4.1.Gii thiu  
8255A là thiết bxut nhp song song lp trình được. Nó là mt thiết bI/O đa  
dng có thsdng vi bt cµP nào, có thlp trình để truyn dliu, tI/O thông  
thường đến I/O interrupt.  
8255A có thchia thành 3 Port: A, B và C; mi port 8 bit trong đó Port C có thể  
sdng như 8 bit riêng hay chia thành 2 nhóm, mi nhóm 4 bit: PCH (PC7 ÷ PC4) và  
PCL (PC3 ÷ PC0).  
8255A có thhot động 2 chế độ (mode): BSR (Bit Set/Reset) và I/O.  
™ Chế độ BSR: dùng để đặt hay xóa các bit ca Port C.  
™ Chế độ I/O: gm có 3 chế độ:  
- Chế độ 0: tt ccác Port làm vic như các Port I/O đơn gin.  
- Chế độ 1 (chế độ bt tay: handshake): các Port A và B dùng các bit ca  
Port C làm tín hiu bt tay. Trong chế độ này, các kiu truyn dliu I/O  
có thể được cài đặt, kim tra trng thái và ngt.  
- Chế độ 2: Port A có thdùng để truyn dliu song hướng dùng các tín  
hiu bt tay tPort C còn Port B được thiết lp chế độ 0 hay 1.  
Phm Hùng Kim Khánh  
Trang 77  
Tài liu vi xlý  
Tchc nhp / xut  
D7 – D0: bus dliu  
34  
33  
32  
31  
30  
29  
28  
27  
4
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
PA0  
PA1  
PA2  
PA3  
PA4  
PA5  
PA6  
PA7  
3
PA7 – PA0: Port A  
PB7 – PB0: Port B  
PC7 – PC0: Port C  
A1, A0: gii mã  
2
1
40  
39  
38  
37  
RESET: ngõ vào Reset  
CS : Chip Select  
RD : Read  
WR : Write  
VCC: +5V  
GND: 0V  
5
36  
9
18  
19  
20  
21  
22  
23  
24  
25  
RD  
PB0  
PB1  
PB2  
PB3  
PB4  
PB5  
PB6  
PB7  
8255  
WR  
A0  
8
A1  
35  
6
RESET  
CS  
14  
15  
16  
17  
13  
12  
11  
10  
PC0  
PC1  
PC2  
PC3  
PC4  
PC5  
PC6  
PC7  
Hình 4.5 – Sơ đồ chân ca 8255A  
2.4.2.Sơ đồ khi  
Nhóm A:  
PA7 ÷PA0  
PC7 ÷PC4  
- PA (8)  
Điu khin  
nhóm A  
- PCH (4)  
Bộ đm dữ  
liu  
D7 ÷D0  
RD  
WR  
Nhóm B:  
- PB (8)  
PB7 ÷PB0  
PC3 ÷PC0  
Logic điu  
khin  
- PCL (4)  
Điu khin  
A1  
A0  
nhóm B  
CS  
Hình 4.6 – Sơ đồ khi ca 8255A  
Logic điu khin ca 8255A gm có 6 đường:  
-
RD (Read): cho phép ĐỌC. Khi chân này mc THP thì cho phép đọc dữ  
liu tPort I/O đã chn.  
Phm Hùng Kim Khánh  
Trang 78  
Tài liu vi xlý  
Tchc nhp / xut  
-
WR (Write): cho phép GHI. Khi chân này mc THP thì cho phép ghi dữ  
liu ra Port I/O đã chn.  
- RESET: khi chân này mc cao thì sxoá thanh ghi điu khin và đặt các  
Port chế độ nhp.  
-
CS (Chip Select): chân chn chip, thông thường CS được ni vào địa chỉ  
gii mã.  
- A1, A0: gii mã xác định Port  
Bng 4.2:  
A1 A0  
Chn  
CS  
0
0
0
1
1
x
0
1
0
1
x
Port A  
Port B  
Port C  
0
0
0
Thanh ghi điu khin  
1
8255A không hot động  
EN  
Thanh ghi điu khin  
A1  
A0  
(CR: Control Register)  
EN  
EN  
Gii mã  
ni  
Port A  
CS  
Port B  
Port C  
EN  
RD  
WR  
Hình 4.7 – Gii mã chn các Port  
Ví d: Xét sơ đồ kết ni 8255A như hình vtrang bên:  
Theo bng 4.2, để chn Port A, ta phi có:  
CS = 0  
A1 = 0  
A0 = 0  
Phm Hùng Kim Khánh  
Trang 79  
Tài liu vi xlý  
Tchc nhp / xut  
34  
33  
32  
31  
30  
29  
28  
27  
4
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
PA0  
PA1  
PA2  
PA3  
PA4  
PA5  
PA6  
PA7  
3
2
1
40  
39  
38  
37  
5
36  
9
18  
19  
20  
21  
22  
23  
24  
25  
IOR  
IOW  
A0  
RD  
WR  
A0  
PB0  
PB1  
PB2  
PB3  
PB4  
PB5  
PB6  
PB7  
8
A1  
A1  
RESET 8255  
35  
6
A7  
A6  
A5  
A4  
A3  
A2  
RESET  
CS  
1
2
3
14  
15  
16  
17  
13  
12  
11  
10  
PC0  
PC1  
PC2  
PC3  
PC4  
PC5  
PC6  
PC7  
Hình 4.8 – Logic chn chip 8255A  
Mà CS = 0 khi A7 = A6 = A5 = A4 = A3 = A2 = 1. Từ đó ta được địa chPort  
I/O như sau:  
Bng 4.3:  
A1 A0  
CS  
Port Địa chhex  
A7 A6 A5 A4 A3 A2 A1 A0  
1
1
1
1
1
1
0
0
1
1
0
1
0
1
A
B
FCh  
FDh  
FEh  
FFh  
C
CR  
™
Thanh ghi điu khin:  
Như đã biết, 8255A có 2 chế độ hot động và các Port ca nó có thcó các  
chc năng I/O khác nhau. Để xác định chc năng ca các Port, 8255A có mt thanh  
ghi điu khin (CR: Control Register). Ni dung ca thanh ghi này gi là từ điu khin  
(CW: Control Word). Thanh ghi điu khin sẽ được truy xut khi A1 = A0 = 1. Chú ý  
rng ta không ththc hin tác vụ Đọc đối vi thanh ghi này.  
Nếu bit D7 = 0, Port C làm vic chế độ BSR nhưng từ điu khin BSR không  
nh hưởng đến chc năng các Port A, B.  
Phm Hùng Kim Khánh  
Trang 80  
Tài liu vi xlý  
Tchc nhp / xut  
D7 D6 D5 D4 D3 D2 D1 D0  
1: Mode I/O  
0: Mode BSR  
Nhóm A  
Nhóm B  
PCH (PC7 ÷ PC4)  
1: Input  
PCL (PC3 ÷ PC0)  
1: Input  
0: Output  
0: Output  
PA  
PB  
1: Input  
0: Output  
1: Input  
0: Output  
Mode  
Mode  
1x: Mode 2  
01: Mode 1  
00: Mode 0  
1: Mode 1  
0: Mode 0  
Hình 4.9 – Dng từ điu khin cho 8255A chế độ I/O  
2.4.3.Mode 0: Xut/nhp đơn gin  
Trong chế độ này, mi port (hay na port ca Port C) làm vic như các port  
nhp hay xut vi các tính cht sau:  
- Các ngõ ra được cht.  
- Các ngõ vào không được cht.  
- Các port không có khnăng bt tay và ngt.  
Để giao tiếp vi ngoi vi thông qua 8255A cn phi:  
- Xác định địa chca các port A, B, C và CR thông qua các chân chn  
chip CS và gii mã A1, A0.  
- Ghi từ điu khin vào thanh ghi điu khin.  
- Ghi các lnh I/O để giao tiếp vi ngoi vi qua các port A, B, C.  
Phm Hùng Kim Khánh  
Trang 81  
Ví d: Xét sơ đồ kết ni 8255A như sau:  
VCC  
1
1
1
1
1
1
2
2
2
2
2
2
74LS245  
A1  
A15  
A14  
A13  
A12  
A11  
A10  
34  
33  
32  
31  
30  
29  
28  
27  
4
2
3
4
5
6
7
8
9
18  
17  
16  
15  
14  
13  
12  
11  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
PA0  
PA1  
PA2  
PA3  
PA4  
PA5  
PA6  
PA7  
B1  
B2  
B3  
B4  
B5  
B6  
B7  
B8  
3
A2  
A3  
A4  
A5  
A6  
A7  
A8  
2
1
40  
39  
38  
37  
5
36  
9
18  
19  
20  
21  
22  
23  
24  
25  
19  
1
IOR  
IOW  
A0  
RD  
WR  
A0  
PB0  
PB1  
PB2  
PB3  
PB4  
PB5  
PB6  
PB7  
G
VCC  
DIR  
8
VCC  
A1  
A1  
RESET 8255  
35  
6
RESET  
CS  
U?A  
74LS245  
1
2
3
14  
15  
16  
17  
13  
12  
11  
10  
2
3
4
5
6
7
8
9
18  
17  
16  
15  
14  
13  
12  
11  
PC0  
PC1  
PC2  
PC3  
PC4  
PC5  
PC6  
PC7  
A1  
A2  
A3  
A4  
A5  
A6  
A7  
A8  
B1  
B2  
B3  
B4  
B5  
B6  
B7  
B8  
7400  
A9  
A8  
1
1
1
1
1
1
2
2
2
2
2
2
A7  
A6  
A5  
A4  
A3  
A2  
19  
1
G
DIR  
S1  
S2  
S3  
S4  
VCC  
Hình 4.10 – Giao tiếp các port 8255A mode 0  
Tài liu vi xlý  
Tchc nhp / xut  
- Xác định địa chport:  
Bng 4.4:  
A1 A0 Port Địa chỉ  
CS  
hex  
A15  
A14  
A13  
A12  
A11  
A10  
A9  
A8  
A7  
A6  
A5  
A4  
A3  
A2  
A1  
0
0
1
1
A0  
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
A
B
C
300h  
301h  
302h  
CR 303h  
- Từ điu khin:  
Bng 4.5:  
D7  
D6  
0
D5  
0
D4  
D3  
D2  
0
D1  
D0  
0
1
0
0
1
= 82h  
I/O  
Nhóm A ở  
PA:  
PCH: Nhóm B ở  
PB:  
PCL:  
mode  
mode 0  
Output Output  
mode 0  
Input  
Output  
Các Port ca 8255A được khi động bng cách đặt từ điu khin 82h vào thanh  
ghi điu khin.  
Trong sơ đồ kết ni này, 4 bit cao ca Port B dùng làm Port nhp còn Port A và  
Port C làm Port xut. Các tác vụ Đọc và Ghi được phân bit bng các tín hiu điu  
khin IOR IOW .  
Phm Hùng Kim Khánh  
Trang 83  
Tài liu vi xlý  
Tchc nhp / xut  
- Lưu đồ gii thut:  
Begin  
Khi động 8255A  
Y
Y
Sáng 4 Led 4 bit thp  
Nhn SW1?  
ca Port A  
N
Sáng 4 Led 4 bit cao  
ca Port A  
Nhn SW2?  
N
Y
Y
Sáng 4 Led 4 bit cao  
ca Port C  
Nhn SW3?  
N
Sáng 4 Led 4 bit thp  
ca Port C  
Nhn SW4?  
N
- Chương trình:  
.MODEL  
.STACK  
.CODE  
SMALL  
100h  
main PROC  
; Định cu hình cho 8255  
MOV AL,82h  
; Từ điu khin (CW) là 82h  
; Địa chthanh ghi điu khin (CR)  
; Ghi CW vào CR  
MOV DX,303h  
OUT DX,AL  
cont:  
MOV DX,301h  
; Địa chPort B  
IN  
AL,DX  
; Đọc dliu tPort B (công tc)  
; Che 4 bit thp  
AND AL,0F0h  
MOV AH,AL  
CMP AH,01110000b  
JNE notSW1  
MOV AL,0Fh  
MOV DX,300h  
OUT DX,AL  
; Kim tra công tc 1  
; Nếu không nhn  
; Nếu nhn công tc 1 thì  
; xut ra Port A  
; để sáng 4 Led 4 bit thp (Port A)  
notSW1:  
CMP AH,10110000b  
; Kim tra công tc 2  
; Nếu không nhn  
JNE notSW2  
Phm Hùng Kim Khánh  
Trang 84  
Tài liu vi xlý  
Tchc nhp / xut  
MOV AL,0F0h  
MOV DX,300h  
OUT DX,AL  
; Nếu nhn công tc 2 thì  
; xut ra Port A  
; để sáng 4 Led 4 bit cao (Port A)  
; Kim tra công tc 3  
notSW2:  
CMP AH,11010000b  
JNE notSW3  
MOV AL,0Fh  
MOV DX,302h  
OUT DX,AL  
; Nếu không nhn  
; Nếu nhn công tc 3 thì  
; xut ra Port C  
; để sáng 4 Led 4 bit cao (Port C)  
; Kim tra công tc 4  
notSW3:  
CMP AH,11100000b  
JNE notSW4  
MOV AL,F0h  
MOV DX,302h  
OUT DX,AL  
; Nếu không nhn  
; Nếu nhn công tc 4 thì  
; xut ra Port C  
; để sáng 4 Led 4 bit thp (Port C)  
notSW4:  
JMP cont  
main ENDP  
END main  
2.4.4.Mode BSR  
Mode BSR chliên quan đến 8 bit ca Port C, có thể đặt hay xoá các bit bng  
cách ghi mt từ điu khin thích hp vào thanh ghi điu khin. Mt từ điu khin vi  
D7 = 0 gi là từ điu khin BSR, từ điu khin này không làm thay đổi bt ctừ điu  
khin nào được truyn trước đó vi D7 = 1, nghĩa là các hot động I/O ca Port A và  
B không bị ảnh hưởng bi từ điu khin BSR.  
™ Từ điu khin BSR:  
Từ điu khin BSR khi được ghi vào thanh ghi điu khin sẽ đặt hay xoá mi  
ln 1 bit.  
D7  
0
D6  
x
D5  
x
D4  
X
D3  
D2  
D1  
D0  
S/R  
Mode BSR  
Không sdng  
Chn bit  
000: PC0  
001: PC1  
010: PC2  
011: PC3  
100: PC4  
101: PC5  
110: PC6  
111: PC7  
0: Xoá (Reset)  
1: Đặt (Set)  
Ví d: Xét sơ đồ kết ni 8255A như hình 4.10. Gista cn to mt sóng chữ  
nht ti bit PC0.  
Để to mt sóng chnht ti PC0, ta cn 2 mc logic là 0 và 1 ti PC0.  
Phm Hùng Kim Khánh  
Trang 85  
Tài liu vi xlý  
Tchc nhp / xut  
D7 D6 D5 D4 D3 D2 D1 D0  
Đặt bit PC0 = 1  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
= 01h  
= 00h  
Xoá bit PC0 = 0  
- Địa chthanh ghi điu khin (bng 4.4): 303h  
- Chương trình con:  
bsr: MOV  
MOV  
AL,01h  
DX,303h  
DX,AL  
DELAY1  
AL,00h  
DX,AL  
DELAY2  
bsr  
; Từ điu khin BSR  
; Địa chthanh ghi điu khin (CR)  
; Đặt PC0 = 1  
OUT  
CALL  
MOV  
; Chờ  
; Từ điu khin BSR  
; Xóa PC0 = 0  
OUT  
CALL  
JMP  
; Chờ  
Khi sdng mode BSR, cn chú ý các điu sau:  
- Để đặt hay xoá các bit Port C, từ điu khin được ghi vào thanh ghi  
điu khin chkhông ghi vào Port C.  
- Mt từ điu khin BSR chỉ ảnh hưởng đến mt bit ca Port C.  
- Từ điu khin BSR không nh hưởng đến I/O mode.  
2.4.5.Mode 1: Nhp / xut vi bt tay (handshake)  
Trong mode 1, các tín hiu bt tay được trao đổi gia µP và thiết bngoi vi  
trước khi truyn dliu. Các đặc tính chế độ này là:  
- Hai Port A, B làm vic như các Port I/O 8 bit.  
- Mi Port sdng 3 đường tPort C làm các tín hiu bt tay. Hai đường  
còn li có thdùng cho các chc năng I/O đơn gin.  
- Dliu nhp / xut được cht.  
- Htrngt.  
Phm Hùng Kim Khánh  
Trang 86  
Tài liu vi xlý  
Tchc nhp / xut  
2.4.5.1. Các tín hiu điu khin nhp  
Port A nhp  
INTEA  
PC4  
PC5  
STBA  
IBFA  
INTRA  
PC3  
Port B nhp  
INTEB  
PC2  
PC1  
STBB  
IBFB  
INTRB  
I/O  
PC3  
PC6,7  
Hình 4.11 – Cu hình nhp ca 8255A mode 1  
Theo hình v, ta thy Port A dùng 3 đường tín hiu trên PC3, PC4 và PC5; Port  
B dùng 3 đường tín hiu trên PC0, PC1 và PC2 làm các tín hiu bt tay. Các tín hiu  
này có các chc năng sau khi các port A và B được đặt cu hình là nhp:  
-
STB (Strobe Input): tích cc mc thp, tín hiu này được to bi thiết bị  
ngoi vi để xác định rng ngoi vi đã truyn 1 byte dliu. Khi 8255A  
đáp ng STB , nó sto ra IBF và INTR (hình 4.12).  
- IBF (Input Buffer Full): tín hiu này dùng để xác nhn 8255A đã nhn  
byte dliu. Nó sbxoá khi µP đọc dliu.  
- INTR (Interrupt Request): Đây là tín hiu xut dùng để ngt µP. Nó  
được to ra nếu STB, IBF và INTE (flipflop bên trong) đều mc logic  
1 và bxoá bi cnh xung ca tín hiu RD (Hình 4.12).  
- INTE (Interrupt Enable): là mt flipflop dùng để cho phép hay cm quá  
trình to ra tín hiu INTR. Hai flipflop INTEA và INTEB được đặt / xoá  
dùng BSR mode thông qua PC4 và PC2.  
Phm Hùng Kim Khánh  
Trang 87  
Tài liu vi xlý  
Tchc nhp / xut  
STB  
IBF  
INTR  
RD  
Data  
input  
Hình 4.12 – Dng sóng định thì cho ngõ vào có strobe  
™ Các từ điu khin và trng thái:  
- Từ điu khin: để xác định từ điu khin, ta sdng hình 3.4.5  
D7  
1
I/O mode  
D6  
0
D5  
1
D4  
1
PA: nhp  
D3  
D2  
1
D1  
1
D0  
X
1/0  
PA: Mode 1  
PC6,7  
1: nhp  
0: xut  
PB: Mode 1 PB: nhp  
- Ttrng thái: sẽ được đặt trong thanh ghi tích lunếu đọc Port C.  
D7  
I/O  
D6  
I/O  
D5  
D4  
D3  
D2  
D1  
D0  
IBFA  
INTEA INTRA INTEB  
IBFB  
INTRB  
Phm Hùng Kim Khánh  
Trang 88  
Tài liu vi xlý  
Tchc nhp / xut  
2.4.5.2. Các tín hiu điu khin xut  
Port A xut  
INTEA  
PC7  
PC6  
OBFA  
ACKA  
INTRA  
PC3  
Port B xut  
INTEB  
PC1  
PC2  
OBFB  
ACKB  
INTRB  
I/O  
PC0  
PC4,5  
Hình 4.13 – Cu hình xut ca 8255A mode 1  
Chc năng các đường tín hiu :  
-
OBF (Output Buffer Full): tín hiu này sxung mc thp khi µP ghi  
dliu vào Port xut ca 8225A. Tín hiu này đưa đến thiết bngoi vi  
để xác định dliu sn sàng đưa vào ngoi vi (Hình 4.14). Nó slên  
mc cao khi 8255A nhn ACK tngoi vi.  
-
ACK (Acknowledge): đây là tín hiu nhp tngoi vi (tích cc mc  
thp) xác nhn dliu đã nhp vào ngoi vi.  
- INTR (Interrupt Request): đây là tín hiu xut, đặt bng cnh lên ca tín  
hiu ACK. Tín hiu này có thdùng để ngt µP yêu cu byte dliu kế  
tiếp để xut. INTR được đặt khi OBF, ACK và INTE mc logic 1  
(Hình 4.14) và được xoá bi cnh xung ca tín hiu WR  
- INTE (Interrupt Enable): đây là flipflop ni dùng để to tín hiu INTR.  
Hai flipflop INTEA và INTEB điu khin bng các bit PC6 và PC2  
thông qua BSR mode.  
Phm Hùng Kim Khánh  
Trang 89  
Tài liu vi xlý  
Tchc nhp / xut  
WR  
OBF  
INTR  
ACK  
Output  
Hình 4.14 – Dng sóng cho xut strobe (có ly mãu) (vi bt tay)  
™ Từ điu khin và trng thái:  
- Từ điu khin:  
D7  
1
I/O  
mode  
D6  
0
D5  
1
D4  
0
D3  
1/0  
D2  
1
D1  
D0  
X
0
PA: Mode 1  
PA: xut PC4,5  
PB:  
PB: xut  
1: nhp mode 1  
0: xut  
- Ttrng thái:  
D6 D5  
D7  
OBFA  
D4  
I/O  
D3  
D2  
D1  
OBFB  
D0  
INTEA I/O  
INTRA INTEB  
INTRB  
2.4.6.Mode 2: Truyn dliu song hướng  
Mode nay dùng chyếu trong các ng dng như truyn dliu gia hai máy  
tính hay giao tiếp bộ điu khin đĩa mm. Trong mode này, Port A dùng làm Port song  
hướng và Port B làm vic Mode 0 hay 1. Port A sdng 5 tín hiu ti Port C làm các  
tín hiu điu khin để truyn dliu. Ba tín hiu còn li ca Port C được dùng làm I/O  
đơn gin hay bt tay cho Port B.  
Phm Hùng Kim Khánh  
Trang 90  
Tài liu vi xlý  
Tchc nhp / xut  
Port A  
OBFA  
ACKA  
PA7 ÷PA0  
Từ điu khin:  
D2  
D7 D6 D5 D4 D3  
D1  
1
D0  
PC7  
PC6  
1
1
X
X
X
0
1/0  
I/O  
PA:  
Mode 2  
PB:  
PB:  
PC2÷0:  
1:Nhp  
0:Xut  
IBFA  
Mode 0 Nhp  
PC5  
PC4  
STBA  
INTRA  
PC3  
I/O  
PC2 ÷ PC0  
PB7 ÷PB0  
Port B  
(a) 8255A mode 2 và mode 0 (nhp)  
Port A  
OBFA  
ACKA  
PA7 ÷PA0  
Từ điu khin:  
D7 D6 D5 D4 D3  
D2  
1
D1  
0
D0  
X
PC7  
PC6  
1
1
X
X
X
I/O  
PA:  
Mode 2  
PB:  
PB:  
IBFA  
Mode 1 xut  
PC5  
PC4  
STBA  
INTRA  
PC3  
Port B  
PB7 ÷PB0  
PC1  
OBFB  
PC2  
ACKB  
PC0  
INTRB  
(a) 8255A mode 2 và mode 1 (xut)  
Hình 4.15 – 8255A dùng Mode 2  
2.4.7.Các ví dminh ha  
2.4.7.1. Giao tiếp vi bchuyn đổi A/D ADC0804 dùng  
8255A Mode 0 và Mode BSR  
Ta thiết lp 8255A hot động như sau:  
- Dùng Port A để đọc dliu.  
- Dùng PC0, PC3 điu khin các chân RD , WR ca ADC0804.  
Phm Hùng Kim Khánh  
Trang 91  
Tài liu vi xlý  
Tchc nhp / xut  
Xét sơ đồ mch có logic chn chip ging như hình 4.10. Tm địa chPort từ  
300h ÷ 303h.  
- Từ điu khin mode 0:  
Port A: nhp  
Pot B: không sdng  
Port Clow: port xut dùng để điu khin 2 ngõ RD , WR ca ADC0804  
Port Chigh: port nhp dùng để đọc trng thái chân INTR ca ADC0804  
D7  
1
D6  
0
D5  
0
D4  
1
D3  
0
D2  
0
D1  
0
D0  
0
= 90h  
I/O PA: mode 0 PA: nhp PCH: xut PB: không sdng PCL: xut  
- Từ điu khin BSR:  
D7 D6 D5 D4 D3 D2 D1 D0  
Đặt PC0  
Xoá PC0  
Đặt PC3  
Xoá PC3  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
1
0
= 01h  
= 00h  
= 07h  
= 06h  
Phm Hùng Kim Khánh  
Trang 92  
1
1
1
1
1
1
2
2
2
2
2
2
A15  
A14  
A13  
A12  
A11  
A10  
34  
33  
32  
31  
30  
29  
28  
27  
4
18  
17  
16  
15  
14  
13  
12  
11  
6
7
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
PA0  
PA1  
PA2  
PA3  
PA4  
PA5  
PA6  
PA7  
DB0  
DB1  
DB2  
DB3  
DB4  
DB5  
DB6  
DB7  
+IN  
-IN  
VI+  
VI-  
3
2
1
9
VREF/2  
CLKR  
VREF/2  
40  
39  
38  
37  
19  
4
CLKIN  
1
2
3
CS  
RD  
5
36  
9
18  
19  
20  
21  
22  
23  
24  
25  
5
IOR  
IOW  
A0  
RD  
PB0  
PB1  
PB2  
PB3  
PB4  
PB5  
PB6  
PB7  
INTR  
WR  
WR  
A0  
ADC0804  
8
A1  
A1  
35  
6
8255  
RESET  
RESET  
CS  
U?A  
1
2
3
14  
15  
16  
17  
13  
12  
11  
10  
PC0  
PC1  
PC2  
PC3  
PC4  
PC5  
PC6  
PC7  
7400  
A9  
A8  
1
1
1
1
1
1
2
2
2
2
2
2
A7  
A6  
A5  
A4  
A3  
A2  
Hình 4.16 – Giao tiếp bchuyn đổi A/D ADC0804 dùng 8255A  
Tải về để xem bản đầy đủ
pdf 30 trang Thùy Anh 05/05/2022 2860
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Vi xử lý - Chương 4: Tổ chức nhập/xuất", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_vi_xu_ly_chuong_4_to_chuc_nhapxuat.pdf