Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

Embed Size (px)

Citation preview

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    1/18

    Ch-ng 9Lp trnh cho b m/ b nh thi trong 8051

    8051 c hai b nh thi/ b m. Chng c th -c dng nh- cc b nh thi to mt b tr thi gian hoc nh- cc b m m cc s kin xy ra bn ngoi bBVK. Trong ch-ng ny chng ta s tm hiu v cch lp trnh cho chng v s dngchng nh- th no?9.1 Lp trnh cc b nh thi gian ca 8051.

    8051 c hai b nh thi l Timer 0 v Timer1, phn ny chng ta bn v ccthanh ghi ca chng v sau trnh by cch lp trnh chng nh- th no to ra cc tr thi gian.9.1.1 Cc thanh ghi c s ca b nh thi.

    C hai b nh thi Timer 0 v Timer 1 u c di 16 bt -c truy cp nh- haithanh ghi tch bit byte thp v byte cao. Chng ta s bn ring v tng thanh ghi.9.1.1.1 Cc thanh ghi ca b Timer 0.

    Thanh ghi 16 bt ca b Timer 0 -c truy cp nh- byte thp v byte cao. Thanh

    ghi byte thp -c gi l TL0 (Timer 0 bow byte) v thanh ghi byte cao l TH0 (Timer 0High byte). Cc thanh ghi ny c th -c truy cp nh- mi thanh ghi khc chng hnnh- A, B, R0, R1, R2 v.v... V d, lnh MOV TL0, #4FH l chuyn gi tr 4FH voTL0, byte thp ca b nh thi 0. Cc thanh ghi ny cng c th -c c nh- cc thanhghi khc. V d MOV R5, TH0 l l-u byte cao TH0 ca Timer 0 vo R5.

    Hnh 9.1: Cc thanh ghi ca b Timer 0.9.1.1.2 Cc thanh ghi ca b Timer 1.

    B nh thi gian Timer 1 cng di 16 bt v thanh ghi 16 bt ca n -c chia rathnh hai byte l TL1 v TH1. Cc thanh ghi ny -c truy cp v c ging nh- ccthanh ghi ca b Timer 0 trn.

    Hnh 9.2: Cc thanh ghi ca b Timer 1.

    9.1.2 Thanh ghi TMOD (ch ca b nh thi).C hai b nh thi Timer 0 v Timer 1 u dng chung mt thanh ghi -c gi l

    IMOD thit lp cc ch lm vic khc nhau ca b nh thi. Thanh ghi TMOD lthanh ghi 8 bt gm c 4 bt thp -c thit lp dnh cho b Timer 0 v 4 bt cao dnhcho Timer 1. Trong hai bt thp ca chng dng thit lp ch ca b nh thi,cn 2 bt cao dng xc nh php ton. Cc php ton ny s -c bn d-i y.

    D15 D14 D13 D12 D11 D10 D9 D8

    TH0

    D7 D6 D5 D4 D3 D2 D1 D0

    TL0

    D15 D14 D13 D12 D11 D10 D9 D8

    TH1

    D7 D6 D5 D4 D3 D2 D1 D0

    TL1

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    2/18

    Hnh 9.3: Thanh ghi IMOD.9.1.2.1 Cc bt M1, M0:

    L cc bt ch ca cc b Timer 0 v Timer 1. Chng chn ch ca cc bnh thi: 0, 1, 2 v 3. Ch 0 l mt b nh thi 13, ch 1 l mt b nh thi 16bt v ch 2 l b nh thi 8 bt. Chng ta ch tp chung vo cc ch th-ng -cs dng rng ri nht l ch 1 v 2. Chng ta s sm khm ph ra cc c tnh c ccch ny sau khi khm phn cn li ca thanh ghi TMOD. Cc ch -c thit lptheo trng thi ca M1 v M0 nh- sau:

    M1 M0 Ch Ch hot ng0 0 0 B nh thi 13 bt gm 8 bt l b nh thi/ b m 5 bt t

    tr-c0 1 1 B nh thi 16 bt (khng c t tr-c)1 0 2 B nh thi 8 bt t np li1 1 3 Ch b nh thi chia tch

    9.1.2.2 C/ T (ng h/ b nh thi).Bt ny trong thanh ghi TMOD -c dng quyt nh xem b nh thi -c

    dng nh- mt my to tr hay b m s kin. Nu bt C/T= 0 th n -c dng nh-mt b nh thi to ch thi gian. Ngun ng h cho ch tr thi gian l tn sthch anh ca 8051. phn ny ch bn v la chn ny, cng dng ca b nh thi nh-b m s kin th s -c bn phn k tip.V d 9.1: Hy hin th xem ch no v b nh thi no i vi cc tr-ng hp sau:

    a) MOV TMOD, #01H b) MOV TMOD, #20H c) MOV TMDO, #12HLi gii: Chng ta chuyn i gi tr t s Hex sang nh phn v i chiu hnh 93 ta c:

    a) TMOD = 0000 0001, ch 1 ca b nh thi Timer 0 -c chn.b) TMOD = 0010 0000, ch 1 ca b nh thi Timer 1 -c chn.c) TMOD = 0001 0010, ch 1 ca b nh thi Timer 0 v ch 1 ca Timer 1 -c chn.

    9.1.2.3 Ngun xung ng h cho b nh thi:Nh- chng ta bit, mi b nh thi cn mt xung ng h gi nhp. Vy

    ngun xung ng h cho cc b nh thi trn 8051 ly u? Nu C/T= 0 th tn sthch anh i lin vi 8051 -c lm ngun cho ng h ca b nh thi. iu cngha l ln ca tn s thch anh i km vi 8051 quyt nh tc nhp ca cc bnh thi trn 8051. Tn s ca b nh thi lun bng 1/12 tn s ca thch anh gn vi8051. Xem v d 9.2.V d 9.2:

    Hy tm tn s ng b v chu k ca b nh thi cho cc h da trn 8051 vicc tn s thch anh sau:

    (MSB)

    GATE C/T M1 M0Timer1

    GATE C/T M1 M0Timer0

    (MSB)

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    3/18

    a) 12MHzb) 16MHzc) 11,0592MHz

    Li gii:

    a) MHz1MHz12

    12

    1= v s1

    MHz1/1

    1T m==

    b) Mz111,1MHz1612

    1= v s75,0

    MHz333,1

    1T m==

    c) kHz6,921MHz0592,1112

    1= v s085,1

    MHz9216,0

    1T m==

    Mc d cc h thng da trn 8051 khc vi tn s thch anh t 10 n 40MHz,song ta ch tp chung vo tn s thch anh 11,0592MHz. L do ng sau mt s l nh-vy l hi lm vic vi tn sut bouid i vi truyn thng ni tip ca 8051. Tn sXTAL = 11,0592MHz cho php h 8051 truyn thng vi IBM PC m khng c li, iu

    m ta s bit ch-ng 10.9.1.3 Bt cng GATE.Mt bt khc ca thanh ghi TMOD l bt cng GATE. trn hnh 9.3 ta thy

    c hai b nh thi Timer0 v Timer1 u c bt GATE. Vy bt GATE dng lm g?Mi b nh thi thc hin im khi ng v dng. Mt s b nh thi thc hin iuny bng phn mm, mt s khc bng phn cng v mt s khc va bng phn cngva bng phn mm. Cc b nh thi tren 8051 c c hai. Vic khi ng v dng bnh thi -c khi ng bng phn mm bi cc bt khi ng b nh thi TR l TR0v TR1. iu ny c -c nh cc lnh SETB TR1 v CLR TR1 i vi b Timer1v SETB TRO v CLR TR0 i vi b Timer0. Lnh SETB khi ng b nh thiv lnh CLR dng dng n. Cc lnh ny khi ng v dng cc b nh thi khi bt

    GATE= 0 trong thanh ghi TMOD. Khi ng v ngng b nh thi bng phn cng tngun ngoi bng cch t bt GATE= 1 trong thanh ghi TMOD. Tuy nhin, trnh sln ln ngay t by gi ta t GATE= 0 c ngha l khng cn khi ng v dng cc bnh thi bng phn cng t bn ngoi. s dng phn mm khi ng v dng ccb nh thi phn mm khi ng v dng cc b nh thi khi GATE= 0. Chng tach cn cc lnh SETB TRx v CLR TRx. Vic s dng phn cng ngoi khing v dng b nh thi ta s bn ch-ng 11 khi bn v cc ngt.V d 9.3:

    Tm gi tr cho TMOD nu ta mun lp trnh b Timer0 ch 2 s dng thchanh XTAL 8051 lm ngun ng h v s dng cc lnh khi ng v dng b nh

    thi.Li gii:TMOD = 0000 0010: B nh thi Timer0, ch 2 C/T= 0 dng ngun XTAL

    GATE= 0 dng phn mm trong khi ng v dng b nh thi.Nh- vy, by gi chng ta c hiu bit c bn v vai tr ca thanh ghi TMOD,

    chng ta s xt ch ca b nh thi v cch chng -c lp trnh nh- th no tora mt tr thi gian. Do ch 1 v ch 2 -c s dng rng ri nn ta i xt chitit tng ch mt.9.1.4 Lp trnh cho mi ch Mode1.

    B giao ngthch anh

    12 Tn s ng h ca bnh thi

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    4/18

    D-i y l nhng c tnh v nhng php ton ca ch Mode1:1. N l b nh thi 16 bt, do vy n cho php cc gi tr 0000 n FFFFH -c

    np vo cc thanh ghi TL v TH ca b nh thi.2. Sau khi TL v TH -c np mt gi tr khi to 16 bt th b nh thi phi -c

    khi ng. iu ny -c thc hin bi SETB TR0 i vi Timer 0 v SETBTR1 i vi Timer1.

    3. Sau khi b nh thi -c khi ng, n bt u m ln. N m ln cho n khit -c gii hn FFFFH ca n. Khi n quay qua t FFFFH v 0000 th n btln bt c TF -c gi l c b nh thi. C b nh thi ny c th -c hin th.Khi c b nh thi ny -c thit lp t mt trong cc ph-ng n dng bnh thi bng cc lnh CLR TR0 i vi Timer0 hoc CLR TR1 i viTimer1. y cng cn phi nhc li l i vi b nh thi u c c TF ringca mnh: TF6 i vi Timer0 v TF1 i vi Timer1.

    4. Sau khi b nh thi t -c gii hn ca n v quay quan gi tr FFFFH, munlp li qu trnh th cc thanh ghi TH v TL phi -c np li vi gi tr ban uv TF phi -c duy tr v 0.

    9.1.4.1 Cc b-c lp trnh ch Mode 1.

    to ra mt tr thi gian dng ch 1 ca b nh thi th cn phi thchin cc b-c d-i y.1. Np gi tr TMOD cho thanh ghi bo nh thi no (Timer0 hay Timer1) -c

    s dng v ch no -c chn.2. Np cc thanh ghi TL v TH vi cc gia tr m ban u.3. Khi ng b nh thi.4. Duy tr hin th c b nh thi TF bng lnh JNB TFx, ch xem n -c

    bt khng. Thot vng lp khi TF -c ln cao.5. Dng b nh thi.6. Xo c TF cho vng k tip.7. Quay tr li b-c 2 np li TL v TH.

    tnh ton thi gian tr chnh xc v tn s sng vung -c to ra trn chnP1.5 th ta cn bit tn sXTAL (xem v d 9.5).

    T v d 9.6 ta c th pht trin mt cng thc tnh ton tr s dng ch Mode1 (16 bt) ca b nh thi i vi tn s thch anh XTAL = 11, 0592MHz (xemhnh 9.4). My tnh trong th- mc Accessrry ca Microsoft Windows c th gip ta tmcc gi tr TH v TL. My tnh ny h tr cc php tnh theo s thp phn, nh phn vthp lc.

    XTALoscillator

    12 TH TL TF

    TF goes highwhen FFFF 0

    overflowflag

    TR0T/C =

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    5/18

    a) Tnh theo s Hex b) Tnh theo s thp phn(FFFF YYXX + 1). 1,085ms trong YYXX l cc gitr khi to ca TH, TL t-ng ng. L-u rng cc gi trYYXX l theo s Hex.

    Chuyn i cc gi tr YYXX ca TH, TL v s thpphn nhn mt s thp phn NNNNN sau ly(65536 NNNNN).1,085ms.

    Hnh 9.4: Cng thc tnh ton tr thi gian i vi tn s XTAL = 11,

    0592MHz.V d 9.4:Trong ch-ng trnh d-i y ta to ra mt sng vung vi y xung 50% (cng

    t l gia phn cao v phn thp) trn chn P1.5. B nh thi Timer0 -c dng to tr thi gian. Hy phn tch ch-ng trnh ny.

    MOV TMOD, #01 ; S dng Timer0 v ch 1(16 bt)HERE: MOV TL0, #0F2H ; TL0 = F2H, byte thp

    MOV TH0, #0FFH ; TH0 = FFH, byte caoCPL P1.5 ; S dng chn P1.5ACALL DELAYSJMP HERE ; Np li TH, TL

    ; delay using timer0.DELAY:

    SETB TR0 ; Khi ng b nh thi Timer0AGAIN: JNB TF0, AGAIN ; Hin th c b nh thi cho n khi n v-t qua FFFFH.

    CLR TR0 ; Dng b TimerCLR TF0 ; Xo c b nh thi 0RET

    Li gii:Trong ch-ng trnh trn y ch cc b-c sau:

    1. TMOD -c np.2. gi tr FFF2H -c np v TH0 - TL0

    3. Chn P1.5 -c chn dng cho phn cao thp ca xung.4. Ch-ng trnh con DELAY dng b nh thi -c gi.5. Trong ch-ng trnh con DELAY b nh thi Timer0 -c khi ng bi lnh

    SETB TR06. B Timer0 m ln vi mi xung ng h -c cp bi my pht thch anh. Khi

    b nh thi m tng qua cc trng thi FFF3, FFF4 ... cho n khi t gi trFFFFH. V mt xung na l n quay v khng v bt c b nh thi TF0 = 1. Tithi im ny th lnh JNB hn xung.

    7. B Timer0 -c dng bi lnh CLR TR0. Ch-ng trnh con DELAY kt thc vqu trnh -c lp li.

    L-u rng lp li qu trnh trn ta phi np li cc thanh ghi TH v TL v khi ngli b nh thi vi gi thit tn sXTAL = 11, 0592MHz.

    V d 9.5:

    FFF2

    TF = 0

    FFF3

    TF = 0

    FFF4

    TF = 0

    0000

    TF = 1

    FFFF

    TF = 0

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    6/18

    Trong v d 9.4 hy tnh ton l-ng thi gian tr trong ch-ng trnh con DELAY-c to ra bi b nh thi vi gi thit tn sXTAL = 11,0592MHz.Li gii:

    B nh thi lm vic vi tn s ng h bng 1/12 tn sXTAL, do vy ta c

    MHz9216,012

    0592,11= l tn s ca b nh thi. Kt qu l mi nhp xung ng h c

    chu k s085,1MHz9216,01T m== . Hay ni cch khc, b Timer0 m tng sau 1,085ms

    to ra b tr bng s m 1,085ms.S m bng FFFFH - FFF2H = ODH (13 theo s thp phn). Tuy nhin, ta phi

    cng 1 vo 13 v cn thm mt nhp ng h n quay t FFFFH v 0 v bt c TF. Dovy, ta c 14 1,085ms = 15,19ms cho na chu k v c chu k l T= 2 15,19ms =30,38ms l thi gian tr -c to ra bi b nh thi.V d 9.6:

    Trong v d 9.5 hy tnh ton tn s ca xung vung -c to ra trn chn P1.5.Li gii:

    Trong tnh ton thi gian tr ca v d 9.5 ta khng tnh n tng ph ca cclnh trong vng lp. tnh ton chnh xc hn ta cn b xung thm cc chu k thi gianca cc lnh trong vng lp. lm iu ta s dng cc chu k my t bng A-1trong ph lc Appendix A -c ch d-i y.

    HERE: MOV TL0, #0F2H 2MOV TH0, #0FFH 2CPL P15 1ACALL DELAY 2SJMP HERE 2

    ; delay using timer0

    DELAY: SETB TR0 1AGAIN: JNB TF0, AGAIN 1

    CLR TR0 1CLR TF0 1RET 1

    Total 27 T = (2 27 1.085ms and F = 17067.75Hz).

    Tng s chu k b xung l x7 nn chu k thi gian tr l T= 2 27 1.085ms= 58,59ms v tn s l F = 17067,75Hz.V d 9.7:

    Hy tm ra tr -c to ra bi Timer0 trong on m sau s dng c haiph-ng php ca hnh 9.4. Khng tnh cc tng ph ca cc lnh.

    CLR P2.3 ; Xo P2.3MOV TMOD, #01 ; Chn Timer0, ch 1 (16 bt)

    HERE: MOV TL0, #3EH ; TL0 = 3EH, byte thpMOV TH0, #0B8G ; TH0 = B8H, byte caoSETB P2.3 ; Bt P2.3 ln caoSETB TR0 ; Khi ng Timer0

    AGAIN: JNB TF0, AGAIN ; Hin th c b nh thi TF0

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    7/18

    CLR TR0 ; Dng b nh thi.CLR TF0 ; Xo c b nh thi cho vng sauCLR P2.3

    Li gii:a) tr -c to ra trong m trn l:(FFFF - B83E+ 1) = 47C2H = 18370 h thp phn 18370 1,085ms = 19, 93145ms.

    b) V TH - TL = B83EH = 47166 (s thp phn) ta c 65536 - 47166 = 18370.iu ny c ngha l b nh thi gian m t B83EH n FFFF. N -c cngvi mt s m v 0 thnh mt b tng l 18370ms. Do vy ta c 18370 1,085ms =19,93145ms l rng xung.V d 9.8:

    Sa gi tr ca TH v TL trong v d 9.7 nhn -c tr thi gian ln nht cth. Hy tnh tr theo miligiy. Trong tnh ton cn -a vo c tng ph ca cc lnh.

    nhn tr thi gian ln nht c th ta t TH v TL bng 0. iu ny lmcho b nh thi m t 0000 n FFFFH v sau quay qua v 0.

    CLR P2.3 ; Xo P2.3

    MOV TMOD, #01 ; Chn Timer0, ch 1 (16 bt)HERE: MOV TL0, #0 ;t TL0 = 0, byte thp

    MOV TH0, #0 ;t TH0 = 0, byte caoSETB P2.3 ; Bt P2.3 ln caoSETB TR0 ; Khi ng b Timer0

    AGAIN: JNB TF0, AGAIN ; Hin th c b nh thi TF0CLR TR0 ; Dng b nh thi.CLR TF0 ; Xo c TF0CLR P2.3

    Thc hin bin TH v TL bng 0 ngha l b nh thi m tng t 0000 nFFFFH v sau quay qua v 0 bt c b nh thi TF. Kt qu l n i qua 65536trng thi. Do vy, ta c tr = (65536 - 0) 1.085ms =71.1065ms.

    Trong v d 9.7 v 9.8 chng ta khng np li TH v TL v n l mt xung n.Xt v d 9.9 d-i y xem vic np li lm vic nh- th no ch 1.V d 9.9:

    Ch-ng trnh d-i y to ra mt sng vung trn chn P2.5 lin tc bng vic sdng b Timer1 to ra tr thi gian. Hy tm tn s ca sng vung nu tn sXTAL = 11.0592MHz. Trong tnh ton khng -a vo tng ph ca cc lnh vng lp:

    MOV TMOD, #01H ; Chn Timer0, ch 1 (16 bt)HERE: MOV TL1, #34H ;t byte thp TL1 = 34H

    MOV TH0, #76H ;t byte cao TH1 = 76H; (gi tr b nh thi l 7634H)

    SETB TR1 ; Khi ng b Timer1AGAIN: JNB TF1, BACK ; li cho n khi b nh thi m qua 0

    CLR TR1 ; Dng b nh thi.CPL P1.5 ; B chn P1.5 nhn Hi, L0CLR TF ; Xo c b nh thiSJMP AGAIN ; Np li b nh thi do ch 1 khng t

    ng np li .Li gii:

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    8/18

    Trong ch-ng trnh trn y ta l-u n ch ca SJMP. ch 1 ch-ng trnhphi np li thanh ghi. TH v TL mi ln nu ta mun c sng dng lin tc. D-i y lkt qu tnh ton:

    V FFFFH -7634H = 89CBH + 1 = 89CCH v 90CCH =35276 l s ln m

    xung ng h, tr l 35276 1.085ms =38274ms v tn s l .Hz26127)Hz(38274

    1=

    Cng rng phn cao v phn thp ca xung sng vung l bng nhau. Trongtnh ton trn y l ch-a k n tng ph cc lnh vng lp.9.1.4.2 Tm cc gi tr cn -c np vo b nh thi.

    gi s rng chng ta bit l-ng thi gian tr m ta cn th cu hi t ra l lm thno tm ra -c cc gi tr cn thit cho cc thanh thi TH v TL. tnh ton cc gitr cn -c np vo cc thanh ghi TH v TL chng ta hy nhn vo v d sau vi vic sdng tn s dao ng XTAL = 11. 0592MHz i vi h 8051.

    T v d 9.10 ta c th s dng nhng b-c sau tm cc gi tr ca cc thanhghi TH v TL.

    1. Chia thi gian tr cn thit cho 1.0592ms

    2. Thc hin 65536 - n vi n l gi tr thp phn nhn -c t b-c 1.3. Chuyn i kt qu b-c 2 sang s Hex vi yyxx l gi tr .hex ban u cn phinp vo cc thanh ghi b nh thi.

    4. t TL = xx v TH = yy.V d 9.10:

    gi s tn sXTAL = 11.0592MHz. Hy tm cc gi tr cn -c np vo ccthanh ghi vo cc thanh ghi TH v TL nu ta mun thi gian tr l 5ms. Hy trnh bych-ng trnh cho b Timer0 to ra b xung vi rng 5ms trn chn P2.3.Li gii:

    V tn sXTAL = 11.0592MHz nn b m tng sau mi chu k 1.085ms. iu

    c ngha l phi mt rt nhiu khong thi gian 1,085ms c -c mt xung 5ms. c -c ta chia 5ms cho 1.085ms v nhn -c s n = 4608 nhp. nhn -c gi trcn -c np vo TL v TH th ta tin hnh ly 65536 tr i 4608 bng 60928. Ta i sny ra s hex thnh EE00H. Do vy, gi tr np vo TH l EE V TL l 00.

    CLR P2.3 ; Xo bt P2.3MOV TMOD, #01 ; Chn Timer0, ch 1 (16 bt)

    HERE: MOV TL0, #0 ; Np TL = 00MOV TH0, #EEH ; Np TH = EEHSETB P2.3 ; Bt P2.3 ln caoSETB TR0 ; Khi ng b nh thi Timer0

    AGAIN: JNB TF0, AGAIN ; Hin th c TF0 cho n khi b m quay v 0CLR TR0 ; Dng b nh thi.CLR TF0 ; Xo c TF0 cho vng sau.

    V d 9.11:

    gi s ta c tn sXTAL l 11,0592MHz hy vit ch-ng trnh to ra mt sngvung tn s 2kHz trn chn P2.5.

    y l tr-ng hp ging vi v d 9.10 ngoi tr mt vic l ta phi chn bt to ra sng vung. Xt cc b-c sau:

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    9/18

    a) s500kHz2

    1

    f

    1T m=== l chu k ca sng vung.

    b) Khong thi gian cao v phn thp l T2

    1bng 250ms.

    c) S nhp cn trong thi gian l 230s085,1

    s250=

    m

    mv gi tr cn np vo cc thanh ghi

    cn tm l 65536 - 230 = 65306 v dng hex l FF1AH.d) gi tr np vo TL l 1AH v TH l FFH.

    Ch-ng trnh cn vit l:

    MOV TMOD, #10H ; Chn b nh thi Timer0, ch 1 (16 bt)AGAIN: MOV TL1, #1AH ; Gn gi tr byte thp TL1 = 1AH

    MOV TH1, #0FFH ; Gn gi tr byte cao TH1 = FFHSETB TR1 ; Khi ng Timer1

    BACK: JNB TF1, BACK ; ginguyn cho n khi b nh thi quay v 0CLR TR1 ; Dng b nh thi.CPL P1.5 ; B bt P1.5 nhn gi tr cao, thp.

    CLR TF1 ; Xo c TF1SUMP AGAIN ; Np li b nh thi v ch 1 khng tnpli.

    V d 9.12:Tr-c ht ta thc hin cc b-c sau:

    a) Tnh chu k sng vung: s20Hz50

    1T m==

    b) Tnh thi gian na chu k cho phn cao: s10T2

    1m=

    c) Tnh s nhp ng h: 9216s085,1

    s10n =

    m

    m=

    d) Tnh gi tr cn np vo TH v TL: 65536 -9216 = 56320 chuyn v dng Hex lDC00H v TH = DCH v TL = 00H.

    MOV TMOD, #10H ; Chn b nh thi Timer0, ch 1 (16 bt)AGAIN: MOV TL1, #00 ; Gn gi tr byte thp TL1 = 00

    MOV TH1, #0DHCH ; Gn gi tr byte cao TH1 = DCSETB TR1 ; Khi ng Timer1

    BACK: JNB TF1, BACK ; ginguyn cho n khi b nh thi quay v 0CLR TR1 ; Dng b nh thi.CPL P2.3 ; B bt P1.5 nhn gi tr cao, thp.CLR TF1 ; Xo c TF1

    SUMP AGAIN ; Np li b nh thi v ch 1 khng tnpli.

    9.1.4.3 To mt tr thi gian ln.Nh- ta bit t cc v d trn l l-ng thi gian tr cn to ra ph thuc vo hai

    yu t:a) Tn s thch anh XTALb) Thanh ghi 16 bt ca b nh thi ch 1

    C hai yu t ny nm ngoi kh nng iu chnh ca lp trnh vin 8051. V nh-ta bit gi tr ln nht ca tr thi gian c th t -c bng cch t c TH v TL

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    10/18

    bng 0. Nh-ng iu ny xy ra khi nh- vy u khng ? V d 9.13 d-i y cch lmth no c gi tr tr thi gian ln.9.1.4.4 S dng bn tnh ca Windows tm TH v TL.

    Bn tnh Calculator ca Windows c ngay trong my tnh PC ca chng ta v rtd s dng tm ra cc gi tr cho TH v TL. gi s tm gi tr cho TH v TL vi trthi gian ln l 35.000 nhp ng h vi chu k 1,085ms. Ta thc hin cc b-c nh- sau:

    1. Chn my tnh Calculator t Windows v t ch tnh v s thp phnDecimal.

    2. Nhp s35.000 vo t bn phm.3. Chuyn v ch Hex trn Calculator n cho ta gi tr 88B8H.4. Chn +/- nhn s i du -35.000 dng thp phn v chuyn v dng Hex l

    7748H.5. Hai s hex cui l cho TL = 48 v hai s Hex tip theo l cho TH =77. Ta b

    quan cc s F pha bn phi trn Calculator v s ca ta l 16 bt.V d 9.13:

    Hy kim tra ch-ng trnh sau v tm tr thi gian theo giy, khng tnh n

    tng ph cc lnh trong vng lp.MOV TMOD, #10H ; Chn b Timer1, ch 1 (16 bt)

    AGAIN: MOV R3, #200 ; Chn b m gichm lnMOV TL1, #08 ; Np byte thp TL1 = 08MOV TH1, #08 ; Np byte cao TH1 = 01SETB TR1 ; Khi ng Timer1

    BACK: JNB TF1, BACK ; ginguyn cho n khi b nh thi quay v 0CLR TR1 ; Dng b nh thi.CLR TF1 ; Xo c b nh thi TF1DJNZ R3, AGAIN ; Nu R3 khng bng khng th np li b nh

    thi.

    9.1.5 Ch O.Ch 0 hon ton ging ch 1 ch khc l b nh thi 16 bt -c thay bng13 bt. B m 13 bt c th gicc gi tr gia 0000 n 1FFFF trong TH - TL. Do vykhi b nh thi t -c gi tr cc i ca n l 1FFFH th n s quay tr v 0000 v cTF -c bt ln.9.1.6 Lp trnh ch 2.

    Cc c tr-ng v cc php tnh ca ch 2:1. N l mt b nh thi 8 bt, do vy n ch cho php cc gi tr t 00 n FFH

    -c np vo thanh ghi TH ca b nh thi.2. Sau khi TH -c np vi gi tr 8 bt th 8051 ly mt bn sao ca n -a vo TL.

    Sau b nh thi phi -c khi ng. iu ny -c thc hin bi lnh SETB

    TR0 i vi Timer0 v SETB TR1 i vi Timer1 ging nh- ch 1.3. Sau khi b nh thi -c khi ng, n bt u m tng ln bng cch tng

    thanh ghi TL. N m cho n khi i gi tr gii hn FFH ca n. Khi n quaytr v 00 t FFH, n thit lp c b nh thi TF. Nu ta s dng b nh thiTimer0 th l c TF0, cn Timer1 th l c TF1.

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    11/18

    4. Khi thanh ghi TL quay tr v 00 t FFH th TF -c bt ln 1 th thanh ghi TL-c t ng np li vi gi tr ban u -c gibi thanh ghi TH. lp li qutrnh chng ta n gin ch vic xo c TF v cho n chy m khng cn scan thip ca lp trnh vin np li gi tr ban u. iu ny lm cho ch 2-c gi l ch t np li so vi ch 1 th ta phi np li cc thanh ghi THv TL.

    Cn phi nhn mnh rng, ch 2 l b nh thi 8 bt. Tuy nhin, n li c khnng t np khi t np li th TH thc cht l khng thay i vi gi tr ban u -c ginguyn, cn TL -c np li gi tr -c sao t TH. Ch ny c nhiu ng dng baogm vic thit lp tn s baud trong truyn thng ni tip nh- ta s bit ch-ng 10.9.1.5.1 Cc b-c lp trnh cho ch 2.

    to ra mt thi gian tr s dng ch 2 ca b nh thi cn thc hin ccb-c sau:

    1. Np thanh ghi gi tr TMOD bo b nh thi gian no (Timer0 hay Timer1)-c s dng v ch lm vic no ca chng -c chon.

    2. Np li cc thanh ghi TH vi gi tr m ban u.

    3. Khi ng b nh thi.4. Duy tr hin th c b nh thi TF s dng lnh JNB TFx, ch xem n s-c bt ch-a. Thot vng lp khi TF ln cao.

    5. Xo c TF.6. Quay tr li b-c 4 v ch 2 l ch t np li.

    V d 9.14 minh ho nhng iu ny. c -c ch ln chng ta c th dngnhiu thanh ghi nh- -c ch ra trong v d 9.15.V d 9.14:

    gi s tn sXTAL = 11.0592MHz. Hy tm a) tn s ca sng vung -c tora trn chn P1.0 trong ch-ng trnh sau v b) tn s nh nht c th c -c bngch-ng trnh ny v gi tr TH t -c iu .

    MOV TMOD, #20H ; Chn Timer1/ ch 2/ 8 bt/ tnp li.MOV TH1, #5 ; TH1 = 5SETB TR1 ; Khi ng Timer1

    BACK: JNB TF1, BACK ; ginguyn cho n khi b nh thi quay v 0CPL P1.0 ; Dng b nh thi.CLR TF1 ; Xo c b nh thi TF1SJMP BACK ; Ch 2 tng np li.

    Li gii:

    XTALoscillator

    12 TL TF

    TF goes highwhen FFFF 0

    reload

    TR0T/C =- TF

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    12/18

    a) Tr-c ht n ch ca lnh SJMP. Trong ch 2 ta khng cn phi np liTH v n l ch t np. By gi ta ly (256 - 05).1.085ms = 2511.085ms =272.33ms l phn cao ca xung. C chu k ca xung l T= 544.66ms v tn s l

    .kHz83597,1T

    1=

    b) nhn tn s nh nht c th ta cn to T chu k ln nht c th c ngha l TH

    = 00. Trong tr-ng hp ny ta c T= 2 256 1.085ms = 555.52ms v tn s nh

    nht s l .kHz8,1T

    1=

    V d 9.15:Hy tm tn s ca xung vung -c to ra trn P1.0.

    Li gii:

    MOV TMOD, #2H ; Chn Timer0, ch 1 (8 bt tnp li)AGAIN: MOV TH0, #0 ; Np TH0 = 00

    MOV R5, #250 ;m cho tr lnACALL DELAY

    CPL P1.0SJMP AGAIN

    DELAY: SETB TR0 ; Khi ng Timer0BACK: JNB TF1, BACK ; ginguyn cho n khi b nh thi quay v 0

    CLR TR0 ; Dng Timer0.CLR TF0 ; Xo c TF0 cho vng sau.DJNZ R5, DELAYRET

    T = 2 (250 256 1.085ms) = 1.38.88ms v f = 72Hz.V d 9.16:

    gi s ta ang lp trnh ch 2 hy tm cc gi tr (dng Hex) cn np vo TH

    cho cc tr-ng hp sau:

    a) MOV TH1, #200 b) MOV TH0, #60c) MOV TH1, #3 d) MOV TH1, #12e) MOV TH0, #48Li gii:

    Chng ta c th s dng bn tnh Calculator ca Windows kim tra kt qu-c cho bi trnh hp ng. Hy chn Calculator ch Decimal v nhp vo s 200.Sau chn Hex, ri n +/- nhn gi tr ca TH. Hy nh rng chng ta ch s dngng hai chs v bqua phn bn tri v dliu chng ta l 8 bt. Kt qu ta nhn -cnh- sau:

    Dng thp phn S b hai (gi tr TH) 200 38H 60 C4H 3 FDH 12 F4H 48 DOH

    9.1.5.2 Cc trnh hp ng v cc gi tr m.

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    13/18

    V b nh thi l 8 bt trong ch 2 nn ta c th cho trnh hp ng tnh gitr cho TH. V d, trong lnh MOV TH0, # - 100 th trnh hp ngs tnh ton 100 =9C v gn TH =9CH. iu ny lm cho cng vic ca chng ta d dng hn.V d 9.17:

    Hy tm a) tn s sng vung -c to ra trong on m d-i y v y xungca sng ny.

    MOV TMOD, #2H ; Chn b Timer0/ ch 2/ (8 bt, tnp li).MOV TH0, # 150 ; Np TH0 = 6AH l s b hai ca 150SETB TR1 ; Khi ng Timer1

    AGAIN: SETB P1.3 ; P1.3 = 1ACALL DELAYACALL P1.3 ; P1.3 = 0ACALL DELAYSJMP AGAIN

    SETB TR0 ; Khi ng Timer0BACK: JNB TF0, BACK ;ginguyn cho n khi b nh thi quay v 0

    CLR TR0 ; Dng Timer0CLR TF0 ; Xo c TF cho vng sau.RET

    Li gii: tm gi tr cho TH ch 2 th trnh hp ngcn thc hin chuyn i sm

    khi ta nhp vo. iu ny cng lm cho vic tnh ton tr n d dng. V ta ang s dng150 xung ng h, nn ta c thi gian tr cho ch-ng trnh con DELAY l 150

    1.085ms v tn s l .kHz048,2T

    1f ==

    rng trong nhiu tnh ton thi gian tr ta b cc xung ng h lin quann tng ph cc lnh trong vng lp. tnh ton chnh xc hn thi gian tr v c tn

    s ta ang cn phi -a chng vo. Nu ta dng mt my hin sng s v ta khng nhn-c tn s ng nh- ta tnh ton th l do tng ph lin quan n cc lnh gi trongvng lp.

    Trong phn ny ta dng b nh thi 8051 to thi gian tr. Tuy nhin, cngdng mnh hn v sng to hn ca cc b nh thi ny l s dng chng nh- cc bm s kin. Chng ta s bn v cng dng ca b m ny phn k tip.9.2 Lp trnh cho b m.

    phn trn y ta s dng cc b nh thi ca 8051 to ra cc tr thigian. Cc b nh thi ny cng c th -c dng nh- cc b m cc s kin xy ra bnngoi 8051. Cng dng ca b m/ b nh thi nh- b m s kin s -c tnh by

    phn ny. Chng no cn lin quan n cng dng c b nh thi nh- b m s kinth mi vn m ta ni v lp trnh b nh thi phn tr-c cng -c p dng chovic lp trnh nh- l mt b m ngoi tr ngun tn s. i vi b nh thi/ b mkhi dng n nh- b nh thi th ngun tn s l tn s thch anh ca 8051. Tuy nhin,khi n -c dng nh- mt b m th ngun xung tng ni dung cc thanh ghi TH vTL l t bn ngoi 8051. ch b m, hy l-u rng cc thanh ghi TMOD v TH,TL cng ging nh- i vi b nh thi -c bn phn tr-c, thm ch chng vn ccng tn gi. Cc ch ca cc b nh thi cng ging nhau.9.2.1 Bt C/T trong thanh ghi TMOD.

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    14/18

    Xem li phn trn y v bt C/T trong thanh ghi TMOD ta thy rng n quytnh ngun xung ng h cho b nh thi. Nu bt C/T= 0 th b nh thi nhn ccxung ng h t b giao ng thch anh ca 8051. Ng-c li, khi C/T = 1 th b nhthi -c s dng nh- b m v nhn cc xung ng h t ngun bn ngoi ca 8051.Do vy, khi bt C/T= 1 th b m ln, khi cc xung -c -a n chn 14 v 15. Ccchn ny c tn l T0 (u vo ca b nh thi Timer0) v T1 (u vo ca b Timer1).

    L-u rng hai chn ny thuc v cng P3. Trong tr-ng hp ca b Timer0 khi C/T= 1th chn P3.4 cp xung ng h v b m tng ln i vi mi xung ng h i n tchn ny. T-ng t nh- vy i vi b Timer1 th khi C/T= 1 vi mi xung ng h in tP3.5 b m s m tng ln 1.

    Bng 9.1: Cc chn cng P3 -c dng cho Timer0 v Timer1.

    Chn Chn cng Chc nng M t14 P3.4 T0 u vo ngoi ca b m 0

    15 P3.5 T1 u vo ngoi ca b m 1

    V d 9.18:

    gi s rng xung ng h -c cp ti chn T1, hy vit ch-ng trnh cho b m1 ch 2 m cc xung v hin th trng thi ca s m TL1 trn cng P2.Li gii:

    MOV TMOD, #01100000B ; Chn b m 1, ch 2, bt C/T = 1xung ngoi.

    MOV TH1, #0 ; Xo TH1SETB P3.5 ; Ly u vo T1

    AGAIN: SETB TR1 ; Khi ng b mBACK: MOV A, TL1 ; Ly bn sao s m TL1

    MOV P2, A ;-a TL1 hin th ra cng P2.

    JNB TF1, Back ; Duy tr n nu TF = 0CLR TR1 ; Dng b mCLR TF1 ; Xo c TFSJMP AGAIN ; Tip tc thc hin

    trong ch-ng trnh trn v vai tr ca lnh SETB P3.5 v cc cng -cthit lp dnh cho u ra khi 8051 -c cp ngun nn ta mun P3.5 tr thnh u voth phi bt n ln cao. Hay ni cch khc l ta phi cu hnh (-a ln cao) ch n T1(P3.5) cho php cc xung -c cp vo n.

    Trong v d 9.18 chng ta s dng b Timer1 nh- b m s kin n m lnmi khi cc xung ng h -c cp n chn P3.5. Cc xung ng h ny c th biudin s ng-i i qua cng hoc s vng quay hoc bt k s kin no khc m c thchuyn i thnh cc xung.

    Trong v d 9.19 cc thanh ghi TL -c chuyn i v m ASCII hin th trnmt LCD.

    P2

    P3.5

    8051

    toLEDs

    T1

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    15/18

    Hnh 9.5: a) B Timer0 vi u vo ngoi (ch 1)b) B Timer1 vi u vo ngoi (ch 1)

    V d 9.19:gi s rng mt xung tn s 1Hz -c ni ti chn u vo P3.4. Hy vit ch-ng

    trnh hin th b m 0 trn mt LCD. Hy t s ban u ca TH0 l - 60.Li gii:

    hin th s m TL trn mt LCD ta phi thc hin chuyn i gi liu 8 btnh phn v ASCII.

    ACALL LCDSET UP ; Gi ch-ng trnh con khi to CLDMOV TMOD, #000110B ; Chn b m 0, ch 2, bt C/T = 1MOV TH0, # 60 ;m 60 xungSETB P3.4 ; Ly u vo T0

    AGAIN: SETB TR0 ; Sao chp s m TL0BACK: MOV A, TL0 ; Gi ch-ng trnh con chuyn i

    trong cc thanh ghi R2, R3, R4.ACALL CONV ; Gi ch-ng trnh con hin th trn LCDACALL DISLAY ; Thc hin vng lp nu TF = 0

    JNB TF0, BACK ; D

    ng b m 0CLR TR0 ; Xo c TF0 = 0CLR TF0 ; Tip tc thc hinSJMP AGAIN ; Vic chuyn i nh phn v m ASCII

    khi tr dliu ASCII c trong cc thanh ghi R4, R3, R2 (R2 c LSD) chs nh nht.CONV: MOV B, #10 ; Chia cho 10

    DIV ABMOV R2, B ; L-u gis thpMOV B, #10 ; Chia cho 10 mt ln naDIV ABORL A, #30H ;i n v ASCIIMOV R4, A ; L-u chs c ngha ln nht MSDMOV A, B ;ORL A, #30H ;i s th hai v ASCIIMOV R3, A ; L-u nMOV A, R2ORL A, #30H ;i s th ba v ASCIIMOV R2, A ; L-u s ASCII vo R2.RET

    TH0 TL0 TF0

    TF0 goes high

    when FFFF 0

    overflow flag

    TR0

    1T/C =-

    TimerexterrnalinputPin 3.4

    TH1 TL1 TF1

    TF1 goes high

    when FFFF 0

    overflow flag

    TR1

    1T/C =-

    TimerexterrnalinputPin 3.5

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    16/18

    S dng tn s 60Hz ta c th to ra cc giy, pht, gi.L-u rng trong vng u tin, n bt u t 0 v khi RESET th TL0 = 0; gii

    quyt vn ny hy np TL0 vi gi tr - 60 u ch-ng trnh.

    Hnh 9.6: B Timer0 vi u vo ngoi (ch 2)Hnh 9.7: B Timer0 vi u vo ngoi (ch 2)Nh- mt v d ng dng khc ca b nh thi gian vi bt C/T= 1, ta c th np

    mt sng vung ngoi vi tn s 60Hz vo b nh thi. Ch-ng trnh s to ra cc nv thi gian chun theo giy, pht, gi. T u vo ny ta hin th ln mt LCD. y s lmt ng h s tuyt vi nh-ng n khng tht chnh xc. V d ny c th tm thy phlc Appendix E.

    Tr-c khi kt thc ch-ng ny ta cn nhc li hai vn quan trng.1. Chng ta c th ngh rng cng dng ca lnh JNB TFx, ch hin th mccao ca c TF l mt s lng ph thi gian ca BVK. iu ng c mt giiphp cho vn ny l s dng cc ngt. Khi s dng cc ngt ta c th i thchin cc cng vic khc vi BVK. Khi c TF -c bt th n bo cho ta bit yl im quan trng v th mnh ca 8051 (m ta s bn ch-ng 11).

    2. Chng ta mun bit cc thanh ghi TR0 v TR1 thuc v u. Chng thuc v mtthanh ghi gi l TCON m s -c ban sau y (TCON- l thanh ghi iu khinb m (b nh thi)).Bng 9.2: Cc lnh t-ng -ng i vi thanh ghi iu khin b nh thi.

    i vi Timer0SETB TR0 = SETB TCON.4CLR TR0 = CLR TCON.4

    SETB TF = SETB TCON.5CLR TF0 = CLR TCON.5

    i vi Timer1

    SETB TR1 = SETB TCON.6

    P1P3.4

    8051

    toLEDs

    T01 Hz clock

    TL0 TF0

    overflow flag

    TR0

    1T/C =

    -

    Timer0exterrnalinputPin 3.4

    TF0 goes highwhen FF 0

    TH0

    reload

    TL1 TF1

    overflow flag

    TR1

    1T/C =

    -

    Timer01exterrnalinputPin 3.5

    TF1 goes highwhen FF 0

    TH1

    reload

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    17/18

    CLR TR1 = CLR TCON.6

    SETB TF1 = SETB TCON.7CLR TF1 = CLR TCON.7

    9.2.2 Thanh ghi TCON.

    Trong cc v d trn y ta thy cng dng ca cc c TR0 v TR1 bt/ ttcc b nh thi. Cc bt ny l mt b phn ca thanh ghi TCON (iu khin b nhthi). y l thanh ghi 8 bt, nh- -c ch ra trong bng 9.2 th bn bt trn -c dng l-u ct cc bt TF v TR cho c Timer0 v Timer1. Cn bn bt thp -c thit lp dnhcho iu khin cc bt ngt m ta s bn ch-ng 11. Chng ta phi l-u rng thanh ghiTCON l thanh ghi c th nh a ch theo bt -c. Nn ta c th thay cc lnh nh-SETB TR1 l CLR TR1 bng cc lnh t-ng ng nh- SET TCON.6 v CLRTCON.6 (Bng 9.2).9.3 Tr-ng hp khi bt GATE = 1 trong TMOD.

    Tr-c khi kt thc ch-ng ta cn bn thm v tr-ng hp khi bt GATE= 1trongthanh ghi TMOD. Tt c nhng g chng ta va ni trong ch-ng ny u gi thit

    GATE= 0. Khi GATE= 0 th b nh thi -c khi ng bng cc lnh SETB TR0v SETB TR1 i vi Timer0 v Timer1 t-ng ng. Vy iu g xy ra khi bt GATE=1? Nh- ta c th nhn thy trn hnh 9.8 v 9.9 th nu GATE= 1 th vic khi ng vdng b nh thi -c thc hin t bn ngoi qua chn P2.3 v P3.3 i vi Timer0 vTimer1 t-ng ng. Mc d rng TRx -c bt ln bng lnh SETB TRx th cng chophp ta khi ng v dng b nh thi t bn ngoi ti bt k thi im no thng quacng tc chuyn mch n gin. Ph-ng php iu khin phn cng dng v khing b nh thi nay c th c rt nhiu ng dng. V d, chng hn 8051 -c dngtrong mt sn phm pht bo ng mi giy dng b Timer0 theo nhiu vic khc. BTimer0 -c bt ln bng phn mm qua lnh SETB TR0 v nm ngoi s kim sotca ng-i dng sn phm . Tuy nhin, khi ni mt cng tc chuyn mch ti chnP2.3 ta c th dng v khi ng b nh thi gian bng cch tt bo ng.

    Hnh 9.8: B nh thi/ b m 0.

    XTALoscillator

    12

    0T/C =

    1T/C =T0 PinPin 3.4

    Gate

    TR0

    2.3Pin

    PinINTO

    Smith Nguyen Studio.

  • 8/2/2019 Chuong 09_Bo Dem Va Dinh Thoi - Smith.N Studio

    18/18

    Hnh 9.9: B nh thi/ b m 1.

    XTALoscillator

    12

    0T/C =

    1T/C =T1 PinPin 3.5

    Gate

    TR0

    3.3Pin

    Pin1INT

    Smith Nguyen Studio.