PIC 8259A có tất cả 4 từ điều khiển khởi đầu làICW1-ICW4. Trong khi lập
trình cho PIC không phải lúc nào ta cũng cần dùng cả 4 từ điều khiển đó. Tuỳ theo
các trường hợp ứng dụng cụ thể màcó lúc ta cần ghi liên tiếp cả 4 từ điều khiển khởi
đầu nhưng có lúc ta chỉ cần ghi vào đó 2 hay 3 từ làđủ (xem hình 7.7 để thấy rõ thứ
tự ghi vàđiều kiện để ghi các từ điều khiển ICW vào 8259A).
Dạng thức của các thanh ghi điều khiển khởi đầu ICW được biểu diễn trên
hình 7.8.
Trên hình này ta thấy bên cạnh các bit dữ liệu của từ điều khiển khởi đầu
ICW ta còn ghi rõ thêm cả giá trị cụ thể của A0 tương ứng cho mỗi ICW đó. Đầu vào
địa chỉ A0 vàthứ tự ghi sẽ giúp ta phân biệt ra các thanh ghi khác nhau bên trong
PIC để ghi dữ liệu cho các từ điều khiển. Ví dụ A0=0 làdấu hiệu để nhận biết rằng
ICW1 được đưa vào thanh ghi có địa chỉ chẵn trong PIC, còn khi A0=1 thì các từ điều
khiển khởi đầu ICW2, ICW3, ICW4 sẽ đ-ợc đ-a vào các thanh ghi có địa chỉ lẻ trong
mạch PIC.
27 trang |
Chia sẻ: netpro | Lượt xem: 1944 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Tìm hiểu về ngắt và xử lý ngắt trong hệ 8088, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Ò nhê IRET, cê IF cò ®−îc tr¶ l¹i. TiÕp theo ®ã CPU sÏ ®¸p øng
yªu cÇu ng¾t INTR b»ng c¸ch thùc hiÖn ch−¬ng tr×nh phôc vô ng¾t dμnh cho INTR.
210
2.4. M¹ch ®iÒu khiÓn ng¾t −u tiªn 8259A
Trong tr−êng hîp cã nhiÒu yªu cÇu ng¾t che ®−îc tõ bªn ngoμi ph¶i phôc vô
ta th−êng dïng vi m¹ch cã s½n 8259A ®Ó gi¶i quyÕt vÊn ®Ò −u tiªn. M¹ch 8259A ®−îc
gäi lμ m¹ch ®iÒu khiÓn ng¾t −u tiªn (priority interrupt controller, PIC). §ã lμ mét vi
m¹ch cì lín lËp tr×nh ®−îc, cã thÓ xö lý tr−íc ®−îc 8 yªu cÇu ng¾t víi 8 møc −u tiªn
kh¸c nhau ®Ó t¹o ra mét yªu cÇu ng¾t ®−a ®Õn ®Çu vμo INTR (yªu cÇu ng¾t che ®−îc)
cña CPU 8088. NÕu nèi tÇng 1 m¹ch 8259A chñ víi 8 m¹ch 8259A thî ta cã thÓ n©ng
tæng sè c¸c yªu cÇu ng¾t víi c¸c møc −u tiªn kh¸c nhau lªn thμnh 64.
Bus néi bé INTA INT
D0-D7
RD
§Öm
bus D Logic ®iÒu khiÓn
Logic
ghi/®äc
WR IR0
A0 IR1
:
CS
IR7
Cas0
Cas1
Cas2
SP/EN
Ghi chó:
IR0-IR7: C¸c yªu cÇu ng¾t
IRR: Thanh ghi yªu cÇu ng¾t
PR: Bé xö lý −u tiªn
SP/EN: Slave program/Enable buffer (lËp tr×nh thμnh m¹ch thî/më ®Öm bus
d÷ liÖu)
ISR: Thanh ghi c¸c yªu cÇu ng¾t ®ang ®−îc phôc vô
Cas0-Cas2: TÝn hiÖu nèi tÇng gi÷a c¸c PIC víi nhau
H×nh 7.4. S¬ ®å khèi cña PIC 8259A.
C¸c khèi chøc n¨ng chÝnh cña 8259A
§Öm nèi
tÇng vμ
so s¸nh IMR
(thanh ghi mÆt n¹ ng¾t)
ISR
PR
IRR
211
+ Thanh ghi IRR: ghi nhí c¸c yªu cÇu ng¾t cã t¹i ®Çu vμo IRi.
+ Thanh ghi ISR: ghi nhí c¸c yªu cÇu ng¾t ®ang ®−îc phôc vô trong sè c¸c
yªu cÇu ng¾t IRi.
+ Thanh ghi IMR: ghi nhí mÆt n¹ ng¾t ®èi víi c¸c yªu cÇu ng¾t IRi.
+ Logic ®iÒu khiÓn: khèi nμy cã nhiÖm vô göi yªu cÇu ng¾t tíi INTR cña 8088
khi cã tÝn hiÖu t¹i c¸c ch©n IRi vμ nhËn tr¶ lêi chÊp nhËn yªu cÇu ng¾t INTA tõ CPU
®Ó råi ®iÒu khiÓn viÖc ®−a ra kiÓu ng¾t trªn bus d÷ liÖu.
+ §Öm bus d÷ liÖu: dïng ®Ó phèi ghÐp 8259A víi bus d÷ liÖu cña CPU.
+ Logic ®iÒu khiÓn ghi/®äc: dïng cho viÖc ghi c¸c tõ ®iÒu khiÓn vμ ®äc c¸c tõ
tr¹ng th¸i cña 8259A.
+ Khèi ®Öm nèi tÇng vμ so s¸nh: ghi nhí vμ so s¸nh sè hiÖu cña c¸c m¹ch
8259A cã mÆt trong hÖ vi xö lý.
C¸c tÝn hiÖu cña 8259A:
Mét sè tÝn hiÖu trong m¹ch 8259 cã tªn gièng nh− c¸c tÝn hiÖu tiªu chuÈn cña
hÖ vi xö lý 8088. Ta cã thÓ thÊy râ vμ hiÓu ®−îc ý nghÜa cña chóng ngay trªn h×nh 7.4.
Ngoμi c¸c tÝn hiÖu nμy ra, cßn cã mét sè tÝn hiÖu ®Æc biÖt kh¸c cña 8259A cÇn ph¶i
giíi thiÖu thªm gåm:
+ Cas0-Cas2[I,O]: lμ c¸c ®Çu vμo ®èi víi c¸c m¹ch 8259A thî hoÆc c¸c ®Çu ra
cña m¹ch 8259A chñ dïng khi cÇn nèi tÇng ®Ó t¨ng thªm c¸c yªu cÇu ng¾t cÇn xö lý.
+ SP/EN[I,O]: Khi 8259A lμm viÖc ë chÕ ®é kh«ng cã ®Öm bus d÷ liÖu th× ®©y
lμ tÝn hiÖu vμo dïng lËp tr×nh ®Ó biÕn m¹ch 8259A thμnh m¹ch thî (SP=0) hoÆc chñ
(SP=1); khi 8259A lμm viÖc trong hÖ vi xö lý ë chÕ ®é cã ®Öm bus d÷ liÖu th× ch©n nμy
lμ tÝn hiÖu ra EN dïng më ®Öm bus d÷ liÖu ®Ó 8088 vμ 8259A th«ng vμo bus d÷ liÖu
hÖ thèng. Lóc nμy viÖc ®Þnh nghÜa m¹ch 8259A lμ chñ hoÆc thî ph¶i thùc hiÖn th«ng
qua tõ ®iÒu khiÓn khëi ®Çu ICW4.
+ INT [O]: TÝn hiÖu yªu cÇu ng¾t ®Õn ch©n INTR cña CPU 8088.
+ INTA [I]: Nèi víi tÝn hiÖu b¸o chÊp nhËn ng¾t INTA cña CPU.
PIC 8259A chñ (ë chÕ ®é kh«ng ®Öm) nèi víi CPU 8088 ë chÕ ®é MIN
Trªn h×nh 7.5 lμ s¬ ®å nèi m¹ch PIC 8259A lμm viÖc ®éc lËp (m¹ch chñ) víi
bus cña CPU 8088 lμm viÖc ë chÕ ®é MIN.
PIC 8259A chñ nèi víi CPU 8088 ë chÕ ®é MAX
NÕu hÖ vi xö lý 8088 lμm viÖc ë chÕ ®é MAX th−êng ta ph¶i dïng m¹ch ®iÒu
khiÓn bus 8288 vμ c¸c ®Öm bus ®Ó cung cÊp c¸c tÝn hiÖu thÝch hîp cho bus hÖ thèng.
M¹ch 8259A ph¶i lμm viÖc ë chÕ ®é cã ®Öm ®Ó nèi ®−îc víi bus hÖ thèng nμy.
212
Trªn h×nh 7.6 lμ vÝ dô mét s¬ ®å CPU 8088 chÕ ®é MAX nèi víi PIC 8259A.
Trong m¹ch nμy ta nhËn thÊy tÝn hiÖu ®Þa chØ cho 8259A ®−îc lÊy ra tõ bus hÖ thèng,
trong khi ®ã tÝn hiÖu d÷ liÖu cña nã ®−îc nèi víi bus d÷ liÖu cña vi xö lý vμ tõ ®ã ®−îc
th«ng qua c¸c ®Öm ®Ó nèi vμo bus hÖ thèng.
D0-D7
Bus :
hÖ RD : c¸c yªu cÇu ng¾t
thèng WR
cña A0
8088
ë INTR +5V
8259A
D0-D7 IR0
RD
WR IR7
A0
INTA
CS
chÕ INTA
®é A1-A7
MIN IO/M
H×nh 7.5. Nèi BUS 8088 chÕ ®é MIN víi PIC 8259A (®Þa chØ cæng FE-FFH)
+5V
Bus hÖ thèng
A0-A19
D0-D7
A0 Xung chän
+ 5V
c¸c
+5V yªu cÇu
ng¾t
AEN2
Res
8284
RDY1 AEN1
CLK
READY
Reset
CSYNC F/C
RESET A16-19
READY A8-15
AD0-AD7
8088
S0-S2
MN/MX INTR
CLK
DI0-DI7
DO0-DO7
OC
G 3X'373
'245
DIR
G
CEN
S0-S2 AEN
ALE
8288 DT/R
IORDC
DEN
CLK AIOWC
IOB INTA
A0 CS
D0-D7 IR0
8259A :
IR7
CAS2
RD
SP/EN CAS0
CAS1
WR
INTA
INT
INT SP/EN
213
H×nh 7.6. Nèi CPU 8088 chÕ ®é MAX víi PIC 8259A
LËp tr×nh cho PIC 8259A
§Ó m¹ch PIC 8259A cã thÓ ho¹t ®éng ®−îc theo yªu cÇu, sau khi bËt nguån
cÊp ®iÖn PIC cÇn ph¶i ®−îc lËp tr×nh b»ng c¸ch ghi vμo c¸c thanh ghi (t−¬ng ®−¬ng
víi c¸c cæng) bªn trong nã c¸c tõ ®iÒu khiÓn khëi ®Çu (ICW) vμ tiÕp sau ®ã lμ c¸c tõ
®iÒu khiÓn ho¹t ®éng (OCW).
C¸c tõ ®iÒu khiÓn khëi ®Çu dïng ®Ó t¹o nªn c¸c kiÓu lμm viÖc c¬ b¶n cho PIC,
cßn c¸c tõ ®iÒu khiÓn ho¹t ®éng sÏ quyÕt ®Þnh c¸ch thøc lμm viÖc cô thÓ cña PIC. Tõ
®iÒu khiÓn ho¹t ®éng sÏ ®−îc ghi khi ta muèn thay ®æi ho¹t ®éng cña PIC.
C¸c tõ ®iÒu khiÓn nãi trªn sÏ ®−îc giíi thiÖu cô thÓ trong c¸c môc sau.
• C¸c tõ ®iÒu khiÓn khëi ®Çu ICW
PIC 8259A cã tÊt c¶ 4 tõ ®iÒu khiÓn khëi ®Çu lμ ICW1-ICW4. Trong khi lËp
tr×nh cho PIC kh«ng ph¶i lóc nμo ta còng cÇn dïng c¶ 4 tõ ®iÒu khiÓn ®ã. Tuú theo
c¸c tr−êng hîp øng dông cô thÓ mμ cã lóc ta cÇn ghi liªn tiÕp c¶ 4 tõ ®iÒu khiÓn khëi
®Çu nh−ng cã lóc ta chØ cÇn ghi vμo ®ã 2 hay 3 tõ lμ ®ñ (xem h×nh 7.7 ®Ó thÊy râ thø
tù ghi vμ ®iÒu kiÖn ®Ó ghi c¸c tõ ®iÒu khiÓn ICW vμo 8259A).
D¹ng thøc cña c¸c thanh ghi ®iÒu khiÓn khëi ®Çu ICW ®−îc biÓu diÔn trªn
h×nh 7.8.
Trªn h×nh nμy ta thÊy bªn c¹nh c¸c bit d÷ liÖu cña tõ ®iÒu khiÓn khëi ®Çu
ICW ta cßn ghi râ thªm c¶ gi¸ trÞ cô thÓ cña A0 t−¬ng øng cho mçi ICW ®ã. §Çu vμo
®Þa chØ A0 vμ thø tù ghi sÏ gióp ta ph©n biÖt ra c¸c thanh ghi kh¸c nhau bªn trong
PIC ®Ó ghi d÷ liÖu cho c¸c tõ ®iÒu khiÓn. VÝ dô A0=0 lμ dÊu hiÖu ®Ó nhËn biÕt r»ng
ICW1 ®−îc ®−a vμo thanh ghi cã ®Þa chØ ch½n trong PIC, cßn khi A0=1 th× c¸c tõ ®iÒu
khiÓn khëi ®Çu ICW2, ICW3, ICW4 sÏ ®−îc ®−a vμo c¸c thanh ghi cã ®Þa chØ lÎ trong
m¹ch PIC.
♦ ICW1
Bit D0 cña ICW1 quyÕt ®Þnh 8259A sÏ ®−îc nèi víi hä vi xö lý nμo. §Ó lμm
viÖc víi hÖ 16 - 32 bit (8088 hoÆc hä 80x86) th× ICW1 nhÊt thiÕt ph¶i cã IC4 =1 (tøc lμ
ta lu«n cÇn ®Õn ICW4), cßn ®èi víi hÖ 8 bit nh− hä 8080/85 th× ph¶i cã IC4 = 0 (vμ nh−
vËy c¸c bit cña ICW4 sÏ bÞ xo¸ vÒ 0). C¸c bit cßn l¹i cña ICW1 ®Þnh nghÜa c¸ch thøc
t¸c ®éng cña xung yªu cÇu ng¾t (t¸c ®éng theo s−ên hay theo møc) t¹i c¸c ch©n yªu
214
cÇu ng¾t IR cña m¹ch 8259A vμ viÖc bè trÝ c¸c m¹ch 8259A kh¸c trong hÖ lμm viÖc
®¬n lÎ hay theo chÕ ®é nèi tÇng.
C¸c bit ®−îc ®¸nh dÊu x lμ kh«ng quan träng vμ th−êng ®−îc lÊy gi¸ trÞ 0 ®Ó
lËp tr×nh cho c¸c øng dông sau nμy.
ICW1
ICW2
ICW3
H×nh 7.7. Thø tù vμ ®iÒu kiÖn ghi c¸c tõ ®iÒu khiÓn khëi ®Çu ICW.
♦ ICW2
Tõ ®iÒu khiÓn khëi ®Çu nμy cho phÐp chän kiÓu ng¾t (sè hiÖu ng¾t) øng víi
c¸c bit T3-T7 cho c¸c ®Çu vμo yªu cÇu ng¾t. C¸c bit T0-T2 ®−îc 8259A tù ®éng g¸n
gi¸ trÞ tuú theo ®Çu vμo yªu cÇu ng¾t cô thÓ IRi. VÝ dô nÕu ta muèn c¸c ®Çu vμo cña
m¹ch 8259A cã kiÓu ng¾t lμ 40-47H ta chØ cÇn ghi 40H vμo c¸c bit T3-T7. NÕu lμm
nh− vËy th× IR0 sÏ cã kiÓu ng¾t lμ 40H, IR1 sÏ cã kiÓu ng¾t lμ 41H...
ICW1(2)=1?
ICW1(1)=1?
ICW4
S½n sμng
nhËn yªu cÇu
ng¾t
®
S
S
®
215
♦ ICW3
Tõ ®iÒu khiÓn khëi ®Çu nμy chØ dïng ®Õn khi bit SNGL thuéc tõ ®iÒu khiÓn
khëi ®Çu ICW1 cã gi¸ trÞ 0, nghÜa lμ trong hÖ cã c¸c m¹ch 8259A lμm viÖc ë chÕ ®é nèi
tÇng. ChÝnh v× vËy tån t¹i 2 lo¹i ICW3: 1 cho m¹ch 8259A chñ vμ 1 cho m¹ch 8259A
thî.
ICW1
A0 D7 D6 D5 D4 D3 D2 D1 D0
0 x x x 1 LTIM ADI SNGL IC4
1: cÇn ICW4
Kh«ng cÇn ®Ó ý ®èi víi hÖ 16 -32 bit 0: bá ICW4
1: chØ cã 1 m¹ch PIC
0: cã nhiÒu m¹ch PIC
C¸ch t¸c ®éng cña xung yªu cÇu ng¾t: Kho¶ng c¸ch gi÷a c¸c vector ng¾t:
1: theo møc d−¬ng 1: c¸ch 4 byte (80x86/88)
0: theo s−ên d−¬ng 0: c¸ch 8 byte (8080/85)
ICW2
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 T7 T6 T5 T4 T3 T2 T1 T0
®Ó chän kiÓu (sè hiÖu) ng¾t cho øng víi m· cña yªu cÇu
m¹ch 8259A ng¾t IR0-IR7
ICW3 chñ
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 S7 S6 S5 S4 S3 S2 S1 S0
1: ®Çu vμo IRi nèi víi m¹ch 8259A thî
0: ®Çu vμo IRi kh«ng nèi víi m¹ch thî
ICW3 thî
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 0 0 0 0 0 ID2 ID1 ID0
M· ho¸ sè hiÖu cña m¹ch thî 0-7 nèi vμo IR0-IR7
ICW4
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 0 0 0 SFNM BUF M/S AEOI μPM
1: cho hä 80x86/88
1: chÕ ®é −u tiªn cè ®Þnh ®Æc biÖt 1: EOI tù ®éng
216
0: kh«ng ph¶i chÕ ®é −u 0: EOI th−êng
tiªn cè ®Þnh ®Æc biÖt
0x: 8259A ë chÕ ®é kh«ng ®Öm
10: m¹ch 8259A thî ë chÕ ®é ®Öm
11: m¹ch 8259A chñ ë chÕ ®é ®Öm
H×nh 7.8. D¹ng thøc cña c¸c tõ ®iÒu khiÓn khëi ®Çu ICW.
ICW3 cho m¹ch chñ: dïng ®Ó chØ ra ®Çu vμo yªu cÇu ng¾t IRi nμo cña nã cã
tÝn hiÖu INT cña m¹ch thî nèi vμo.
ICW3 cho m¹ch thî: dïng lμm ph−¬ng tiÖn ®Ó c¸c m¹ch nμy ®−îc nhËn biÕt,
v× vËy tõ ®iÒu khiÓn khëi ®Çu nμy ph¶i chøa m· sè i øng víi ®Çu vμo IRi cña m¹ch
chñ mμ m¹ch thî ®· cho nèi vμo. M¹ch thî sÏ so s¸nh m· sè nμy víi m· sè nhËn ®−îc
ë Cas2-Cas0. NÕu b»ng nhau th× sè hiÖu ng¾t sÏ ®−îc ®−a ra bus khi cã INTA.
VÝ dô: Trong mét hÖ vi xö lý ta cã mét m¹ch 8259A chñ vμ hai m¹ch 8259A
thî nèi vμo ch©n IR0 vμ IR1 cña m¹ch chñ.
T×m gi¸ trÞ ph¶i g¸n cho c¸c tõ ®iÒu khiÓn khëi ®Çu ICW ?
Gi¶i: Nh− trªn ®· nãi, ®Ó c¸c m¹ch nμy lμm viÖc ®−îc víi nhau ta sÏ ph¶i ghi
c¸c tõ ®iÒu khiÓn khëi ®Çu nh− sau: ICW3=03H cho m¹ch chñ, ICW3=00H cho m¹ch
thî thø nhÊt vμ ICW3=01H cho m¹ch thî thø hai.
♦ ICW4
Tõ ®iÒu khiÓn khëi ®Çu nμy chØ dïng ®Õn khi trong tõ ®iÒu khiÓn ICW1 cã
IC4=1 (cÇn thªm ICW4).
Bit μPM cho ta kh¶ n¨ng chän lo¹i vi xö lý ®Ó lμm viÖc víi 8259A. Bit μPM=1
cho phÐp c¸c bé vi xö lý tõ 8086/88 hoÆc cao h¬n lμm viÖc víi 8259A.
Bit SFNM=1 cho phÐp chän chÕ ®é −u tiªn cè ®Þnh ®Æc biÖt. Trong chÕ ®é nμy
yªu cÇu ng¾t víi møc −u tiªn cao nhÊt hiÖn thêi tõ mét m¹ch thî lμm viÖc theo kiÓu
nèi tÇng sÏ ®−îc m¹ch chñ nhËn biÕt ngay c¶ khi m¹ch chñ cßn ®ang ph¶i phôc vô
mét yªu cÇu ng¾t ë m¹ch thî kh¸c nh−ng víi møc −u tiªn thÊp h¬n. Sau khi c¸c yªu
cÇu ng¾t ®−îc phôc vô xong th× ch−¬ng tr×nh phôc vô ng¾t ph¶i cã lÖnh kÕt thóc yªu
cÇu ng¾t (EOI) ®Æt tr−íc lÖnh trë vÒ (IRET) ®−a ®Õn cho m¹ch 8259A chñ.
Khi bit SFNM=0 th× chÕ ®é −u tiªn cè ®Þnh ®−îc chän (IR0: møc −u tiªn cao
nhÊt, IR7: møc −u tiªn thÊp nhÊt). Thùc ra ®èi víi m¹ch 8259A kh«ng dïng ®Õn
ICW4 th× chÕ ®é nμy ®· ®−îc chän nh− lμ ngÇm ®Þnh. Trong chÕ ®é −u tiªn cè ®Þnh t¹i
mét thêi ®iÓm chØ cã mét yªu cÇu ng¾t i ®−îc phôc vô (bit ISRi=1), lóc nμy tÊt c¶ c¸c
yªu cÇu kh¸c víi møc −u tiªn thÊp h¬n ®Òu bÞ cÊm, tÊt c¶ c¸c yªu cÇu kh¸c víi møc
−u tiªn cao h¬n cã thÓ ng¾t yªu cÇu kh¸c víi møc −u tiªn thÊp h¬n.
Bit BUF cho phÐp ®Þnh nghÜa m¹ch 8259A ®Ó lμm viÖc víi CPU trong tr−êng
hîp cã ®Öm hoÆc kh«ng cã ®Öm nèi víi bus hÖ thèng. Khi lμm viÖc ë chÕ ®é cã ®Öm
217
(BUF=1), bit M/S =1/0 cho phÐp ta chän m¹ch 8259A ®Ó lμm viÖc ë chÕ ®é chñ/thî.
SP/EN trë thμnh ®Çu ra cho phÐp më ®Öm ®Ó PIC vμ CPU th«ng víi bus hÖ thèng.
Bit AEOI=1 cho phÐp chän c¸ch kÕt thóc yªu cÇu ng¾t tù ®éng. Khi AEOI=1
th× 8259A tù ®éng xo¸ ISRi=0 khi xung INTA cuèi cïng chuyÓn lªn møc cao mμ
kh«ng lμm thay ®æi thø tù −u tiªn. Ng−îc l¹i, khi ta chän c¸ch kÕt thóc yªu cÇu ng¾t
th−êng (AEOI=0) th× ch−¬ng tr×nh phôc vô ng¾t ph¶i cã thªm lÖnh EOI ®Æt tr−íc
lÖnh IRET ®Ó kÕt thóc cho 8259A.
• C¸c tõ ®iÒu khiÓn ho¹t ®éng OCW
C¸c tõ ®iÒu khiÓn ho¹t ®éng OCW sÏ quyÕt ®Þnh m¹ch 8259A sÏ ho¹t ®éng
nh− thÕ nμo sau khi nã ®· ®−îc khëi ®Çu b»ng c¸c tõ ®iÒu khiÓn ICW. TÊt c¶ c¸c tõ
®iÒu khiÓn ho¹t ®éng sÏ ®−îc ghi vμo c¸c thanh ghi trong PIC khi A0=0, trõ OCW1
®−îc ghi khi A0=1.
D¹ng thøc cña OCW ®−îc tr×nh bμy trªn h×nh 7.9.
♦ OCW1
OCW1 dïng ®Ó ghi gi¸ trÞ cña c¸c bit mÆt n¹ vμo thanh ghi mÆt n¹ ng¾t IMR.
Khi mét bit mÆt n¹ nμo ®ã cña IMR ®−îc lËp th× yªu cÇu ng¾t t−¬ng øng víi mÆt n¹
®ã sÏ kh«ng ®−îc 8259A nhËn biÕt n÷a (bÞ che). Tõ ®iÒu khiÓn nμy ph¶i ®−îc ®−a ®Õn
8259A ngay sau khi ghi c¸c ICW vμo 8259A.
Ta còng cã thÓ ®äc l¹i IMR ®Ó x¸c ®Þnh t×nh tr¹ng mÆt n¹ ng¾t hiÖn t¹i (xem
trong thêi ®iÓm hiÖn t¹i yªu cÇu ng¾t nμo bÞ che).
♦ OCW2
C¸c bit R, SL vμ EOI phèi hîp víi nhau cho phÐp chän ra c¸c c¸ch thøc kÕt
thóc yªu cÇu ng¾t kh¸c nhau. Mét vμi c¸ch kÕt thóc yªu cÇu ng¾t cßn t¸c ®éng tíi c¸c
yªu cÇu ng¾t ®−îc chØ ®Ých danh víi møc −u tiªn ®−îc m· ho¸ bëi 3 bit L2L1L0.
Tr−íc khi nãi vÒ c¸c c¸ch kÕt thóc yªu cÇu ng¾t cho c¸c chÕ ®é ta cÇn më dÊu
ngoÆc ë ®©y ®Ó giíi thiÖu c¸c chÕ ®é lμm viÖc cña 8259A:
a. ChÕ ®é −u tiªn cè ®Þnh:
§©y lμ chÕ ®é lμm viÖc ngÇm ®Þnh cña 8259A sau khi nã ®· ®−îc n¹p c¸c tõ
®iÒu khiÓn khëi ®Çu.
Trong chÕ ®é nμy, c¸c ®Çu vμo IR7-IR0 ®−îc g¸n cho c¸c møc −u tiªn cè ®Þnh:
IR0 ®−îc g¸n cho møc −u tiªn cao nhÊt, cßn IR7 møc −u tiªn thÊp nhÊt. Møc −u tiªn
nμy®−îc gi÷ kh«ng thay ®æi cho ®Õn khi ghi m¹ch 8259A bÞ lËp tr×nh kh¸c ®i do
OCW2.
218
Trong chÕ ®é −u tiªn cè ®Þnh t¹i mét thêi ®iÓm chØ cã mét yªu cÇu ng¾t i ®−îc
phôc vô (bit ISRi=1), lóc nμy tÊt c¶ c¸c yªu cÇu kh¸c víi møc −u tiªn thÊp h¬n ®Òu bÞ
cÊm, tÊt c¶ c¸c yªu cÇu kh¸c víi møc −u tiªn cao h¬n cã thÓ ng¾t yªu cÇu kh¸c víi
møc −u tiªn thÊp h¬n.
OCW1
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 M7 M6 M5 M4 M3 M2 M1 M0
MÆt n¹ ng¾t t¹i c¸c yªu cÇu ng¾t
1: cã mÆt n¹
0: kh«ng cã mÆt n¹
m· ho· møc −u tiªn
OCW2
A0 D7 D6 D5 D4 D3 D2 D1 D0
0 R SL EOI 0 0 L2 L1 L0
0 0 1
0 1 1
1 0 1
1 0 0
0 0 0
1 1 1
1 1 0
0 1 0
ng¾t bÞ t¸c ®éng
000...møc 0
:
111...møc 7
KÕt thóc
ng¾t(EOI)
§æi møc
−u tiªn tù
®éng
§æi m.−.t.
®Ých danh
OCW3
A0 D7 D6 D5 D4 D3 D2 D1 D0
0 0 ESMM SMM 0 1 P ERIS RIS
LÖnh EOI th−êng
LÖnh EOI chØ ®Ých danh(*)
§æi møc −u tiªn khi cã EOI th−êng
LËp chÕ ®é quay khi cã EOI tù ®éng
Xo¸ chÕ ®é quay khi cã EOI tù ®éng
§æi møc −u tiªn khi cã EOI ®Ých danh(*)
LÖnh lËp møc −u tiªn(*)
Kh«ng lμm g×
(*): dïng tæ hîp L2L1L0
10: ®äc IRR ë lÇn ®äc sau
11: ®äc ISR ë lÇn ®äc sau
Th¨m dß hiÖn tr¹ng cña yªu cÇu ng¾t
1:®äc m· møc −u tiªn cao nhÊt ë lÇn ®äc sau
219
ChÕ ®é mÆt n¹ ®Æc biÖt
10: xo¸ chÕ ®é mÆt n¹ ®Æc biÖt
11: lËp chÕ ®é mÆt n¹ ®Æc biÖt
H×nh 7.9. D¹ng thøc cña c¸c tõ ®iÒu khiÓn ho¹t ®éng OCW.
b. ChÕ ®é quay møc −u tiªn (−u tiªn lu©n phiªn) tù ®éng:
ë chÕ ®é nμy sau khi mét yªu cÇu ng¾t ®−îc phôc vô xong, 8259A sÏ xo¸ bit
t−¬ng øng cña nã trong thanh ghi ISR vμ g¸n cho ®Çu vμo cña nã møc −u tiªn thÊp
nhÊt ®Ó t¹o ®iÒu kiÖn cho c¸c yªu cÇu ng¾t kh¸c cã thêi c¬ ®−îc phôc vô.
c. ChÕ ®é quay (®æi) møc −u tiªn chØ ®Ých danh:
ë chÕ ®é nμy ta cÇn chØ râ (®Ých danh) ®Çu vμo IRi nμo, víi i= L2L1L0, ®−îc
g¸n møc −u tiªn thÊp nhÊt, ®Çu vμo IRi+1 sÏ ®−îc tù ®éng g¸n møc −u tiªn cao nhÊt.
B©y giê ta ®ãng dÊu ngoÆc ®· ®−îc ra më ë trªn vμ trë l¹i c¸c vÊn ®Ò liªn
quan ®Õn OCW2. Ta sÏ nãi râ viÖc c¸c bit R, SL vμ EOI phèi hîp víi nhau nh− thÕ
nμo ®Ó t¹o ra c¸c lÖnh quy ®Þnh c¸c c¸ch thøc kÕt thóc yªu cÇu ng¾t cho c¸c chÕ ®é
lμm viÖc kh¸c nhau ®· nãi ®Õn ë phÇn trªn (xem thªm h×nh 7.9).
1. KÕt thóc yªu cÇu ng¾t th−êng: ch−¬ng tr×nh con phôc vô ng¾t ph¶i cã lÖnh
EOI ®Æt tr−íc lÖnh trë vÒ IRET cho 8259A. M¹ch 8259A sÏ x¸c ®Þnh yªu cÇu ng¾t IRi
võa ®−îc phôc vô vμ xo¸ bit ISRi t−¬ng øng cña nã ®Ó t¹o ®iÒu kiÖn cho chÝnh yªu cÇu
ng¾t nμy hoÆc c¸c ng¾t kh¸c cã møc −u tiªn thÊp h¬n cã thÓ ®−îc t¸c ®éng.
2. KÕt thóc yªu cÇu ng¾t chØ ®Ých danh: ch−¬ng tr×nh con phôc vô ng¾t ph¶i cã
lÖnh EOI chØ ®Ých danh ®Æt tr−íc lÖnh trë vÒ IRET cho 8259A. M¹ch 8259A xo¸ ®Ých
danh bit ISRi, víi i= L2L1L0, ®Ó t¹o ®iÒu kiÖn cho chÝnh yªu cÇu ng¾t nμy hoÆc c¸c
ng¾t kh¸c cã møc −u tiªn thÊp h¬n cã thÓ ®−îc t¸c ®éng.
3. Quay (®æi) møc −u tiªn khi kÕt thóc yªu cÇu ng¾t th−êng: ch−¬ng tr×nh con
phôc vô ng¾t ph¶i cã lÖnh EOI ®Æt tr−íc lÖnh trë vÒ IRET cho 8259A. M¹ch 8259A sÏ
x¸c ®Þnh yªu cÇu ng¾t thø i võa ®−îc phôc vô, xo¸ bit ISRi t−¬ng øng vμ g¸n lu«n
møc −u tiªn thÊp nhÊt cho ®Çu vμo IRi nμy, cßn ®Çu vμo IRi+1 sÏ ®−îc g¸n møc −u tiªn
cao nhÊt.
Thanh ghi ISR tr−íc khi IR4 ®−îc chÊp nhËn:
(0: møc −u tiªn cao nhÊt, 7: møc −u tiªn thÊp nhÊt)
IS7 IS6 IS5 IS4 IS3 IS2 IS1 IS0
Tr¹ng th¸i cña ISR 0 1 0 1 0 0 0 0
Møc −u tiªn 7 6 5 4 3 2 1 0
Thanh ghi ISR sau khi IR4 ®−îc chÊp nhËn vμ sau khi cã lÖnh quay:
(0: møc −u tiªn cao nhÊt, 7: møc −u tiªn thÊp nhÊt)
220
IS7 IS6 IS5 IS4 IS3 IS2 IS1 IS0
Tr¹ng th¸i cña ISR 0 1 0 0 0 0 0 0
Møc −u tiªn 2 1 0 7 6 5 4 3
H×nh 7.10. ISR vμ møc −u tiªn víi lÖnh quay khi kÕt thóc ng¾t th−êng.
Cã thÓ theo râi c¸ch thøc ho¹t ®éng cña m¹ch 8259A trong chÕ ®é quay (®æi)
møc −u tiªn khi kÕt thóc yªu cÇu ng¾t th−êng th«ng qua vÝ dô minh ho¹ tr×nh bμy
trªn h×nh 7.10.
4. Quay (®æi) møc −u tiªn trong chÕ ®é kÕt thóc yªu cÇu ng¾t tù ®éng: chØ cÇn
mét lÇn ®−a lÖnh chän chÕ ®é ®æi møc −u tiªn khi kÕt thóc yªu cÇu ng¾t tù ®éng. Cã
thÓ chän chÕ ®é nμy b»ng lÖnh lËp "chÕ ®é quay khi cã EOI tù ®éng". Tõ ®ã trë ®i
8259A sÏ ®æi møc −u tiªn mçi khi kÕt thóc ng¾t tù ®éng theo c¸ch t−¬ng tù nh− ë môc
3. Muèn bá chÕ ®é nμy ta cã thÓ dïng lÖnh xo¸ "chÕ ®é quay khi cã EOI tù ®éng".
5. Quay (®æi) møc −u tiªn khi kÕt thóc yªu cÇu ng¾t ®Ých danh: ch−¬ng tr×nh
con phôc vô ng¾t ph¶i cã lÖnh EOI ®Ých danh cho 8259A ®Æt tr−íc lÖnh trë vÒ IRET.
M¹ch 8259A sÏ xo¸ bit ISRi cña yªu cÇu ng¾t t−¬ng øng vμ g¸n lu«n møc −u tiªn
thÊp nhÊt cho ®Çu vμo IRi, víi i=L2L1L0.
6. LËp møc −u tiªn: chÕ ®é nμy cho phÐp thay ®æi møc −u tiªn cè ®Þnh hoÆc
møc −u tiªn g¸n tr−íc ®ã b»ng c¸ch g¸n møc −u tiªn thÊp nhÊt cho yªu cÇu ng¾t IRi
chØ ®Ých danh øng víi tæ hîp m· i= L2L1L0. Yªu cÇu ng¾t IR i+1 sÏ ®−îc g¸n møc −u
tiªn cao nhÊt.
♦ OCW3
Tõ ®iÒu khiÓn ho¹t ®éng OCW3 sau khi ®−îc ghi vμo 8259A cho phÐp:
+ chän c¸c ra thanh ghi ®Ó ®äc,
+ th¨m dß tr¹ng th¸i yªu cÇu ng¾t b»ng c¸ch tr¹ng th¸i cña ®Çu vμo yªu cÇu
ng¾t IRi víi møc −u tiªn cao nhÊt cïng m· cña ®Çu vμo ®ã, vμ
+ thao t¸c víi mÆt n¹ ®Æc biÖt.
D7 §6 D5 D4 D3 D2 D1 D0
IR7 IR6 IR5 IR4 IR3 IR2 IR0 IR0
a) IRR IRi=0: ®Çu vμo i kh«ng cã yªu cÇu ng¾t
IRi=1: ®Çu vμo i cã yªu cÇu ng¾t
D7 §6 D5 D4 D3 D2 D1 D0
221
IS7 IS6 IS5 IS4 IS3 IS2 IS1 IS0
b) ISR ISi=0: yªu cÇu ng¾t i kh«ng ®−îc phôc vô
ISi=1: yªu cÇu ng¾t i ®ang ®−îc phôc vô
H×nh 7.11. D¹ng thøc cña thanh ghi yªu cÇu ng¾t vμ thanh ghi phôc vô.
C¸c thanh ghi IRR vμ ISR cã thÓ ®äc ®−îc sau khi n¹p vμo 8259A tõ ®iÒu
khiÓn OCW3 víi bit ERIS=1; bit RIS=0 sÏ cho phÐp ®äc IRR, bit RIS=1 sÏ cho phÐp
®äc ISR. D¹ng thøc cña c¸c thanh ghi nμy®−îc biÓu diÔn trªn h×nh 7.11a vμ 6.11b.
B»ng viÖc ®−a vμo 8259A tõ ®iÒu khiÓn OCW3 víi bit P=1 ta cã thÓ ®äc ®−îc
trªn bus d÷ liÖu ë lÇn ®äc tiÕp ngay sau ®ã tõ th¨m dß, trong ®ã cã c¸c th«ng tin vÒ
yªu cÇu ng¾t víi møc −u tiªn cao nhÊt ®ang ho¹t ®éng vμ m· t−¬ng øng víi yªu cÇu
ng¾t Êy theo d¹ng thøc ®−îc biÓu diÔn trªn h×nh 7.12.
D7 §6 D5 D4 D3 D2 D1 D0
I x x x x W2 W1 W0
1: ®ang cã yªu cÇu ng¾t M· ho¸ sè cña yªu cÇu ng¾t
0: kh«ng cã yªu cÇu ng¾t
(x: kh«ng ®Ó ý)
H×nh 7.12. D¹ng thøc cña tõ th¨m dß tr¹ng th¸i yªu cÇu ng¾t.
Cã thÓ gäi ®©y lμ chÕ ®é th¨m dß yªu cÇu ng¾t vμ chÕ ®é nμy th−êng ®−îc øng
dông trong tr−êng hîp cã nhiÒu ch−¬ng tr×nh phôc vô ng¾t gièng nhau cho mét yªu
cÇu ng¾t vμ viÖc chän ch−¬ng tr×nh nμo ®Ó sö dông lμ tr¸ch nhiÖm cña ng−êi lËp
tr×nh.
Tãm l¹i, muèn dïng chÕ ®é th¨m dß cña 8259A ®Ó x¸c ®Þnh yªu cÇu ng¾t hiÖn
t¹i ta cÇn lμm c¸c thao t¸c lÇn l−ît nh− sau:
- CÊm c¸c yªu cÇu ng¾t b»ng lÖnh CLI
- Ghi tõ lÖnh OCW3 víi bit P=1
- §äc tõ th¨m dß tr¹ng th¸i yªu cÇu ng¾t trªn bus d÷ liÖu
Bit ESMM=1 cho phÐp 8259A thao t¸c víi chÕ ®é mÆt n¹ ®Æc biÖt. Bit SMM=1
cho phÐp lËp chÕ ®é mÆt n¹ ®Æc biÖt. ChÕ ®é mÆt n¹ ®Æc biÖt ®−îc dïng ®Ó thay ®æi
thø tù −u tiªn ngay bªn trong ch−¬ng tr×nh con phôc vô ng¾t. VÝ dô, trong tr−êng hîp
cã mét yªu cÇu ng¾t bÞ cÊm (bÞ che bëi ch−¬ng tr×nh phôc vô ng¾t víi tõ lÖnh OCW1)
mμ ta l¹i muèn cho phÐp c¸c yªu cÇu ng¾t víi møc −u tiªn thÊp h¬n so víi yªu cÇu
222
ng¾t bÞ cÊm ®ã ®−îc t¸c ®éng th× ta sÏ dïng chÕ ®é mÆt n¹ ®Æc biÖt. Mét khi ®· ®−îc
lËp, chÕ ®é mÆt n¹ ®Æc biÖt sÏ tån t¹i cho tíi khi bÞ xo¸ b»ng c¸ch ghi vμo 8259A mét
tõ lÖnh OCW3 kh¸c víi bit SMM=0. MÆt n¹ ®Æc biÖt kh«ng ¶nh h−ëng tíi c¸c yªu cÇu
ng¾t víi møc −u tiªn cao h¬n.
Cuèi cïng ®Ó cã c¸i nh×n mét c¸ch cã hÖ thèng vÒ ho¹t ®éng cña hÖ vi xö lý víi
CPU 8088 vμ PIC 8259A khi cã yªu cÇu ng¾t, ta tãm l−îc ho¹t ®éng cña chóng nh−
sau:
1. Khi cã yªu cÇu ng¾t tõ thiÕt bÞ ngo¹i vi t¸c ®éng vμo mét trong c¸c ch©n IR
cña PIC, 8259A sÏ ®−a INT=1 ®Õn ch©n INTR cña 8088.
2. 8088 ®−a ra xung INTA ®Çu ®Õn 8259A.
3. 8259A dïng xung INTA ®Çu nh− lμ th«ng b¸o ®Ó nã hoμn tÊt c¸c xö lý néi
bé cÇn thiÕt, kÓ c¶ xö lý −u tiªn nÕu nh− cã nhiÒu yªu cÇu ng¾t cïng x¶y ra.
4. 8088 ®−a ra xung INTA thø hai ®Õn 8259A.
5. Xung INTA thø hai khiÕn 8259A ®−a ra bus d÷ liÖu 1 byte chøa th«ng tin
vÒ sè hiÖu ng¾t cña yªu cÇu ng¾t võa ®−îc nhËn biÕt.
6. 8088 dïng sè hiÖu ng¾t ®Ó tÝnh ra ®Þa chØ cña vect¬ ng¾t t−¬ng øng.
7. 8088 cÊt FR, xo¸ c¸c cê IF vμ TF vμ cÊt ®Þa chØ trë vÒ CS:IP vμo ng¨n xÕp.
8. 8088 lÊy ®Þa chØ CS:IP cña ch−¬ng tr×nh phôc vô ng¾t tõ b¶ng vect¬ ng¾t
vμ thùc hiÖn ch−¬ng tr×nh ®ã.
• Mét sè vÝ dô lËp tr×nh víi 8259A
0 VÝ dô 1
LËp tr×nh cho 8259A ®Ó lμm viÖc víi CPU 8088 ë chÕ ®é chñ (®¬n lÎ), trong hÖ
cã ®Öm bus, chÕ ®é −u tiªn cè ®Þnh vμ víi EOI th−êng, IR kÝch theo møc, tÝn hiÖu IR0
®−îc g¸n sè hiÖu ng¾t lμ 50H.
Gi¶i
Tõ h×nh 7.8 vμ c¨n cø theo c¸c yªu cÇu cña bμi to¸n ta cã c¸c tõ ®iÒu khiÓn
khëi ®Çu nh− sau:
ICW1=00011011=1BH
D0=1 cÇn thªm ICW4
D1=1 lμm viÖc ®¬n lÎ, kh«ng cÇn ICW3
D2=0 lμm viÖc víi hÖ 8086/88
D3=1 ®Çu vμo IR ¨n theo møc
D4=1 b¾t buéc víi ICW1
D5=D6=D7=0 g¸n b»ng 0 cho hÖ 8086/88
223
ICW2=01010000=50H
V× c¸c bit T7-T3 cña ICW2 ph¶i m· ho¸ trÞ sè 50H ®Ó IR0-IR7 ®−îc m· ho¸ tiÕp
bëi c¸c bit T2-T0=000.
ICW3 kh«ng cÇn ®Õn
ICW4=00001101=0DH
D0=1 lμm viÖc víi hÖ 8086/88
D1=0 EOI th−êng (ph¶i cã EOI tr−íc IRET)
D3D2=11 lμm viÖc ë chÕ ®é chñ trong hÖ cã ®Öm bus
D4=0 chÕ ®é −u tiªn cè ®Þnh
D5=D6=D7=0 lu«n b»ng 0 cho ICW4
0 VÝ dô 2
ViÕt ch−¬ng tr×nh ®Ó khëi ®Çu cho m¹ch 8259A ë vÝ dô trªn nÕu nã ®−îc nèi
víi 8088 theo s¬ ®å trªn h×nh 7.6 víi ®Þa chØ F0H vμ F1H.
Gi¶i
§o¹n ch−¬ng tr×nh ®Ó khëi ®Çu cho m¹ch nμy cã thÓ lμ:
MOV AL,1BH ;ICW1
OUT 0F0H,AL ;ICW1 ®−a ra cæng F0H
MOV AL,50H ;ICW2
OUT 0F1H,AL ;ICW2 ®−a ra cæng F1H
MOV AL,0DH ;ICW4
OUT 0F1H,AL ;ICW4 ®−a ra cæng F1H
0 VÝ dô 3
Gi¶ thiÕt t¹i ch©n IR3 cña m¹ch 8259A ë trªn cã tÝn hiÖu yªu cÇu ng¾t. T¹i
ch−¬ng tr×nh con phôc vô cho yªu cÇu ng¾t nμy cã cÇn ph¶i cã lÖnh kÕt thóc ng¾t
(EOI) kh«ng? NÕu cã th× h·y viÕt ra c¸c lÖnh ®ã.
Gi¶i
Gi¶ thiÕt t¹i IR3 cã tÝn hiÖu yªu cÇu ng¾t vμ CPU ®· tr¶ lêi chÊp nhËn ng¾t,
8259A sÏ lËp bit ISR3 =1 ®Ó ghi nhí lμ yªu cÇu ng¾t IR3 ®ang ®−îc phôc vô. V× tr−íc
®ã ta ®· ®Þnh nghÜa chÕ ®é kÕt thóc ng¾t b×nh th−êng cho 8259A, nªn trong ch−¬ng
tr×nh con phôc vô ng¾t cña yªu cÇu ng¾t nμy ta ph¶i cã lÖnh kÕt thóc ng¾t EOI ®−a
®Õn 8259A ®Ó xo¸ bit ISR3 ®−îc lËp tr−íc ®ã, t¹o ®iÒu kiÖn cho c¸c yªu cÇu ng¾t kh¸c
víi møc −u tiªn thÊp h¬n hoÆc cho chÝnh yªu cÇu ng¾t míi t¹i ch©n IR3 cã thêi c¬ ®−îc
phôc vô.
D¹ng th−êng thÊy cña mét ch−¬ng tr×nh con phôc vô ng¾t kiÓu nμy cã thÓ
nh− sau (ta chØ chó ý nhÊn m¹nh tíi c¸c lÖnh cuèi liªn quan ®Õn EOI):
224
PhucvuIR3 Proc
; th©n cña ch−¬ng tr×nh con phôc vô ng¾t
...
MOV AL,20 ;OCW2 víi EOI ®Ó kÕt thóc
OUT 0F0H,AL ;®−a OCW2 ®Õn 8259A
IRET ;trë vÒ ch−¬ng tr×nh chÝnh
PhucvuIR3 Endp
0 VÝ dô 4
Gi¶ thiÕt vÉn sö dông s¬ ®å trªn h×nh 7.6 vμ c¸c sè liÖu nh− ë c¸c vÝ dô tr−íc.
HÖ nμy b×nh th−êng lμm mét c«ng viÖc g× ®ã, nh−ng khi cã yªu cÇu ng¾t ë IR3 ta ph¶i
®äc 100 d÷ liÖu ë cæng 70H, nh©n ®«i mçi d÷ liÖu ®äc ®−îc råi ®−a ra cæng 71H (®Ó cho
®¬n gi¶n ta coi d÷ liÖu khi ®äc vμo vμ c¶ khi ®· nh©n ®«i vÉn chøa ®−îc trong 1 byte).
Khëi ®Çu
cho 8259A
Th©n cña
CT chÝnh
B¾t ®Çu
®
s
§äc cæng vμ
xö lý d÷ liÖu
s ® Cßn
d÷ liÖu?
Cã IR3?
H×nh 7.13. L−u ®å cña ch−¬ng tr×nh cho vÝ dô 4.
Gi¶i
H×nh 7.13 biÓu diÔn l−u ®å cña ch−¬ng tr×nh thùc hiÖn c«ng viÖc nãi trªn.
225
§Ó chuÈn bÞ cho c«ng viÖc trªn ch−¬ng tr×nh chÝnh ph¶i ®−îc b¾t ®Çu b»ng c¸c
lÖnh khëi ®Çu cho 8259A nh− trong c¸c vÝ dô tr−íc, tiÕp theo ®ã lμ c«ng viÖc cô thÓ
®Æt ra cho ch−¬ng tr×nh chÝnh. Trong ch−¬ng tr×nh con phôc vô ng¾t ta ph¶i ®äc c
Các file đính kèm theo tài liệu này:
- Tìm hiểu về ngắt và xử lý ngắt trong 8088.pdf