You are on page 1of 21

Nhm 4_ H- T1_ i h c Thnh Vi i u Khi n CH NG I: TM HI U V H VI I U KHI N 8051 1.

.S l c v vi i u khi n N m 1976, hng Intel gi i thi u b vi i u khi n 8748 m u cho h vi i u khi n. Vi i u khi n (MCU_M co Control Unit) c th coi n nh m t my tnh thu nh trn 1 chp v i y d b vi x l v cc b nh trong v cc h th ng bus y , n c th ho t ng v i m t vi linh ki n ph tr bn ngoi. 2. T ng quan v h vi i u khi n 8051 2.1 L c s 8051 S ra i c a 8051 nh d u vo n m 1981 khi hng Intel gi i thi u s n ph m ny ra th tr ng. V c u hnh c n c 128 byte RAM, 4kbyte ROM, hai b nh th i, m t c ng n i ti p v 4 c ng vo/ra song song ( r ng 8 bit) t t c u c t trn m t chip.N l b x 8 bit t c l CPU u c t trn 1 chip v lm vi c ch 8 bit d li u t i m t th i i m. Gi li u l n h n 8 bit s c chia nh thnh 8 bit x l. Khi m Intel cho php cc hng khc s n xu t dng ny v i nhi u phin b n khc nhau th 8051 tr ln ph bi n v i m c gi r h n, m t khc cc phin b n m i c nhi u ng d ng c ng nh u i m h n nhi u. Tuy nhin cc h c a 8051 ph i tun th cc c tnh chung v ph i t ng thch t t c cc l nh c a 8051 ban u. 2.2 M t s b vi i u khi n trong h 8051 c tnh 8051 8052 8031 ROM trn chp 4kbyte 8kbyte Khng c RAM 128byte 256byte 128byte B nh th i 2 3 2 Chn vo/ra 32 32 31 C ng n i ti p 1 1 1 Ngu n ng t (ng t) 6 6 1 2.2.1 B vi i u khi n AT 89C51 c a hng Atmel AT89C51 l phin b n 8051 c ROM trn chip d ng b nh Flash (c th ghi v xo nhi u l n). Phin b n ny l l t ng i v i nh ng pht tri n nhanh v b nh Flash c th xo trong vi giy. c tnh ROM trn chp RAM B nh th i Chn vo/ra C ng n i ti p Ngu n ng t (ng t) Vcc AT89C51 4kbyte 128byte 2 32 1 6 5V T ng Quan v h vi i u khi n 8051

Nhm 4_ H- T1_ i h c Thnh ng v 40 chn. 2 hng AT89C51 l b vi i u khi n 8 bit c ch t ho t ng c d i i n p t 2,7V n 6V. B ki u DIP (chn r t), kh nh g n. V i nh ng u gi n, s linh ho t v ti n l i, gi kh r ln r t cho cc b n h c hay th c hnh c n b n.

Vi i u Khi n o theo cng ngh CMOS, c th vi i u khi n ny c ng gi i m v kh n ng l p trnh n c nhi u b n sinh vin s d ng

3. Ki n trc ph n c ng 3.1 M t chn ca 8051. Mc d cc thnh vin ca h 8051 (v d 8751, 89C51, DS5000) u c cc kiu ng v khc nhau, chng hn nh- hai hng chn DIP (Dual In-Line Pakage) dng v dt vung QFP (Quad Flat Pakage) v dng chp khng c chn LLC (Leadless Chip Carrier) th chng u c 40 chn cho cc chc nng khc nhau nh- vo ra I/0, c RD, ghi WR, a ch, d liu v ngt. Cn phi l-u rng mt s hng cung cp mt phin bn 8051 c 20 chn vi s cng vo-ra t hn cho cc ng dng yu cu thp hn. Tuy nhin, v hu ht cc nh pht trin chnh s dng chp ng v 40 chn vi hai hng chn DIP nn ta ch tp chung m t phin bn ny.

T ng Quan v h vi i u khi n 8051

Nhm 4_ H- T1_

i h c Thnh

Vi i u Khi n

P1.0 P1.1 P1.2 P1.4 P1.5 P1.6 P1.7 RST (RXD) P3.0 (TXD) P3.1 (NT0) P3.2 (NT1) P3.3 (T0) P3.4 (T1) P3.5 (WR) P3.6 (RD) P3.7 XTAL 2 XTAL1 GND

P1.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

8051 (8031)

40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

Vc c P0.0 (AD0) P0.1 (AD1) P0.2 (AD2) P0.3 (AD3) P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.6 (AD6) EA/CP P ALE/PRO G PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13) P2.4(A12 ) P2.3 (A11) P2.2 (A10) P2.1 (A9) P2.0 (AB)

S b tr chn ca 8051. Trn hnh 4.1 l s b tr chn ca 8051. Ta thy rng trong 40 chn th c 32 chn dnh cho cc cng P0, P1, P2 v P3 vi mi cng c 8 chn. Cc chn cn li -c dnh cho ngun VCC, t GND, cc chn giao ng XTAL1 v XTAL2 ti lp RST cho php cht a ch ALE truy cp -c a ch ngoi EA, cho php ct ch-ng trnh PSEN. Trong 8 chn ny th 6 chn VCC , GND, XTAL1, XTAL2, RST v EA -c cc h 8031 v 8051 s dng. Hay ni cch khc l chng phi -c ni cho h thng lm vic m khng cn bit b vi iu khin thuc h 8051 hay 8031. Cn hai chn khc l PSEN v ALE -c s dng ch yu trong cc h thng da trn 8031. 1. Chn VCC: Chn s 40 l VCC cp in p ngun cho chp. Ngun in p l +5V. 2. Chn GND: Chn GND: Chn s 20 l GND. 3. Chn XTAL1 v XTAL2: 8051 c mt b giao ng trn chp nh-ng n yu cu c mt xung ng h ngoi chy n. B giao ng thch anh th-ng xuyn nht -c ni ti cc chn u vo XTAL1 (chn 19) v XTAL2 (chn 18). B giao ng thch anh -c ni ti XTAL1 v XTAL2 cng cn hai t in gi tr T ng Quan v h vi i u khi n 8051

Nhm 4_ H- T1_ i h c Thnh Vi i u Khi n 30pF. Mt pha ca t in -c ni xung t nh- -c trnh by trn hnh 4.2a. Cn phi l-u rng c nhiu tc khc nhau ca h 8051. Tc -c coi nh- l tn s cc i ca b giao ng -c ni ti chn XTAL. V d, mt chp 12MHz hoc thp hn. T-ng t nh- vy th mt b vi iu khin cng yu cu mt tinh th c tn s khng ln hn 20MHz. Khi 8051 -c ni ti mt b giao ng tinh th thch anh v cp ngun th ta c th quan st tn s trn chn XTAL2 bng my hin sng. Nu ta quyt nh s dng mt ngun tn s khc b giao ng thch anh chng hn nh- l b giao ng TTL th n s -c ni ti chn XTAL1, cn chn XTAL2 th h khng ni nh- hnh 4.2b.
C2 XTAL2

NC EXTERRNA L OSCILLATA OR

XTAL2 XTAL1 GND

C1 XTAL1 30pF GND

Hnh 4.2: a) Ni XTAL ti 8051 b) Ni XTAL ti ngun ng b ngoi. 4. Chn RST. Chn s 9 l chn ti lp RESET. N l mt u vo v c mc tch cc cao (bnh th-ng mc thp). Khi cp xung cao ti chn ny th b vi iu khin s ti lp v kt thc mi hot ng. iu ny th-ng -c coi nh- l s ti bt ngun. Khi kch hot ti bt ngun s lm mt mi gi tr trn cc thanh ghi. Bng 4.1 cung cp mt cch lit k cc thanh ghi ca 8051 v cc gi tr ca chng sau khi ti bt ngun. Bng 4.1: Gi tr mt s thanh ghi sau RESET. Register PC ACC B PSW SP DPTR Reset Value 0000 0000 0000 0000 0007 0000 0000 T ng Quan v h vi i u khi n 8051

Nhm 4_ H- T1_ i h c Thnh Vi i u Khi n L-u rng gi tr ca b m ch-ng trnh PC l 0 khi ti lp p CPU np m lnh u tin t b nh ROM ti v tr ngn nh 0000. iu ny c ngha l ta phi t dng u tin ca m ngun ti v tr ngn nh 0 ca ROM v y l m CPU tnh thc v tm lnh u tin. Hnh 4.3 trnh by hai cch ni chn RST vi mch bt ngun.

Vcc

Vcc

------------------------ 31 30QF
10QF 30QF

8.2K

EA/Vpp 19 X1 11.0592 MHz 18 X2 RST 9

10QF

31

EA/Vpp X1 X2 RST

9 8.2K

Hnh 4.3: a) Mch ti bt ngun RESET. b) Mch ti bt ngun vi Debounce. Nhm lm cho u vo RESET c hiu qu th n phi c ti thiu 2 chu k my. Hay ni cch khc, xung cao phi ko di ti thiu 2 chu k my tr-c khi n xung thp. Trong 8051 mt chu k my -c nh ngha bng 12 chu k dao ng nh- ni ch-ng 3 v -c trnh by ti v tr 4.1. 5. Chn EA : Cc thnh vin h 8051 nh- 8751, 98C51 hoc DS5000 u c ROM trn chp l-u ct ch-ng trnh. Trong cc tr-ng hp nh- vy th chn EA -c ni ti VCC. i vi cc thnh vin c h nh- 8031 v 8032 m khng c ROM trn chp th m ch-ng trnh -c l-u ct trn b nh ROM ngoi v chng -c np cho 8031/32. Do vy, i vi 8031 th chn EA phi -c ni t bo rng m ch-ng trnh -c ct ngoi. EA c ngha l truy cp ngoi (External Access) l chn s 31 trn v kiu DIP. N l mt chn u vo v phi -c ni hoc vi VCC hoc GND. Hay ni cch khc l n khng -c h. ch-ng 14 chng ta s trnh by cch 8031 s dng chn ny kt hp vi PSEN truy cp cc ch-ng trnh -c ct trn b nh ROM T ng Quan v h vi i u khi n 8051

Nhm 4_ H- T1_ i h c Thnh Vi i u Khi n ngoi 8031. Trong cc chp 8051 vi b nh ROM trn chp nh- 8751, 89C51 hoc DS5000 th EA -c ni vi VCC. V d 4: Hy tm chu k my i vi a) XTAL = 11.0592MHz b) XTAL = 16MHz. Li gii: a) 11.0592MHz/12 = 921.6kHz. Chu k my = 1/921.6kHz = 1.085Qs. b) 16MHz/12 = 1.333MHz Chu k my = 1/1.333MHz = 0.75Qs. Cc chn m t trn y phi -c ni m khng cn thnh vin no -c s dng. Cn hai chn d-i y -c s dng ch yu trong h thng da trn 8031 v s -c trnh by chi tit ch-ng 11. 6. Chn PSEN : y l chn u ra cho php ct ch-ng trnh (Program Store Enable) trong h thng da trn 8031 th ch-ng trnh -c ct b nh ROM ngoi th chn ny -c ni ti chn OE ca ROM. Chi tit -c bn ch-ng 14. 7. Chn ALE: Chn cho php cht a ch ALE l chn u ra v -c tch cc cao. Khi ni 8031 ti b nh ngoi th cng 0 cng -c cp a ch v d liu. Hay ni cch khc 8031 dn a ch v d liu qua cng 0 tit kim s chn. Chn ALE -c s dng phn knh a ch v d liu bng cch ni ti chn G ca chp 74LS373. iu ny -c ni chi tit ch-ng 14. 8. Cc chn cng vo ra v cc chc nng ca chng. Bn cng P0, P1, P2 v P3 u s dng 8 chn v to thnh cng 8 bt. Tt c cc cng khi RESET u -c cu hnh nh- cc u ra, sn sng -c s dng nh- cc cng u ra. Mun s dng cng no trong s cc cng ny lm u vo th n phi -c lp trnh. 9. Cng P0. Cng 0 chim tt c 8 chn (t chn 32 n 39). N c th -c dng nh- cng u ra, s dng cc chn ca cng 0 va lm u ra, va lm u vo th mi chn phi -c ni ti mt in tr ko bn ngoi 10k;. iu ny l do mt thc t l cng P0 l mt mng m khc vi cc cng P1, P2 v P3. Khi nim mng m -c s dng trong cc chp MOS v chng mc no n ging nh- C-lec-t h i vi cc chp TTL. Trong bt k h thng no s dng 8751, 89C51 hoc DS5000 ta th-ng ni cng P0 ti cc in tr ko, Xem hnh 4.4 bng cch ny ta c -c cc -u im ca cng P0 cho c u ra v u vo. Vi nhng in tr T ng Quan v h vi i u khi n 8051

Nhm 4_ H- T1_ i h c Thnh Vi i u Khi n ko ngoi -c ni khi ti lp cng P0 -c cu hnh nh- mt cng u ra. V d, on m sau y s lin tc gi ra cng P0 cc gi tr 554 v AAH.

Vcc 10K

P0.0 DS500 P0.1 0 P0.2 8751 P0. 8951 P0.4 P0.5 P0.6 P0.7

Hnh 4.4: Cng P0 vi cc in tr ko. Cng P0 u vo: Vi cc in tr -c ni ti cng P0 nhm to n thnh cng u vo th n phi -c lp trnh bng cch ghi 1 ti tt c cc bit. on m d-i y s cu hnh P0 lc u l u vo bng cch ghi 1 n n v sau d liu nhn -c t n -c gi n P1. b) Vai tr kp ca cng P0: Nh- trnh by trn hnh 4.1, cng P0 -c gn AD0 - AD7 cho php n -c s dng va cho a ch, va cho d liu. Khi ni 8051/31 ti b nh ngoi th cng 0 cung cp c a ch v d liu 8051 dn d liu v a ch qua cng P0 tit kim s chn. ALE bo nu P0 c a ch hay d liu khi ALE - 0 n cp d liu T ng Quan v h vi i u khi n 8051

Port 0

Nhm 4_ H- T1_ i h c Thnh Vi i u Khi n D0 - D7. Do vy, ALE -c s dng tch a ch v d liu vi s tr gip ca cht 74LS373 m ta s bit c th ch-ng 14. 10. Cng P1. Cng P1 cng chim tt c 8 chn (t chn 1 n chn 8) n c th -c s dng nh- u vo hoc u ra. So vi cng P0 th cng ny khng cn n in tr ko v n c cc in tr ko bn trong. Trong qu trnh ti lp th cng P1 -c cu hnh nh- mt cng u ra. V d, on m sau s gi lin tc cc gi tr 55 v AAH ra cng P1.Cng P1 nh- u vo: bin cng P1 thnh u vo th n phi -c lp trnh bng cch ghi mt n tt c cc bit ca n. L do v iu ny -c bn mc lc Appendix C.2. Trong on m sau, cng P1 lc u -c cu hnh nh- cng u vo bng cch ghi 1 vo cc bit ca n v sau d liu nhn -c t cng ny -c ct vo R7, R6 v R5. MOV MOV bng MOV MOV ACALL MOV MOV ACALL MOV MOV ; cch ghi 1 vo cc bit ca n. A, P1 ; Nhn d liu t P1 R7, A ; Ct n vo thanh ghi R7 DELAY ; Ch A, P1 ; Nhn d liu khc t P1 R6, A ; Ct n vo thanh ghi R6 DELAY ; Ch A, P1 ; Nhn d liu khc t cng P1 R5, A ; Ct n vo thanh ghi R5 A, #0FFH ; Np A = FF dng hex P1, A ; To cng P1 thnh cng u vo

11. Cng P2: Cng P2 cng chim 8 chn (cc chn t 21 n 28). N c th -c s dng nh- u vo hoc u ra ging nh- cng P1, cng P2 cng khng cn in tr ko v n c cc in tr ko bn trong. Khi ti lp, th cng P2 -c cu hnh nh- mt cng u ra. V d, on m sau s gi lin tc ra cng P2 cc gi tr 55H v AAH. a) Cng P2 nh- u vo. to cng P2 nh- u vo th n phi -c lp trnh bng cch ghi cc s 1 ti tt c cc chn ca n. on m sau y u tin cu hinh P2 l cng vo bng cch ghi mt n tt c cc chn ca n v sau d liu nhn -c t P2 -c gi lin tc n P1. MOV MOV cch T ng Quan v h vi i u khi n 8051 A, 0FFH P2, A ; Gn A gi tr FF dng Hex ; To P2 l cng u vo bng

Nhm 4_ H- T1_ BACK:

i h c Thnh A, 2 P1, A BACK

MOV MOV SJMP

Vi i u Khi n ; ghi mt n cc chn ca n ; Nhn d liu t P2 ; Gi n n P1 ; Lp li

b) Vai tr kp ca P2. Trong cc h thng da trn 8751, 89C51 v DS5000 th P2 -c dng nh- u ra n gin. Tuy nhin trong h thng da trn 80312 th cng P2 phi -c dng cng vi P0 to ra a ch 16 brt i vi b nh ngoi. Nh- ch ra trn hnh 4.1 cng P2 cng -c ch nh nh- l A8 A15 bo chc nng kp ca n. V mt b 8031 c kh nng trung cp 64k byte b nh ngoi, n cn mt -ng a ch 16 bt. Trong khi P.0 cung cp 8 bit thp qua A0 - A7. Cng vic ca P2 l cung cp cc bt a ch A8 - A15. Hay ni cch khc khi 8031-c ni ti b nh ngoi th P2 -c dng cho 8 bt ca a ch 16 bit v n khng th dng cho vo ra. iu ny s -c trnh by chi tit ch-ng 14. T nhng trnh by trn y ta c th kt lun rng trong cc h thng da trn cc b vi iu khin 8751, 89C51 hoc DS5000 th ta c 3 cng P0, P1v P2 cho cc thao tc vo ra v nh- th l c th cho cc ng dng vi hu ht cc b vi iu khin. Cn cp P3 l dnh cho ngt v ta s cng bn d-i y. 11 - Cng P3: Cng P3 chim tng cng l 8 chn t chn 10 n chn 17. N c th -c s dng nh- u vo hoc u ra. Cng P3 khng cn cc in tr ko cng nh- P1 v P2. Mc d cng P3 -c cu hnh nh- mt cng u ra khi ti lp, nh-ng y khng phi l cch n -c ng dng ph bin nht. Cng P3 c chc nng b xung l cung cp mt s tn hiu quan trng c bit chng hn nh- cc ngt. Bng 4.2 cung cp cc chc nng khc ca cng P3. Thng tin ny p dng cho c 8051 v 8031. Bng 4.2: Cc chc nng khc ca cng P3 Bt ca cng P3 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 Chc nng Nhn d liu (RXD) Pht d liu (TXD) Ngt 0(INT0) Ngt 1(INT1) B nh thi 0 (TO) 1 B nh thi 1(T1) Ghi (WR) c (RD) T ng Quan v h vi i u khi n 8051 chn s 10 11 12 13 14 15 16 17

Nhm 4_ H- T1_ i h c Thnh Vi i u Khi n Cc bit P3.0 v P3.1 -c dng cho cc tn hiu nhn v pht d liu trong truyn thng d liu ni tip. Xem ch-ng 10 t bit cc chng -c ni ghp nh- th no. Cc bit P3.2 v P3.3 -c dnh cho cc ngt ngoi v chng -c trnh by chi tit ch-ng 11. Bit P3.4 v P3.5 -c dng cho cc b nh thm 0 v 1v chi tit -c trnh by ch-ng 9. Cui cng cc bit P3.6 v P3.7 -c cp cho cc tn hiu ghi v c cc b nh ngoi -c ni ti cc h thng da trn 8031. Ch-ng 14 s trnh by cch chng -c s dng nh- th no trong cc h thng da trn 8031. Trong cc h thng da trn 8751, 89C51 hoc D35000 th cc chn P3.6 v P3.7 -c dng cho vo - ra cn cc chn khc ca P3 -c s dng bnh th-ng trong vai tr chc nng thay i. 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- hai thanh 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 0 High byte). Cc thanh ghi ny c th -c truy cp nh- mi thanh ghi khc chng hn nh- A, B, R0, R1, R2 v.v... V d, lnh MOV TL0, #4FH l chuyn gi tr 4FH vo TL0, byte thp ca b nh thi 0. Cc thanh ghi ny cng c th -c c nh- cc thanh ghi khc. V d MOV R5, TH0 l l-u byte cao TH0 ca Timer 0 vo R5. TH0 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D1 D0 TL0 D5 D4 D3 D2

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 ra thnh hai byte l TL1 v TH1. Cc thanh ghi ny -c truy cp v c ging nh- cc thanh ghi ca b Timer 0 trn. TH1 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D1 D0 TL1 D5 D4 D3 D2

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 T ng Quan v h vi i u khi n 8051

Nhm 4_ H- T1_ i h c Thnh Vi i u Khi n nh thi. Thanh ghi TMOD l thanh ghi 8 bt gm c 4 bt thp -c thit lp dnh cho b Timer 0 v 4 bt cao dnh cho 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. (MSB GATE M0 C/T M1 GATE M0 C/T (MSB M1 )

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 b nh thi: 0, 1, 2 v 3. Ch 0 l mt b nh thi 13, ch 1 l mt b nh thi 16 bt v ch 2 l b nh thi 8 bt. Chng ta ch tp chung vo cc ch th-ng -c s dng rng ri nht l ch 1 v 2. Chng ta s sm khm ph ra cc c tnh c cc ch ny sau khi khm phn cn li ca thanh ghi TMOD. Cc ch -c thit lp theo trng thi ca M1 v M0 nh- sau: M1 M0 0 0 1 1 0 1 0 1 Ch 0 1 2 3 Ch hot ng B nh thi 13 bt gm 8 bt l b nh thi/ b m 5 bt t tr-c B nh thi 16 bt (khng c t tr-c) B nh thi 8 bt t np li 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 s thch 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. 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 s thch anh i lin vi 8051 -c lm ngun cho ng h ca b nh thi. iu c ngha l ln ca tn s thch anh i km vi 8051 quyt nh tc nhp ca cc b nh thi T ng Quan v h vi i u khi n 8051

Nhm 4_ H- T1_ i h c Thnh Vi i u Khi n trn 8051. Tn s ca b nh thi lun bng 1/12 tn s ca thch anh gn vi 8051. 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 vi cc tn s thch anh sau: a) 12MHz b) 16MHz c) 11,0592MHz Li gii: a)
1 1 v 12MHz ! 1MHz v T ! ! 1Qs 12 1 / 1MHz 1 1 ! 0,75Qs b) v 16MHz ! 1,111Mz v T ! 1,333MHz 12 1 1 ! 1,085Qs c) v 11,0592MHz ! 921,6kHz v T ! 0,9216MHz 12

B giao ng thch anh

z12

Tn s ng h ca b nh thi

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 s XTAL = 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 iu ny bng phn mm, mt s khc bng phn cng v mt s khc va bng phn cng va bng phn mm. Cc b nh thi tren 8051 c c hai. Vic khi ng v dng b nh thi -c khi ng bng phn mm bi cc bt khi ng b nh thi TR l TR0 v TR1. iu ny c -c nh cc lnh SETB TR1 v CLR TR1 i vi b Timer1 v SETB TRO v CLR TR0 i vi b Timer0. Lnh SETB khi ng b nh thi v 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 t ngun ngoi bng cch t bt GATE = 1 trong thanh ghi TMOD. Tuy nhin, trnh s ln ln ngay t by gi ta t GATE = 0 c ngha l khng cn khi ng v dng cc b nh thi bng phn cng t bn ngoi. s dng phn mm khi ng v dng cc b nh thi T ng Quan v h vi i u khi n 8051

Nhm 4_ H- T1_ i h c Thnh Vi i u Khi n phn mm khi ng v dng cc b nh thi khi GATE = 0. Chng ta ch cn cc lnh SETB TRx v CLR TRx. Vic s dng phn cng ngoi khi ng v dng b nh thi ta s bn ch-ng 11 khi bn v cc ngt. 9.1.4 Lp trnh cho mi ch Mode1. 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 SETB TR1 i vi Timer1. 3. Sau khi b nh thi -c khi ng, n bt u m ln. N m ln cho n khi t -c gii hn FFFFH ca n. Khi n quay qua t FFFFH v 0000 th n bt ln 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 b nh thi bng cc lnh CLR TR0 i vi Timer0 hoc CLR TR1 i vi Timer1. y cng cn phi nhc li l i vi b nh thi u c c TF ring ca mnh: TF6 i vi Timer0 v TF1 i vi Timer1.

XTAL oscillator

z12

TH

TL

TF overflow flag

C/T ! 0

TF goes high when FFFF p 0 TR

4. Sau khi b nh thi t -c gii hn ca n v quay quanh gi tr FFFFH, mun lp li qu trnh th cc thanh ghi TH v TL phi -c np li vi gi tr ban u v 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 thc hin 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. T ng Quan v h vi i u khi n 8051

Nhm 4_ H- T1_ i h c Thnh Vi i u Khi n 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 chn P1.5 th ta cn bit tn s XTAL (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 (xem hnh 9.4). My tnh trong th- mc Accessrry ca Microsoft Windows c th gip ta tm cc gi tr TH v TL. My tnh ny h tr cc php tnh theo s thp phn, nh phn v thp lc. a) Tnh theo s Hex (FFFF - YYXX + 1). 1,085Qs trong YYXX l cc gi tr khi to ca TH, TL t-ng ng. L-u rng cc gi tr YYXX l theo s Hex. b) Tnh theo s thp phn Chuyn i cc gi tr YYXX ca TH, TL v s thp phn nhn mt s thp phn NNNNN sau ly (65536 - NNNNN).1,085Qs.

Hnh 9.4: Cng thc tnh ton tr thi gian i vi tn s XTAL = 11, 0592MHz. 9.1.5 Ch O. Ch 0 hon ton ging ch 1 ch khc l b nh thi 16 bt -c thay bng 13 bt. B m 13 bt c th gi cc gi tr gia 0000 n 1FFFF trong TH - TL. Do vy khi b nh thi t -c gi tr cc i ca n l 1FFFH th n s quay tr v 0000 v c TF -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 quay tr v 00 t FFH, n thit lp c b nh thi TF. Nu ta s dng b nh thi Timer0 th l c TF0, cn Timer1 th l c TF1.

T ng Quan v h vi i u khi n 8051

Nhm 4_ H- T1_

i h c Thnh

Vi i u Khi n

XTAL oscillator

z12

TL reload

TF TF goes high when FFFF 0

C/T ! 0

TR

TF

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 gi bi thanh ghi TH. lp li qu trnh chng ta n gin ch vic xo c TF v cho n chy m khng cn s can 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 TH v TL. Cn phi nhn mnh rng, ch 2 l b nh thi 8 bt. Tuy nhin, n li c kh nng t np khi t np li th TH thc cht l khng thay i vi gi tr ban u -c gi nguyn, cn TL -c np li gi tr -c sao t TH. Ch ny c nhiu ng dng bao gm 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 cc b-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. rng trong nhiu tnh ton thi gian tr ta b cc xung ng h lin quan n 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 trong vng lp. Trong phn ny ta dng b nh thi 8051 to thi gian tr. Tuy nhin, cng dng mnh hn v sng to hn ca cc b nh thi ny T ng Quan v h vi i u khi n 8051

Nhm 4_ H- T1_ i h c Thnh Vi i u Khi n l s dng chng nh- cc b m 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 thi gian. Cc b nh thi ny cng c th -c dng nh- cc b m cc s kin xy ra bn ngoi 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 kin th mi vn m ta ni v lp trnh b nh thi phn tr-c cng -c p dng cho vic lp trnh nh- l mt b m ngoi tr ngun tn s. i vi b nh thi/ b m khi 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 v TL 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 c cng tn gi. Cc ch ca cc b nh thi cng ging nhau. 9.2.1 Bt C/T trong thanh ghi TMOD. Xem li phn trn y v bt C/T trong thanh ghi TMOD ta thy rng n quyt nh ngun xung ng h cho b nh thi. Nu bt C/T = 0 th b nh thi nhn cc xung ng h t b giao ng thch anh ca 8051. Ng-c li, khi C/T = 1 th b nh thi -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. Cc chn 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 = 1 th chn P3.4 cp xung ng h v b m tng ln i vi mi xung ng h i n t chn ny. T-ng t nhvy i vi b Timer1 th khi C/T = 1 vi mi xung ng h i n t P3.5 b m s m tng ln 1. Bng 9.1: Cc chn cng P3 -c dng cho Timer0 v Timer1. Chn 14 15 Chn cng P3.4 P3.5 Chc nng T0 T1 M t u vo ngoi ca b m 0 u vo ngoi ca b m 1

Timer exterrna l input Pin 3.4 TR0

overflow flag TF0 TH0 TL0 TF0 goes high when FFFF 0 T ng Quan

Timer exterrna l input Pin 3.5 TR1

C/T !1

 v h vi iCuT ! 1 n / khi

TH1 TL1 TF1 goes high when FFFF 8051 0

overflow flag TF1

Nhm 4_ H- T1_

i h c Thnh

Vi i u Khi n

Hnh 9.5: a) B Timer0 vi u vo ngoi (ch 1) b) B Timer1 vi u vo ngoi (ch 1) 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.
Timer0 exterrna l input Pin 3.4 overflow flag TF0 TL0 TR0 TH0 reload TF0 goes high when FF 0 Timer01 exterrna l input Pin 3.5 overflow flag TF1 TL1 TR1 TH1 reload TF1 goes high when FF 0

C/T !1

C/T !1

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 n v thi gian chun theo giy, pht, gi. T u vo ny ta hin th ln mt LCD. y s l mt ng h s tuyt vi nh-ng n khng tht chnh xc. V d ny c th tm thy ph lc 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 mc cao ca c TF l mt s lng ph thi gian ca BVK. iu ng c mt gii php cho vn ny l s dng cc ngt. Khi s dng cc ngt ta c th i thc hin cc cng vic khc vi BVK. Khi c TF -c bt th n bo cho ta bit y l 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 mt thanh ghi gi l TCON m s -c ban sau y (TCON - l thanh ghi iu khin b m (b nh thi)). Bng 9.2: Cc lnh t-ng -ng i vi thanh ghi iu khin b nh thi. i vi Timer0 SETB TR0 = SETB TCON.4 T ng Quan v h vi i u khi n 8051

Nhm 4_ H- T1_

i h c Thnh CLR TR0 = CLR TCON.4 SETB TF = SETB TCON.5 CLR TF0 = CLR TCON.5

Vi i u Khi n

i vi Timer1 SETB TR1 = SETB TCON.6 CLR TR1 = CLR TCON.6 SETB TF1 = SETB TCON.7 CLR 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/ tt cc b nh thi. Cc bt ny l mt b phn ca thanh ghi TCON (iu khin b nh thi). 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 dnh cho iu khin cc bt ngt m ta s bn ch-ng 11. Chng ta phi l-u rng thanh ghi TCON 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 CLR TCON.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 = 1trong thanh 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 TR0 v 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 v dng b nh thi -c thc hin t bn ngoi qua chn P2.3 v P3.3 i vi Timer0 v Timer1 t-ng ng. Mc d rng TRx -c bt ln bng lnh SETB TRx th cng cho php ta khi ng v dng b nh thi t bn ngoi ti bt k thi im no thng qua cng tc chuyn mch n gin. Ph-ng php iu khin phn cng dng v khi ng b nh thi nay c th c rt nhiu ng dng. V d, chng hn 8051 -c dng trong mt sn phm pht bo ng mi giy dng b Timer0 theo nhiu vic khc. B Timer0 -c bt ln bng phn mm qua lnh SETB TR0 v nm ngoi s kim sot ca ng-i dng sn phm . Tuy nhin, khi ni mt cng tc chuyn mch ti chn P2.3 ta c th dng v khi ng b nh thi gian bng cch tt bo ng.
XTAL oscillator z12

T ng Quan v h vi i u khi n 8051


C/T ! 0

Nhm 4_ H- T1_

i h c Thnh

Vi i u Khi n

Hnh 9.8: B nh thi/ b m 0.


XTAL oscillator

z12

C/T ! 0

T1 Pin TR

C/T !1

Gate

INT1 Pin Pin3.3

Hnh 9.9: B nh thi/ b m 1. Ph n bi t p

T ng Quan v h vi i u khi n 8051

Nhm 4_ H- T1_

i h c Thnh

Vi i u Khi n

T ng Quan v h vi i u khi n 8051

Nhm 4_ H- T1_

i h c Thnh

Vi i u Khi n

U1
19 18 XTAL1 XTAL2 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17

RST

29 30 31

PSEN ALE EA

1 2 3 4 5 6 7 8

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51

T ng Quan v h vi i u khi n 8051

You might also like