You are on page 1of 18

Smith Nguyen Studio.

Chng 11 Lp trnh cc ngt


Mt ngt l mt s kin bn trong hoc bn ngoi lm ngt b vi iu khin bo cho n bit rng thit b cn dch v ca n. Trong chng ny ta tm hiu khi nim ngt v lp trnh ngt. 11.1 Cc ngt ca 8051. 11.1.1 Cc ngt ngc vi thm d. Mt b vi iu khin c th phc v mt vi thit b, c hai cch thc hin iu ny l s dng cc ngt v thm d (polling). Trong phng php s dng cc ngt th mi khi c mt thit b bt k cn n dch v ca n th n bao cho b vi iu khin bng cch gi mt tn hiu ngt. Khi nhn c tn hiu ngt th b vi iu khin ngt tt c nhng g n ang thc hin chuyn sang phc v thit b. Chng trnh i cng vi ngt c gi l trnh dch v ngt ISR (Interrupt Service Routine) hay cn gi l trnh qun l ngt (Interrupt handler). Cn trong phng php thm d th b vi iu khin hin th lin tc tnh trng ca mt thit b cho v iu kin tho mn th n phc v thit b. Sau n chuyn sang hin th tnh trng ca thit b k tip cho n khi tt c u c phc v. Mc d phng php thm d c th hin th tnh trng ca mt vi thit b v phc v mi thit b khi cc iu kin nht nh c tho mn nhng n khng tn dng ht cng dng ca b vi iu khin. im mnh ca phng php ngt l b vi iu khin c th phc v c rt nhiu thit b (tt nhin l khng ti cng mt thi im). Mi thit b c th nhn c s ch ca b vi iu khin da trn mc u tin c gn cho n. i vi phng php thm d th khng th gn mc u tin cho cc thit b v n kim tra tt c mi thit b theo kiu hi vng. Quan trng hn l trong phng php ngt th b vi iu khin cng cn c th che hoc lm l mt yu cu dch v ca thit b. iu ny li mt ln na khng th thc hin c trong phng php thm d. L do quan trng nht l phng php ngt c u chung nht l v phng php thm d lm lng ph thi gian ca b vi iu khin bng cch hi d tng thit b k c khi chng khng cn n dch v. Nhm trnh .. th ngi ta s dng phng php ngt. V d trong cc b nh thi c bn n chng 9 ta dng lnh JNB TF, ch v i cho n khi b nh thi quay tr v 0. Trong v d , trong khi ch i th ta c th lm vic c g khc c ch hn, chng hn nh khi s dng phng php ngt th b vi iu khin c th i lm cc vic khc v khi c TF bt ln n s ngt b vi iu khin cho d n ang lm bt k iu g. 11.1.2 Trnh phc v ngt. i vi mi ngt th phi c mt trnh phc v ngt ISR hay trnh qun l ngt. khi mt ngt c gi th b vi iu khin phc v ngt. Khi mt ngt c gi th b vi iu khin chy trnh phc v ngt. i vi mi ngt th c mt v tr c nh trong b nh gi a ch ISR ca n. Nhm cc v tr nh c dnh ring gi cc a ch ca cc ISR c gi l bng vc t ngt (xem hnh 11.1). 11.1.3 Cc bc khi thc hin mt ngt. Khi kch hot mt ngt b vi iu khin i qua cc bc sau: 1. N kt thc lnh ang thc hin v lu a ch ca lnh k tip (PC) vo ngn xp.

Smith Nguyen Studio.


2. N cng lu tnh trng hin ti ca tt c cc ngt vo bn trong (ngha l khng lu vo ngn xp). 3. N nhy n mt v tr c nh trong b nh c gi l bng vc t ngt ni lu gi a ch ca mt trnh phc v ngt. 4. B vi iu khin nhn a ch ISR t bng vc t ngt v nhy ti . N bt u thc hin trnh phc v ngt cho n lnh cui cng ca ISR l RETI (tr v t ngt). 5. Khi thc hin lnh RETI b vi iu khin quay tr v ni n b ngt. Trc ht n nhn a ch ca b m chng trnh PC t ngn xp bng cch ko hai byte trn nh ca ngn xp vo PC. Sau bt u thc hin cc lnh t a ch . Lu bc 5 n vai tr nhy cm ca ngn xp, v l do ny m chng ta phi cn thn khi thao tc cc ni dung ca ngn xp trong ISR. c bit trong ISR cng nh bt k chng trnh con CALL no s ln y vo ngn xp (Push) v s ln ly ra t n (Pop) phi bng nhau. 11.1.4 Su ngt trong 8051. Thc t ch c 5 ngt dnh cho ngi dng trong 8051 nhng nhiu nh sn xut a ra cc bng d liu ni rng c su ngt v h tnh c lnh ti thit lp li RESET. Su ngt ca 8051 c phn b nh sau: 1. RESET: Khi chn RESET c kch hot t 8051 nhy v a ch 0000. y l a ch bt li ngun c bn chng 4. 2. Gm hai ngt dnh cho cc b nh thi: 1 cho Timer0 v 1 cho Timer1. a ch ca cc ngt ny l 000B4 v 001B4 trong bng vc t ngt dnh cho Timer0 v Timer1 tng ng. 3. Hai ngt dnh cho cc ngt phn cng bn ngoi chn 12 (P3.2) v 13 (P3.3) ca cng P3 l cc ngt phn cng bn ngoi INT0 v INT1 tng ng. Cc ngt ngoi cng cn c coi nh EX1 v EX2 v tr nh trong bng vc t ngt ca cc ngt ngoi ny l 0003H v 0013H gn cho INT0 v INT1 tng ng. 4. Truyn thng ni tip c mt ngt thuc v c thu v pht. a ch ca ngt ny trong bng vc t ngt l 0023H. Ch rng trong bng 11.1 c mt s gii hn cc byte dnh ring cho mi ngt. V d, i vi ngt INT0 ngt phn cng bn ngoi 0 th c tng cng l 8 byte t a ch 0003H n 000AH dnh cho n. Tng t nh vy, 8 byte t a ch 000BH n 0012H l dnh cho ngt b nh thi 0 l TI0. Nu trnh phc v ngt i mt vi mt ngt cho m ngn t va khng gian nh c. Nu khng va th mt lnh LJMP c t vo trong bng vc t ngt ch n a ch ca ISR, trng hp ny th cc byte cn li c cp cho ngt ny khng dng n. Di y l cc v d v lp trnh ngt minh ho cho cc iu trnh by trn y. T bng 11.1 cng thy mt thc t rng ch c 3 byte ca khng gian b nh ROM c gn cho chn RESET. l nhng v tr a ch 0, 1 v 2 ca ROM. V tr a ch 3 thuc v ngt phn cng bn ngoi 0 vi l do ny trong chng trnh chng ta pha t lnh LJMP nh l lnh u tin v hng b x l lnh khi bng vc t ngt nh ch ra trn hnh 11.1. Bng 11.1: Bng vc t ngt ca 8051.

Smith Nguyen Studio.


Ngt Bt li ngun (RESET) Ngt phn cng ngoi (INT0) Ngt b Timer0 (TF0) Ngt phn cng ngoi 1 (INT1) Ngt b Timer1 (TF1) Ngt COM ni tip (RI v TI) a ch ROM 0000 0003 000B 0013 001B 0023 Chn 9 12 (P3.2) 13 (P3.3)

11.1.5 Cho php v cm ngt. Khi bt li ngun th tt c mi ngt u b cm (b che) c ngha l khng c ngt no s c b vi iu khin p ng nu chng c kch hot. Cc ngt phi c kch hot bng phn mm b vi iu khin p ng chng. C mt thanh ghi c gi l cho php ngt IE (Interrupt Enable) chu trch nhim v vic cho php (khng che) v cm (che) cc ngt. Hnh 11.2 trnh by thanh ghi IE, lu rng IE l thanh ghi c th nh a ch theo bt. T hnh 11.2 ta thy rng D7 ca thanh ghi IE c gi l bt cho php tt c cc ngt EA (Euable All). Bt ny phi c thit lp ln 1 phn cn li ca thanh ghi hot ng c. Bt D6 cha c s dng. Bt D54 c dnh cho 8051, cn bt D4 dng cho ngt ni tip v.v 11.1.6 Cc bc khi cho php ngt. cho php mt ngt ta phi thc hin cc bc sau: 1. Bt D7 ca thanh ghi IE l EA phi c bt ln cao cho php cc bt cn li ca thanh ghi nhn c hiu ng. 2. Nu EA = 1 th tt c mi ngt u c php v s c p ng nu cc bt tng ng ca chng trong IE c mc cao. Nu EA = 0 th khng c ngt no s c p ng cho d bt tng ng ca n trong IE c gi tr cao. hiu im quan trong ny hy xt v d 11.1. Hnh 11.2: Thanh ghi cho php ngt IE.
D7 D0

EA
EA

--

ET2

ES

ET1

EX1

ET0

EX0

IE.7 Nu EA = 0 th mi ngt b cm Nu EA = 1 th mi ngun ngt c cho php hoc b cm bng cc bt hoc xo bt cho php ca n. -IE.6 D phng cho tng lai ET2 IE.5 Cho php hoc cm ngt trn hoc thu ca Timer2 (8051) ES IE.4 Cho php hoc cm ngt cng ni tip ET1 IE.3 Cho php hoc cm ngt trn ca Timer1 EX1 IE.2 Cho php hoc cm ngt ngoi 1 ET0 IE.1 Cho php hoc cm ngt trn ca Timer0 EX0 IE.0 Cho php hoc cm ngt ngoi 0 * Ngi dng khng phi ghi 1 vo bt d phng ny. Bt ny c th dng cho cc b vi iu khin nhanh vi c tnh mi V d 11.1:

Smith Nguyen Studio.


Hy ch ra nhng lnh a) cho php ngt ni tip ngt Timer0 v ngt phn cng ngoi 1 (EX1) v b) cm (che) ngt Timer0 sau c) trnh by cch cm tt c mi ngt ch bng mt lnh duy nht. Li gii:
a) MOV IE, #10010110B ; Cho php ngt ni tip, cho php ngt Timer0 v cho php ngt phn cng ngoi.

V IE l thanh ghi c th nh a ch theo bt nn ta c th s dng cc lnh sau y truy cp n cc bt ring r ca thanh ghi:
SETB SETB SETB SETB IE.7 IE.4 IE.1 IE.2 ; EA = 1, Cho php tt c mi ngt ; Cho php ngt ni tip ; Cho php ngt Timer1 ; Cho php ngt phn cng ngoi 1

(tt c nhng lnh ny tng ng vi lnh MOV IE, #10010110B trn y).
b) CLR IE.1 c) CLR IE.7 ; Xo (che) ngt Timer0 ; Cm tt c mi ngt.

11.2 Lp trnh cc ngt b nh thi. Trong chng 9 ta ni cch s dng cc b nh thi Timer0 v Timer1 bng phng php thm d. Trong phn ny ta s s dng cc ngt lp trnh cho cc b nh thi ca 8051. 11.2.1 C quay v 0 ca b nh thi v ngt. Trong chng 9 chng ta ni rng c b nh thi TF c t ln cao khi b nh thi t gi tr cc i v quay v 0 (Roll - over). Trong chng trnh ny chng ta cng ch ra cch hin th c TF bng lnh JNB TF, ch. Khi thm d c TF th ta phi i cho n khi c TF c bt ln. Vn vi phng php ny l b vi iu khin b tri buc khi c TF c bt ln v khng th lm c bt k vic g khc. S dng cc ngt gii quyt c vn ny v trnh c s tri buc ca b vi iu khin. Nu b ngt nh thi trong thanh ghi IE c php th mi khi n quay tr v 0 c TF c bt ln v b vi iu khin b ngt ti bt k vic g n ang thc hin v nhy ti bng vc t ngt phc v ISR. Bng cch ny th b vi iu khin c th lm nhng cng vic khc cho n khi no n c thng bo rng b nh thi quay v 0. Xem hnh 11.3 v v d 11.2.
TF0 1 Jumps to Timer 0 Interruptor 000BH TF1 1 Jumps to Timer 1 Interruptor 001BH

Hnh 11.3: Ngt b nh thi TF0 v TF1. Hy nhng im chng trnh di y ca chng trnh trong v d 11.2. 1. Chng ta phi trnh s dng khng gian b nh dnh cho bng vc t ngt. Do vy, ta t tt c m khi to ti a ch 30H ca b nh. Lnh LJMP l lnh u

Smith Nguyen Studio.


tin m 8051 thc hin khi n c cp ngun. Lnh LJMP li b iu khin trnh khi bng vc t ngt. 2. Trnh phc v ISR ca b Timer0 c t trong b nh bt u t a ch 000BH v v n qu nh cho vo khng gian nh dnh cho ngt ny. 3. Chng ta cho php ngt b Timer0 vi lnh MOV IE, #1000 010H trong chng trnh chnh MAIN. 4. Trong khi d liu cng P0 c nhn vo v chuyn lin tc sang cng vic P1 th mi khi b Timer0 tr v 0, c TF0 c bt ln v b vi iu khin thot ra khi vng lp BACK v i n a ch 000BH thc hin ISR gn lin vi b Timer0. 5. Trong trnh phc v ngt ISR ca Timer0 ta thy rng khng cn n lnh CLR TF0 trc khi lnh RETI. L do ny l v 8051 xo c TF bn trong khi nhy n bng vc t ngt. V d 11.2: Hy vit chng trnh nhn lin tc d liu 8 bt cng P0 v gi n n cng P1 trong khi n cng lc to ra mt sng vung chu k 200ms trn chn P2.1. Hy s dng b Timer0 to ra sng vung, tn s ca 8051 l XTAL = 11.0592MHz. Li gii: Ta s dng b Timer0 ch 2 (t ng np li) gi tr np cho TH0 l 100/1.085ms = 92.
; - - Khi khi to vo chng trnh main trnh dng khng gian. ; a ch dnh cho bng vc t ngt. ORG 0000H CPL P2.1 ; Nhy n bng vc t ngt. ; ; - - Trnh ISR dnh cho Timer0 to ra sng vung. ORG 0030H ; Ngay sau a ch bng vc-t ngt MAIN: TMOD, #02H ; Chn b Timer0, ch 2 t np li MOV P0, #0FFH ; Ly P0 lm cng vo nhn d liu MOV TH0, # - 92 ; t TH0 = A4H cho 92 MOV IE, #82H ; IE = 1000 0010 cho php Timer0 SETB TR0 ; Khi ng b Timer0 BACK: MOV A, P0 ; Nhn d liu vo t cng P0 MOV P1, A ; Chuyn d liu n cng P1 SJMP BACK ; Tip tc nhn v chuyn d liu ; Chng no b ngt bi TF0 END

Trong v d 11.2 trnh phc v ngt ISR ngn nn n c th t va vo khng gian a ch dnh cho ngt Timer0 trong bng vc t ngt. Tt nhin khng phi lc no cng lm c nh vy. Xt v d 11.3 di y. V d 11.3: Hy vit li chng trnh v d 11.2 to sng vung vi mc cao ko di 1085ms v mc thp di 15ms vi gi thit tn s XTAL = 11.0592MHz. Hy s dng b nh thi Timer1. Li gii:

Smith Nguyen Studio.


V 1085ms l 1000 1085ms nn ta cn s dng ch 1 ca b nh thi Timer1.
; - - Khi khi to trnh s dng khng gian dnh cho bng vc t ngt. ORG 0000H LJMP MAIN ; Chuyn n bng vc t ngt. ; ; - - Trnh ISR i vi Timer1 to ra xung vung OR6 001BH ; a ch ngt ca Timer1 trong bng vc t ngt LJMP ISR-T1 ; Nhy n ISR ; ; - - Bt u cc chng trnh chnh MAIN. ORG 0030H ; Sau bng vc t ngt MAIN: MOV TMOD, #10H ; Chn Timer1 ch 1 MOV P0, #0FFH ; Chn cng P0 lm u vo nhn d liu MOV TL1, #018H ; t TL1 = 18 byte thp ca - 1000 MOV TH1, #0FCH ; t TH1 = FC byte cao ca - 1000 MOV IE, #88H ; IE = 10001000 cho php ngt Timer1 SETB TR1 ; Khi ng b Timer1 BACK: MOV A, P0 ; Nhn d liu u vo cng P0 MOV P1, A ; Chuyn d liu n P1 SJMP BACK ; Tip tc nhn v chuyn d liu ; ; - - Trnh ISR ca Timer1 phi c np li v ch 1 ISR-T1: CLR TR1 ; Dng b Timer1 CLR P2.1 ; P2.1 = 0 bt u xung mc thp MOV R2, #4 ; 2 chu k my MC (Machine Cycle) HERE: DJNZ R2, HERE ; 4 2 MC = 8 MC MOV TL1, #18H ; Np li byte thp gi tr 2 MC MOV TH1, #0FCH ; Np li byte cao gi tr 2 MC SETB TR1 ; Khi ng Timer1 1 MC SETB P2.1 ; P2.1 = 1 bt P2.1 tr li cao RETI ; Tr v chng trnh chnh END

Lu rng phn xung mc thp c to ra bi 14 chu k mc MC v mi MC = 1.085ms v 14 1.085ms = 15.19ms. V d 11.4: Vit mt chng trnh to ra mt sng vung tn s 50Hz trn chn P1.2. V d ny tng t v d 9.12 ngoi tr ngt Timer0, gi s XTAL = 11.0592MHz. Li gii:
ORG 0 LJMP MAIN ORG 000BH CPL P1.2 MOV TL0, # 00 MOV TH0, # 0DCH RETI ORG 30H ; ------------ main program for initialization MAIN: MOV TMOD, # 00000001B ; Chng trnh con phc v ngt cho Timer0

; Chn Timer0 ch 1

Smith Nguyen Studio.


MOV TL0, # 0DCH MOV IE, # 82H SETB TR0 HERE END 8051 ; Cho php ngt Timer0

HERE: SJMP

P1.2

50Hz square ware

11.3 Lp trnh cc ngt phn cng bn ngoi. B vi iu khin 8051 c hai ngt phn cng bn ngoi l chn 12 (P3.2) v chn 13 (P3.3) dng cho ngt INT0 v INT1. Khi kch hot nhng chn ny th 8051 b ngt ti bt k cng vic no m n ang thc hin v n nhy n bng vc t ngt thc hin trnh phc v ngt.
Level - tringgered INTO (Pin 3.2) 0 1 Edge - triggered ITO IE0 (TCON.1) 0003

Level - tringgered INTO (Pin 3.3) 0 1 Edge - triggered IT1 IE0 (TCON.3) 0013

11.3.1 Cc ngt ngoi INT0 v INT1. Ch c hai ngt phn cng ngoi trong 8051 l INT0 v INT1. Chng c b tr trn chn P3.2 v P3.3 v a ch ca chng trong bng vc t ngt l 0003H v 0013H. Nh ni mc 11.1 th chng c ghp v b cm bng vic s dng thanh ghi IE. Vy chng c kch hot nh th no? C hai mc kch hot cho cc ngt phn cng ngoi: Ngt theo mc v ngt theo sn. Di y l m t hot ng ca mi loi. 11.3.2 Ngt theo mc. ch ngt theo mc th cc chn INT0 v INT1 bnh thng mc cao (ging nh tt c cc chn ca cng I/O) v nu mt tn hiu mc thp c cp ti chng th n ghi nhn ngt. Sau b vi iu khin dng tt c mi cng vic n

Smith Nguyen Studio.


ang thc hin v nhy n bng vc t ngt phc v ngt. iu ny c gi l ngt c kch hot theo mc hay ngt theo mc v l ch ngt mc nh khi cp ngun li cho 8051. Tn hiu mc thp ti chn INT phi c lu i trc khi thc hin lnh cui cng ca trnh phc v ngt RETI, nu khng mt ngt khc s li c to ra. Hay ni cch khc, nu tn hiu ngt mc thp khng c ly i khi ISR kt thc th n khng th hin nh mt ngt khc v 8051 nhy n bng vc t ngt thc hin ISR. Xem v d 11.5. V d 11.5. Gi s chn INT1 c ni n cng tc bnh thng mc cao. Mi khi n xung thp phi bt mt n LED. n LED c ni n chn P1.3 v bnh thng ch tt. Khi n c bt ln n phi sng vi phn trm giy. Chng no cng tc c n xung thp n LED phi sng lin tc. Li gii:
ORG 0000H LJMP MAIN ; Nhy n bng vc t ngt ; - - Chng trnh con ISR cho ngt cng INT1 bt n LED. ORG 0013H ; Trnh phc v ngt ISR cho INT1 SETB P1.3 ; Bt n LED MOV R3, # 255 ; BACK: DJNZ R3, BACK ; Gi n LED sng mt lc CLR P1.3 ; Tt n LED RETI ; Tr v t ISR ; - - Bt u chng trnh chnh Main. ORG 30H MAIN: MOV IE, #10000100B ; Cho php ngt di SJMP HERE ; Ch y cho n khi c ngt END

n cng tc xung s lm cho n LED sng. Nu n c gi trng thi c kch hot th n LED sng lin tc.
Vcc 8051 P1.3 INTI to LED

Trong chng trnh ny b vi iu khin quay vng lin tc trong vng lp HERE. Mi khi cng tc trn chn P3.3 (INT1) c kch hot th b vi iu khin thot khi vng lp v nhy n bng vc t ngt ti a ch 0013H. Trnh ISR cho INT1 bt n LED ln gi n mt lc v tt n trc khi tr v. Nu trong lc n thc hin lnh quay tr v RET1 m chn INT1 vn cn mc thp th b vi iu khin khi to li ngt. Do vy, gii quyt vn ny th chn INT1 phi c a ln cao ti thi im lnh RET1 c thc hin. 11.3.3 Trch mu ngt theo mc.

Smith Nguyen Studio.


Cc chn P3.2 v P3.3 bnh thng c dng cho vo - ra nu cc bt INT0 v INT1 trong thanh ghi IE khng c kch hot. Sau khi cc ngt phn cng trong thanh gi IE c kch hot th b vi iu khin duy tr trch mu trn chn INTn i vi tn hiu mc thp mt ln trong mt chu trnh my. Theo bng d liu ca nh sn xut ca b vi iu khin th chn ngt phi c gi mc thp cho n khi bt u thc hin trnh phc v ngt ISR. Nu chn INTn c a tr li mc cao trc khi bt u thc hin ISR th s chng c ngt no xy ra. Tuy nhin trong qu trnh kch hot ngt theo mc thp nn n li phi a ln mc cao trc khi thc hin lnh RET1 v li theo bng d liu ca nh sn xut th nu chn INTn vn mc thp sau lnh RETI ca trnh phc v ngt th mt ngt khc li s c kch hot sau khi lnh RET1 c thc hin. Do vy, bo m vic kch hot ngt phn cng ti cc chn INTn phi khng nh rng thi gian tn ti tn hiu mc thp l khong 4 chu trnh my v khng c hn. iu ny l do mt thc t l ngt theo mc khng c cht. Do vy chn ngt phi c gia mc thp cho n khi bt u thc hin ISR. 1 chu trnh my 1.085ms 4 chu trnh my (4MC) n chn INT0 hoc INT1

4 1.085ms Ghi ch: Khi bt li ngun (RESET) th c hai chn INT0 v INT1 u mc thp to cc ngt ngoi theo mc. Hnh 11.5: Thi gian ti thiu ca ngt theo mc thp (XTAL = 11.0592MHz) 11.3.4 Cc ngt theo sn. Nh ni trc y trong qu trnh bt li ngun th 8051 lm cc chn INT0 v INT1 l cc ngt theo mc thp. bin cc chn ny tr thnh cc ngt theo sn th chng ta phi vit chng trnh cho cc bt ca thanh ghi TCON. Thanh thi TCON gi cc bt c IT0 v IT1 xc nh ch ngt theo sn hay ngt theo mc ca cc ngt phn cng IT0 v IT1 l cc bt D0 v D2 ca thanh ghi TCON tng ng. Chng c th c biu din nh TCON.0 v TCON.2 v thanh ghi TCON c th nh a ch theo bt. Khi bt li ngun th TCON.0 (IT0) v TCON.2 (IT1) u mc thp (0) ngha l cc ngt phn cng ngoi ca cc chn INT0 v INT1 l ngt theo mc thp. Bng vic chuyn cc bt TCON.0 v TCON.2 ln cao qua cc lnh SETB TCON.0 v SETB TCON.2 th cc ngt phn cng ngoi INT0 v INT1 tr thnh cc ngt theo sn. V d, lnh SETB TCON.2 lm cho INT1 m c gi l ngt theo sn trong khi mt tn hiu chuyn t cao xung thp c cp n chn P3.3 th trng hp ny b vi iu khin s b ngt v b cng bc nhy n bng vc t ngt ti a ch 0013H thc hin trnh phc v ngt. Tuy nhin l vi gii thit rng bt ngt c cho php trong thanh ghi IE.

Smith Nguyen Studio.


D7 D0

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

Hnh 11.6: Thanh ghi TCON. Bt TF1 hay TCON.7 l c trn ca b Timer1. N c lp bi phn cng khi b m/ b nh thi 1 trn, n c xo bi phn cng khi b x l ch n trnh phc v ngt. Bt TR1 hay TCON.6 l bt iu khin hot ng ca Timer1. N c thit lp v xo bi phn mm bt/ tt Timer1. Bt TF0 hay TCON.5 tng t nh TF1 dnh cho Timer0. Bt TR0 hay TCON.4 tng t nh TR1 dnh cho Timer0. Bt IE1 hay TCON.3 c ngt ngoi 1 theo sn. N c thit lp bi CPU khi sn ngt ngoi (chuyn t cao xung thp) c pht hin. N c xa bi CPU khi ngt c x l. Lu : C ny khng cht nhng ngt theo mc thp. Bt IT1 hay TCON.2 l bt iu khin kiu ngt. N c thit lp v xo bi phn mm xc nh kiu ngt ngoi theo sn xung hay mc thp. Bt IE0 hay TCON.1 tng t nh IE1 dnh cho ngt ngoi 0. Bt IT0 hay TCON.0 tng t nh bt IT1 dnh cho ngt ngoi 0. Xt v d 11.6, ch rng s khc nhau duy nht gia v d ny v v d 11.5 l trong hng u tin ca MAIN khi lnh SETB TCON.2 chuyn ngt INT1 v kiu ngt theo sn. Khi sn xung ca tn hiu c cp n chn INT1 th n LED s bt ln mt lc. n LED c thi gian sng ph thuc vo tr bn trong ISR ca INT1. bt li n LED th phi c mt sn xung xung khc c cp n chn P3.3. iu ny ngc vi v d 11.5. Trong v d 11.5 do bn cht ngt theo mc ca ngt th n LED cn sng chng no tn hiu chn INT1 vn cn mc thp. Nhng trong v d ny bt li n LED th xung chn INT1 phi c a ln cao ri sau b h xung thp to ra mt sn xung lm kch hot ngt. V d 11.6: Gi thit chn P3.3 (INT1) c ni vi mt my to xung, hy vit mt chng trnh trong sn xung ca xung s gi mt tn hiu cao n chn P1.3 ang c ni ti n LED (hoc mt ci bo). Hay ni cch khc, n LED c bt v tt cng tn s vi cc xung c cp ti chn INT1. y l phin bn ngt theo sn xung ca v d 11.5 trnh by trn. Li gii:
ORG 0000H LJMP MAIN ; - - Trnh phc v ngt ISR dnh cho ngt INT1 bt n LED ORG 0013H ; Nhy n a ch ca trnh phc v ngt INT1 SETB P1.3 ; Bt n LED (hoc ci) MOV R3, #225 BACK: DJNZ R3, HERE ; gi n LED (hoc ci) mt lc CLR P1.3 ; Tt n LED (hoc ci) RETI ; Quay tr v t ngt ; - - Bt u chng trnh chnh ORG 30H SETB TCON.2 ; Chuyn ngt INT1 v kiu ngt theo sn xung

Smith Nguyen Studio.


HERE: MOV SJMP END IE, #10001B HERE ; Cho php ngt ngoi INT1 ; Dng y cho n khi b ngt

11.3.5 Trnh mu ngt theo sn. Trc khi kt thc phn ny ta cn tr li cu hi vy th ngt theo sn c trch mu thng xuyn nh th no? Trong cc ngt theo sn, ngun ngoi phi gi mc cao ti thiu l mt chu trnh my na m bo b vi iu khin nhn thy c s chuyn dch t cao xung thp ca sn xung.
1MC 1.085ms 1MC

1.085ms

Thi hn xung ti thiu pht hin ra cc ngt theo sn xung vi tn s XTAL = 11.0592MHz Sn xung ca xung c cht bi 8051 v c gia bi thanh ghi TCON. Cc bt TCON.1 v TCON.3 gi cc sn c cht ca chn INT0 v INT1 tng ng. TCON.1 v TCON.3 cng cn c gi l cc bt IE0 v IE1 nh ch ra trn hnh 11.6. Chng hot ng nh cc c ngt ang c phc v (Interrupt-inserver). Khi mt c ngt ang c phc v bt ln th n bo cho th gii thc bn ngoi rng ngt hin nay ang c x l v trn chn INTn ny s khng c ngt no c p ng chng no ngt ny cha c phc v xong. y ging nh tn hiu bo bn my in thoi. Cn phi nhn mnh ht im di y khi quan tm n cc bt IT0 v IT1 ca thanh ghi TCON. 1. Khi cc trnh phc v ngt ISR kt thc (ngha l trong thanh ghi thc hin lnh RETI). Cc bt ny (TCON.1 v TCON.3) c xo bo rng ngt c hon tt v 8051 sn sng p ng ngt khc trn chn . ngt khc c nhn v th tn hiu trn chn phi tr li mc cao v sau nhy xung thp c pht hin nh mt ngt theo sn. 2. Trong thi gian trnh phc v ngt ang c thc hin th chn INTn b lm ng khng quan tm n n c bao nhiu ln chuyn dch t cao xung thp. Trong thc t n l mt trong cc chc nng ca lnh RETI xo bt tng ng trong thanh ghi TCON (bt TCON.1 v TCON.3). N bo cho ta rng trnh phc v ngt xp kt thc. V l do ny m cc bt TCON.1 v TCON.3 c gi l cc c bo ngt ang c phc v c ny s ln cao khi mt sn xung c pht hin trn chn INT v dng mc cao trong ton b qu trnh thc hin ISR. N ch b xo bi lnh RETI l lnh cui cng ca ISR. Do vy, s khng bo gi cn n cc lnh xo bt ny nh CLR TCON.1 hay CLR TCON.3 trc lnh RETI trong trnh phc v ngt i vi cc ngt cng INT0 v INT1. iu ny khng ng vi trng hp ca ngt ni tip. V d 11.7: S khc nhau gia cc lnh RET v RETI l g? Gii thch ti sao ta khng th dng lnh RET thay cho lnh RETI trong trnh phc v ngt. Li gii:

Smith Nguyen Studio.


Cc hai lnh RET v RETI u thc thi cc hnh vi ging nhau l ly hai byte trn nh ngn xp vo b m chng trnh v a 8051 tr v ni b i. Tuy nhin, lnh RETI cn thc thi mt nhim v khc na l xo c ngt ang c phc v bo rng ngt kt thc v 8051 c th nhp mt ngt mi trn chn ny. Nu ta dng lnh RET thay cho RETI nh l lnh cui cng ca trnh phc v ngt nh vy l ta v tnh kho mi ngt mi trn chn ny sau ngt u tin v trng thi ca chn bo rng ngt vn ang c phc v. y l trng hp m cc c TF0, TF1, TCON.1 v TCON.3 c xo bi lnh RETI. 11.3.6 Vi iu b xung v thanh ghi TCON. By gi ta xt k v cc bt ca thanh ghi TCON hiu vai tr ca n trong vic duy tr cc ngt. 11.3.6.1 Cc bt IT0 v IT1. Cc bt TCON.0 v TCON.2 c coi nh l cc bt IT0 v IT1 tng ng. y l cc bt xc nh kiu ngt theo sn xung hay theo mc xung ca cc ngt phn cng trn chn INT.0 v INT.1 tng ng. Khi bt li ngun c hai bt ny u c mc 0 bin chng thnh ngt theo tn hiu mc thp. Lp trnh vin c th iu khin mt trong s chng ln cao chuyn ngt phn cng bn ngoi thnh ngt theo ngng. Trong mt h thng da trn 8051 cho th mt khi ta t v 0 hoc 1 th cc bt ny s khng thay i v ngi thit k c nh kiu ngt l ngt theo sn hay theo mc ri. 11.3.6.2 Cc bt IE0 v IE1. Cc bt TCON.1 v TCON.3 cn c gi l IE0 v IE1 tng ng. Cc bt ny c 8051 dng bm kiu ngt theo sn xung. Ni cc khc l nu IT0 v IT1 bng 0 th c ngha l cc ngt phn cng l ngt theo mc thp, cc bt IE0 v IE1 khng dng n lm g. Cc bt IE0 v IE1 c 8051 ch dng cht sn xung t cao xung thp trn cc chn INT0 v INT1. Khi c chuyn dch sn xung trn chn INT0 (hay INT1) th 8051 nh du (bt ln cao) cc bt IEx trn thanh ghi TCON nhy n bng vc t ngt v bt u thc hin trnh phc v ngt ISR. Trong khi 8051 thc hin ISR th khng c mt sn xung no c ghi nhn trn chn INT0 (hay INT1) ngn mi ngt trong ngt. Ch trong khi thc hin lnh RETI cui trnh phc v ngt ISR th cc bt IEx mi b bo rng mt sn xung cao xung thp mi trn chn INT0 (hay INT1) s kch hot ngt tr li. T phn trnh by trn ta thy rng cc bt IE0 v IE1 c 8051 s dng bn trong bo c mt ngt ang c x l hay khng. Hay ni cch khc l lp trnh vin khng phi quan tm n c bt ny. 11.3.6.3 Cc bt TR0 v TR1. y l nhng bt D4 v D6 (hay TCON.4 v TCON.6) ca thanh ghi TCON. Cc bt ny c gii thiu chng 9 chng c dng khi ng v dng cc b nh thi Timer0 v Timer1 tng ng. V thanh ghi TCON c th nh a ch theo bt nn c th s dng cc lnh SETB TRx v CLR TRx cng nh cc lnh SETB TCON.4 v CLR TCON.4. 11.3.6.4 Cc bt TF0 v TF1. Cc bt ny l D5 (TCON.5) v D7 (TCON.7) ca thanh ghi TCON m c gii thiu chng 9. Chng ta c s dng bi cc b Timer0 v Timer1 tng ng bo rng cc b nh thi b trn hay quay v khng. Mc d ta dng cc lnh JNB TFx, ch v CLR TFx nhng chng ta cng khng th s

Smith Nguyen Studio.


dng cc lnh nh SETB TCON.5, ch v CLR TCON.5 v TCON l thanh ghi c th nh a ch theo bt. 11.4 Lp trnh ngt truyn thng ni tip. Trong chng 10 chng ta nghin cu v truyn thng ni tip ca 8051. Tt c cc v d trong chng y u s dng phng php thm d (polling). chng ny ta khm ph truyn thng da trn ngt m n cho php 8051 lm vic rt nhiu vic ngoi vic truyn v nhn d liu t cng truyn thng ni tip. 11.4.1 Cc c RI v TI v cc ngt. Nh ni chng 10 th c ngt truyn TI (Transfer interrupt) c bt ln khi bt cui cng ca khung d liu, bt stop c truyn i bo rng thanh ghi SBUF sn sng truyn byte k tip. Trong trng hp c RI (Receive Interrupt) th n c bt ln khi ton b khung d liu k c bt stop c nhn. Hay ni cch khc khi thanh ghi SBUF c mt byte th c RI bt ln bo rng byte d liu nhn c cn ly i ct vo ni an ton trc khi n b mt (b ghi ) bi d liu mi nhn c. Chng no cn ni v truyn thng ni tip th tt c mi khi nim trn y u p dng ging nh nhau cho d s dng phng php thm d hay s dng phng php ngt. S khc nhau duy nht gia hai phng php ny l cch phc v qu trnh truyn thng ni tip nh th no. Trong phng php thm d th chng ta phi i cho c (TI hay RI) bt ln v trong lc ch i th ta khng th lm g c c. Cn trong phng php ngt th ta c bo khi 8051 nhn c mt byte hoc n sn sng chuyn (truyn) byte k tip v ta c th lm cc cng vic khc trong khi truyn thng ni tip ang c phc v. Trong 8051 ch c mt ngt dnh ring cho truyn thng ni tip. Ngt ny c dng cho c truyn v nhn d liu. Nu bt ngt trong thanh gi IE (l bt IE.4) c php khi RI v TI bt ln th 8051 nhn c ngt v nhy n a ch trnh phc v ngt dnh cho truyn thng ni tip 0023H trong bng vc t ngt thc hin n. Trong trnh ISR ny chng ta phi kim tra cc c TI v RI xem c no gy ra ngt p ng mt cch ph hp (xem v d 11.8).

TI RI

0023H

Hnh 11.7: Ngt truyn thng c th do hai c TI v RI gi. 11.4.2 S dng cng COM ni tip trong 8051. Trong phn ln cc ng dng, ngt ni tip ch yu c s dng nhn d liu v khng bao gi c s dng truyn d liu ni tip. iu ny ging nh vic bo chung nhn in thoi, cn nu ta mun gi in thoi th c nhiu cch khc ngt ta ch khng cn n chung. Tuy nhin, trong khi nhn in thoi ta phi tr li ngay khng bit ta ang lm g nu khng thuc gi s (mt) i qua. Tng t nh vy, ta s dng cc ngt ni tip khi nhn d liu i n sao chp cho n khng b mt: Hy xt v d 11.9 di y. V d 11.8:

Smith Nguyen Studio.


Hy vit chng trnh trong 8051 c d liu t cng P1 v ghi n ti cng P2 lin tc trong khi a mt bn sao d liu ti cng COM ni tip thc hin truyn ni tip gi thit tn s XTAL l 11.0592MHz v tc baud l 9600. Li gii:
ORG 0 LJMP MAIN ORG 23H LJMP SERIAL MOVQP1, # 0FFH MOV TMOD, # 20h MOV TH1, # 0FDH MOV SCON, # 50H MOV IE, # 10010000B SETB TR1 MOV A, P1 MOV SBUF, A MOV P2, A SJMP BACK

MAIN:

BACK:

; Nhy n trnh phc v ngt truyn thng ni tip ; Ly cng P1 lm cng u vo ; Chn Timer1, ch 2 t np li ; Chn tc baud = 9600 ; Khung d liu: 8 bt d liu, 1 stop cho php REN ; Cho php ngt ni tip ; Khi ng Timer1 ; c d liu t cng P1 ; Ly mt bn sao ti SBUF ; Gi n n cng P2 ; li trong vng lp

; ; --------------------------Trnh phc v ngt cng ni tip ORG 100H SERIAL: JB TI,TRANS ; Nhy n c TI cao MOV A, SBUF ; Nu khng tip tc nhn d liu CLR RI ; Xo c RI v CPU khng lm iu ny RETI ; Tr v t trnh phc v ngt TRANS: CLR TI ; Xo c TI v CPU khng lm iu ny RETI ; Tr v t ISR END

Trong vn trn thy ch n vai tr ca c TI v RI. Thi im mt byte c ghi vo SBUF th n c ng khung v truyn i ni tip. Kt qu l khi bt cui cng (bt stop) c truyn i th c TI bt ln cao v n gy ra ngt ni tip c gi khi bt tng ng ca n trong thanh ghi IE c a ln cao. Trong trnh phc v ngt ni tip, ta phi kim tra c c TI v c RI v c hai u c th gi ngt hay ni cch khc l ch c mt ngt cho c truyn v nhn. V d 11.9: Hy vit chng trnh trong 8051 nhn d liu t cng P1 v gi lin tc n cng P2 trong khi d liu i vo t cng ni tip COM c gi n cng P0. Gi thit tn s XTAL l 11.0592MHz v tc baud 9600. Li gii:
ORG LJMP ORG LJMP ORG MOV MOV MOV 0 MAIN 23H SERIAL 03H P1, # FFH TMOD, # 20H TH1, # 0FDH ; Ly cng P1 l cng u vo ; Chn Timer v ch hai t np li ;Khung d liu: 8 bt d liu, 1 stop, cho php REN

MAIN:

Smith Nguyen Studio.


MOV SCON, # 50H ; Cho php ngt ni tip MOV IE, # 10010000B ; Khi ng Timer1 SETB TR1 ; c d liu t cng P1 BACK: MOV A, P1 ; Gi d liu n cng P2 MOV P2, A ; li trong vng lp SJMP BACK ; -------------------------Trnh phc v ngt cng ni tip. ORG 100H SERIAL: JB TI, TRANS ; Nhy nu Ti cao MOV A, SBUF ; Nu khng tip tc nhn d liu MOV P0, A ; Gi d lu u vo n cng P0 CLR RI ; Xo v RI v CPU khng xo c ny RETI ; Tr v t ISR TRANS: CLS TI ; Xo c TI v CUP khng xo c ny. RETI ; ; tr v t ISR END

11.4.3 Xo c RI v TI trc lnh RETI. rng lnh cui cng trc khi tr v t ISR l RETI l lnh xo cc c RI v TI. y l iu cn thit bi v l ngt duy nht dnh cho nhn v truyn 8051 khng bit c ngun gy ra ngt l ngun no, do vy trnh phc v ngt phi c xo cc c ny cho php cc ngt sau c p ng sau khi kt thc ngt. iu ny tng phn vi ngt ngoi v ngt b nh thi u c 8051 xo cc c. Cc lnh xo cc c ngt bng phn mm qua cc lnh CLR TI v CLR RI. Hy xt v d 11.10 di y v n cc lnh xo c ngt trc lnh RETI. V d 11.10: Hy vit mt chng trnh s dng cc ngt thc hin cc cng vic sau: a) Nhn d liu ni tip v gi n n cng P0. b) Ly cng P1 c v truyn ni tip v sao n cng P2. c) S dng Timer0 to sng vung tn s 5kHz trn chn P0.1 git thit tn s XTAL = 11.0592MHz v tc baud 4800. Li gii:
ORG LJMP ORG CPL RETI ORG LJMP ORG MOV MOV MOV MOV MOV MOV SETB SETB MOV MOV MOV 0 MAIN 000BH P0.1 ; Trnh phc v ngt dnh cho Timer0 : To xung chn P0.1 ; Tr v t ISR ; Nhy n a ch ngt truyn ni tip ; Ly cng P1 lm cng u vo ; Chn Timer0 v Timer1 ch 2 t np li ; Chn Timer0 v Timer1 ch 2 t np li ; Chn tc baud 4800 ; Khung d liu: 8 bt d liu, 1 stop, cho php REN ; To tn s 5kHz ; Cho php ngt ni tip ; Khi ng Timer1 ; Khi ng Timer0 ; c d liu t cng P1 ; Ly mt ln bn sao d liu ; Ghi n vo cng P2

MAIN :

BACK:

23H SERIAL 30H P1, # 0FFH TMOD, # 22H TH1, # 0F6H SCON, # 50H TH0, # - 92 IE, # 10010010B TR1 TR0 A, P1 SBUF, A P2, A

Smith Nguyen Studio.


SJMP BACK ; ---------------------- Trnh phc v ngt cng ni tip. ORG 100H SERIAL: JB TI, TRANS MOV A, SBUF MOV P0, A CLR RI RETI TRANS: CLR TI RETI END ; li trong vng lp ; Nhy nu TI vo ; Nu khng tip tc nhn d liu ; Gi d liu ni tip n P0 ; Xo c RI v 8051 khng lm iu ny ; Tr v t ISR ; Xo c TI v 8051 khng xo ; Tr v t ISR.

Trc khi kt thc phn ny hy n danh sch tt c mi c ngt c cho trong bng 11.2. Trong khi thanh thi TCON gi 4 c ngt cn hai c TI v RI trong thanh ghi SCON ca 8051. Bng 11.2: Cc bt c ngt. Ngt Ngt ngoi 0 Ngt ngoi 1 Ngt Timer0 Ngt Timer1 Ngt cng ni tip Ngt Timer2 Ngt Timer2 C IE0 IE1 TF0 TF1 T1 TF2 EXF2 Bt ca thanh ghi SFR TCON.1 TCON.3 TCON.5 TCON.7 SCON.1 T2CON.7 (TA89C52) T2CON.6 (TA89C52)

11.5 Cc mc u tin ngt trong 8051. 11.5.1 Cc mc u tin trong qu trnh bt li ngun. Khi 8051 c cp ngun th cc mc u tin ngt c gn theo bng 11.3. T bng ny ta thy v d nu cc ngt phn cng ngoi 0 v 1 c kch hot cng mt lc th ngt ngoi 0 s c p ng trc. Ch sau khi ngt INT0 c phc v xong th INT1 mi c phc v v INT1 c mc u tin thp hn. Trong thc t s mc u tin ngt trong bng khng c ngha g c m mt quy trnh thm d trong 8051 thm d cc ngt theo trnh t cho trong bng 11.3 v p ng chng mt cch ph hp. Bng 11.3: Mc u tin cc ngt trong khi cp li ngun. Mc u tin cao xung thp Ngt ngoi 0 Ngt b nh thi 0 Ngt ngoi 1 Ngt b nh thi 1 Ngt truyn thng ni tip V d 11.1: INT0 TF0 INT1 TF1 (RI + TI)

Smith Nguyen Studio.


Hy bnh lun xem iu g xy ra nu cc ngt INT0, TF0 v INT1 c kch hot cng mt lc. Gi thit rng cc mc u tin c thit lp nh khi bt li ngun v cc ngt ngoi l ngt theo sn xung. Li gii: Nu ba ngt ny c kch hot cng mt thi im th chng c cht v c gi bn trong. Sau kim tra tt c nm ngt theo trnh t cho trong bng 11.3. Nu mt ngt bt k c kch hot th n c phc v theo trnh t. Do vy, khi c ba ngt trn y cng c kch hot mt lc th ngt ngoi 0 (IE0) c phc v trc ht sau n ngt Timer0 (TF0) v cui cng l ngt ngoi 1 (IE1).
D7 D0

--

--

PT2

PS

PT1

PX1

PT0

PX0

Hnh 11.8: Thanh ghi mc u tin ngt IP, bt u tin = 1 l mc u tin cao, bt u tin = 0 l mc u tin thp. - Bt D7 v D6 hay IP.7 v IP.6 - cha dng. - Bt D5 hay IP.5 l bt u tin ngt Timer2 (dng cho 8052) - Bt D4 hay IP.4 l bt u tin ngt cng ni tip - Bt D3 hay IP.3 l bt u tin ngt Timer1 - Bt D2 hay IP.2 l mc u tin ngt ngoi 1 - Bt D1 hay IP.1 l mc u tin ngt Timer 0 - Bt D0 hay IP.0 l mc u tin ngt ngoi 0 Ngi dng khng c vit phn mm ghi cc s 1 vo cc bt cha dng v chng dnh cho cc ng dng tng li. 11.5.2 Thit lp mc u tin ngt vi thanh ghi IP. Chng ta c th thay i trnh t trong bng 11.3 bng cch gn mc u tin cao hn cho bt k ngt no. iu ny c thc hin bng cch lp trnh mt thanh ghi gi l thanh ghi mc u tin ngt IP (Interrupt Priority). Trn hnh 11.8 l cc bt ca thanh ghi ny, khi bt li ngun thanh thi 1P cha hon ton cc s 0 to ra trnh t u tin ngt theo bng 11.3. mt ngt no mc u tin cao hn ta thc hin a bt tng ng ln cao. Hy xem v d 11.12. Mt im khc na cn c lm sng t l mc u tin ngt khi hai hoc nhiu bt ngt trong thanh ghi IP c t ln cao. Trong trng hp ny th trong khi cc ngt ny c mc u tin cao hn cc ngt khc chng s c phc v theo trnh t cho trong bng 11.3. Xem v d 11.13. V d 11.12: a) Hy lp trnh thanh ghi IP gn mc u tin cao nht cho ngt INT1 (ngt ngoi 1) sau . b) Hy phn tch iu g xy ra khi INT0, INT1 v TF0 c kch hot cng lc. Gi thit tt c cc ngt u l cc ngt theo sn. Li gii: a) MOV IP, #0000 0100B ; t bt IP.2 = 1 gn INT1 mc u tin cao nht. Lnh SETB IP.2 cng tc ng tng t bi v IP l thanh ghi c th nh a ch theo bt. b) Lnh trong bc a) gn mc u tin cao hn INT1 so vi cc ngt khc, do vy khi INT0, INT1 v TF0 c kch hot cng lc th trc ht INT1 c phc v

Smith Nguyen Studio.


trc ri sau n INT0 v cui cng l TF0. iu ny l do INT1 c mc u tin cao hn hai ngt kia bc a). Sau khi thc hin song ngt INT1 th 8051 tr v phc v ngt cn li theo trnh t u tin trong bng 11.3. V d 11.13: Gi thit rng sau khi bt li ngun th mc u tin ngt c thit lp bi lnh MOV IP, #0000 1100B. Hy bnh lun v qu trnh cc ngt c phc v nh th no? Li gii: Lnh MOV IP, #0000 1100B (ch B l gi tr thp phn) thit lp ngt ngoi (INT1) v ngt b Timer1 (TF1) c mc u tin cao hn cc ngt khc. Tuy nhin, v chng c thm d theo bng 11.3 nn chng s c phc v theo trnh t sau: Mc u tin cao nht: Ngt ngoi 1 (INT1) Ngt b Timer 1 (TF1) Ngt ngoi 0 (INT0) Ngt b Timer0 (TF0) Mc u tin thp nht: Ngt cng truyn thng ni tip (RI + RT). 11.5.3 Ngt trong ngt. iu g xy ra nu 8051 ang thc hin mt trnh phc v ngt thuc mt ngt no th li c mt ngt khc c kch hot? Trong nhng trng hp nh vy th mt ngt c mc u tin cao hn c th ngt mt ngt c mc u tin thp hn. y gi l ngt trong ngt. Trong 8051 mt ngt u tin thp c th b ngt bi mt ngt c mc u tin cao hn ch khng b ngt bi mt ngt c mc u tin thp hn. Mc d tt c mi ngt u c cht v gi bn trong nhng khng c ngt mc thp no c CPU quan tm ngay tc khc nu 8051 cha kt thc phc v cc ngt mc cao. 11.5.4 Thu chp ngt bng phn mm (Triggering). C nhiu lc ta cn kim tra mt trnh phc v ngt bng con ng m phng. iu ny c th c thc hin bng cc lnh n gin thit lp cc ngt ln cao v bng cch buc 8051 nhy n bng vc t ngt. V d, nu bt IE dnh cho b Timer1 c bt ln 1 th mt lnh nh SETB TF1 s ngt 8051 ngng thc hin cng vic ang lm bt k v buc n nhy n bng vc t ngt. Hay ni cch khc, ta khng cn i cho Timer1 quay tr v 0 mi to ra ngt. Chng ta c th gy ra mt ngt bng cc lnh a cc bt ca ngt tng ng ln cao. Nh vy chng ny chng ta bit ngt l mt s kin bn trong hoc bn ngoi gy ra ngt b vi iu khin bo cho n bit rng thit b cn c phc v. Mi mt ngt c mt chng trnh i km vi n c gi l trnh phc v ngt ISR. B vi iu khin 8051 c su ngt, trong nm ngt ngi dng c th truy cp c. l hai ngt cho cc thit b phn cng bn ngoi INT0 v INT1, hai ngt cho cc b nh thi l TF0 v TF1 v ngt lnh cho truyn thng ni tip. 8051 c th c lp trnh cho php hoc cm mt ngt bt k cng nh thit lp mc u tin cho n theo yu cu ca thut ton ng dng.

You might also like