Professional Documents
Culture Documents
TNG CC DY NGH
D n gio dc k thut v dy ngh (VTEP)
GIO TRNH VI X L
M s : CIO 02 31 00
H NI 2004
Tuyn b bn quyn Ti liu ny thuc loI sch gio trnh Cho nn cc ngun thng tin c th c php dng nguyn bn hoc trch dng cho cc mc ch v o to v tham kho MI mc ch khc c lch lc hoc s dng vI mc ch kinh doanh thiu lnh mnh s b nghim cm Tng cc dy ngh s lm mI cch bo v bn quyn ca mnh
Tng cc dy ngh cm n v hoan nghnh cc thng tin gip cho vic tu sa v hon thin tt hn ti liu ny
a ch lin h D n gio dc k thut v ngh nghip Tiu ban pht trin chng trnh hc liu
LI TA
Ti liu ny l mt trong cc kt qu ca d n GDKT DN c ti tr bi ngn hng pht trin chu cho cc trng k thut trng im ton quc trc thuc tng cc dy ngh. Ti liu c son l mt gio trnh phc v cho i tng cng nhn ngh sa cha in t cng nghip. Do , trnh t ni dung c sp xp t d n kh nhm gip ngi hc tip thu mt cch d dng. ng thi i km vi ti liu cn c s tay hng dn dnh ring cho gio vin trong ngh cc bc thc hin qu trnh ging dy mt cch nht qun t to iu kin cho gio vin khai thc ni dung gi trnh mt cch tt nht i ng bin son l nhm CDC ca trng cng nhn k thut cn th, ni dung ca ti liu l s kt hp gia yu cu o to vi tnh hnh cng ngh hin ti trong thc t sn xut v cng c tham kho theo tnh hnh ging dy ti cc trng k thut cng nh cc c s o to ngh c lin quan. Ti liu ny c thit k theo tng m un/ mn hc thuc h thng m un/ mn hc ca mt chng trnh o to hon chnh ngh sa cha thit b in t cng nghip cp trnh 3 v c dng lm gio trnh cho hc vin trong cc kha o to, cng c th c s dng cho o to ngn hn hoc cho cc cng nhn k thut, cc nh qun l v ngi s dng nhn lc tham kho. y l ti liu th nghim s c hon chnh tr thnh chnh thc trong h thng dy ngh.
MC LC
LI TA.............................................................................................................................. 3 MC LC ............................................................................................................................ 4 GII THIU V M UN ................................................................................................... 6 V tr, ngha, vai tr m un........................................................................................... 6 Mc tiu ca mdun ........................................................................................................ 6 Mc tiu thc hin ca m un ....................................................................................... 6 Ni dung chnh ca m un............................................................................................. 6 S QUAN H THEO TRNH T HC NGH ............................................................. 7 CC HNH THC HC TP CHNH TRONG M UN..................................................... 8 YU CU V NH GI HON THNH M UN............................................................ 8 BI 1: CU TRC H VI X L MCS-80/85 ..................................................................... 9 GII THIU......................................................................................................................... 9 MC TIU THC HIN ...................................................................................................... 9 NI DUNG CHNH .............................................................................................................. 9 1. GII THIU CHUNG .................................................................................................... 10 1.1 Cu trc chung ........................................................................................................ 10 1.2 c tnh chung ca vi x l ..................................................................................... 11 2. VI X L 8085A............................................................................................................ 13 2.1 Chc nng cc chn ra ........................................................................................... 13 2.2 M t nguyn l hot ng ...................................................................................... 17 BI 2: TP LNH 8085A................................................................................................... 23 GII THIU....................................................................................................................... 23 MC TIU THC HIN .................................................................................................... 23 NI DUNG CHNH ............................................................................................................ 23 1. GII THIU................................................................................................................... 24 2. TP LNH..................................................................................................................... 24 2.1 Nhm lnh truyn d liu ....................................................................................... 24 2.2 Nhm lnh s hc logic ........................................................................................ 26 2.3 Nhm lnh so snh.................................................................................................. 35 2.4 Nhm lnh nhy....................................................................................................... 35 2.5 Nhm lnh v ngn xp........................................................................................... 37 2.6 Nhm lnh iu khin .............................................................................................. 39 BI 3: GIAO TIP I/O........................................................................................................ 40 GII THIU....................................................................................................................... 40 MC TIU THC HIN .................................................................................................... 40 NI DUNG CHNH ............................................................................................................ 40 1. TNG QUAN................................................................................................................. 41 1.1 Thit b ngoi vi c khng gian a ch ring............................................................ 41 1.2 Thit b ngoi vi dng chung a ch vi b nh ...................................................... 41 2. GII M A CH CHO THIT B NGOI VI................................................................. 41 3. CC MCH CNG N GIN .................................................................................... 42 4. VI MCH GIAO TIP SONG SONG LP TRNH C 8255A.................................. 43 4.1 M t chc nng...................................................................................................... 44 4.2 Cc ch hot ng.............................................................................................. 47 4.3 ng dng 82C55A................................................................................................... 56 5. VI MCH GIAO TIP NI TIP LP TRNH C 8251A ........................................ 60 5.1 c tnh ................................................................................................................... 60 5.2 M t chc nng...................................................................................................... 61 5.3 Hot ng chi tit..................................................................................................... 66 5.4 ng dng 8251A ..................................................................................................... 73 4
BI 4: NGT V CHNG TRNH PHC V NGT ......................................................81 GII THIU .......................................................................................................................81 MC TIU THC HIN ....................................................................................................81 NI DUNG CHNH ............................................................................................................81 1. TNG QUAN .................................................................................................................82 1.1 Nguyn l vo/ra d liu theo phng php thm d .............................................82 1.2 Cc phng php thng dng .................................................................................82 2. TRAO I D LIU BNG NGT................................................................................84 2.1 T chc ngt ............................................................................................................84 2.2 Quy trnh x l yu cu ngt ....................................................................................86 3. VI MCH X L NGT 8259A .....................................................................................87 3.1 Tm tt c tnh 8259A............................................................................................87 3.2 S khi................................................................................................................88 3.3 M t chc nng ......................................................................................................89 3.4 Lp trnh 8259A........................................................................................................94 TI LIU THAM KHO....................................................................................................106
GII THIU V M UN
V tr, ngha, vai tr m un
y l mt m un chuyn ngnh c hc vo nm th hai ca trnh 3 sau khi hc vin hon tt cc m un h tr trc nh: Linh kin in t, mch in t, k thut s. Trong cc dy chuyn sn xut, cung nh cc thit b t ng n l hin nay vic ng dng vi x l trong cc lnh vc ny l rt ph bin nhm tng tnh linh hot, chnh xc cng nh n nh ca h thng. Do , kin thc v vi x l rt cn thit cho cng nhn ngnh sa cha thit b in t cng nghip.
Mc tiu ca mdun
Sau khi hon tt m-un ny, hc vin c nng lc: Hiu, gii thch c nguyn l lm vic cc h iu khin ng dng vi x l Ci tin c chc nng ca h vi x l theo yu cu Pht trin c cc h iu khin trn c s khi trung tm l vi x l
Ni dung chnh ca m un
M un ny bao gm 4 bi hc nh sau : 1. Cu trc h vi x l MCS-80/85 2. Tp lnh 8085A 3. Giao tip I/O 4. Ngt v chng trnh phc v ngt
U VO
O L MCH IN T
Vi mch PLD
U RA
Thc hnh PLC
K.T. Cm bin
Cc mn hc chung Ch to Chnh tr V IN My in PHP LUT IN C BN QuC NG Mch T nng cao profibus Trang b in X l li
TH CHT
TIN HC
TKM in-in t
Atl
YU CU V NH GI HON THNH M UN
Hiu v thc hin c cc ni dung sau - Phn tch c chng trnh trn h thng thc. - Pht trin c phn mm theo yu cu - Lp rp, vn hnh v sa cha c h iu khin dng vi x l V thi - Chuyn cn, sng to - Lun kim tra kt qu bng nhiu phng php khc nhau tng mc tin cy, chnh xc.
BI 1
Tn bi: Cu trc h vi x l MCS-80/85 M bi: CIO 02 31 01
GII THIU
Bi hc ny tp trung gii thiu v cu trc, c tnh v nguyn l hot ng ca mt b vi x l rt c bn ca hng INTEL l h 8085, t nhng kin thc c s ngi hc c th t nghin cu hiu cc vi x l khc. Bi hc thun ty l thuyt ch cn nm c nhng ni dung cn thit nht trong thi gian hc trn lp.
NI DUNG CHNH
Ni dung bi hc tp trung v cc ch chnh nh sau: Khi nim c bn v vi x l: Cc khi cu to chnh, cc kiu nh a ch d liu c tnh v cu to b vi x l 8085A. S chn v ngha cc chn ra ca 8085A. Cu to h thng thanh ghi, ngha cc bt trong thanh ghi c. Ch RESET, cch RESET t ng khi m my c im cc ng vo ngt. Phng php to xung ng h h thng To trng thi wait cho mi chu k my Phn tch thi gian h thng, gin thi gian h thng.
Instruction Decoder
Program Counter
Logic Control
n v s hc -logic (arithmatic-logic unit) C s ca n v s hc-logic l mt mch cng n bt, mch cng ny cn c m rng thm thc hin cc php x l khc nh: Tnh s b bc 2, php tr, cc hm logic... Cc thanh ghi (registers) Thanh ghi ging nh nh bn trong vi x l, im khc bit ch l thanh ghi c phn bit bng tn thay v bng a ch nh nh. Thanh ghi dng cha d liu, cc kt qu trung gian ca php tnh, s lng thanh ghi nh hng rt ln n tc x l v s ln truy xut b nh s t i. V vy, cc vi x l hin i thng c nhiu thanh ghi. n v iu khin (control unit) L phn quan trng nht trong vi x l, mi hot ng ca my tnh c phi hp mt cch cht ch bi cc tn hiu c to ra t n v iu khin. My tnh thi hnh tun t tng ch th ca chng trnh cho n khi c lnh dng hoc thao tc vng lp. Chng trnh iu khin c cha trong b nh di dng t hp cc bt gi l m i tng (object code). Nhng d vit chng trnh mt lnh iu khin thng c vit di dng gi nh (mnemonic). V d: i vi vi x l 8085A, ch th truyn d liu t thanh ghi B sang thanh ghi A c vit nh sau:
10
78h MOV A, B
dng gi nh, mt lnh iu khin c chia lm hai phn: M cng tc (operation code) Cho bit thao tc m vi x l phi thc hin (MOV) Ton hng (operand) c vit theo sau m cng tc, cho bit v tr d liu hoc d liu cn phi x l. dng m i tng, mt lnh iu khin c to nn t mt hoc nhiu byte: Byte u tin chnh l m cng tc: Qu trnh thi hnh mt lnh c chia lm hai giai on: Giai on 1: Nhp m cng tc vo thanh ghi lnh bng mt chu k c d liu ca nh c a ch l ni dung ca b m chng trnh (program counter) Giai on 2: Thi hnh lnh bao gm c vic c cc byte k tip trong b nh (i vi cc lnh nhiu byte). Sau , cc ton hng c x l theo quy nh ca m cng tc Trong thc t hai giai on thi hnh nu trn li c chia lm nhiu bc nh gi l vi lnh. n v iu khin pht ra tn hiu iu khin cc vi lnh theo mt chng trnh gi l chng trnh vi m (micro program).
u im ca loi vi x l nhiu bt l: Cng thi gian truy xut b nh th lng thng tin truyn i nhiu hn chnh xc cng tng m khng lm tng thi gian tnh ton. Tuy nhin, di t d liu tng th cng lm tng s lng dy dn trong bus d liu. Do , s chn ca vi x l cng phi nhiu. iu ny c gii quyt bng cch dng phng php a hp thi gian (time multiplexer), phng php ny lm gim vn tc truyn d liu. Di y l cc vi x l 16 bt thng dng Tn 8086 MC68000 Z8000 LSI11 Hng sn xut Intel Motorola Zilog Digital Equipment
11
di t a ch (address Word) di t a ch cho bit s lng nh m vi x l c th lin h trc tip, di ca cc thanh ghi cn thit cho vic nh a ch (thanh ghi a ch, b m chng trnh) cng phi c kch thc tng ng. Thng thng di t a ch t nht l 16 bt tng ng vi 64K a ch (65536 a ch). Tn 8086 MC68000 Z8000 T a ch 20 23 24 S lng nh 1 Meg (1.048.576) 8 Meg (8.388.608) 16 Meg (16.777.216)
Tp lnh (Instruction Set) Tp lnh l tp hp tt c cc lnh iu khin vi x l. Do cu to phn cng khc nhau nn mi vi x l c mt tp lnh khc nhau: S lng cc lnh c s (khng k cc kh nng nh a ch khc nhau) i vi vi x l 8 bt khong t 50 n 80, vi x l 16 bt cn c thm cc lnh phc tp cho n v s hc-logic v khi xut-nhp nn c vo khong 90 lnh. Cc kiu nh a ch (addressing modes) Nh bit, cu to mt lnh gm hai phn: M cng tc cho bit thao tc m my phi thc hin, v ton hng cho bit v tr ca d liu cn x l. C nhiu cch ch v tr ca d liu c trnh by nh sau: Trc tip bng thanh ghi (register direct) Trong phng php ny, ton hng l k hiu ca cc thanh ghi v d liu cn x l chnh l ni dung cha trong thanh ghi . ADD register ; (A) + (register) A ; Thc hin php cng gia ni dung ca b tch ly vi ni dung ca thanh ghi sau ghi kt qu vo A. Gin tip bng thanh ghi (register indirect) Trong trng hp ny ton hng khng phi l d liu m ch l du hiu cho bit v tr ni cha d liu MOV A, M ; ((HL)) A : Chuyn d liu ca nh c a ch l ni dung ca cp thanh ghi HL vo thanh ghi A nh a ch trc tip (direct addressing) Ton hng l a ch ca d liu cn c x l STA addr ; (A) addr c a ch ghi trong cu lnh. hoc hoc IN port ; (port) A LDA addr ; (addr) A V d: : Lu tr d liu cha trong thanh ghi A vo nh V d: V d:
12
nh a ch tc thi (immediately addressing) Ton hng trong cu lnh chnh l d liu cn x l V d: hoc qu vo A. a ch ngm nh (implied addressing) Trong phng php ny v tr hoc gi tr ca d liu cn x l c hiu ngm nh m cng tc ADD reg ; (A) + (reg) A : Cng ni dung ca thanh ghi A vi ni dung cha trong thanh ghi reg v ghi kt qu vo A. Ngoi cc c im trn, mch vi x l cn c mt s c im khc cn lu nh: - Cng ngh ch to. - S lng ngun cung cp. - Tn s xung ng h. V d: MVI reg, data ; data reg ADI data ; (A) + data A : chuyn d liu data vo thanh ghi reg : Cng d liu vi ni dung ca A v ghi kt
2. VI X L 8085A
8085A l vi x l 8 bt c sn xut bi hng INTEL theo cng ngh NMOS, c tc nhanh hn v tp lnh tng thch 100% vi 8080A, nh kh nng tch hp h thng cao 8085b cho php thc hin mt h thng vi s linh kin ti thiu ch gm ba IC: 8085A (CPU), 8516 (RAM) v 8355/8755A (ROM/PROM). c im chnh ca 8085A c tm tt nh sau: Ngun nui n cc +5v 10%; Imax = 170 mA Tn s xung ng h 6MHz Mch to xung ng h c tch hp, c th dng thch anh, RC hoc LC rp thm bn ngoi Chc nng iu khin h thng c tch hp trn mch C 4 vect ngt: Trong c mt yu cu ngt khng che c (Nonmaskable interupt) v mt tng thch vi 8080A C cng I/O ni tip Phn mm tng thch 100% vi 8080A Thc hin c cc php tnh s hoc: Thp phn, nh phn v s 16 bt nh a ch trc tip 64K nh
13
AD0 - AD7 (input/output - 3 trng thi) Bus a hp a ch/d liu, l byte thp a ch b nh hoc a ch cng I/O trong khong thi gian chu k xung ng h u tin v l 8 bt d liu trong khong thi gian chu k ng h th hai v th ba, cc chn ny trng thi Z cao trong ch HOLD v HALT.
X1 X2 Reset SOD out SID Trap RST 7.5 RST 6.5 RST 5.5 INTR INTA\ AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 Vss
40
8085A
20
21
Vcc Ready HOLD Hold HLDA Clock out Intr Reset in READY RST 7.5 IO/M\ RST 6.5 S1 RST 5.5 RD\ WR\ Trap ALE S0 Reset in A15 X1 A14 X2 A13 A12 SID A11 Vcc A10 A9 Vss A8
A8 A15
AD0 AD7 ALE S0 S1 RD\ WR\ HLDA INTA Reset out SOD Clock out
8085A
Cht
Tn hiu
Bus iu khin
Bus d liu
Bus a ch
14
S0, S1, IO/M (output) Cho bit trng thi bus d liu S1 S0
0 0 1 1
0 1 0 1
RD (output - 3 trng thi) READ, c d liu t b nh hoc cng I/O v truyn trn bus d liu, chn ny trng thi Z cao trong ch HOLD v HALT. WR (output - 3 trng thi) WRITE, d liu trn bus d liu c ghi vo b nh hoc cng I/O, d liu c thit lp ti cnh xung ca xung WR , chn ny treo ln trng thi Z cao ch HOLD v HALT
READY (input) Nu chn READY mc cao trong sut chu k c hoc ghi c ngha l b nh hoc thit b ngoi vi sn sng gi hoc nhn d liu. Khi READY mc thp CPU s ch chn ny ln mc cao trc khi hon tt chu k c/ghi HOLD (input) Mt linh kin tc ng no dng tn hiu ny yu cu CPU nhng quyn x dng bus a ch v d liu, khi nhn c yu cu ny CPU s nhng bus ngay sau khi hon tt chu k my hin hnh. CPU ch c th chim li bus khi khng cn tn hiu HOLD, khi chp nhn lnh HOLD cc ng a ch, d liu, RD, WR, IO/M c treo ln trng thi Z cao.
15
HLDA (output) HOLD ACKNOWLEDGE, tn hiu ra cho bit CPU chp nhn yu cu HOLD v n s nhng bus trong chu k ng h k tip, HOLDA v mc thp khi khng cn yu cu HOLD, CPU chim li bus trong vng na chu k ng h sau khi HOLDA mc thp. INTR (input) INTERRUPT REQUEST, c dng nh mt ngt cng dng chung, ngt ch c ly mu trong sut chu k ng h cui cng ca lnh. Khi ngt tc ng b m chng trnh s khng tng ni dung v tn hiu INTA s c to ra, trong sut chu k lnh RESTART hoc CALL c th c chn vo nhy n chng trnh phc v ngt, INTR c cho php v ngn bng phn mm. Ngt ny mt hiu lc khi reset v c chp nhn tc thi sau mt ngt khc
INTA (output) INTERRUPT ACKNOWLEDGE, c dng thay cho RD trong chu k lnh sau khi mt INTR c chp nhn, tn hiu ny c th c dng tc ng vi mch x l ngt 8259 hoc cc cng ngt khc.
RST 5.5; RST 6.5; RST 7.5 (input) RESTART INTERRUPT, ba ng vo ny c cng biu thi gian nh INTR nhng chng s t ng to ra mt RESTART ni b, RST 7.5 c mc u tin cao nht v RST 5.5 c mc u tin thp nht, cc ngt ny u tin hn INTR TRAP (input) Trap l mt yu cu ngt khng ngn c, n c nhn dng cng lc nh INTR v c mc u tin cao nht trong cc yu cu ngt. Tn ngt TRAP RST 7.5 RST 6.5 RST 5.5 INTR Mc u tin 1 2 3 4 5 a ch ngt 24H 3CH 34H 2CH Tn hiu kch Cnh ln v mc cao Cnh ln (cht) Mc cao Mc cao Mc cao
RESET IN (input) Tn hiu vo t b m chng trnh v 0, xa c cho php ngt v FF HOLDA, cc c v thanh ghi khc khng nh hng (ngoi tr thanh ghi lnh), bus d liu, bus a ch v cc ng iu khin trng thi Z cao. V ng vo ny c cu to Schmitt trigger nn c th ghp vi mt mch RC t ng reset h thng khi m my. CPU s duy tr trng thi reset khi chn ny cn mc thp.
16
RESET IN
RESET OUT (output) Tn hiu ra ng b vi xung ng h cho bit CPU ang trong trng thi reset, c th dng t li h thng X1, X2 (input) Ng vo t thch anh, mch RC hoc LC xc nh tn s xung ng h, c th a xung dao ng ngoi vo X1 thay cho thch anh CLK OUT (output) Ng ra ng h c tn s bng phn na tn s dao ng ti X1 SID (input) Ng vo d liu ni tip c np vo bt 7 ca thanh ghi A khi thi hnh lnh RIM SOD (output) Ng ra d liu ni tip c iu khin bi lnh SIM VCC Ngun nui +5 V GND Chn masse 0 V
B tch ly B m chng trnh Thanh ghi chung; con tr d liu (HL) Con tr ngn xp Thanh ghi c
8 bt 16 bt a ch 8 bt x 6 hoc 16 bt x 3 16 bt a ch 5 c
Thanh ghi c cho bit trng thi ca vi x l sau khi thc hin xong mt lnh, cu to thanh ghi ny c trnh by nh sau:
S Z X AC X P x CY
17
S -Sign (bt du) S =1 Khi kt qu l s m S =0 Khi kt qu l s dng Z -Zero (bt zero) Z =1 Khi kt qu bng 0 Z =0 Khi kt qu khc 0 AC -Auxiliary Carry (bt s nh ph) AC =1 Khi php tnh b trn trn bt 3 AC =0 Khi php tnh khng trn trn bt 3 P -Parity (bt chn-l) P =1 Khi kt qu l s chn P =0 Khi kt qu l s l Cy -Carry (bt s nh) Cy =1 Khi kt qu c s nh Cy =0 Khi kt qu khng c s nh
8085A dng mt bus d liu a hp, a ch 16 bt c tch ra thnh bus 8 bt a ch cao v 8 bt a ch thp kt hp vi d liu. Trong sut trng thi ( chu k ng h) u tin ca 1 chu k my byte a ch thp c gi ra bus a hp a ch/d liu. Byte thp a ch ny c th c cht ra bn ngoi bi tn hiu ALE. Trong khong thi gian cn li ca chu k my tn hiu trn bus a hp l d liu cho b nh hoc cng I/O. 8085A cung cp cc tn hiu RD , WR , S0, S1 v IO/M iu khin bus v cn c tn hiu INTA . HOLD v tt c cc ngt c ng b vi xung ng h h thng. 8085 cn c cc ng SID v SOD phc v cho yu cu giao tip d liu ni tip. Ngoi cc c tnh trn, 8085 cn c 3 chn vo tn hiu ngt che c, mt ngt TRAP khng che c v mt ngt bus nh a ch c INTR.
Ngt v cng ni tip 8085 c 5 ng vo ngt: NT, RST 5.5, RST 6.5, RST 7.5 v TRAP. Ngt INTR c chc nng ging nh ngt INT ca 8080A. Cc ngt RESTART 5.5, 6.6, 7.5 che c bng phn mm, TRAP cng l 1 ngt nhng khng che c. Ba ngt che c to ra mt s thc hin RESTART bn trong (bng cch lu ni dung thanh ghi PC vo ngn xp v nhy n a ch RESTART) nu cc ngt c cho php v mt n che khng c thit lp. Ngt TRAP s thc hin vic RESTART mt cch c lp vi mt n che v tn hiu cho php ngt. C hai kiu tc ng ngt khc nhau: RST 5.5 v RST 6.5 tc ng theo mc cao ging nh INTR (v INT trong 8080) v c nhn ra trong cng khong thi gian nh INTR, RST 7.5 tc ng cnh ln.. i vi RST 7.5 ch cn mt xung t FF pht sinh yu cu ngt. RST 7.5 duy tr FF ny trng thi set cho n khi yu cu ngt c phc v, sau n s t ng b
xa. Cng c th xa FF ny bng lnh SIM hoc bng tn hiu a vo chn RESET IN . FF RST 7.5 s c set bi xung a vo chn RST 7.5 khi ngt ny khng b che. Trng thi ca 3 mt n che ngt ch thay i c bng lnh SIM v tn hiu RESET IN . Mc u tin ca cc ngt l c nh nh gii thiu phn trn. Th t u tin ny khng c p dng cho mt chng trnh phc v ngt c khi ng bi mt ngt c u tin cao hn. Ngt RST 5.5 c th dng chng trnh phc v ca RST 7.5 nu cc ngt c cho php tr li trc khi kt thc chng trnh ny.
18
TRAP thng c dng trong nhng trng hp xy ra s c h thng, TRAP c tc ng theo c mc ln cnh. Ng vo TRAP phi ln mc cao v duy tr cho n khi n c chp nhn v s khng c nhn dng tr li cho n khi n tr v mc thp sau li ln mc cao. iu ny ngn cc ngun kch khng mong mun nh nhiu hoc cc glitch. S 1.6 m t mch ngt TRAP. Lu l chng trnh phc v mt ngt bt k (TRAP, RST 7.5, RST 6.5, RST 5.5, INTR) s ngn cc ngt khc (ngoi tr TRAP) cho n khi mt lnh EI c thc hin. im c bit ca TRAP l ngn cc ngt nhng bo v trng thi cho php ca ngt trc . Vic thc hin lnh RIM u tin theo sau TRAP cho php xc nh c cc ngt no c cho php cng nh khng cho php trc khi xy ra TRAP. Tt c cc lnh RIM tip theo cung cp trng thi cho php ngt hin hnh. Khi lnh RIM c thc thi sau INTR hoc RST 5.5-7.5 s cho bit trng thi cho php ca ngt hin hnh cho thy cc ngt b ngn
Yu cu ngt ngoi
Yu cu ngt
H thng cng giao ti ni tip cng c iu khin bi lnh RIM v SIM, bt SID c c bi RIM v SIM t bt SOD.
Cc ng vo X1 v X2 Xung ng h c to ra bng cch t vo hai ng ny mt thch anh, , mch cmg hng LC, mch RC hoc mt xung dao ng ngoi. Tn s thch anh thp nht phi l 1 MHz v phi gp i tn s xung ng h mong mun. 8085AH c thit k hot ng vi thch anh 6 MHz (tn s ng h 3 MHz), 8085AH-2 vi thch anh 10 MHz (ng h 5 MHz) v 8085AH-1 vi thch anh 12 MHz (ng h 6 MHz), nn dng thch anh c c tnh nh sau:
Tn s cng hng song song bng hai ln tn s xung ng h cn thit in dung np CL 30 pF. in dung song song CS 7 pF RS in tr tng ng song song RS 75 Cng sut iu khin 10 mW dch tn 0,005% Nn ni thm mt t 20 pF t X2 xung GND, t ny cn thit vi cc thch anh c tn s thp hn 4 MHz bo m dao ng khi ng ng tn s. C th dng mch cng hng song song LC xc nh tn s dao ng cho 8085AH vi dung sai 10%, gi tr cc linh kin c chn theo cng thc.
19
f=
2 L(CEXT + CINT )
s bin thin tn s l t nht nn chn gi tr CEXT t nht bng hai ln CINT hoc 30 pF. Khng nn dng mch LC khi tn s cao hn 5 MHz. Tn s dao ng c th c xc nh bng mch RC cho 8085AH khi khng cn chnh xc cao. Cc dng mch dao ng tch hp trong IC c th to nn mt thay i ln v tn s khi dng RC. u im ca phng php l r tin v tn s vo khong 3 MHz. Hnh 1.7 trnh by cc mch to dao ng, lu l trong hnh (d) v (e) cn thit phi c cc in tr ko ln bo m mc cao ti ng t nht l 4 V v mc thp ln nht l 0,8 V iu khin cc tn s ln n 6 MHz, c th a dao ng ngoi vo X1 v h X2 (h 5.d)> Nu tn s iu khin t 6 MHz n 12 MHz, n nh tn s c ci thin bng cch iu khin c 2 ng X1 v X2 theo s y-ko (h 5.e). trnh hin tng dao ng t kch trong 8085AH phi bo m sao cho X2 khng c hi tip v X1 thng qua mch iu khin.
To trng thi ch Nu trong h thng x dng b nh v cc thit b ngoi vi c tc chm. Mch in hnh 1.8 s gii quyt vn ny bng cch thm mt trng thi ch vo mi chu k my ca 8085A.
20
c tnh ca D-FF:
Cng ging nh 8080, tn hiu READY ko di thi gian c-ghi thch hp vi cc b nh tc chm. HOLD s buc CPU th ni bus d liu v a ch.
Thi gian h thng B vi x l 8085AH c mt bus d liu a hp. Tn hiu ALE c dng tch ly byte thp a ch trn bus d liu. Hnh 1.9 cho thy chu trnh np lnh, c b nh v ghi ra cng I/O (nh xy ra trong khong thi gian thc hin lnh OUT). Lu l trong sut chu k ghi-c I/O a ch cng I/O c sao chp trn c hai na cao v thp ca a ch. C 7 loi chu k my c th xy ra c xc nh bi 3 tn hiu trng thi: IO/M ,
S1, S0 v ba tn hiu iu khin: RD , WR v INTA cc tn hiu trng thi c th dng nh tn hiu iu khin m rng VD: Chn chpv chng tr nn tch cc ti trng thi T1 l lc khi u ca mi chu k my. Cc ng iu khin RD v WR tr nn tch cc sau v ng vai tr l lnh iu khin trong khi truyn d liu. Thng thng mt chu k my bao gm 3 trng thi T vi ngoi l OPCODE FETCH gm 4 hoc 6 trng thi T, trng thi T bt k c th l 1 trong 10 trng thi nh trnh by trong bng di y. BNG CHU K MY
Chu k my Trng thi S1 IO/M 0 1 0 1 0 0 1 1 1 0 iu khin
OPCODE FETCH (OF) MEMORY READ (MR) MEMORY WRITE (MW) I/O READ (IOR) I/O WRITE (IOW) ACKNOWLEDGE OF INTR (INA) BUS IDLE (BI) DAD ACK OF RST, TRAP HALT BNG TRNG THI Trng thi S1,S0 T1 T2 Twait X X X
S0 1 0 1 0 1 1 0 1 0
RD 0 0 1 0 1 1 1 1 TS
WR 1 1 0 1 0 1 1 1 TS
INTA 1 1 1 1 1 0 1 1 1
1 0 1 TS
1 1 1 0
iu khin
AD0-AD7 X X X
RD , WR 1 X X
INTA 1 X X
ALE 1* 0 0
21
X 1 1 1 X 0 X
X 0* 0* 0* TS TS TS
X X X X TS TS TS
X TS TS TS TS TS TS
X 1 1 1 TS TS TS
X 1 1 1 1 1 1
0 0 0 0 0 0 0
22
BI 2
Tn bi: Tp lnh 8085A M bi:
CIO 02 31 02
GII THIU
Bi hc ny trnh by y v tp lnh iu khin ca b vi x l 8085A, c tnh chi tit ca tng lnh: ln, m lnh, thi gian thc hin, chc nng...Km theo cc v d nu cn lm r hn tc dng ca lnh. Cc bi thc tp vit chng trnh trong bi hc ny c np v cho chy kim tra trn KIT thc tp 8085A, hng dn x dng tham kho trong ti liu km theo
Hiu c tc dng cc lnh iu khin ca h vi x l 8085A ng dng vit c cc chng trnh theo yu cu Phn tch v hiu c cc chng trnh c sn Thc hin cc ng dng thc t thng qua cc m hnh
NI DUNG CHNH
Ni dung bi hc tp trung v cc ch chnh nh sau: Khi nim chung v tp lnh Nhm lnh truyn d liu Nhm lnh s hc: Cng, tr Nhm lnh logic: AND, OR, XOR.. Nhm lnh so snh Nhm lnh nhy Nhm lnh CALL, RET Nhm lnh v ngn xp Nhm lnh iu khin
23
1. GII THIU
Tp lnh ca 8085A gm tt c 244 lnh, c chia thnh cc nhm nh sau: Nhm lnh truyn d liu Nhm lnh s hc-logic Nhm lnh so snh Nhm lnh nhy Nhm lnh v ngn xp Nhm lnh iu khin
2. TP LNH
2.1 Nhm lnh truyn d liu
MOV ds, sr Chc nng M t
Truyn d liu gia cc thanh ghi Ni dung trong thanh ghi ngun (source) c a vo thanh ghi ch (destination), ni dung thanh ghi ngun khng thay i 1 4 01dddsss (sr) ds
C 001 C 001 D 010 D 010 E 011 E 011 H 100 H 100 L 101 L 101
24
2 7 00ddd110 data ds
Kt qu
R1 rp rr B BC 00 D DE 01
((rp)) A
26
Kt qu: (A) = 48
ADD M Chc nng M t
Cng c lu s nh A vi nh 27
(A) - (sr) A Cy = 0 khi (A) ln hn hoac bang (sr) Cy = 1 khi (A) nho hn (sr)
28
Kt qu
SBB sr Chc nng M t
(A) - (sr) - cy A
29
M lnh Kt qu
ORA M Chc nng M t
30
31
R1 rp rr
B BC 00
D DE 01
H HL 10
SP SP 11
DCX r1
y ni dung A v pha phi Cy thay i 1 4 00rr1011 Bt 0 thay th cho cy v Bt 7, (A) dch v phi 1 bt
Sau RRC
y ni dung A v pha tri Cy thay i 1 4 00001111 Bt 7 thay th cho cy v Bt 0, (A) dch v tri 1 bt
32
Sau RLC
0 0 0 0 0 1 1 1 0
y ni dung A v pha phi ngang qua cy Cy thay i 1 4 00011111 Bt 7 vo cy, cy vo bt 0, (A) dch sang phi 1 bt
Sau RAR
1 0 0 0 0 0 0 1 1
y ni dung A v pha tri ngang qua cy Cy thay i 1 4 00010111 Bt 0 vo cy, cy vo bt 7, (A) dch sang tri 1 bt
XCHG (exchange register pair) Chc nng Hon chuyn ni dung gia HL vi DE M t Khng thay i Bytes: 1
33
Neu (A3..A0 > 9 hoac AC =1 th: (A) + 06h A Neu (A7..A4 > 9 hoac Cy =1 th: (A) + 60h A
93d = 1001 0011BCD 08d = 0000 1000BCD ----------------------101d = 1001 1011 Ket qua khong phai la so BCD, do o can phai ieu chnh 1001 1011 0110 = 06 -------------1010 0001 0110 0000 = 60 -------------0000 0001BCD = 101d
CMA Chc nng M t Bytes: S trng thi M lnh Kt qu STC Chc nng M t Bytes: S trng thi M lnh Kt qu CMC Chc nng M t Bytes:
t bt cy Cy thay i 1 4 00110111 1 Cy
Ngh ch o bt cy Cy thay i 1
34
4 00111111 Cy Cy
So snh A vi thanh ghi Thay i tt c 1 4 10111sss C(A) - (sr) F (ni dung ca A khng thay i)
Ma oi tng 3E 37 FE 63 76
35
Ma oi tng 3E 11 C3 07 80 3E 23 76
36
PUSH r1
R1 rp rr
B BC 00
D DE 01
H HL 10
F AF 11
V du:
POP r1
V du:
POP F
37
Sau XTHL
Ngan xep FF 3C 0B FF SP 10AD HL 0DF0
OUT port
38
39
BI 3
Tn bi:
M bi:
CIO 02 31 03
GII THIU
Bi hc ny gii thiu v kh nng trao i d liu gia CPU vi cc thit b ngoi vi ch yu da trn cc vi mch giao tip ni tip cng nh song song ca hng Intel, in hnh l 82C55A v 8251A, vi thit k ph hp v kh nng xc nh chc nng hot ng bng phn mm gip ti thiu ha h thng v tng thch c vi hu ht cc thit b ngoi vi thng dng. Phn thc hnh ca bi th hin thng qua vic vit chng trnh thc hin yu cu giao tip v lp rp cc m hnh giao tip thit b ngoi vi vi CPU a trn KIT thc tp 8085A
Hiu nguyn l v kh nng ng dng ca phng php truyn di liu song song v phng php truyn d liu ni tip ng b cng nh khng ng b Bit c s cn thit ca thit b giao tip gia CPU vi thit b ngoi vi. Hiu cu to, phng php iu khin vi mch giao tip song song lp trnh c 82C55A. Hiu c cu to, phng php iu khin vi mch giao tip USART 8251A Gii thch c cc s ng dng
NI DUNG CHNH
Ni dung bi hc tp trung v cc ch chnh nh sau: Tng quan v yu cu giao tip Xc nh a ch ca thit b I/O Mch giao tip n gin dng cc mch m/cht Vi mch giao tip 82C55A - Cu to v c tnh - Nguyn l hot ng - Cc s ng dng in hnh Vi mch giao tip 8251A - Cu to v c tnh - Ch thu/pht ng b - Ch thu/pht khng ng b - Cc s ng dng in hnh
40
1. TNG QUAN
i vi 8085A ni ring v cc h vi x l khc ni chung c hai cch kt ni CPU vi cc thit b ngoi vi. Thit b ngoi vi c khng gian a ch ring (a ch I/O). Thit b ngoi vi c khng gian a ch chung vi b nh.
41
Hnh 4.3 L s kt ni vi thit b ra dng vi mch cht 74LS373 v s hnh 4.4 dng m khng o 74LS244 kt ni thit b vo l bn phm vi CPU. Trong c hai trng hp a ch ca thit b ngoi vi l 00H. Ngoi cc vi mch giao tip n gin nh va trnh by trn, trong thc t cn c cc vi mch giao tip c kh nng lp trnh
42
CHC NNG CC CHN RA K hiu Chn Kiu VCC 26 GND D0 D7 RESET 7 27 34 35 6 5 36 I/O I I I I
CS RD WR
M t Ngun nui +5 V, nn thm t cch ly 0,1 F gia chn 26 vi chn 7 Ground DATA BUS: cc chn bus d liu hai chiu, 3 trng thi c ni n bus d liu h thng. RESET: Mc cao chn vo ny s xa thanh ghi iu khin v tt c cc port (A,B,C) c t v ch nhp vi mch Bus Hold m. CHIP SELECT: Ng vo tc ng mc thp dng cho php 82C55A truyn thng vi CPU thng qua bus d liu. READ: Tn hiu iu khin vo tc ng mc thp c dng c thng tin trng thi hoc d liu bi CPU thng qua bus d liu. WRITE: Tn hiu vo tc ng mc thp c dng
43
A0 A1
89
np t iu khin v d liu vo 82C55A bi CPU ADDRESS: cc tn hiu ny kt hp vi RD v WR iu khin vic chn 1 trong ba port hoc thanh ghi iu khin, thng c ni n cc bt a ch thp A0, A1 trong bus a ch. PORT A: Port 8 bt I/O, c hai mch bus hold high v bus hold low u c trong port ny. PORT B: Port 8 bt I/O, c mch bus hold high PORT C: Port 8 bt I/O, c mch bus hold high
CPU.
(RD) READ: Mc thp chn vo ny cho php 82C55A gi d liu hoc thng tin trng thi n CPU thng qua bus d liu. Thc cht l cho php CPU c 82C55A. (WR) WRITE: Mc thp ng vo ny cho php CPU ghi d liu hoc t iu khin vo 82C55A. (A0 v A1): Hai tn hiu vo ny kt hp vi cc ng vo RD v WR iu khin vic chn 1 trong 3 port hoc thanh ghi iu khin, chng thng c ni n hai bt a ch thp A0 v A1 trong bus a ch..
44
(RESET): Mc cao ng vo ny s thit lp gi tr 9BH cho thanh ghi iu khin v tt c cc port A, B, C c a v ch nhp. cc mch bus hold bn trong 82C55A s gi cc ng vo I/O mc cao vi dng ti a 400 A. iu khin nhm A v nhm B: Chc nng ca mi port c lp trnh bi phn mm h thng. Thc cht l CPU s gi mt t iu khin n 82C55A. T iu khin gm cc thng tin nh: ch , t bt, xa bt. cc thng tin s khi to cu hnh chc nng ca 82C55A. Mi mt khi iu khin (nhm A hoc nhm B) s nhn lnh t khi iu khin logic c/ghi, khi ny nhn t iu khin t bus d liu ni v sau to ra lnh tng ng n cc port thch hp. Hot ng c bn ca 82C55A
Khi iu khin nhm A port A v na trn ca port C (C7 C4) Khi iu khin nhm B port B v na di ca port C (C3 C0) Thanh ghi iu khin c th ghi v c nh trnh by trn bng. Dng thc t iu khin ca qu trnh ghi-c c trnh by hnh 4.8 Khi c t iu khin, bt D7 lun mc 1, thao tc ny ly thng tin v ch ca t iu khin.
Port A, B v C Cu to ca 82C55A gm 3 port 8 bt (A, B v C). Tt c c th c cu hnh c nhiu tnh nng khc nhau bng phn mm h thng nhng mi cng cn c nhng c im ring nhm tng cng linh hot ca 82C55A. Port A. Mt m/cht d liu ra 8 bt v mt cht d liu vo 8 bt. C trang b hai mch bus hold: pull up v pull down. Port B. Mt m./cht d liu vo/ra 8 bt v mt m d liu vo 8 bt. Port C. Mt m/cht d liu ra 8 bt v mt m d liu vo 8 bt (khng c cht), port ny c th chia thnh 2 na 4 bt: Mi na gm 4 bt cht c th dng lm tn hiu
45
C 3 ch hot ng c bn c la chn bng phn mm Mode 0 - Ch vo/ra c bn. Mode 1 vo/ra qut Mode 2 Bus hai chiu Khi ng vo reset ln mc cao, tt c cc port c thit lp l ng vo vi 24 ng c treo ln mc cao bi mch bus hold. Sau khi mt xung reset, 82C55A vn duy tr trnh thi vo m khng cn thm mt yu cu khi to no khc. Do khng cn n cc in tr ko ln cng nh ko xung trong tt c cc thit k CMOS. Thanh ghi t iu khin s c gi tr 9BH. Trong sut thi gian thc thi chng trnh c th chn bt k mt ch lm vic khc bng mt lnh n. iu ny cho php ch vi mt 82C55A vn c th phc v cho nhiu thit b ngoi vi khc nhau vi mt phn mm n gin. Mt port c lp trnh l port ra bng cch ghi gi tr 0 vo thanh ghi iu khin. Ch lm vic ca port A v port B c th c xc nh ring r. Trong khi port C c chia thnh hai phn khi cn thit bi nh ngha port A v port B. Tt c cc thanh ghi ng ra gm c 6 FF trng thi s b x bt c khi no thay i ch . Cc ch lm vic c th c kt hp sao cho vic nh ngha chc nng c th c bin i cho ph hp vi hu ht mi cu trc I/O. VD: Nhm B c lp trnh mode 0 gim st tip im hoc hin th kt qu tnh ton, nhm A c lp trnh mode 1 gim st mt bn phm hoc my c bng trn h iu khin ngt. Ln u vic nh ngha v kt hp ch c th ln ln, nhng sau mt qu trnh xem xt li ton b hot ng s m ra mt tip cn logic I/O n gin. Vic thit k 82C55A phi tnh n hiu qu ca board mch PC, xc nh tn hiu iu khin v cc chc nng linh hot nhm h tr cho hu ht cc thit b ngoi vi m khng cn thm cc mch logic ngoi. iu ny th hin s tn dng ti a chc nng cc chn
c tnh set/reset tng bt
Hnh 4.8 Ch c bn
46
Cc bt ca port C c th c set hoc reset bng lnh output n, tnh nng ny lm gim yu cu phn mm trong cc ng Hnh 4.9 Dng thc t iu khin dng iu khin. Khi port C ang c dng lm nhim v iu khin/trng thi cho port A v port B, lc ny cc bt ca n c th c set ho reset bng lnh set/reset bt ging snh khi n l cng ra.
Chc nng iu khin ngt Khi 82C55A c lp trnh hot ng ch 1 hoc 2, cc tn hiu iu khin ti ng ra c th c dng nh cc ng vo ngt cho CPU, cc yu cu ngt to ra t port C c th b ngn hoc c cho php thng qua vic t hoc xa cc FF INTE tng ng bng chc nng set/reset bt ca port C. Chc nng ny gip ngi lp trnh cho php hoc khng cho php mt ngt CPU bng mt thit b I/O xc nh m khng lm nh hng n cc thit b khc trong cu trc ngt. Xc nh FF INTE
4.2 Cc ch hot ng
Mode 0: Chc nng ny cung cp cc thao tc vo/ra n gin cho mt trong 3 port. D liu c ghi vo hoc c ra t cc port xc nh m khng cn n tn hiu mc ni. nh ngha mode 0 Hai port 8 bt v hai port 4 bt Cc port u c th l vo hoc ra Cc ng ra c cht Ng vo khng c cht Cho php 16 cu hnh I/O khc nhau
MODE 0
47
48
49
Mode 1 (strobed I/O) Ch ny cung cp phng php truyn d liu I/O vi thit b ngoi vi kt hp vi cc tn hiu qut hoc tn hiu mc ni. Trong ch ny hai port A v B x dng cc ng port C pht hoc nhn tn hiu mc ni. nh ngha mode 1 Hai nhm (nhm A v B) Mi nhm gm mt port 8 bt v mt port iu khin/d liu 4 bt Port d liu 8 bt c th vo hoc ra. C hai ng vo v ra u c cht Port 4 bt c dng iu khin v bo trng thi cho port 8 bt nh ngha tn hiu iu khin vo (hnh 4.11 v 4.12)
STB (strobe Input) D liu s c np cho cht vo khi ng vo ny mc thp IBF (Input Buffer Full FF) Ng ra Hnh 4.11 Vo mode 1 ny ln mc cao bo cho bit cht ng vo c np d liu. Thc cht l IBF c t bi tn hiu STB khi ang mc thp v b xa bi cnh ln ca tn hiu vo RD
50
INTR (Interrupt Request) Mc cao ng ra ny c th c dng ngt CPU nu c mt thit b vo ang yu cu c phc v. INTR c t khi STB , IBF v INTE cng bng 1, tn hiu ny b xa bi cnh xung ca RD . Phng php ny cho php mt thit b vo c quyn yu cu CPU phc v bng cch nhp d liu ca n vo cng. INTE A c iu khin bi bt set/reset ca PC4 INTE B c iu khin bi bt set/reset ca PC2
nh ngha tn hiu iu khin ra (hnh 4.13 v 4.14)
OBF - Output Buffer Full FF Mc thp ng ra ny cho bit rng CPU ghi d liu vo cng c xc nh. iu ny khng c ngha l d liu hp l c gi ra ti thi im ny v OBF c th tr v 1 trc khi d liu xc nh. D liu c bo m hp l ti cnh ln ca OBF (xem ghi ch 1). FF OBF c t bi cnh ln ca tn hiu vo WR v b xa khi tn hiu vo ACK ang mc thp. ACK - Acknowledge Input Mc thp ng vo ny bo cho 82C55A bit d liu ti port A hoc port B sn sng c nhn. Thc cht l mt thit b ngoi vi ang cho bit l n sn sng nhn d liu (xem ghi ch 1). INTR Mc cao ng ra ny c th c dng ngt CPU khi mt thit b ra nhn d liu pht ra t CPU. INTR c t khi ACK , OBF v INTE bng 1. N b xa bi cnh xung ca WR . INTE A c iu khin bi bt set/reset PC6 INTE B c iu khin bi bt set/reset PC2
Ghi ch:
51
1. a tn hiu mc ni n thit b ngoi vi, Ngi dng phi kch hot cc ng mc ni vo ch mc ni, gi OBF n thit b ngoi vi, to ra mt ACK v sau cht d liu n thit b ngoi vi ti cnh ln ca OBF .
Port A v port B c th c nh ngha l vo hoc ra mt cch ring r trong mode 1 h tr cho cc ng dng c nhiu loi thit b I/O vi tn hiu mc ni khc nhau.
52
Mode 2 (bus I/O hai chiu ) Cu hnh ny cung cp phng thc truyn thng vi thit b ngoi vi trn bus 8 bt cho c pht v nhn d liu, cc tn hiu mc ni c nhim v tng t trong mode 1. C chc nng to v cho php ngt. nh ngha mode 2 Ch p dng cho nhm A Mt port 8 bt hai chiu (port A) v mt port iu khin 5 bt (port C) C hai ng vo v ra u c cht Port 5 bt dng iu khin v bo trng thi cho port 8 bt nh ngha tn hiu iu khin bus I/O hai chiu (hnh 4.16, 4.17, 4.18, 4.19)
INTR Interupt Request Mc cao ti ng ra ny c th c dng ngt CPU cho c hai thao tc vo hoc ra.
Thao tc ra OBF - Output buffer full Ng ra ny xung mc thp cho bit CPU ghi d liu vo cng A
ACK - Mc thp ti ng vo ny cho php b m d liu ra 3 trng thi ca port A gi d liu ra. Nu khng b m ra s trng thi Z cao. INTE 1 (FF INTE lin quan vi OBF ) c iu khin bi bt set/reset PC4
Thao tc vo STB - Strobe Input D liu c a n b cht vo khi ng vo ny xung mc thp.
IBF Input buffer full FF Mc cao ti ng ra ny cho bit d liu c np vo cht ng vo. INTE 2 (FF INTE lin quan vi IBF). c iu khin bi bt set/reset PC4.
53
54
Kho sat s kt hp cc mode C vi cch kt hp cc mode. Trong mt vi hoc tt c cc ng dn ca port C c dng iu khin hoc bo trng thi. Cc bt cn li c nh ngha hoc l ng vo hoc l ng ra bng mt lnh set mode. Trong khi c port C, trng thi tt c cc bt ca port C ngoi tr ng ACK v STB s c t vo bus d liu, thay cho cc ng trng thi ACK v STB l Hnh 4.20 Dng thc t trng thi mode 1 mt c trng thi xut hin trong bus d liu l cc bt PC2, PC4 v PC6. Sau mt lnh ghi vo port C, ch c cc chn port C c nh ngha l ng ra ch 0 mi c ghi. Cc chn khc khng b nh hng bi lnh ghi port C v cc c cho php ngt cng khng c truy cp. ghi vo nhm ng ra bt k ca port C c Hnh 4.21 Dng thc t trng thi mode 2 nh ngha l ra ch 1 hoc thay i mt c cho php ngt phi dng lnh set/reset bt port C. Vi lnh set/reset bt port C, cc bt bt k ca port C c nh ngha l ra (bao gm c IBFF v OBF ) c th c ghi. Hoc c th t hoc xa mt c cho php ngt.
cc ng port C c nh ngha l vo bao gm c ACK v STB kt hp vi port C khng b nh hng bi lnh set/reset bt port C. Vic ghi vo cc v tr bt port C tng ng vi ACK v STB bng lnh set/reset bt port C s nh hng cc c cho php ngt nhm A v nhm B 55
Dng in iu khin Dng sink v source ti mi chn ca cc port A, B v C l 2,5 mA. c tnh ny cho php 82C55A kt ni trc tip vi thit b kiu Darlington v cc dng c hin th in p cao khng cn dng in ln. c trng thi port C (hnh 4.20 v 4.21) mode 0, port C trao i d liu vi thit b ngoi vi. Khi 82C55A c lp trnh mode 1 hoc mode 2, port C s pht v nhn cc tn hiu mc ni vi thit b ngoi vi. Vic c ni dung ca port C cho php lp trnh vin th hoc kim tra trng thi ca mi thit b ngoi vi v thay i hng chng trnh mt cch tng ng. Khng c lnh c bit c thng tin trng thi t port C. Thng thng mt hot ng c port C c thc hin hon thnh chc nng ny.
56
57
58
59
5.1 c tnh
8251A l mt thit k ci tin USART chun cng nghip Intel 8251. Vi mch 8251A lm vic vi mt di rng cc h vi x l ca Intel v vn duy tr s tng thch vi 8251. Ngoi cc c im ging nh 8251, 8251A cn c thm cc tnh nng khc nh sau: 8251A c hai ng d liu m kp vi cc thanh ghi iu khin ring bit cho d liu vo v d liu ra nh lm n gin chng trnh iu khin v gim chi ph v CPU.
60
Trong ch khng ng b, b nhn d liu s d v qun l break mt cch t ng gip gim ti cho CPU. Mt s khi to Rx tt hn c tc dng ngn b nhn t vic khi ng khi trong trng thi break. Kh nng ngn cc ngt khng mong mun t mt USART khng cn kt ni. Khi kt thc qu trnh pht, ng TxD lun tr v trng thi mark tr khi SBRK c lp trnh. Mch logic cho php Tx ci tin ngn mt lnh khng cho php Tx qua vic dng qu trnh pht cho n khi d liu ghi trc c pht. Mch logic ny cng ngn b pht chuyn sang off trong khong gia mt t. Khi tnh nng d ng b ngoi c lp trnh th mch d ng b bn trong mt hiu lc v trng thi d ng b ngoi c cung cp qua mt FF. FF ny s t xa ngay khi mt trng thi c c. Kh nng pht hin mt ng b c ti thiu ha bng cch lp trnh ng b k t kp. Cc k t c d lin tc v cng bng cch xa thanh ghi Rx bt ca khi no lnh entr hunt c to trong ch ng b. Khi no 8251A cn khng c chn th tn hiu RD v WR s khng nh hng n hot ng ni b ca vi mch. Trng thi ca 8251A c th c c bt k lc no nhng vic cp nht trng thi s b cm trong khi c trng thi. 8251A c c tnh AC, DC v kh nng chng nhiu logic rt tt nn phm vi hot ng v tc lm vic cng cao hn Tc baud ng b t DC n 64 K
61
CLK (Clock) Ng vo CLK c dng to xung nh thi cho thit b v thng c ni n ng ra phase 2 (TTL) ca khi dao ng ng h. Khng cn tn hiu vo hoc tn hiu ra bn ngoi tham chiu n CLK nhng tn s ca CLK phi ln hn 30 ln tc bt khi thu hoc pht d liu.
WR (Write) Mc thp ng vo ny cho 8251A bit l CPU ang ghi d liu hoc t iu khin vo 8251A. RD (Read) Mc thp ng vo ny bo cho 8251A bit l CPU ang c d liu hoc thng tin trng thi ca 8251A.
C/D (Control/Data) Tn hiu ny kt hp vi WR v RD bo cho 8251A bit d liu trn bus l t iu khin hoc thng tin trng thi. 1 CONTROL/STATUS; 0 = DATA. CS (Chip select) Mc thp ng vo ny dng chn 8255A. Thao tc c hoc vit s khng xy ra nu vi mch khng c chn. Khi CS mc cao, b d liu b treo v cc lnh c ghi khng nh hng.
62
iu khin MODEM 8251A c mt tp hp cc tn hiu iu khin vo v ra. Cc tn hiu ny c dng nhm n gin ha yu cu giao tip vi hu ht cc modem. Ngoi cng dng thng thng cc tn hiu iu khin modem cn c dng cho cc chc nng khc khi cn thit.
DSR (Data Set ready) y l mt ng vo cng dng chung, cng vo o bt 1, gi tr ca n c th c th bi CPU bng mt thao tc c trng thi. Ng vo DSR thng c dng kim tra trng thi ca modem DTR (Data Terminal Ready) y l mt ng ra cng dng chung, cng ra o bt 1, n c th c a v mc thp bng cch lp trnh bt tng ng trong t iu khin lnh. Ng ra ny thng c dng iu khin modem. RTS (Request to Send) y l ng ra cng dng chung, cng ra o bt 1, c th c a v mc thp bng cch lp trnh bt tng ng trong t iu khin lnh. Ng ra ny thng c dng iu khin modem. CTS (Clear to Send) Mc thp ng vo ny cho php 8251A pht d liu ni tip nu bt cho php Tx trong byte lnh c t bng 1. Nu mt trong hai bt cho php Tx hoc RTS off trong khi Tx ang hot ng th Tx s pht tt c d liu trong USART c ghi vo trc lnh ngn Tx trc khi tt my.
B m pht B m pht nhn d liu song song t b m bus d liu, bin i thnh chui bt ni tip, chn thm vo cc k t hoc cc bt thch hp (theo yu cu truyn thng) v xut mt lung d liu ni tip tng hp ra chn TxD ti cnh xung ca TxC , b pht
bt u pht trong lc ang c cho php nu CTS = 0. ng TxD s c gi trng thi mark khi reset, khi bt cho php Tx hoc CTS off hoc b pht rng.
iu khin pht Khi iu khin pht qun l tt c cc thao tc lin quan n vic pht d liu ni tip. N thu nhn v to ra cc tn hiu bn trong cng nh bn ngoi hon thnh nhim v ny. TxRDY (Transmitter Ready) L tn hiu ra bo cho CPU bit b pht sn sng nhn mt k t d liu. Chn ra ny c th c dng nh mt ngt h thng. Do n b che bi TxEnable hoc i vi thao tc thm d CPU c th kim tra TxRDY bng cch dng mt lnh c trng thi. TxRDY b xa t ng bi cnh ln ca WR khi mt k t d liu c np t CPU.
Lu rng khi dng phng php thm d, bt trng thi TxRDY khng b che bi TxEnable nhng s ch cho bit trng thi empty/full ca thanh ghi nhp liu Tx.
TxE (Transmitter Empty) Khi 8251A khng c mt k t no gi, ng ra TxEmty s ln mc cao. Ng ny reset khi nhn mt k t t CPU nu b pht c cho php. TxE vn duy tr mc cao
63
khi b pht khng c cho php. TxE c th c dng bo ch pht kt thc cho CPU bit chuyn hng trong ch truyn thng song cng bn phn. Trong ch ng b, mt mc cao ng ra ny cho bit mt k t c np v l k t ng b hoc cc k t trn hoc ang t ng c pht. TxE khng xung thp khi cc k t ng b ang dch chuyn.
TxC (Transmitter Clock) TxC iu khin tc pht k t. Trong ch ng b tc baud bng vi tn s ca TxC . Trong ch khng ng b, tc baude l mt phn ca tn s TxC v c xc nh bi lnh chn ch , t s ny c th l: 1, 1/16 hoc 1/64. V d: Nu tc baud l 110 baud TxC l 110 Hz ch 1x TxC l 1,72 KHz ch 16x TxC l 7,04 KHz ch 64x Cnh xung ca TxC dch chuyn d liu ra khi 8251A
B m thu B nhn bin i d liu ni tip nhn c thnh song song, kim tra cc bt hoc cc k t bi li truyn thng v sau gi mt k t hp thnh n CPU. D liu ni tip c nhp vo chn RxD v ng b vi cnh ln ca RxC iu khin thu Khi chc nng ny qun l tt c cc thao tc lin quan n vic thu nhn d liu. Khi ny gm c cc tnh nng sau y: Mch khi to RxD ngn li cho 8251A t mt ng vo khng x dng i vi cc ng d liu tch cc mc thp trong iu kin h mch. Trc khi bt u nhn k t ni tip t ng RxD, u tin mt gi tr 1 hp l phi c nhn ra tn hiu reset thit b. Mi ln iu ny c xc nh, mt s tm kim mc thp hp l (start bit) c
64
cho php. Tnh nng ny ch hot ng trong ch khng ng b v ch lm mt ln cho mi ln reset. Mch d li bt khi ng ngn li khi ng do nhiu logic bng cch trc tin d cnh xung v sau nhp trung tm ca start bt (RxD = 0) Qu trnh tm li chn l s thit lp bt tng ng. Bt trng thi li khun dng c t nu khng c stop bt cui byte d liu (ch khng ng b).
RxRDY (Receiver Ready) Ng ra ny cho bit 8251A cha mt k t sn sng chuyn vo CPU. RxRDY c th c ni n cu trc ngt ca CPU hoc, i vi hot ng thm d, CPU c th kim tra RxRDY bng lnh c trng thi. RxRDY c gi trng thi reset khi RxEnable mc thp. Trong ch khng ng b t RxRDY, b thu phi c cho php tm start bt v to thnh mt k t y sau chuyn n thanh ghi d liu ra. Trong ch ng b t RxRDY, b thu phi c cho php v mt k t phi c to ra sau chuyn n thanh ghi d liu ra. Vic c sai k t nhn c t thanh ghi d liu ra Rx trc khi to k t Rx k tip s gy ra li trn v k t trc s b ghi trn v mt. Nu d liu Rx ang c c bi CPU trong khi vic truyn ni b ang xy ra, li trn s c thit lp v k t c b mt.
RxC (Receiver Clock) RxC iu khin tc nhn k t. Trong ch ng b, tc baud bng tn s ca RxC . Trong ch khng ng b tc baud l mt phn ca tn s RxC , h s ny c th l 1, 1/16, 1/64 v c chn bi lnh chn ch . V d: Vi tc baud l 300 baud th RxC l 300 Hz ch 1x RxC l 4800 Hz ch 16x RxC l 19,2 KHz ch 64x Vi tc baud l 2400 baud th RxC l 2400 Hz ch 1x RxC l 38,4 KHz ch 16x RxC 153,6 KHz ch 64x D liu c ly mu v a vo 8251A ti cnh ln ca RxC Ch : Trong hu ht cc h thng truyn d liu, 8251A s qun l cc hai thao tc thu v pht ca mt lin kt n. Do tc baud khi thu v pht bng nhau, c hai tn hiu RxC v TxC cng phi c tn s bng nhau v c th ni chung n mt ngun to xung tc baud duy nht nhm lm n gin vic giao tip.
SYNDET (SYNC Detect) / BRKDET (Break Detect) Chn ny c dng trong ch ng b v c th c lp trnh l ng vo hoc ng ra bng t iu khin. N reset ch ra mc thp khi RESET. Khi c x dng l ng ra (ch ng b ni), mc cao chn SYNDET cho bit 8251A nh v k t SYNC trong ch thu. Nu 8251A c lp trnh dng cc k t ng b kp (bi-sync) th SYNDET s ln mc cao khong gia ca bt cui cng trong k t ng b th hai. SYNDET b xa t ng bi lnh c trng thi.
65
Khi c dng lm ng vo (ch d ng b ngoi). Mt xung dng s iu khin 8251A bt u qu trnh to k t ti cnh ln ca tn hiu RxC k tip. Mi ln ng b, mc cao ca tn hiu vo c th khng cn cn thit. Khi ch d ng b ngoi c lp trnh, ch d ng b trong s mt hiu lc.
BREAK (Ch ch khng ng b) Ng ra ny ln mc cao khi b thu cn mc thp qua hai chui stop bt lin tip nhau (bao gm start bt, data bt v parity bt). Bt ny cng c th c c nh mt bt trng thi, n ch reset khi reset thit b hoc d liu Rx tr v trng thi 1.
66
thc truyn thng theo yu cu., nmhng t iu khin ny s xc nh: Tc baud, chiu di k t, s lng stop bt, ch ng b/khng ng b, bt chn lTrong ch ng b, cc ty chn cng c cung cp chn la mt trong hai kh nng ng b k t trong hoc ngoi. Mi ln c lp trnh, 8251A s sn sng thc hin nhim truyn thng. Ng ra TxRDY ln mc cao bo cho CPU bit 8251A ang sn sng ch nhn mt k t d liu t CPU, ng ny t ng reset khi CPU ghi mt k t vo 8251A. Mt khc, 8251A nhn d liu ni tip t modem hoc thit b I/O. Ngay khi ton b mt k t, ng ra RxRDY ln mc cao bo cho CPU bit l 8251A c y mt k t sn sng CPU c. RxRDY t ng xa khi CPU c d liu. 8251A khng th bt u cng vic pht d liu cho n khi bt TxEnable c t v n nhn mt tn hiu vo CTS , ng ra TxD c gi trng thi mark khi reset.
Lp trnh 8251A Trc khi bt u pht hoc thu d liu, 8251A phi c np mt tp cc t iu khin gi n t CPU., nhng t iu khin ny nh ngha ton b chc nng ca 8251A v phi theo sau ngay thao tc reset (bn trong hoc bn ngoi). Cc t iu khin c chia thnh hai dng: T iu khin ch T iu khin lnh T iu khin ch T ny nh ngha cc c im hot ng tng qut ca 8251A. N phi tip theo sau thao tc reset (bn trong hoc bn ngoi). Mi khi CPU ghi t iu khin ch vo 8251A th cc k t SYNC hoc lnh iu khin mi c th c ghi vo. T iu khin lnh c dng iu khin hot ng ca 8251A. c hai t iu khin ch v t iu khin lnh phi ph hp vi chu trnh c xc nh i vi hot ng thit b tng ng (hnh 4.34). T iu khin ch phi c ghi vo ngay sau thao tc reset trc khi x dng 8251A truyn d liu. Tt c cc t iu khin c vit vo 8251A sau s np lnh iu khin hot ng cho 8251A. cc t iu khin lnh c th c ghi vo 8251A bt k lc no trong
67
mt khi d liu trong sut qu trnh hot ng ca 8251A. tr v dng thc ca t iu khin ch , bt master reset trong t iu khin lnh phi c t khi ng mt thao tc reset bn trong v vic ny s a 8251A tr v dng thc t iu khin ch . Cc t iu khin lnh phi theo sau t iu khin ch hoc cc k t ng b.
Xc nh t iu khin ch 8251A c th hot ng ch ng b hoc khng ng b. hiu t iu khin ch xc nh chc nng hot ng ca 8251A nh th no, c th xem cu to ca thit gm hai thnh phn ring bit: Khi ng b v khi khng ng b c tch hp trong cng mt v. Vic nh ngha dng thc ch c th c thay i sau khi reset thit b. Hai dng thc s c gii thch ring r. Lu : Khi parity c cho php, n khng c xem nh mt bt d liu khi xc nh chiu di ca k t. trn thc t bt parity c nhn trn ng d liu Rx ch khng phi c c trn bus d liu. Trong trng hp chiu di k t c nh ngha t hn 8 bt, cc bt c gi tr thp nht trn bus d liu s xc nh d liu, cc bt khng dng s c gi tr khng xc nh khi ghi d liu vo 8251A v s bng 0 khi c d liu t 8251A. Ch pht khng ng b Bt c khi no mt k t d liu c gi i t CPU, 8251A s t ng thm vo mt start bt (mc thp) sau l cc bt d liu (u tin l bt LSB) v s lng stop bt c nh sn cho mi k t. Mt bt chn hoc l cng c thm vo trc stop bt. K t sau c pht i di dng mt lung d liu ni tip ti ng ra TxD. D liu ni tip c dch ra ngoi ti cnh xung ca TxC vi tc bng 1, 1/16 hoc 1/64 ln tn
s TxC nh c xc nh bi t iu khin ch . K t BREAK c th c gi lin tc n TxD nu c ra lnh lm nh th. Khi khng c k t d liu no c np vo 8251A, ng ra TxD s duy tr mc cao (mark) tr khi mt Break c lp trnh.
Ch thu khng ng b ng RxD bnh thng mc cao. Mt xung m ti ng ny s kch hot s bt u ca mt start bt. Tnh hp l ca start c kim tra bng cch c li bt ny ti trung tm ca n (ch ch 16x hoc ch 64x). Nu li d c mt mc thp th start bt ny l hp l v b m bt s bt u m. Do b m bt nh v trung tm ca cc bt d liu, bt parity (nu c) v cc stop bt. Nu xy ra li chn l, c li parity s c t. cc bt d liu v parity c ly mu trn chn RxD ti cnh ln ca RxC . Nu mt mc thp c d ra nh l stop bt th c ln khun mu s c t. Stop bt bo kt thc k t. Lu l b thu ch cn mt stop bt bt chp n s lng stop bt c lp trnh. K t ny sau c np vo b m I/O song song ca 8251A. Chn RxRDY nng ln mc cao bo cho CPU bit mt k t ang sn sng ch c c. Nu mt k t trc khng c c bi CPU th k t hin hnh s thay th n trong b m I/O v c trn c t (do k t trc b mt). Tt c cc c li c th b xa bng lnh xa li. Vic xy ra cc li ny khng nh hng n hot ng ca 8251A.
68
Ch pht ng b Ng ra TxD lun mc cao cho n khi CPU gi k t u tin ca n n 8251A, y lun l mt k t ng b. Khi ng CTS xung mc thp. K t u tin c
pht ni tip. tt c cc k t c dch ra ti cnh xung ca TxC , tc pht d liu bng vi tn s TxC . Mi ln khi ng chu trnh pht, lung d liu ti ng ra TxD phi lin tc theo tc TxC . Nu CPU khng cung cp k t d liu cho 8251A trc khi b m pht ca 8251A trng, cc tn hiu ng b (hoc k t trong ch k t ng b n) s c t ng chn vo trong lung d liu TxD. Trong trng hp ny, chn TxEmpty ln mc cao bo cho bit 8251A trng v cc k t ng b ang c gi ra. TxE khng tr v mc thp khi SYNC ang c dch ra ngoi (hnh di). Chn TxE b xa bn trong bi mt k t d liu ang c ghi vo 8251A.
Ch thu ng b Trong ch ny vic ng b k t c th c thc hin bn trong hoc bn ngoi. Nu ch ng b c lp trnh th phi bao gm lnh Enter hunt trong t iu khin lnh u tin. Sau , d liu ti chn RxD c ly mu ti cnh ln ca RxC . Ni dung ca b m Rx c so snh vi k t SYNC u tin ti mi bin ca bt cho n khi bng nhau. Nu 8251A c lp trnh vi hai k t ng b th cc k t nhn c sau cng c so snh. Khi d c hai k t ng b, USART chm dt ch HUNT v tr v ch ng b k t, tip theo chn SYNDET c nng ln cao v t ng b xa bi lnh c trng thi. Nu parity c lp trnh th SYNDET s khng c t cho n im gia ca bt parity thay v im gia ca bt d liu cui. Trong ch ng b ngoi, yu cu ng b c thc hin bng cch t mc cao vo chn SYNDET bt buc 8251A thot khi ch HUNT. Mc cao c th c hy b sau mt chu k RxC . Lnh Enter Hunt khng nh hng trong ch khng ng b
69
70
C hai li chn/l v li trn c kim tra cng mt phng php nh trong ch Rx khng ng b. Parity c kim tra khi khng ch HUNT bt chp b thu c c cho php hay khng. CPU c th ra lnh b thu vo ch HUNT nu mt ng b. iu ny cng s t tt c cc bt k t trong b m bng 1 ngn mt SYNDET sai c th xy ra do d liu trong b m Rx ti thi im Enter Hunt. Lu rng FF SYNDET b xa ti mi lnh c trng thi lp trnh ng b trong hoc ngoi. Vic ny s khng lm cho 8251A tr v ch HUNT. Khi trong ch SYNC nhng khng ch HUNT vic d ng b vn cn hiu lc nhng ch xy ra ti cc bin ca t bit. V mt lnh c trng thi cho bit SYNDET v lnh cu th hai cng cho bit SYNDET, Sau cc k t SYNDET lp trnh c thu nhn k nt lnh c trng thi trc (nu ng b k t kp c lp trnh th sau c hai k t ng b c nhn lin tip ngn mt ch bo SYNDET). Khi ch SYNDET ngoi c chn, ch d ng b bn trong mt hiu lc v FF SYNDET c th c t ti bin bt bt k.
nh ngha t iu khin lnh Mi khi chc nng ca 8251A c lp trnh bi t iu khin ch v cc k t ng b c np (i vi ch ng b), sau thit b sn sng truyn d liu. T iu khin lnh iu khin hot ng ca dng thc c chn. Cc chc nng nh: Cho php thu/pht, xa li, iu khin modem u c cung cp bi t iu khin lnh. Khi t iu khin ch c ghi vo 8251A v cc t ng b c chn vo, sau nu cn cc thao tc ghi khc ( C/D = 1) s np mt lnh. Mt thao tc reset (trong hoc ngoi) s a 8251A tr li dng thc chn ch . Ghi ch: Reset bn trong khi cp ngun
u tin, khi c cp ngun, 8251A c th dng thc k t ng b hoc dng thc lnh. bo m thit b dng thc lnh trc khi to ra lnh reset. Cch an ton nht thc hin chu trnh khi to trong trng hp xu nht (ch ng b vi hai k t ng b) bng cch np lin tip ba gi tr 00H vi C/D cu hnh ch ng b v ghi hai k t ng b gi 00H. Sau c th to ra mt lnh reset ni a thit b v trng thi ngh.
71
Lu : Thao tc xa error phi c thc hin bt c khi no RxE v Enter Hunt c lp trnh. Xc nh ch c trng thi Trong h thng truyn d liu rt thng phi kim tra trng thi thit b ang hot ng bit chc khi xy ra li hoc cc tnh hung khc cn n s ch ca CPU. 8251A c nhng kh nng cho php ngi lp trnh c trng thi thit b bt c lc no trong khi ang hot ng. (vic cp nht trng thi b cm trong khi ang c trng thi), Mt lnh c trng thi thng c to ra bi CPU vi C/D = 1 hon thnh nhim v ny. Mt s bt trong t c trng thi c ngha ng nht vi cc chn ra sao cho 8251A c th c dng hon ton trong mt h thng thm d hoc h thng ngt. TxRDY l mt ngoi l. Lu l vic cp nht trng thi c th b tr hon ti a l 28 chu k ng h.
72
Lu : 1. Bt trng thi TxRDY c ngha khc vi chn ra TxRDY, k hiu th nht khng ph thuc vo CTS v TxE cn k hiu th hai th ph thuc vo c
hai CTS v TxE. C ngha l bt TxRDY = DB buffer empty; Chn ra TxRDY = DB buffer empty ( CTS = 0) (TxE = 1)
73
Ghi ch: 1. th thi gian AC c o ti VOH = 2; VOL = 0,8 vi s mch ti hnh 4.45 2. CS v C/D c xem nh l a ch 3. Gi s a ch hp l trc khi RD 4. Thi gian hi phc ch hiu lc i vi s khi to mode. Ghi d liu ch c php khi TxRDY = 1. Thi gian hi phc gia cc ln ghi trong ch khng ng b l 8tCY v trong ch ng b l 16tCY 5. Tn s TxC v RxC c gii hn i vi CLK: Vi tc baud 1x, fTX hoc fRX 1/(30 tCY); vi tc baud 16x v 64x, fTX hoc fRX 1/(4,5 tCY). Cng thc ny p dng cho tc baud thp hn hoc bng 64 Kbaud.
74
6. B rng xung reset t nht bng 6 tCY, phi c xung ng h h thng trong thi gian reset. 7. Thi gian tr ti a khi cp nht trng thi l 28 chu k ng h 8. L lng c nh ngha l v tr m ti bus d liu c gi tr thp hn mc 1 (< 2 V) v cao hn mc 0 ( > 0,8 V)
75
76
77
78
79
80
BI 4
Tn bi: Ngt v chng trnh phc v ngt M bi:
CIO 02 31 04
GII THIU
Bi hc ny gii thiu v kh nng trao i d liu gia CPU vi cc thit b ngoi vi ch yu da trn cc tn hiu ngt c sn trong 8085A. u im ca phng php ngt l tn dng c thi gian h thng hay ni cch khc vi x l c xem nh ng thi thc hin c nhiu cng vic khc nhau do tc cao ca n. Phn thc hnh ca bi th hin thng qua vic vit chng trnh s dng ngt chy th nghim trn KIT 8085 kt hp vi cc m hnh rp thm bn ngoi.
Hiu nguyn l hot ng v so snh c u, khuyt im ca cc phng php trao i d liu gia CPU vi cc thit b ngoi vi. Vit c chng trnh phc v ngt trn KIT 8085. Hiu cu to v p dng c vi mch x l ngt chuyn dng 8259A
NI DUNG CHNH
Ni dung bi hc tp trung v cc ch chnh nh sau: Trao i d liu theo phng php thm d trng thi sn sng lm vic ca thit b ngoi vi. c im ca phng trao i d liu thng qua ngt T chc ngt trong b nh. Quy trnh phc v mt ngt ca 8085A Vit chng trnh ng dng trn KIT 8085. Kho st vi mch x l ngt 8259A. Cc t khi to v t iu khin ca 8259A
81
1. TNG QUAN
Mt h thng ng dng vi x l cng nh my tnh s khng c ngha thc t nu khng c kh nng trao i d liu vi cc thit b ngoi vi. Ni chung, c 3 phng php vo/ra d liu. Vo/ra d liu bng cch thm d trng thi sn sng ca thit b ngoi vi, cn gi l phng php qut. Vo/ra d liu bng cch ngt b vi x l. Vo/ra d liu bng phn cng h tr truy cp trc tip vo b nh Mi phng php iu khin vo/ra d liu ni trn c nhng c im khc nhau v c ng dng trong cc iu kin khc nhau. Trong , n gin nht l phng php thm d trng thi sn sng lm vic ca thit b ngoi vi trc khi thc hin vo/ra d liu.
Trong hnh 9.1a l trng hp CPU lm vic vi cc thit b ngoi vi lun trong trng thi sne sng nh h thng o nhit nu trn.
Tn hiu strobe n
82
Trong nhiu ng dung, d liu ti thit b ngoi vi ch thc s hp l ti mt thi im nht nh v y l lc cho php thc hin thao tc c vo CPU. VD: Khi mt phm trn bn phm c nhn. mch x l bn phm s gi m ASCII ca phm ln bus d liu v sau pht ra tn hiu strobe cho bit d liu ny sn sng trn bus (h 4.2b), phng php ny thch hp vi tc truyn thp nh khi truyn d liu t bn phm n CPU. Nhng s c vn nu tc ca thit b pht nhanh hn tc c d liu ca thit b nhn v khng c cch no bo cho thit b pht bit l d liu c nhn y c th gi tip tc. Tn hiu mc ni s khc phc hin tng ny.
Tn hiu mc ni n Trong hnh 4.1 trnh by s kt ni v hnh 4.2c l gin thi gian biu din qu trnh truyn d liu t thit b ngoi vo CPU. Thit b ngoi vi gi d liu v tn hiu STB n CPU. D liu s c c vo khi CPU nhn ra tn hiu STB , sau CPU gi tn hiu ACK n thit b ngoi vi bo cho bit qu trnh c hon tt thit b ny gi d liu tip theo. Tng t nh khi CPU kt ni vi my in, trc tin CPU s gi k t in v ng thi km theo tn hiu STB , sau khi in xong my in tr li bng cch gi n CPU tn hiu ACK ngh CPU gi k t tip theo. Trong phng php ny thit b hoc h thng pht s khng tip tc gi d liu cho n khi thit b hoc h thng thu tr li bng ACK cho bit sn sng nhn d liu. Tn hiu mc ni kp. Phng php ny c dng trong trng hp thit b pht v thu ngang hng nhau, vic trao i d liu c th hnh dung tng t nh hai ngi ang i thoi nhau. Quan st cc cnh dng sng hnh 4.2d. Thit b pht h ng STB xung mc thp hi thit b thu sn sng cha ?. Nu sn sng th thit b thu s tr li bng cch
83
nng ng ACK ln mc cao, tip theo thit b phat gi d liu v nng STB ln cao bo d liu chun bi xong, sau khi c xong thit b thu h ACK xung thp cho bit c xong v ch d liu tip theo.
INT0
M ha 74LS148
Data bus
INT7 1 1
EN
INTR
INTA
AD7AD0
VI X L
A15A8
84
a ch b nh (HEX)
Vng ngt
Trong hnh v 4.4 cho thy vng nh dnh cho mi ngt c cha trong ROM c kch thc kh hp khng ci t mt chng trnh phc v ngt, do thng
85
thng ti y ch l mt lnh nhy n mt ni khc trong ROM m ti chnh l v tr ca chng trnh phc v ngt.
a ch
PC MOV B,A MOV M,A xp Giam con tr ngn xp Ct byte thp PC vo ngn xp Np a ch ca RST2 vo PC v thc hin lnh cha ti Ly ngn xp np vo PC Tng con tr ngn xp
To tn hiu INTA c m lnh RST2 Gim con tr ngn xp Ct byte cao ca PC vo ngn
SP
Stack
0040 0041
00 41
FFFF FFFE
xx 00
FFFD 00 10 41 FFFE 00 41
41
Ly ngn xp np vo PC Tng con tr ngn xp Thc hin tip chng trnh chnh
FFFF
Hnh 4.5 Quy trnh thc hin ngt INT2
Trong bn b nh hnh 4.4 cho thy a ch cc ngt chim mt vng nh t 0000 n 003F, cc ngt RST0RST3 mi ngt chim 8 nh, cc ngt cn li mi ngt chim 4 nh. Trong hnh 4.5 yu cu ngt INT2 xy ra khi CPU ang thc hin lnh MOV B, A ti a ch 0040, a ch ca lnh tip theo MOV M, A l 0041 cng chnh l a ch tr v khi CPU thc hin xong yu cu ngt.
V d: Vit chng trnh khi n phm I trn KIT 8085 (phm I l tn hiu RST 7.5), dng ch Int.-Rout. s c hin th trn led 7 on trong vng 3 giy (chng trnh chnh hin th dng ch Haupt.-Pr.) Chng trnh chnh
A1:
86
8100 8101 8102 8105 8108 810A 810D 810F 8110 8111 8112 8113
Vng d liu
PUSH F PUSH B LXI B, 8308 Call TEXT 8 MVI A, 30 Call SECD MVI A, 10 SIM POP B POP F EI RET
8300 8301 8302 8303 8304 8305 8306 8307 8308 8309 830A 830B 830C 830D 830E 830F
76 77 3E 73 F8 40 73 D0 30 54 F8 40 50 5C 1C F8
H A U P t. P r. I n t. r o U t.
Tng thch 8086, 8088 Tng thch MCS-80, MCS-85 Thit lp c 8 mc u tin Xc lp ch bng phn mm. Cho php tng ngt ring bit Ngun nui n cc +5 V (khng c xung ng h) 87
3.2 S khi
Kiu I I I
WR RD D7 D0 CAS0-CAS2 SP/EN
INT IR0-IR7
17 18-25
O I
Chc nng Ngun nui +5 V GND CHIP SET: Mc thp cho php trao i d liu gia 8259 vi CPU bi tn hiu RD v WR . Chc nng INTA c lp vi CS WRITE: Mc thp trong khi CS cung mc thp, cho php 8259 nhn lnh t CPU READ: Mc thp trong khi CS cng mc thp cho php 8259 gi trng thi ln bus d liu cho CPU Bus d liu: Tn hiu iu khin, trng thi, thng tin v vec t ngt c truyn trn bus ny CASCADE LINES: Ng ni tng, cc ng ny l ng ra ca 8259 ch v l ng vo ca 8259 t SLAVE PROGRAM / ENABLE BUFFER: y l chn 2 chc nng. ch buffer l ng ra iu khin thu/pht buffer, khi khng ch buffer l ng vo chn master (SP-1) hoc slave (SP-0) INTERRUPT: Chn ny ln mc cao khi mt ngt hp l c xc nhn, tn hiu ny c ni n ng vo INTR ca CPU INTERRUPT REQUESTS: Ng vo khng ng b, mt ngt c thc hin ti cnh ln , mc cao c duy tr cho n khi nhn ra ngt (tc ng cnh), hoc in p IR t n mc cao (tc ng mc)
88
INTA A0
26 27
I I
INTERRUPT ACKNOWLEDGE: Cho php a d liu ca vec t ngt 8259 ln bus d liu bi mt chui xung INTA to ra t CPU A0 ADRRES LINE: Kt hp vi CS , WR v RD , 8259 dng tn hiu ny gii m lnh v trng thi CPU, thng tn hiu ny c ni n a ch A0 ca CPU ( A1 i vi 8086 v 8088)
ang c phc v.
Gii quyt u tin Khi logic ny s xc nh cc mc u tin ca cc bt t trong IRR. Mc u tin cao nht c chn v c a vo bt tng ng ca ISR trong khong thi gian xung
INTA
89
IMR lu tr cc bt dng che cc ngt. IMR hot ng da trn IRR. Vich che mt ngt c mc u tin cao hn s khng nh hng n cc ngt c u tin thp hn. INT (Interrupt) Ng ra ny c ni trc tip n ng vo ngt ca CPU, mc VOH ca ng ny c thit k tng thch hon ton vi mc in p vo ca cc vi x l 8080A, 8085A v 8086. INTA (Interrupt Acknowledge) Tn hiu ny gi a ch vec t ngt ln bus d liu vi dng thc ph thuc vo ch h thng (PM) ca 8259A.
m bus d liu L loi m 8 bt hai chiu 3 trng thi c nhim v giao tip gia 8259A vi bus d liu h thng. T iu khin v thng tin trng thi c chuyn ngang qua b n ny. Khi logic iu khin Read/Write Chc nng ca khi dng nhn cc lnh xut ra t CPU bao gm t khi to (Initialization Command Word ICW) cc thanh ghi v t thc thi (operation Command Word OCW) cc thanh ghi. Chng lu tr cc nh dng iu khin khc nhau cho hot ng ca thit b, khi ny cng cho php chuyn trng thi ca 8259A ln bus d liu.
CS (Chip Select) 8259A c chn khi chn ny mc thp, ngc li qu trnh c/ghi vo chip s khng thc hin c. WR (Write) Chn ny mc thp cho php CPU ghi cc t iu khin (ICW v OCW) vo 8259A. RD (READ) Chn ny mc thp cho php gi trng thi ca thanh ghi yu cu ngt (Interupt Request Register IRR), thanh ghi phc v ngt (Interupt Service Register ISR), thanh ghi mt n ngt (Interrupt Mask Register IMS) hoc mc ngt ln bus d liu.
A0 y l tn hiu vo c dng kt hp vi hai tn hiu WR v RD ghi lnh vo cc thanh ghi lnh khc nhau cng nh c cc thanh ghi trng thi trn chip, tn hiu ny c th c ni trc tip vi mt trong cc ng a ch. Khi kt ni so snh/m Chc nng ca khi l lu tr v so snh cc thng tin ca tt c cc 8259A c trong h thng. Ba chn kt ni I/O (CAS0 2) l cc ng ra khi 8259A ch master v l cc ng vo khi 8259A ch slave. Khi l master 8259A s gi cc thng s nhn dng ca vi mch ngt slave qua cc ng CAS0 2, nh vi mch slave c chn v n s gi a ch chng trnh phc v ngt ln bus d liu trong sut khong thi gian ca mt hoc hai xung INTA k tip. Chu trnh ngt Tnh nng rt mnh ca 8259A trong h thng vi x l l kh nng lp trnh v a ch ha cc chng trnh phc v ngt. c tnh sau cho php trc tip hoc gin tip nhy n chng trnh phc v xc nh c yu cu m khng cn thm d mt thit b no. Mt chui thng thng cc s kin trong khong thi gian mt ngt ph thuc vo chng loi CPU c x dng.
90
Cc s kin xy ra trong h thng MCS-80/85 c trnh by nh sau: 1. Mt hoc nhiu ng vo ngt (IR7 0) tng ln mc cao s t 1 cc IRR bt tng ng 2. 8259A nh gi cc yu cu v gi mt INT n CPU nu thch hp. 3. CPU nhn bit INT v tr li bng mt xung INTA 4. Trong khi ang nhn INTA t CPU, bt ISR c mc u tin cao nht c t 1 v bt IRR tng ng b xa. 8259A pht ra lnh CALL c m 11001101 vo bus d liu 8 bt qua cc chn D7 D0. 5. Lnh CALL s bt u sau hai xung INTA c gi t CPU 6. Hai xung INTA ny cho php 8259A pht a ch chng trnh phc v ngt ln bus di liu. Byte thp a ch ti xung th nht v byte cao a chi vo lc xung INTA th hai 7. Qu trnh ny hon tt vic gi i lnh CALL 3 byte bi 8259A. Trong ch AEOI bt ISR b xa khi kt thc xung INTA th ba. Nu khng bt ny vn cn mc 1 cho n khi mt lnh EOI c to ra ti cui chu trnh ngt.
Cc s kin xy ra trong h vi x l 8086 ch khc nh trnh by k t bc 4. 4. Trong lc nhn xung INTA t CPU, bt ISR c mc u tin cao nht c t 1 v bt IRR tng ng b xa, 8259A khng iu khin bus d liu trong khong thi gian ny. 5. CPU bt u ti xung INTA th hai, lc ny 8259A gi mt con tr 8 bt vo bus d liu CPU c.
91
6. n y l hon tt chu trnh ngt. Trong ch AEOI bt ISR b xa khi kt thc xung INTA th hai. Nu khng bt ny ch b xa bi lnh EOI khi chng trnh phc v ngt chm dt. Nu khng c yu cu ngt xy ra ti bc 4 mt trong hai chu trnh (c ngha l thi gian tn ti ca ngt qu ngn). 8259 s gi mt ngt mc 7. c hai buyte a ch ngt v cc ng CAS s ging nh mt ngt mc 7 c yu cu. Khi 8259A nhn mt ngt, INT tr nn tch cc v chu k nhn bit ngt bt u. Nu mt ngt c mc u tin cao hn xy ra gia hai xung INTA th INT tc thi tr v trng thi khng tch cc sau xung INTA th hai. Sau mt khong thi gian khng xc nh, ng INT c tch cc tr li bo cho bit ngt c mc u tin cao hn ang ch c phc v. Thi gian khng tch cc l khng xc nh v c th thay i. Ngi lp trnh nn bit iu ny khi thit k h thng dng 8259A. Mt gi l nn p dng k thut khng ng b nh sau y.
Tn hiu ra trong chu trnh ngt Thi gian ca chu trnh c xc nh bi 3 xung INTA . Trong khong thi gian xung u tin, m ca lnh CALL c gi vo bus d liu Ni dung byte vec t ngt u tin D7 D6 D5 D4 D3 D2 D1 D0 1 1 0 0 1 1 0 1
Trong khong thi gian xung INTA th hai, byte thp a ch chng trnh ngt c cho php gi n bus d liu.
92
Thi gian ngh bng 4 khi cc bt A5-A7 c lp trnh v cc bt A0-A4 c 8259A t ng nhp vo. Thi gian ngh bng 8 khi cc bt A6-A7 c lp trnh v cc bt A0-A5 c 8259A t ng nhp vo.
Hnh 4.10 8259A giao tip vi bus
Ni dung byte vc t ngt th hai IR D7 A7 A7 A7 A7 A7 A7 A7 A7 D6 A6 A6 A6 A6 A6 A6 A6 A6 D5 A5 A5 A5 A5 A5 A5 A5 A5 Thi gian ngh bng 4 D4 D3 D2 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 Thi gian ngh bng 8 D4 D3 D2 1 1 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 D1 0 0 0 0 0 0 0 0 D0 0 0 0 0 0 0 0 0
7 6 5 4 3 2 1 0
IR
7 6 5 4 3 2 1 0
D7 A7 A7 A7 A7 A7 A7 A7 A7
D6 A6 A6 A6 A6 A6 A6 A6 A6
D5 1 1 1 1 0 0 0 0
D1 0 0 0 0 0 0 0 0
D0 0 0 0 0 0 0 0 0
93
Trong khong thi gian xung INTA th ba tng ng vi a ch cao ca chng trnh phc v ngt v l byte 2 ca vic ki u chu trnh (A8-A15) oc cho php a vo bus.
Ni dung byte vec t ngt u tin D7 D6 D5 D4 D3 D2 D1 D0 A15 A14 A13 A12 A11 A10 A9 A8 8086, 8088 8086 cng tng t nh h MCS-80 im khc l ch c hai chu k INTA c to ra bi CPU v khng c gi lnh CALL n vi x l. Trong chu k INTA u tin ging nh h MCS-80/85, trong lc ny 8259A n nh trng thi cc ngt gii quyt vn u tin v khi vai tr master n gi m ngt ra cc ng kt ni khi kt thc xung INTA . Trong khong thi gian ny n khng cho ra bt k mt d liu no n CPU v cc b m bus d liu ca n trng thi khng cho php. Trong chu k INTA th hai, master (hoc slave nu c lp trnh trc) s gi mt byte d liu n CPU vi m ngt nh m t sau y (lu l trng thi ca ch iu khin ADI b b qua v A5-A11 khng c dng trong h 8086). Ni dung byte vc t ngt h 8086 D7 D6 D5 IR7 T7 T6 T5 IR6 T7 T6 T5 IR5 T7 T6 T5 IR4 T7 T6 T5 IR3 T7 T6 T5 IR2 T7 T6 T5 IR1 T7 T6 T5 IR0 T7 T6 T5 D4 T4 T4 T4 T4 T4 T4 T4 T4 D3 T3 T3 T3 T3 T3 T3 T3 T3 D2 1 1 1 1 0 0 0 0 D1 1 1 0 0 1 1 0 0 D0 1 0 1 0 1 0 1 0
94
d. a ch ch slave c t 7. e. Xa ch che c bit, v trng thi c c t trong IRR. f. Nu IC4 = 0 th tt c cc chc nng c chn trong ICW4 b xa. (khng c m, khng t ng EOI trong h MCS-80/85).
Lu :
95
T khi to 4 (ICW4) SFNM Nu SFNM = 1, cho php lp trnh ch lng ton phn. BUF Nu BUF = 1, ch m c cho php. Trong ch ny SP/EN tr thnh mt ng ra cho php v master/slave c xc nh bi M/S. M/S Nu ch m c chn, M/S = 1 c ngha l 8259A c lp trnh l master, khi M/S = 0 8259A c lp trnh l slave. Nu BUF = 0, M/S khng c tc dng. AEOI Nu AEOI = 1, ch t ng chm dt ngt c lp trnh. PM Ch vi x l: PM = 0 s thit lp 8259A hot ng trong h thng MCS-80/85. PM = 1 thit lp 8259A hot ng trong h thng 8086.
96
T IU KHIN (OCWs) Sau khi c np t khi to, 8259A sn sng nhn yu cu ngt t cc ng vo ca n. Tuy nhin, trong sut qu trnh hot ng, mt s la chn thut gii c th ra lnh cho 8259A hot ng cc ch khc nhau thng qua cc t iu khin OCWs.
97
Cc t iu khin
T iu khin 1 (OCW1) OCW1 t v xa cc bt mt n trong thanh ghi mt n ngt IMR. M7 M0 l 8 bt mt n: M = 1 knh tng ng b che, M = 0 knh tng ng c cho php. T iu khin 2 (OCW2) R, SL, EOI l ba bt iu khin vic dch chuyn, kt thc cc ch ngt hoc kt hp c hai. Mt s kt hp nh th c tm thy trong dng thc t iu khin. L2, L1, L0 l cc bt xc nh mc ngt c tc ng khi SL trng thi tch cc.
98
T iu khin 3 (OCW3) ESMM Cho php ch mt n c bit. Bt ny bng 1 s cho php bt SMM t hoc xa ch c bit. Bt SMM mt tc dng khi ESMM = 0. SMM Ch mt n c bit. Nu ESMM = 1 v SMM = 1 s a 8259A vo ch mt n c bit. SMM khng tc dng khi ESMM = 0. Ch lng ton phn Ch ny c chn sau qu trnh khi to nu khng c ch no khc c lp trnh. Cc yu cu ngt c sp xp theo mc u tin t 0 n 7 ( 0 l cao nht). Khi mt ngt c nhn ra, ngt c mc u tin cao nht c xc nh v a ch ca n c a vo bus d liu, thm vo mt bt ca thanh ghi phc v ngt (ISO-7) c t 1. Bt ny duy tr gi tr 1 cho n khi CPU pht ra lnh EOI trc khi tr v t chng trnh phc v ngt hoc nu AEOI oc t, ti cnh ln ca xung INTA cui cng. Trong khi IS bt bng 1 tt c cc ngt c cng mc u tin hoc thp hn u b ngn. Trong khi cc mc u tin cao hn to ra ngt (cc ngt ny ch c nhn ra khi CPU cho php tr li FF cho php ngt bn trong bng phn mm). Sau chu trnh khi to, IR0 c mc u tin cao nht v IR7 c mc u tin thp nht, cc mc u tin c th thay i nh s c gii thch trong ch dch chuyn mc u tin. Kt thc ngt (EOI) Bt phc v (In Service IS) hoc c th b xa t ng sau cnh xung ca xung INTA cui cng (khi bt AEOI trong ICW1 bng 1) hoc bi mt lnh gi n 8259A trc khi tr v t chng trnh phc v (lnh EOI). Lnh EOI phi c gi n hai ln trong ch ni tng, mt cho master v mt cho slave tng ng. C hai dng lnh EOI: Xc nh v khng xc nh. Khi 8259A hot ng trong cc ch phc v cho cu trc lng ton phn n c th xc nh bt IS cn thit xa trong EOI, khi mt lnh khng xc nh EOI c to ra, 8259A s t ng xa bt IS cao nht v trong ch lng ton phn mc IS cao nht l mc cui cng c nhn ra v c phc v. Mt EOI khng xc nh c th c to ra vi OCW2 (EOI = 1, SL = 0, R = 0). Khi mt ch c chn, n c th gy mt n nh cu trc lng ton phn, 8259A c th khng cn kh nng xc nh mc cui cng nhn. Trong trng hp
99
ny mt EOI xc nh phi c to ra. Lnh ny c th c to ra vi OCW2 (EOI = 1, SL = 1, R = 0 v L0-L2 l tr nh phn ca bt IS b xa). Lu rng mt bt IS b che bi bt IMR s khng b xa bi lnh EOI khng xc nh nu 8259A ch mt n c bit.
Ch t ng kt thc ngt (AEOI) Nu bt AEOI trong ICW4 bng 1 th 8259A s tip tc hot ng ch AEOI cho n khi n c lp trnh li bng ICW4. Trong ch ny 8259A s t ng thc thi thao tc EOI khng xc nh ti cnh xung ca INTA cui cng (xung th ba trong MCS-80/85 v l xung th hai trong 8086). Ch l t mt quan im h thng, ch nn dng ch ny cu trc ngt lng nhiu cp khng cn thit i vi mt 8259A n l. Ch AEOI ch p dng cho 8259A master v khng p dng i vi slave. Cc vi mch 8259A sn xut t 1985 tr v sau hot ng c ch AEOI nh master ln slave. Dch chuyn t ng (cc mc u tin bng nhau) Trong nhiu ng dng c mt s cc thit b ngt c mc u tin bng nhau. Trong ch ny, mt thit b sau khi ang c phc v li nhn mt mc u tin thp nht. Trong trng hp xu nht mt thit b ang yu cu ngt nh th s phi i cho n khi mi trong 7 thit b khc c phc v xong. V d: Trc khi dch chuyn (IR4 u tin cao nht ang cn phc v)
Sau khi dch chuyn (IR4 c phc v xong, cc mc u tin khc c dch chuyn tng ng)
C hai cch thc hin vic dch chuyn t ng dng OCW2. Dch chuyn da trn lnh EOI khng xc nh (R = 1, SL = 0, EOI = 1) v dch chuyn trong ch AEOI (R = 1, SL = 0, EOI = 0) v c xa bi (R = 0, SL = 0, EOI = 1)
Dch chuyn xc nh (u tin xc nh) Ngi lp trnh c th thay i mc u tin bng cch lp trnh mc u tin nn v t c nh tt c cc mc u tin khc. VD: Nu IR5 c lp trnh l mc u tin nn th sau IR6 s l mc u tin cao nht.
100
Lnh t mc u tin c to ra trong OCW2. Trong : R = 1, SL = 1, L0-L2 l m u tin nh phn ca thit b c mc u tin nn. Trong ch ny, trng thi bn trong c cp nht bng phn mm iu khin trong OCW2. Tuy nhin, n khng ph thuc vo lnh EOI (cng c thc thi bi OCW2). S thay i mc u tin c th c thc hin trong thi gian mt lnh EOI bng cch dch chuyn da vo lnh EOI xc nh trong OCW2 (R = 1, SL = 1, EOI = 1 v L0-L2 bng mc IR nhn mc u tin nn).
Mt n ngt Mi ng vo ngt c th b che ring r bi thanh ghi mt n (IMR) c lp trnh thng qua OCW1, mi bt trong IMR che mt ngt nu bt ny bng 1. Bt 0 che IR0, bt 1 che IR1 .Vic che mt ngt khng nh hng n hot ng ca cc ngt khc. Ch mt n c bit Mt vi ng dng c th cn mt chng trnh phc v ngt thay i ng cu trc u tin h thng trong thi gian thc hin ca n bng phn mm. VD. Chng trnh phc v c th yu cu cm cc ngt u tin thp hn trong mt phn qu trnh thc hin ca n nhng li cho php mt s trong chng cho phn thi gian thc hin cn li ca mnh. iu kh khn y l nu mt ngt c nhn ra v lnh EOI khng xa bt IS ca n (c ngha l trong khi ang thc hin mt chng trnh phc v), 8259A cm tt c cc ngt u tin thp hn m khng d dng cho php chng trong chng trnh phc v. Nhim v ny s c gii quyt bi ch mt n c bit. ch ny khi mt bit mt n c t 1 trong OCW1, n s ngn cc ngt c cng mc u tin v cho php cc ngt khc c mc u tin thp hn cng nh cao hn. V vy mt ngt bt k c th c cho php mt cch c chn lc bi vic np thanh ghi mt n. Ch mt n c bit c thit lp bng OCW3 vi: SSMM = 1, SMM = 1 v b xa khi SSMM = 1, SMM = 0. Lnh thm d Trong ch ny, chc nng ca ng ra INT khng c g c bit. CPU nn b qua ng ra ny . Vic ny c thc hin bng mt trong hai cch hoc h chn INT hoc che cc ngt trong CPU. Do cc ng vo ngt b ngn nn yu cu phc v cho thit b c thc hin bng phn mm thng qua lnh thm d. Lnh thm d c to ra bng cch t P = 1 trong OCW3. 8259A xem xung RD nhn c tip theo (c ngha l RD = 0, CS = 0) nh l mt tn hiu nhn dng ngt t bt IS tng ng nu c mt yu cu ngt v c mc u tin. Ngt b ngn trong khong t WR n RD
W0 W2: M nh phn ca chng trnh phc v ngt c mc u tin cao nht. I: Bng 1 nu c mt ngt Ch ny thng c dng khi c mt lnh chung cho mt vi mc m khng cn n cc xung nhn dng INTA (c lu trong vng ROM). Mt ng dng khc l dng ch ny m rng s lng mc u tin nhiu hn 64.
c trng thi 8259A Trng thi ng vo ca vi thanh ghi ni b c th c c cp nht thng tin h thng.
101
Cc thanh ghi sau y c th c c qua OCW3, IRR v ISR hoc qua OCW1 (IMR). Thanh ghi yu cu ngt (IRR): L thanh ghi 8 bt cha cc mc mt ngt ang yu cu c nhn dng. Mc yu cu cao nht b xa khi IRR khi mt ngt c nhn dng (khng nh hng bi IMR). Thanh ghi phc v (ISR): L thanh ghi 8 bt cha cc mc u tin ang c phc v. ISR c cp nht khi mt lnh EOI c to ra. Thanh ghi mt n (IMR): Di 8 bt cha cc ng vo ngt b che. Thanh ghi IRR c th c c khi lnh c thanh ghi c to ra (trc xung RD ) bi OCW3 (RR = 1, RIS = 1). Khng cn ghi OCW3 trc mi thao tc c trng thi cho n khi trng thi c ph hp vi trc , c ngha l 8259A nh hoc IRR hoc ISR c chn trc bi OCW3. iu ny khng cn ng trong ch thm d. Sau khi khi to 8259A s t IRR c IRR m khng cn n OCW3, bus d liu ra s cha IMR bt c khi no RD tch cc v A0 = 1 (OCW1). Ch thm d ghi trng thi c khi P = 1, RR = 1 trong OCW3.
Tc ng cnh v mc Ch ny c lp trnh bng bt 3 trong OCW1 Khi LTIM = 0, mt ngt s c nhn dng bng cnh ln ng vo IR, ng vo ny c th duy tr mc cao nu khng c ngt khc to ra.
102
Khi LTIM = 1, ngt c nhn dng bng mc cao ti ng vo IR m khng cn n mch d cnh. Yu cu ngt phi mt i trc khi lnh EOI c to ra hoc cc ngt CPU c cho php ngn mt ngt th hai xy ra. S n v u tin trnh by mch d mc v d cnh ng vo ca 8259A. cc cht trong s l loi FF-D. Trong c hai ch tc ng cnh v mc cc ng vo IR phi duy tr mc cao cho n sau cnh xung ca xung INTA u tin. Nu ng vo IR xung mc thp trc thi im ny th ngt mc nh IR7 s xy ra khi CPU nhn ra ngt. Vic ny nhm bo m an ton khi c nhiu ng vo IR. Chng trnh phc v ngt IR7 c dng xa lnh tr v v b qua ngt. Nu IR7 c dng cho mc ch khc th mt IR7 mc nh vn c th c phc hi bng cch c ISR. IR7 s t bt ISR tng ng. Mt IR7 mc nh s khng c nu trnh phc v mc nh ca IR7 xy ra cng lc vi trnh phc v IR7 bnh thng. Tuy nhin, ISR s duy tr trng thi set trong trng hp ny theo di trc trnh phc v IR7 c nhn vo hay khng khi mt IR7 mc nh khc xy ra.
Ch lng ton phn c bit Ch ny c dng trong cc h thng ln c ni tng v mc u tin c duy tr cho mi slave. Ch ny c lp trnh cho master (dng ICW4). Ch ny tng t ch lng thng thng vi nhng ngoi l sau y: a. Khi mt yu cu ngt t mt slave xc nh ang c phc v, slave ny s khng kha khi logic u tin ca master v cc yu cu ngt slave c u tin cao hn khc s c nhn ra v to ngt cho CPU (trong ch lng thng thng mt slave b ngn khi yu cu ca n c phc v v cc yu cu cao hn ca slave khc khng c phc v). b. Khi thot khi chng trnh phc v ngt, phn mm c nhim v kim tra xem ngt c phc v c phi ch t slave hay khng. Vic ny c thc hin bng cch gi mt lnh EOI khng xc nh n slave v sau c thanh ghi IS ca n v so snh vi 0. Nu n rng th mt lnh EOI khng xc nh cng c gi ti master, nu khng s khng gi EOI. Ch m Khi dng 8259A trong h thng ln, ni cn n cc b m iu khin bus d liu v c p dng ch ni tng th s pht sinh vn cho php b m. Ch m s sp xp 8259A pht mt tn hiu cho php trn SP/EN cho php b m. Trong ch ny bt c khi no cc ng ra bus d liu ca 8259A c cho php th ng ra SP/EN s tr nn tch cc. S thay i ny phi dng lp trinh phn mm xc nh 8259A coa phi l 1 master hoc 1 slave. Bt 3 trong ICW4 lp trnh ch m v bt 2 trong ICW4 xc nh master hoc slave.
103
Ch ni tng 8259A c th dng kt ni trong h thng gm 1 master n 8 slave qun l 64 mc ngt. Thit b master iu khin cc slave thng qua ba ng ni tng. cc ng ny c chc nng ging nh cc chn chn chip chn cc slave trong khong thi gian INTA . Trong mt cu hnh ni tng, cc ng ra ngt slave c ni n cc ng vao yu cu ngt master. Khi mt ng yu cu ngt slave c tc ng v sau c nhn ra, master s cho php slave tng ng gi a ch chng trnh phc v trong byte 2 v 3 ca INTA (ch l byte i vi 8086/8088). Cc ng ni tng bnh thng mc thp v s cha m a ch slave bt u ti cnh ln ca xung INTA u tin n cnh ln ca xung th ba. Mi mt 8259A trong h thng phi qua chu trnh khi to c lp v c th c lp trnh hot ng cc ch khc nhau. Mt lnh EOI phi c to ra hai ln: Mt cho master v mt cho slave tng ng. V cn mt mch gii m cho cc chn vo chn chip ca cc 8259A. Cc ng ni tng ca 8259A master ch c tc ng cho cc ng vo slave. Cc ng vo khng phi slave ri khi ng ni tng khng tch cc (mc thp).
104
105
Trn vn Trng
Rodnay Zaks
Trn vn trng
6. K thut vi x l
Vn th Minh
Douglas V. Hall
8. Informations-/Bueroelektronik
Westermann
106