Giao trinh

Embed Size (px)

Citation preview

B LAO NG THNG BINH V X HI

TNG CC DY NGHD n gio dc k thut v dy ngh (VTEP)

GIO TRNH VI X LM s : CIO 02 31 00

NGH : SA CHA IN T CNG NGHIPTrnh : 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 :

2

LI TATi 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

3

MC LCLI 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

5

GII THIU V M UNV 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 mdunSau 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 unM 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

6

S QUAN H THEO TRNH T HC NGHVi 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 RAThc 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

7

CC HNH THC HC TP CHNH TRONG M UNHnh 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 UNHiu 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.

8

BI 1Tn bi: Cu trc h vi x l MCS-80/85 M bi: CIO 02 31 01

GII THIUBi 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 CHNHNi 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.

9

1. GII THIU CHUNGVi 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 chungCu 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 8085A8085A 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 raA8 - 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

1

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 HALTREADY (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 ng8085A 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 )

1

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 MYChu 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 2Tn bi: Tp lnh 8085A M bi:CIO 02 31 02

GII THIUBi 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 CHNHNi 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 THIUTp 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 LNH2.1 Nhm lnh truyn d liuMOV ds, sr Chc nng M t

Bytes: S trng thi M lnh Kt quSr 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) dsC 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 quMOV 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 quMVI 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 quMVI 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) = 3FLXI r1, dw

Chc nng M t Bytes: S trng thi M lnh Kt quR1 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 rpH 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 quLDAX 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 quR1 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) HLu 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 quSTAX r1

Chc nng M t Bytes: S trng thi M lnh Kt quR1 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 logicADD sr

26

Chc nng M t Bytes: S trng thi M lnh Kt quADD 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) ACh 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 qua ch 8000 8002 8004 8005 Ma oi tng 3E 32 26 16 84 76

Kt qu: (A) = 48ADD 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 quADI 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 quADC 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 quADC M Chc nng

Cng c lu s nh A vi nh 27

M t Bytes: S trng thi M lnh Kt quACI 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 quACI 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 quSUI 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 quSBB 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 quSBB 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 quSBI 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 quANA 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 quANA 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 quANA 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 quORA 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 quORA 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 quORI data Chc nng M t

OR gia A vi d liu Thay i tt c ring cy = 0 2 7 11110110 (A) data ACh th MVI A, 37 ANI 63 HLT Ghi chu 37 A (A) 63 Cham dt

Bytes: S trng thi M lnh Kt qua 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 quXRA 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 quXRA 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 quINR reg

30

Chc nng M t Bytes: S trng thi M lnh Kt qureg rrr A 111

Tng ni dung thanh ghi Thay i tt c ring cy 1 4 00rrr101 (reg) + 1 regB 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 quINR 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 quDCR 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 quINX 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 quRRC 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 RRC0 0

0

0

0

0

1

1

1

Sau RRC

1

1

0

0

0

0

0

1

1

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 RLC0 0

0

0

0

0

1

1

1

32

Sau RLC0 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 RAR0 0

0

0

0

0

1

1

1

Sau RAR1 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 quDAD r1

Chc nng M t Bytes: S trng thi M lnh Kt quR1 rp rr B BC 00

Cng ni dung HL vi ni dung cp thanh ghi Cy thay i 1 10 00rr1001 (HL) + (rp) HLD 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 quDAA 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 = 101dCMA 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 snhCMP 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 qua 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 FCh 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 nhyJMP 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 JMChc nng M t Bytes: S trng thi M lnh Kt qua 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 = 111Nhy 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 hnhMa 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 = 0a 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 = 1PCHL 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 xpPUSH 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 BSP 9AAF Ngan xep FF FF FF FF

Sau khi PUSH BNgan 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 F37

Trc khi POP FSP 2C00 AF 0F3F Ngan xep C3 FF FF FF 2C00 2C01 2C02 2C03

Sau khi POP FNgan 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 XTHLSP 10AD HL 0B3C Ngan xep FF F0 0D FF

Sau XTHLNgan 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 quIN 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 khinNOP Chc nng M t

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

Bytes: S trng thi M lnh Kt quHLT 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 quEI 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 quDI 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 3Tn bi:

Giao tip I/O

M bi:

CIO 02 31 03

GII THIUBi 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 CHNHNi 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 QUANi 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 ringTrong 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 nhTrong 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 VIVic 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 GINTrong 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 8255A8255A 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

I

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 nngm 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 chnc 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 ngtLu : Tt c cc FF mt n c xa t ng khi chn ch v reset thit b.

4.2 Cc ch hot ngMode 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 PC2nh 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 PC2Ghi 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 PC4Thao 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 nhnHnh 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 82C55A82C55A 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 8251A8251A 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 tnh8251A 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 nngTng 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 8251AB 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 titTng 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 bHnh 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 4Tn bi: Ngt v chng trnh phc v ngt M bi:CIO 02 31 04

GII THIUBi 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 CHNHNi 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 QUANMt 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 dVn 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 NGTTrong 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 ngtHnh 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 7ROM 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 ngtTrc 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 xpTo 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

FFFFHnh 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 8113Vng 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 8259ATrong 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 t