You are on page 1of 106

B LAO NG THNG BINH V X HI

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

NGH : SA CHA IN T CNG NGHIP


Trnh : 3

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

M ti liu : M quc t ISBN :

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.

H Ni, ngy thng nm 2005 Gim c D n quc gia

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

Mc tiu thc hin ca m un


Vn hnh, kim tra c cc h iu khin ng dng vi x l Sa cha c phn mm v thay th c linh kin phn cng Thi cng, lp rp thit b theo s c sn.

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

S QUAN H THEO TRNH T HC NGH


Vi mch tng t . t cng sut

K thut xung in K Thut K thut s L kin in t kh l tr plc Vi iu khin 1, 2

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

Tnh ton mch in t c bn

TH CHT

TIN HC

TKM in-in t

T chc sn ANH VN Vi x l Hai mun b tr

Atl

CC HNH THC HC TP CHNH TRONG M UN


Hnh thc 1: Hc l thuyt trn lp - Tt c cc bi hc t 1 n 4 - Gii cc cu hi v bi tp phn l thuyt - Vit chng trinh iu khin - Phn tch chng trnh c sn Hnh thc 2: Hc thc hnh trong xng - Chy th cc chng trnh vit trn lp - Rp m hnh thit b ngoi vi - Rp ton b mch iu khin kt hp m hnh thit b ngoi vi v kim tra hot ng Hnh thc 3: T nghin cu - T ra yu cu v thc hin - Tham kho cc vn lin quan trn sch bo, internet...

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.

MC TIU THC HIN


Hiu c cu tc chung ca vi x l, phn bit vi x l da trn cc c im c bn Hiu cu trc c th ca b vi x l 8085A Hiu nguyn l hot ng cc khi chc nng, gii thch c gin thi gian h thng ca 8085A

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.

1. GII THIU CHUNG


Vi x l l mt vi mch c mt tch hp cao, trong gm cc mch s c kh nng nhn, x l v xut d liu: c bit l qu trnh x l c iu khin theo mt chng trnh gm tp hp cc lnh m ngi x dng c th thay i mt cch d dng. Mt vi x l c th hiu c t mt vi trm cho n hng ngn lnh. V vy, n c kh nng thc hin c rt nhiu yu cu iu khin khc nhau.

1.1 Cu trc chung


Cu trc ca vi x l thng c biu din di dng s khi. Qua , ngi x dng c th thy c cc c im cn thit phc v cho vic lp trnh. V c bn c th xem vi x l gm c ba khi chnh:

Data Register ALU Address Register

Instruction Decoder

Program Counter

Logic Control

Hnh 1.1 S khi cu to vi x l

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

- Dng m i tng: - Dng gi nh:

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).

1.2 c tnh chung ca vi x l


di t d liu (data word) y l c im quan trng ca vi x l, ni ln kh nng trao i d liu gia vi x l vi cc thit b khc. Hin nay c nhiu vi x l vi di t d liu l: 8 bt, 16 bt, 32 bt v 64 bt. Bng di y lit k mt s vi x l 8 bt thng dng Tn 8080, 8085 MC6800, MC6802 Z80 F8 TMS9985 Hng sn xut Intel Motorola Zilog Fairchild Texas Instrument

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:

: Nhp ni dung t cng vo A : Np d liu cha ti a ch vo thanh ghi A

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

2.1 Chc nng cc chn ra


A8 - A15 (output - 3 trng thi) L byte cao a ch ca b nh 8 bt hoc a ch cng I/O 8 bt, cc chn ny trng thi Z cao trong cc ch HOLD v HALT. ALE (output) Ng ra cht a ch, tn hiu ny mc cao trong khong thi gian chu k ng h u tin (lc ny cc chn AD0-AD7 l byte thp a ch), cho php a ch c a vo IC cht bn ngoi.

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

Hnh 1.2 S chn 8085A

Cht

Tn hiu

Bus iu khin

Bus d liu

Bus a ch

Hnh 1.3 Phng php tch a ch v d liu

14

Hnh 1.4 Nguyn l a hp d liu / a ch trong 8085A

S0, S1, IO/M (output) Cho bit trng thi bus d liu S1 S0

0 0 1 1

0 1 0 1

HALT WRITE READ FETCH

IO/M = 0 : truy cp d liu b nh IO/M = 1 : truy cp d liu cng

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

Hnh 1.5 Mch reset t ng khi m my

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

2.2 M t nguyn l hot ng


8085A l b vi x l 8 bt song song y , ngun nui n cc 5 V, tn s ti a 6 MHz. 8085A c thit k thch ng vi cc h thng yu cu ti thiu linh kin. 8085A c 12 thanh ghi 8 bt, bn trong s ny ch lm vic nh hai cp thanh ghi 16 bt, 6 thanh ghi khc c th x dng nh thanh ghi 8 bt hoc 3 cp thanh ghi 16 bt.
Gi nh Thanh ghi Ni dung

ACC hoc A PC BC, DE, HL SP Flags hoc F

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

Hnh 1.6 TRAP v RESET

Chp nhn ngt trong

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.

Hnh 1.7 S mch to dao ng

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

Hnh 1.8 Mch to trng thi ch

c tnh ca D-FF:

CLK tc ng cnh ln. CLEAR tc ng mc thp.

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

Trng thi & Bus A8-A15 IO/M X X X X X X

iu khin

AD0-AD7 X X X

RD , WR 1 X X

INTA 1 X X

ALE 1* 0 0

21

T3 T4 T5 T6 TRESET THALT THOLD

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

MC TIU THC HIN


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

Bytes: S trng thi M lnh Kt qu


Sr sss ds ddd A 111 A 111 B 000 B 000

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

MOV ds, M Chc nng M t

Truyn d liu t nh vo thanh ghi khng thay i 1 7 01ddd110 ((HL)) ds

Bytes: S trng thi M lnh Kt qu


MOV M, sr Chc nng M t

Truyn d liu t thanh ghi vo nh khng thay i 1 7 01110sss (sr) (HL)

Bytes: S trng thi M lnh Kt qu


MVI ds, data Chc nng M t

Truyn tc thi d liu 8 bt vo thanh ghi khng thay i

24

Bytes: S trng thi M lnh Kt qu


MVI M, data Chc nng M t

2 7 00ddd110 data ds

Truyn tc thi d liu 8 bt vo nh khng thay i 2 10 00110110 data (HL)

Bytes: S trng thi M lnh Kt qu V d:


a ch 8000 8002 8004 8005 Ma oi tng 3E 00 06 3F 78 76

Ch th MVI A, 00 MVI B, 3F MOV A, B HLT

Ghi chu 0A 3F B (B) A Cham dt

Kt qu sau khi thc hin chng trnh: (A) = 3F; (B) = 3F


LXI r1, dw

Chc nng M t Bytes: S trng thi M lnh Kt qu


R1 rp rr B BC 00 D DE 01

Np tc thi d liu 16 bt vo cp thanh ghi khng thay i 2 10 00rr0001 dw rp


H HL 10 SP SP 11

LDA addr Chc nng M t

(load accumulator direct) Np trc tip ni dung nh vo A

Bytes: S trng thi M lnh Kt qu


LDAX r1

khng thay i 2 13 00111010 (addr) A

Chc nng M t Bytes: S trng thi M lnh

Np gin tip ni dung nh vo A khng thay i 1 7 00rr1010 25

Kt qu
R1 rp rr B BC 00 D DE 01

((rp)) A

LHLD addr Chc nng M t

Np trc tip ni dung 2 nh vo HL khng thay i 2 16 00111010

Bytes: S trng thi M lnh Kt qu

(addrh*162 + addrl) L (addrh*162 + addrl + 1) H


Lu tr trc tip ni dung ca A khng thay i 2 13 00110010 (A) addr

STA addr Chc nng M t

Bytes: S trng thi M lnh Kt qu


STAX r1

Chc nng M t Bytes: S trng thi M lnh Kt qu


R1 rp rr B BC 00 D DE 01

Lu tr gin tip ni dung ca A khng thay i 2 7 000rr001 (A) (rp)

SHLD addr Chc nng M t

Lu tr trc tip ni dung ca HL khng thay i 2 16 00100010

Bytes: S trng thi M lnh Kt qu

(L) addrh*162 + addrl (H) addrh*162 + addrl + 1

2.2 Nhm lnh s hc logic


ADD sr

26

Chc nng M t Bytes: S trng thi M lnh Kt qu


ADD sr Chc nng M t

Cng khng ghi nh s nh A vi thanh ghi Thay i tt c 1 4 10000sss (A) + (sr) A

Cng khng ghi nh s nh A vi thanh ghi Thay i tt c 1 4 10000sss (A) + (sr) A


Ch th MVI A, 32 MVI H, 16 ADD H HLT Ghi chu 32 A 16 H (A) + (H) A Cham dt

Bytes: S trng thi M lnh Kt qu


a ch 8000 8002 8004 8005 Ma oi tng 3E 32 26 16 84 76

Kt qu: (A) = 48
ADD M Chc nng M t

Cng khng lu s nh A vi nh Thay i tt c 1 7 10000110 (A) + ((HL)) A

Bytes: S trng thi M lnh Kt qu


ADI data Chc nng M t

Cng khng lu s nh A vi d liu Thay i tt c 1 7 11000110 (A) + data A

Bytes: S trng thi M lnh Kt qu


ADC sr Chc nng M t

Cng c lu s nh A vi thanh ghi Thay i tt c 1 4 11000110 (A) + (sr) + cy A

Bytes: S trng thi M lnh Kt qu


ADC M Chc nng

Cng c lu s nh A vi nh 27

M t Bytes: S trng thi M lnh Kt qu


ACI data Chc nng M t

Thay i tt c 1 7 10001110 (A) + ((HL)) + cy A

Cng c lu s nh A vi d liu Thay i tt c 1 7 11001110 (A) + data + cy A

Bytes: S trng thi M lnh Kt qu


ACI data Chc nng M t

Tr khng lu s thiu A vi thanh ghi Thay i tt c 1 4 10010sss

Bytes: S trng thi M lnh Kt qu

(A) - (sr) A Cy = 0 khi (A) ln hn hoac bang (sr) Cy = 1 khi (A) nho hn (sr)

SUB M Chc nng M t

Tr khng lu s thiu A vi nh Thay i tt c 1 7 10010110 (A) - ((HL)) A

Bytes: S trng thi M lnh Kt qu


SUI data Chc nng M t

Tr khng lu s thiu A vi d liu Thay i tt c 1 7 10010110 (A) - data A

Bytes: S trng thi M lnh Kt qu


SBB sr Chc nng M t

Tr khng lu s thiu A vi thanh ghi Thay i tt c 1 7 10011sss

Bytes: S trng thi M lnh

28

Kt qu
SBB sr Chc nng M t

(A) - (sr) - cy A

Tr c lu s thiu A vi thanh ghi Thay i tt c 1 7 10011110 (A) - ((HL)) - cy A

Bytes: S trng thi M lnh Kt qu


SBI data Chc nng M t

Tr c lu s thiu A vi d liu Thay i tt c 1 7 11011110 (A) - data - cy A

Bytes: S trng thi M lnh Kt qu


ANA sr Chc nng M t

And gia A vi thanh ghi Thay i tt c 1 7 10100sss (A) (sr) A

Bytes: S trng thi M lnh Kt qu


ANA M Chc nng M t

And gia A vi nh Thay i tt c ring cy = 0 1 7 10100110 (A) ((HL)) A

Bytes: S trng thi M lnh Kt qu


ANA M Chc nng M t

And gia A vi d liu Thay i tt c ring cy = 0 2 7 11100110 (A) data A

Bytes: S trng thi M lnh Kt qu


ORA sr Chc nng M t

OR gia A vi thanh ghi Thay i tt c ring cy = 0 2 4

Bytes: S trng thi

29

M lnh Kt qu
ORA M Chc nng M t

10110ssss (A) (sr) A

OR gia A vi nh Thay i tt c ring cy = 0 1 4 10110110 (A) ((HL)) A

Bytes: S trng thi M lnh Kt qu


ORI data Chc nng M t

OR gia A vi d liu Thay i tt c ring cy = 0 2 7 11110110 (A) data A


Ch th MVI A, 37 ANI 63 HLT Ghi chu 37 A (A) 63 Cham dt

Bytes: S trng thi M lnh Kt qu


a ch 8000 8002 8004 Ma oi tng 3E 37 E6 63 76

XRA sr Chc nng M t

EXOR gia A vi thanh ghi Thay i tt c ring cy = 0 1 4 10101sss (A) + (sr) A

Bytes: S trng thi M lnh Kt qu


XRA M Chc nng M t

EXOR gia A vi nh Thay i tt c ring cy = 0 1 7 10101110 (A) + ((HL)) A

Bytes: S trng thi M lnh Kt qu


XRA data Chc nng M t

EXOR gia A vi d liu Thay i tt c ring cy = 0 2 7 11101110 (A) + data A

Bytes: S trng thi M lnh Kt qu


INR reg

30

Chc nng M t Bytes: S trng thi M lnh Kt qu


reg rrr A 111

Tng ni dung thanh ghi Thay i tt c ring cy 1 4 00rrr101 (reg) + 1 reg


B 000 C 001 D 010 E 011 H 100 L 101

DCR reg Chc nng M t

Gim ni dung thanh ghi Thay i tt c ring cy 1 4 00rrr100 (reg) - 1 reg

Bytes: S trng thi M lnh Kt qu


INR M Chc nng M t

Tng ni dung nh Thay i tt c ring cy 1 10 00110100 ((HL)) + 1 (HL)

Bytes: S trng thi M lnh Kt qu


DCR M Chc nng M t

Gim ni dung nh Thay i tt c ring cy 1 10 00110101 ((HL)) - 1 (HL)

Bytes: S trng thi M lnh Kt qu


INX r1

Chc nng M t Bytes: S trng thi M lnh Kt qu

Tng ni dung cp thanh ghi Khng thay i 1 6 00rr0011 (rp) + 1 rp

31

R1 rp rr

B BC 00

D DE 01

H HL 10

SP SP 11

DCX r1

Chc nng M t Bytes: S trng thi M lnh Kt qu


RRC Chc nng M t

Gim ni dung cp thanh ghi Khng thay i 1 6 00rr1011 rp) - 1 rp

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

Bytes: S trng thi M lnh Kt qu Trc RRC


0 0

Sau RRC

RLC Chc nng M t

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

Bytes: S trng thi M lnh Kt qu Trc RLC


0 0

32

Sau RLC
0 0 0 0 0 1 1 1 0

RAR Chc nng M t

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

Bytes: S trng thi M lnh Kt qu Trc RAR


0 0

Sau RAR
1 0 0 0 0 0 0 1 1

RAL Chc nng M t

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

Bytes: S trng thi M lnh Kt qu


DAD r1

Chc nng M t Bytes: S trng thi M lnh Kt qu


R1 rp rr B BC 00

Cng ni dung HL vi ni dung cp thanh ghi Cy thay i 1 10 00rr1001 (HL) + (rp) HL


D DE 01 H HL 10 SP SP 11

XCHG (exchange register pair) Chc nng Hon chuyn ni dung gia HL vi DE M t Khng thay i Bytes: 1

33

S trng thi M lnh Kt qu


DAA Chc nng M t Bytes: S trng thi M lnh Kt qu

4 11101011 (HL) DE; (DE) HL

iu chnh ni dung b tch ly Khng thay i 1 4 00100111

Neu (A3..A0 > 9 hoac AC =1 th: (A) + 06h A Neu (A7..A4 > 9 hoac Cy =1 th: (A) + 60h A

V d: Cng hai s BCD

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:

Nghch o ni dung b tch ly Khng thay i 1 4 00101111 (A) A

t bt cy Cy thay i 1 4 00110111 1 Cy

Ngh ch o bt cy Cy thay i 1

34

S trng thi M lnh Kt qu

4 00111111 Cy Cy

2.3 Nhm lnh so snh


CMP sr Chc nng M t Bytes: S trng thi M lnh Kt qu CMP M Chc nng M t Bytes: S trng thi M lnh Kt qu CPI data Chc nng M t Bytes: S trng thi M lnh Kt qu
a ch 8000 8002 8004

So snh A vi thanh ghi Thay i tt c 1 4 10111sss C(A) - (sr) F (ni dung ca A khng thay i)

So snh A vi nh Thay i tt c 1 7 10111110 (A) - ((HL)) F

So snh A vi d liu Thay i tt c 2 7 11111110 (A) - data F


Ch th MVI A, 37 CPI 63 HLT Ghi chu 37 A So sanh 37 vi 63 Cham dt

Ma oi tng 3E 37 FE 63 76

Kt qu: (A) = 37; Z = 0; Cy = 1; S = 1

2.4 Nhm lnh nhy


JMP addr Chc nng M t Bytes: S trng thi M lnh Kt qu

Nhy khng iu kin Khng thay i 3 10 11000011 Ch th ti a ch nh c thi hnh

35

a ch 8000 8002 8005 8007

Ma oi tng 3E 11 C3 07 80 3E 23 76

Ch th MVI A, 11 JMP 8007 MVI A, 23 HLT

Ghi chu 11 A Nhay en 8007 23 A Cham dt

Kt qu: (A) = 11; ch th MVI A, 23 khng c thc hin

JNZ JZ JNC JC JPO JPE JP JM


Chc nng M t Bytes: S trng thi M lnh Kt qu
a ch 8000 8002 8004 8007 8009

Z = 0 xxx = 000 Z = 1 xxx = 001 Cy = 0 Cy = 1 xxx = 010 xxx = 011

P = 0 xxx = 100 P = 1 xxx = 101 S = 0 xxx = 110 S = 1 xxx = 111


Nhy c iu kin iu kin Khng thay i 3 7 (0! nu tha iu kin) 11xxx010 Nu tha iu kin, ch th ti a ch s c thi hnh
Ma oi tng 3E 30 FE 12 DA 09 80 3E 7F 76 Ch th MVI A, 30 CPI 12 JC 8009 MVI A, 7F HLT Ghi chu 30 A So sanh vi 12 Nhay en 8009 neu Cy = 1 7F Cham dt

Kt qu: Lnh nhy khng thc hin v Cy = 0


a ch 8000 8002 8004 8007 8009 Ma oi tng 3E 30 FE 60 DA 09 80 3E 7F 76 Ch th MVI A, 30 CPI 60 JC 8009 MVI A, 7F HLT Ghi chu 30 A So sanh vi 60 Nhay en 8009 neu Cy = 1 7F Cham dt

Kt qu: Lnh nh y c thc hin v Cy = 1


PCHL Chc nng M t Bytes: S trng thi M lnh Kt qu

Np b m chng trnh t HL Khng thay i 1 6 11101001 (HL) PC

36

2.5 Nhm lnh v ngn xp


PUSH r1

Chc nng M t Bytes: S trng thi M lnh Kt qu

Chuyn d liu vo ngn xp Khng thay i 1 12 11rr0101

(rh) (SP) - 1 (rl) (SP) - 2 (SP) - 2 SP

PUSH r1

Chc nng M t Bytes: S trng thi M lnh Kt qu

Chuyn d liu vo ngn xp Khng thay i 1 12 11rr0101

(rh) (SP) - 1 (rl) (SP) - 2 (SP) - 2 SP

R1 rp rr

B BC 00

D DE 01

H HL 10

F AF 11

V du:

(BC) = 2A4C Trc khi PUSH B


SP 9AAF Ngan xep FF FF FF FF

Sau khi PUSH B


Ngan xep FF 4C 2A FF SP 9AAD

9AAC 9AAD 9AAE 9AAF

POP r1

Chc nng M t Bytes: S trng thi M lnh Kt qu

Ly d liu t ngn xp Ch thay i lnh POP F 1 10 11rr0001

((SP)) rl ((SP) + 1) rh (SP) + 2 SP

V du:

POP F
37

Trc khi POP F


SP 2C00 AF 0F3F Ngan xep C3 FF FF FF 2C00 2C01 2C02 2C03

Sau khi POP F


Ngan xep C3 FF FF FF SP 2C02 AF FFC3

XTHL Chc nng M t

Hon chuyn d liu gia ngn xp vi HL Khng thay i 1 16 11100011

Bytes: S trng thi M lnh Kt qu

((SP)) L (L) SP ((SP) + 1) H (H) (SP) + 1

V du: Trc XTHL


SP 10AD HL 0B3C Ngan xep FF F0 0D FF

Sau XTHL
Ngan xep FF 3C 0B FF SP 10AD HL 0DF0

10AC 10AD 10AE 10AF

SPHL Chc nng M t

Chuyn ni dung HL vo SP Khng thay i 1 6 11111001 (HL) SP

Bytes: S trng thi M lnh Kt qu


IN port Chc nng M t

Nhp d liu t cng Khng thay i 2 10 11011011 (port) A

Bytes: S trng thi M lnh Kt qu

OUT port

38

Chc nng M t Bytes: S trng thi M lnh Kt qu

Xut d liu ra cng Khng thay i 2 10 11010011 (A) port

2.6 Nhm lnh iu khin


NOP Chc nng M t

Lnh trng Khng thay i 1 4 00000000 Khng lm g c

Bytes: S trng thi M lnh Kt qu


HLT Chc nng M t

Lnh dng Khng thay i 1 5 01110110 Dng cho n khi c RESET

Bytes: S trng thi M lnh Kt qu


EI Chc nng M t

Cho php yu cu ngt Khng thay i 1 4 11111001 VXL s nhn ra yu cu ngt

Bytes: S trng thi M lnh Kt qu


DI Chc nng M t

Kh ng cho php yu cu ngt Khng thay i 1 4 11110011 Kh ng ch p nh n y u c u ng t

Bytes: S trng thi M lnh Kt qu

39

BI 3
Tn bi:

Giao tip I/O

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

MC TIU THC HIN


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.

1.1 Thit b ngoi vi c khng gian a ch ring


Trong cch kt ni ny b nh c dng ton b khng gian a ch 64K m CPU dnh cho n. Cc thit b ngoi vi (cc cng) s c dnh ring mt khng gian a ch ring l 256 a ch t 00 FF c xut ra ti cc chn A15 A8 ng nhin phi kt hp vi tn hiu IO/M v cc lnh IN cng nh OUT. Trong cc lnh ny CPU mc nh dng thanh ghi A vao/ra d liu thng qua cc cng. V d: IN OUT 00H FFH ; c d liu ti cng c a ch 00H vo A ; Gi ni dung ca A ra cng c a ch 00H

1.2 Thit b ngoi vi dng chung a ch vi b nh


Trong cch kt ni ny, b nh v thit b ngoi vi cng chia nhau khng gian a ch 64 KB m 8085A c kh nng nh da ch. Cc thit b ngoi vi s chim mt vng no trong khng gian a ch ny, phn cn li l ca b nh. Trong trng hp ny tn hiu IO/M = 0 v cc lnh tc ng n b nh c cng c dng chung cho thit b ngoi vi khi cn trao i d liu VD: Lnh MOV.

2. GII M A CH CHO THIT B NGOI VI


Vic gii m a ch cho thit b ngoi vi cng gn ging nh gii m a ch cho b nh, trong phn ny s ch trng n vic gii m a ch cho cc cng. Thng thng cc a ch cc cng c di 8 bt ti A15 A8. Trong trng hp cn nhiu xung chn chip u ra cho cc cng c a ch lin tip nhau c th dng cc mch gii m c sn nh 74LS138 gii m a ch cho 8 cng I/O.

Hnh 4.1 Mch gii m cc cng vo

41

Hnh 4.2 Mch gii m cc cng ra

3. CC MCH CNG N GIN


Trong thc t c nhiu vi mch mt tch hp trung bnh c th dng lm cng kt ni vi b vi x l vo/ra d liu. cc mch ny thng c cu to nn t cc mch cht 8 bt c u ra 3 trng thi nh 74LS373 tc ng mc, 74LS374 tc ng cnh, cc mch khuch i m 1 chiu u ra 3 trng thi 74LS240 u ra o, 74LS244 u ra khng o hoc cc mch khuch i m 2 chiu u ra 3 trng thi 74LS245. Chng c dng trong cc kt ni n gin lm cho CPU v thit b ngoi vi hot ng tng thch vi nhau.

Hnh 4.3 Dng 74lS373 kt ni vi thit b ra c a ch 00H

Hnh 4.4 Dng 74LS244 c d liu t bn phm vo CPU

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

4. VI MCH GIAO TIP SONG SONG LP TRNH C 8255A


8255A c gi l vi mch giao tip lp trnh c (Programmable Peripheral Interface PPI). Do kh nng linh ng trong cc ng dng nn vi mch ny c x dng rt ph bin cho cc h vi x l 8 16 bt.
Tm tt c tnh 82C55A S chn tng thch vi NMOS 8255A 24 chn I/O lp trnh c. Tng thch hon ton vi chun TTL. Tc cao, khng c trng thi ch, hot ng ti 5 MHz vi 80C86 v 8 MHz vi 80C88. SET/RESET bt trc tip. Kh nng c t iu khin ci tin. Kh nng ti dng 25 mA ti mi chn I/O. Nng lng tiu th thp trng thi ch.

Hnh 4.5 S chn 8255A

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

PA0-PA7 PB0-PB7 PC0-PC7

1-4, 37-40 18-25 10-17

I/O I/O I/O

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

Hnh 4.6 S chc nng

4.1 M t chc nng


m bus d liu B m 8 bt hai chiu, 3 trng thi c dng giao tip gia 82C55A vi bus d liu h thng. D liu c pht hoc nhn thng qua b m khi thc thi cc lnh nhp hoc xut ca CPU. Cc t iu khin v thng tin trng thi cng c truyn qua b m bus d liu. Khi iu khin logic c/ghi Khi ny c chc nng qun l tt c cc thao tc truyn d liu, t iu khin, t trng thi trong ni b cng nh ra bn ngoi.. N tip nhn cc tn hiu vo t CPU: a ch , bus iu khin v ngc li. Khi ny cn gi cc lnh n c hai nhm iu khin. (CS) Chip select: Mc thp chn vo ny cho php truyn thng gia 82C55A vi

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

Hnh 4.7a Cu hnh Bus hold port A

45

iu khin ra hoc tn hiu trng thi vo nhm mc ch kt ni vi port A v B.


M t hot ng Chn ch
Hnh 4.7b Bus hold port B, C

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.

Hnh 4.10 Dng thc lnh set/reset bt

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

(BIT-SET)-INTE : Cho php ngt (BIT-RESET)-INTE : Khng cho php ngt


Lu : Tt c cc FF mt n c xa t ng khi chn ch v reset thit b.

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

Hnh 4.12 Mode 1 (strobed INPUT)

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 .

Hnh 4.13 Mode 1 OUTPUT

Hnh 4.14 Mode 1 (Stroed OUTPUT)

Hnh 4.15 S kt hp ca mode 1

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.

Hnh 4.16 T iu khin mode

Hnh 4.17 Mode 2

53

Lu : Chui bt k m ti WR xy ra trc ACK v STB xy ra trc RD u c chp nhn


Hnh 4.18 Mode 2 (hai chiu)

Hnh 4.19 Mode 2 kt hp

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.

Hnh 4.22 C cho php ngt trong mode 1 v 2

4.3 ng dng 82C55A


82C55A l mt cng c rt mnh cho yu cu giao tip gia thit b ngoi vi vi h thng my tnh n tiu biu cho vic x dng ti u cc chn ra v linh hot giao tip vi hu ht cc thit b I/O m khng cn thm linh kin ngoi. Mi thit b ngoi vi trong h thng my tnh thng c mt chng trnh phc v i km vi n. Chng trnh qun l phn mm giao tip gia thit b vi CPU. Vic xc nh chc nng ca 82C55A c lp trnh bi chng trnh phc v I/O v tr thnh mt s m rng ca phn mm h thng. Qua vic kho st cc c tnh giao tip ca thit b I/O v c mt: D liu v thi gian truyn v lin kt thng tin ny n cc v d v bng trong s m t hot ng chi tit c th d dng to nn mt t iu khin khi to 82C55A thch hp chnh xc vi ng dng. Hnh 4.23 n 4.29 trnh by mt vi ng dng in hnh dng 82C55A.

Hnh 4.23 Giao tip my in

56

Hnh 4.24 Giao tip bn phm v hin th

Hnh 4.25 Giao tip bn phm v a ch u cui

Hnh 4.26 Giao tip D/A v A/D

Hnh 4.27 Giao tip iu khin mn hnh

57

Hnh 4.28 iu khin a mm

Hnh 4.29 iu khin my cng c

Hnh 4.30 Mode 0 (BIC INPUT)

Hnh 4.31 Mode 0 (BIC OUTPUT)

58

Hnh 4.32 Mode 1 (Strobed INPUT)

Hnh 4.33 Mode 1 (Strobed OUTPUT)

Hnh 4.34 Mode 2 (hai chiu)

59

Hnh 4.35 Write timing

Hnh 4.36 Read timing

5. VI MCH GIAO TIP NI TIP LP TRNH C 8251A


8251A l vi mch thu pht ng b/khng ng b vn nng (USART) chun cng nghip c thit k cho yu cu truyn thng d liu vi h vi x l ca Intel nh MCS48, 80, 85 v iAPX-86, 88. 8251A nh l mt thit b ngoi vi v c lp trnh bi CPU. Vi mch USART nhn d liu cc k t dng song song t CPU v sau chuyn chng thnh chui d liu ni tip truyn i. ng thi n nhn d liu ni tip v bin i thnh song song gi n CPU. USART s bo cho CPU bt c khi no n c th nhn mt k t mi hoc n nhn mt k t cho CPU. CPU c th c ton b trng thi ca USART ti thi im bt k. cc trng thi ny bao gm d liu truyn, tn hiu li v cc tn hiu iu khin nh SYNDET, TxEMPTY. Vi mch c ch to theo cng ngh HMOS hiu nng cao.

Hnh 4.37 S khi

Hnh 4.38 S chn

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

5.2 M t chc nng


Tng qut Ging nh cc thit b I/O khc trong h thng my tnh, cu hnh chc nng ca 8251A c lp trnh bng phn mm h thng nhm t linh hot n mc ti a. 8251A h tr hu ht cc cng ngh d liu ni tip bao gm c IBM bi-syn. Trong lnh vc truyn thng, mt thit b giao tip phi bin i d liu song song trong h thng sang d liu ni tip khi pht v bin i tn hiu ni tip thu c thnh song song cho h thng. Thit b giao tip cung phi c kh nng xa, chn cc bt hoc k t sao cho ph hp vi yu cu truyn thng. Thc cht l thit b giao tip xem nh khng hin din i vi CPU trong cc thao tc vo ra d liu h thng dng byte. m bus d liu Mt b m 8 bt, hai chiu 3 trng thi c dng giao tip gia 8251A vi bus d liu h thng. D liu c pht hoc thu trong lc thc thi lnh INPUT hoc OUTPUT ca CPU. T iu khin, t lnh v thng tin trng thi cng c truyn qua b m bus d liu. cc trng thi lnh, cc thanh ghi d liu vo, d liu ra c tch ra, cc thanh ghi 8 bt ang truyn thng vi bus h thng qua b m bus d liu. Khi chc nng ny nhn cc tn hiu vo t bus iu khin h thng v to ra cc tn hiu iu khin cho ton b hot ng. N cn bao gm thanh ghi iu khin v thanh ghi lnh, cc thanh ghi ny lu tr cc dng thc iu khin khc nhau phc v cho vic nh ngha chc nng ca thit b. RESET Mc cao ng vo ny s cng bc 8251A vo trng thi ngh, thit b s duy tr trng thi ny cho n khi c mt tp hp cc t iu khin mi c ghi vo 8251A xc nh chc nng ca n, b rng xung reset t nht phi bng 6 chu k ng h. Mt xung reset cng a thit b i vo trng thi ngh

61

Hnh 4.39 B m d liu v chc nng c/ghi

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.

Hnh 4.31 S khi modem, b m pht v chc nng iu khin

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

Hnh 4.32 B m thu v chc nng iu khin

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.

Hnh 4.33 Giao tip 8251A vi bus 8080

5.3 Hot ng chi tit


Tng qut Vic xc nh ton b chc nng ca 8251A c lp trnh bi phn mm h thng. Mt tp hp cc t iu khin c CPU gi ra khi to 8251A nhm h tr dng

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.

* K t ng b th hai c b qua nu 8251A c lp trnh ch k t ng b n. C hai k t ng b c b qua nu 8251A c lp trnh ch khng ng b


Hnh 4.34 Khi d liu tiu biu

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

Hnh 4.35 Dng thc t iu khin ch khng ng b

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

Hnh 4.36 Ch khng ng b

: Lu : Nu chiu di k t c nh ngha l 5, 6 hoc 7 bt th nhng bt khng dng s c a v 0

Hnh 4.37 Dng thc t iu khin ch ng b

Lu : Trong ch ng b ngoi vic lp trnh ng b k t kp ch nh hng n Tx

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.

Hnh 4.38 Dng d liu, ch ng b

71

Hnh 4.39 Dng thc t iu khin lnh

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

Hnh 4.40 T c trng thi

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)

5.4 ng dng 8251A

Hnh 4.41 Giao tip ni tip khng ng b vi thit b CRT

73

Hnh 4.42 Giao tip ni tip ng b vi thit b ngoi vi

Hnh 4.43 Giao tip khng ng b vi ng in thoi

Hnh 4.44 Giao tip ng b vi ng in thoi

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)

Hnh 4.45 S mch ti

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.

MC TIU THC HIN


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.

1.1 Nguyn l vo/ra d liu theo phng php thm d


Vn vo/ra d liu s tr nn rt n gin nu thit b ngoi vi lc no cng sn sng ch lm vic vi CPU. V du, mt my o nhit hin s gm mch khuch i cm bin v bin i A/D (l thit b vo) lp sn trong h thng lc no cng c th cung cp s o v nhit ca i tng, cn mt mch hin th LED 7 on (l thit b ra) dng ch th gi tr ca mt i lng vt l nht nh trong h thng ni trn th lc no cng c th biu hin thng tin . Nh vy, khi CPU mun c thng tin v nhit ca h thng th n ch cn c cng kt ni vi mch o nhit , v nu CPU mun biu din thng tin va c c trn LED th n ch vic a d liu n m khng cn phi kim tra xem cc thit b ny c ang sn sng lm vic hay khng. Tuy nhin, trong thc t khng phi lc no CPU cng lm vic vi cc i tng lin tc sn sng nh trn. Thng thng khi CPU mun lm vic vi mt i tng no , trc tin n phi kim tra xem thit b c ang trng thi sn sng lm vic hay khng, nu c th n mi thc hin vic trao i d liu. Nh vy, nu lm vic theo phng php thm d th thng thng CPU phi c dnh ring cho vic trao i d liu v n phi lin tc kim tra trng thi sn sng ca thit b ngoi vi thng qua cc tn hiu mc ni. Tn hiu ny c ly t cc mch giao tip do ngi thit k to ra cho chng trnh thm d hot ng trn .

1.2 Cc phng php thng dng

Hnh 4.1 S kt ni CPU vi thit b ngoi vi

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.

Hnh 4.2 Gin thi gian qu trnh trao i d liu

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.

2. TRAO I D LIU BNG NGT


Trong cch t chc trao i d liu thng qua vic thm d trng thi sn sng ca thit b ngoi vi nh trnh by trn, trc khi tin hnh bt k mt cuc trao i d liu no CPU phi dnh ton b thi gian vo vic xc nh trng thi sn sng lm vic ca thit b ngoi vi. Trong h thng vi x l vi cch lm vic nh vy, thng thng CPU c thit k ch yu ch l phc v cho vic vo/ra d liu v thc hin cc x l lin quan. Trong thc t tn dng kh nng ca CPU nhm thc hin thm nhiu cng vic khc, ch khi no cn trao i d liu th mi yu cu CPU tm dng cng vic ang lm thc hin thao tc trao i d liu. Sau khi hon thnh vic trao i d liu th CPU li quay v lm tip cng vic dang d va ri. Cch lm vic theo kiu ny gi l ngt CPU. Mun t c iu ny phi t chc h thng sao cho c th tn dng c kh nng thc hin cc chng trnh phc v ngt ti cc a ch xc nh. Nh bit trong 8085A c cc chn vo ngt INTR, TRAP, RST 5.5-7.5 c s dng vo vic a cc yu cu ngt vo cho CPU. Cc ngt ny c chia thnh 3 nhm. Nhm ngt INTR Nhm ngt RST Nhm ngt TRAP

2.1 T chc ngt


Hnh 4.3 trnh by s t chc ngt INTR. CPU s tm dng chng trinh chnh khi c tn hiu ngt a vo chn INTR, mt iu cn thit l ngay u chng trnh phi c lnh cho php ngt EI (Enable Interrupt), trong s cho php ti a n 8 yu cu ngt INTR l: INT0INT7 c a n ng vo ca mch m ha to m lnh cho tng ngt, ng ra mch m ha c ni n bus d liu bi tn hiu INTA t CPU, qua CPU s c m lnh ca ngt v np a ch tng ng vo PC, ni dung cha ti a ch s cho bit v tr ca chng trnh phc v ngt cn thc hin.
1 1 1

INT0

M ha 74LS148

m (3 state) Hnh 4.3 S t chc ngt INTR

Data bus

INT7 1 1

EN

INTR

INTA

AD7AD0

VI X L

A15A8

84

BNG M LNH CC NGT INT Ngt M lnh ngt INT D7D6D5D4D3D2D1D0 1 1 0 0 0 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 0 1 0 1 1 1 2 1 1 0 1 1 1 1 1 3 1 1 1 0 0 1 1 1 4 1 1 1 0 1 1 1 1 5 1 1 1 1 0 1 1 1 6 1 1 1 1 1 1 1 1 7


ROM RST0 RST1 RST2 RST3 RST4 TRAP RST5 RST5.5 RST6 RST6.5 RST7 RST7.5 0000 0007 0008 000F 0010 0017 0018 001F 0020 0023 0024 0027 0028 002B 002C 0029 0030 0033 0034 0037 0038 003B 003C 003F 0040 0FFF

a ch b nh (HEX)

0000 0008 0010 0018 0020 0028 0030 0038

Vng ngt

Hnh 4.4 T chc a ch ngt trong 8085

Vng chng trnh

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.

2.2 Quy trnh x l yu cu ngt


Trc khi CPU thc hin yu cu ngt, n s em ct ni dung ca b m chng trnh PC vo ngn xp, iu ny rt cn thit sau khi thc hin xong CPU s quay tr v ng a ch m n ri khi trc , Tht ra l CPU ly ni dung ct trong ngn xp np li cho PC.

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

Xut hin ngt INT2

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:

8000 8001 8004 8007 8009

EI LXI H, 8100 SHLD 9F01 MVI A, 0B SIM

86

800A 800D 8010

LXI B, 8300 Call TEXT 8 JMP: A1

Chng trnh phc v ngt

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.

3. VI MCH X L NGT 8259A


Trong trng hp c nhiu ngt che c t bn ngoi cn phc v, c th dng vi mch 8259A gii quyt vn u tin, Mch 8259A gi l mch iu khin ngt lp trnh c (Programmable Interrupt Control PIC). l mt vi mch c ln lp trnh c, c th x l c 8 yu cu ngt vi 8 mc u tin khc nhau to ra mt yu cu ngt a n u vo INTR ca CPU 8085. Nu ni tng mt vi mch 8259A ch vi 8 vi mch 8259A t c th tng s yu cu ngt vi cc mc u tin khc nhau ln 64 m khng cn rp thm linh kin ngoi.

3.1 Tm tt c tnh 8259A


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

4.6 S khi 8259A

CHC NNG CC CHN K hiu Chn VCC 28 GND 14 1 CS 2 3 4 11 12, 13, 15 16

Kiu I I I

WR RD D7 D0 CAS0-CAS2 SP/EN

I I I/O I/O I/O

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)

3.3 M t chc nng


8259A tip nhn yu cu ngt t cc thit b ngoi vi v xc nh yu cu no quan trong nht (u tin), bit chc c yu cu ngt vo no c mc u tin cao hn yu cu ngt ang c phc v hay khng v gi ngt n CPU da trn cc xc nh ny. Mi thit b ngoi vi c mt chng trnh phc v kt hp vi n, chng trnh ny c gi l chng trnh phc v ngt. 8259 sau khi pht tn hiu ngt n CPU n cn phi a n CPU mt thng tin c th ch cho PC xc nh c v tr ca chng trnh phc v ngt tng ng vi thit b ngoi vi, thng tin ny l a ch trong bng vec t ngt v c gi l a ch vec t ngt. 8259A l mt linh kin c thit k c bit lm vic theo thi gian thc trong h my tnh iu khin bng ngt, cho php lp trnh bng phn mm h thng nh mt thit b ngoi vi. Ch chn mc u tin cho php ngi lp trnh c th ci t mt ngt sao cho cch x l ngt ph hp vi h thng ca anh ta. Ch u tin c th c thay i hoc cu hnh li mt cch t ng ti mt thi im bt k trong sut thi gian thc hin chng trnh chnh. iu ny c ngha l ton b cu trc ngt c th c nh ngha khi cn thit. da trn mi trng h thng.
Thanh ghi yu cu ngt (Interrupt Request Register IRR) v thanh ghi phc v ngt (InService Register ISR) Cc ngt ti cc ng vo IR c qun l bi hai thanh ghi ni tng nhau, thanh ghi IRR v ISR, thanh ghi IRR lu tr tt c cc ngt ang cn c phc v v ISR lu tr tt c cc ngt

Hnh 4.7 Phng php thm d

ang c phc v.

Hnh 4.8 Phng php ngt

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

Thanh ghi mt n (Interrupt Mask Regster IMR)

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.

Hnh 4.9a S khi 8259A

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.

Hnh 4.9b S khi 8259b

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

Hnh 4.9c S khi 8259A

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

3.4 Lp trnh 8259A


Vi mch 8259A tip nhn hai t iu khin t CPU 1) T khi to (Initialization Command Words ICWs): Trc khi bt u hot ng, mi 8259A trong h thng phi c a v mt v tr khi ng bng mt chui 2 hoc 4 byte nh thi bi cc xung WR . 2) T iu khin (Operation Command Words OCWs): cc t ny xc nh cc ch ngt khc nhau ca 8259A nh sau: a. Ch lng ton phn. b. Ch u tin lun phin. c. Ch ngn c bit. d. Ch thm d. Cc t OCWs c th c ghi vo 8259A bt k lc no sau khi khi to
T KHI TO (ICWs) Tng qut Bt c khi no mt lnh c to ra vi A0 = 0 v D4 = 1th lnh ny c hiu l t khi to 1 (ICW1). ICW1 bt u chu trnh khi to gm cc bc thc hin nh sau: a. Xa mch d cnh, c ngha l mt ng vo ngt (IR) phi thc hin vic chuyn trng thi t thp ln cao to ra mt ngt. b. Xa thanh ghi mt n ngt. c. Gn mc u tin 7 cho ng vo IR7.

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 :

Master/Slave trong ICW4 ch c dng ch c m.


T khi to 1 v 2 (ICW!, ICW2) A5-A15: a ch u ca chng trnh phc v ngt i vi h MCS-80/85. Tm mc ngt s to ra cc lnh CALL n 8 v tr tng ng trong b nh. Nhng v tr ny c th c lp trnh theo thi gian ngh 4 hoc 8. Do mi phc v ngt chim mt trang theo th t l 32 hoc 64 byte. a ch di 2 byte (A0 A15). Khi thi gian ngh l 4, A0 A4 dduwowcj tuwj ddoongj chenf vaof bowir 8259A trong khi A5 A15 c lp trnh t bn ngoi. Khi thi gian ngh chng trnh phc v l 8, A0 A5 c t ng chn vo bi 8259A cn A6 A15 th c lp trnh t ngoi.. Thi gian ngh 8 byte s duy tr s tng thch vi phn mm hin hnh. Trong khi thi gian ngh 4 byte th tt nht i vi mt bng nhy. Trong h thng 8086, , A15 A11 c chn vo 5 bt cao ca byte vc t v 8259A thit lp 3 bt thp ty theo mc u tin. A10 A5 c b qua v ADI (Address Interval) khng nh hng. LTIM: Nu LTIM = 1 th 8259A s hot ng ch ngt tc ng mc. Mch d cnh cc ng vo ngt mt hiu lc. ADI: Thi gian ngh a ch CALL. Khi ADI = 1 th thi gian ngh bng 4, ADI = 0, thi gian ngh bng 8. SNGL: Single. C ngha l ch c 8259A trong h thng. Nu SNGL = 1, ICW3 s khng c to ra. IC4: Nu bt ny c t 1, ICW4 c c, nu khng cn ICW4 th cho IC4 bng 0. T khi to 3 (ICW3) T ny ch c c khi trong h thng c nhiu 8259A ni tng vi nhau. Trong trng hp ny SNGL = 0, n s np thanh ghi slave 8 bt, chc nng ca thanh ghi ny l: a. Trong ch master (khi SP = 1 hoc trong ch m khi M/S = 1 trong ICW4), gi tr 1 c t cho mi slave trong h thng. Sau master s gi byte 1 ca chu trnh gi (i vi MCS-80/85) v cho php slave tng ng gi byte 2 v 3 (i vi 8086 ch c byte 2) qua cc ng ni tng. b. Trong ch slave (khi SP = 0 hoc nu BUF = 1 v M/S = 0 trong ICW4) bt 2 0 nhn dng slave. Slave so snh ng vo ni tng ca n vi cc bt ny v nu chng bng nhau, byte 2 v 3 ca chu trnh gi (hoc byte 2 i vi 8086) s c gi n bus d liu.

95

Hnh 4.11 Chu trnh khi to

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

Hnh 4.12a Dng thc t khi to

Hnh 4.12b Dng thc t khi to (tip tc)

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

Hnh 4.13a Dng thc 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

Hnh 4.13b Dng thc t iu khin (tip theo)

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

T c a vo bus d liu trong khong thi gian xung RD nh sau

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

Hnh 4.14 S logic n v u tin

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

Hnh 4.15 Yu cu v thi gian ca IR

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).

Hnh 4.16 Ni tng 8259A

Hnh 4.17 Dng sng khi ghi

104

Hnh 4.18 Dng sng khi c

Hnh 4.19 cc khong thi gian khc

Hnh 4.20 Chui xung INTA

105

TI LIU THAM KHO


1. Gio trnh vi x l

Trn vn Trng

2. Baugruppen der Mikroelektronik III

Pflaum Verlag Muenchen

3. Programmierrung des Z80

Rodnay Zaks

4. Microprocessors and IC Families

Walter H. Buchbaums, Sc.D.

5. Ti liu s dng KIT 8085

Trn vn trng

6. K thut vi x l

Vn th Minh

7. Microprocessors and Interfacing

Douglas V. Hall

8. Informations-/Bueroelektronik

Westermann

106

You might also like